Her şeyden önce: hala "RAID0 etkin yedek yok" inananlara. RAID seviyelerini ve mdadm'ı anlayan insan tarafından yapılan manuel bir yedek olabilir. mdadm yazılım RAID, bu yüzden çok ilginç şeyler yapabilir.
Fikir için Zoredache'ye kredi !
Yani, durum:
- iki diskten oluşan RAID0 diziniz var
- bunlardan birini dizi kesinti süresi olmadan değiştirmek istersiniz
Arıza süresi kabul edilebilir durumdaysa, her zaman dd ile diskin bir blok kopyasını oluşturabilir ve diziyi yeniden birleştirebilirsiniz, mdadm TAMAM yapacaktır.
Çözüm: ara çözüm olarak RAID4 kullanın
RAID0 -> RAID4 -> RAID0
Yani, RAID4'ü hatırlamıyorsanız, basittir. Bir eşlik bloğu vardır, ancak RAID5'ten farklı olarak dizi boyunca dağıtılmaz, ancak BİR diskte bulunur. Mesele bu, bu önemlidir ve RAID5'in çalışmamasının nedeni budur.
Gerekenler: değiştirmek istediğiniz diskle aynı boyutta iki disk daha.
Çevre:
- Ubuntu 14.04 Yapışkan Thar
- mdadm - v3.2.5 - 18 Mayıs 2012
- / dev / sdb - onunla başla, onun yerini alacak
- / dev / sdc - onunla başla
- / dev / sdd - geçici olarak kullanılacak
- / dev / sde - sdb yerine kullanılacak
Nihai RAID0 etkin yedek mdadm kılavuzu;)
sudo mdadm -C /dev/md0 -l 0 -n 2 /dev/sd[bc]
md0 : active raid0 sdc[1] sdb[0]
2096128 blocks super 1.2 512k chunks
Raid0 dizisi oluşturduk, tatlı görünüyor.
sudo md5sum /dev/md0
b422ba644a3c83cdf28adfa94cb658f3 /dev/md0
Bu bizim kontrol noktamız - sonuçta bir bit bile farklı olsa bile /dev/md0
- başarısız olduk.
sudo mdadm /dev/md0 --grow --level=4
md0 : active raid4 sdc[1] sdb[0]
2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [UU_]
Bu yüzden dizimizi RAID4 olarak büyüttük. Eşlik diskini henüz eklemedik, hadi yapalım. Büyüme anında gerçekleşir - yeniden hesaplamak veya yeniden hesaplamak için hiçbir şey yoktur.
sudo mdadm /dev/md0 -a /dev/sdd
md0 : active raid4 sdd[3] sdc[1] sdb[0]
2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [UU_]
[===>.................] recovery = 19.7% (207784/1048064) finish=0.2min speed=51946K/sec
sdd
Eşlik diski olarak ekledik . Bunu hatırlamak önemlidir - ilk sıradaki disklerin sırası ikinci sıradaki resim ile senkronize değildir! [UU_]
sdd
önce görüntülenir, ancak aslında sonuncudur ve verileri değil, paritesi tutar.
sudo mdadm /dev/md0 -f /dev/sdb
md0 : active raid4 sdd[3] sdc[1] sdb[0](F)
2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [_UU]
Disk sdb dosyamızı sonraki adımlarda kaldırmak için hatalı hale getirdik.
sudo mdadm --detail /dev/md0
State : clean, degraded
Number Major Minor RaidDevice State
0 0 0 0 removed
1 8 32 1 active sync /dev/sdc
3 8 48 2 active sync /dev/sdd
0 8 16 - faulty spare /dev/sdb
Ayrıntılar bize ilk diskin kaldırıldığını gösterir ve burada dizideki disklerin gerçek sırasını görebiliriz. Diski eşlikli olarak izlemek önemlidir, RAID0'a geri dönerken dizide bırakmamalıyız.
sudo mdadm /dev/md0 -r /dev/sdb
md0 : active raid4 sdd[3] sdc[1]
2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [_UU]
sdb
tamamen kaldırıldı, alınabilir.
sudo mdadm /dev/md0 -a /dev/sde
md0 : active raid4 sde[4] sdd[3] sdc[1]
2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [_UU]
[==>..................] recovery = 14.8% (156648/1048064) finish=0.2min speed=52216K/sec
Sdb diskimizin yedeğini ekledik. Ve işte başlıyoruz: şimdi sdb verileri parite kullanılarak kurtarılıyor. Sweeeeet.
md0 : active raid4 sde[4] sdd[3] sdc[1]
2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/3] [UUU]
Bitti. Şu anda tamamen güvendeyiz - sdb'deki tüm veriler kurtarıldı ve şimdi sdd'yi kaldırmalıyız (hatırlayın, eşlik tutar).
sudo mdadm /dev/md0 -f /dev/sdd
md0 : active raid4 sde[4] sdd[3](F) sdc[1]
2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [UU_]
SDD arızalı.
sudo mdadm /dev/md0 -r /dev/sdd
md0 : active raid4 sde[4] sdc[1]
2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [UU_]
Sdd dizimizden kaldırıldı. Yine RAID0 olmaya hazırız.
sudo mdadm /dev/md0 --grow --level=0 --backup-file=backup
md0 : active raid4 sde[4] sdc[1]
2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [UU_]
[=>...................] reshape = 7.0% (73728/1048064) finish=1.5min speed=10532K/sec
Aaaaaave patlama!
md0 : active raid0 sde[4] sdc[1]
2096128 blocks super 1.2 512k chunks
Bitti. Md5 sağlama toplamına bakalım.
sudo md5sum /dev/md0
b422ba644a3c83cdf28adfa94cb658f3 /dev/md0
Başka soru? Yani RAID0 etkin bir yedek olabilir. Buna "kullanıcı" denir;)