Ubuntu sunucuda RAID1 array içindeki bozuk diski bulmak.

RAID1 sistemdeki diskin bir tanesi bozulduğu zaman izlenecek yöntemler:

Öncelikli işlem sistem henüz açık iken yedek almaktır. Her zaman yedeğinizi alın! Bu işlem sonucunda sisteminizde oluşabilecek sorunlardan tamamen siz sorumlusunuz. Ben yaptım oldu ancak sizin sistemde de aynı sonucu vermeme olasılığı her zaman vardır ve veri kaybı yaşamanız bu olasılık dahilindedir. Bu yüzden bu adımları uygularken yaşayacağını hiçbir kayıptan ben sorumlu değilim. 🙂

Canlı sistemin yedeğini aldıktan sonra bozuk diskin hangisi olduğunu bilmiyorsanız öncelikle bunu tespit etmemiz gerekir.

Sistemde root kullanıcı haklarına nail olup (# sudo -s) /var/log/ altındaki messages log dosyasının içine bakarak bozuk diskin hangisi olduğunu anlayabiliriz. Örnek olarak benim messages dosyasının içeriğini aşağıya ekledim:

kernel: [ 540.541685] ata3.00: configured for UDMA/133
kernel: [ 540.541698] sd 2:0:0:0: [sda] Unhandled sense code
kernel: [ 540.541701] sd 2:0:0:0: [sda] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
kernel: [ 540.541704] sd 2:0:0:0: [sda] Sense Key : Medium Error [current] [descriptor]
kernel: [ 540.541709] Descriptor sense data with sense descriptors (in hex):
kernel: [ 540.541711] 72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00
kernel: [ 540.541721] 00 40 3b 8b
kernel: [ 540.541725] sd 2:0:0:0: [sda] Add. Sense: Unrecovered read error – auto reallocate failed
kernel: [ 540.541730] sd 2:0:0:0: [sda] CDB: Read(10): 28 00 00 40 3b 8b 00 00 03 00
kernel: [ 540.541981] ata3: EH complete

Yukarıda görüldüğü üzere “sd 2:0:0:0: [sda] Sense Key : Medium Error [current] [descriptor]” ve “sd 2:0:0:0: [sda] Add. Sense: Unrecovered read error – auto reallocate failed” satırları “sda” olarak bağlanmış olan diskte “medya hatası” ve “kurtarılamayan okuma hatası” hatası olduğunu söylemekte.

Eğer sda diskin kasanın içindeki hangi disk olduğu konusunda bir fikriniz yoksa sistemi kapatıp disk sökmeye başlamadan önce hangi diski sökmeniz gerektiğini diskin seri numarasına bakarak şu şekilde bulabilirsiniz:

# hdparm -i /dev/sda | grep SerialNo
Model=SAMSUNG HD753LJ, FwRev=1AA01118, SerialNo=S13UJ90SXXXXXX

İkinci olarak şu yöntem ile de seri numarasını bulabilirsiniz:

# /sbin/udevadm info –query=property –name=sda | grep ID_SERIAL
ID_SERIAL=SAMSUNG_HD753LJ_S13UJ90SXXXXXX
ID_SERIAL_SHORT=S13UJ90SXXXXXX

Eğer S.M.A.R.T. verilerini okumayı biliyorsanız mevcut RAID1 yapısındaki iki diskin S.M.A.R.T. verilerine bakarak hangi diskin bozuk olduğunu ve seri numarasını bulabilirsiniz.

# smartctl -x /dev/sda

Bu komut çıktısı çok uzun olduğu ve ekstra açıklamalar gerektiği için yazıyı daha uzatmamak adına buraya eklemiyorum. S.M.A.R.T. verisi nasıl okunur bunu başka bir konuda işleyeceğiz.

Hangi diski sökmemiz gerektiğini öğrendiğimize göre artık sistemi kapatıp doğru diski değiştirebiliriz. Diski değiştirdikten sonra sistemi tekrar yükleyip RAID array’i yapılandırma işine girişeceğiz.