• BT Ekipleri İçin

RAID Dizisi Degraded Oldu: Rebuild Başlatmadan Önce 7 Kontrol

Dört diskli RAID 5 dizisinde bir diskin düştüğünü gösteren şema

Bir sabah denetleyici arayüzünde ya da izleme e-postasında tek bir kelime görürsünüz: degraded. Dizi hâlâ çalışıyor, kullanıcılar bir şey fark etmedi, arızalı diskin yerine takılacak disk rafta duruyor. En doğal hareket diski değiştirip rebuild'i başlatmaktır ve çoğu zaman sorunsuz biter. Bu yazı, sorunsuz bitmediği durumlar için: rebuild neden dizinin en kırılgan anıdır ve başlatmadan önce nelere bakılmalıdır?

Kısa cevap: Degraded dizi veri kaybı değildir, ama yedekliliği kalmamış bir dizidir. Rebuild'den önce güncel ve gerçekten geri dönen bir yedeğiniz olduğundan emin olun, kalan disklerin sağlığına bakın ve çıkaracağınız diski seri numarasından doğrulayın. İki disk birden düştüyse ya da dizi "offline" görünüyorsa hiçbir şeyi zorlamayın.

Degraded ne demek, ne demek değil?

RAID 5 bir, RAID 6 iki diskin kaybını tolere eder. Degraded durumda dizi, eksik diskteki veriyi kalan disklerdeki veri ve pariteden her okumada yeniden hesaplar. Veri yerindedir; ama RAID 5'te tolerans sıfıra, RAID 6'da bire inmiştir. RAID 10'da durum hangi diskin düştüğüne bağlıdır: aynı ayna çiftinin ikinci diski de giderse dizi durur.

Degraded uyarısının söylemediği şey şudur: kalan diskler de aynı yaştadır, çoğu zaman aynı üretim partisinden gelir ve yıllardır aynı yük altında çalışmıştır.

Seviyeye göre durum şöyledir:

RAID seviyesiTolere edilen disk kaybıBir disk düştükten sonraRebuild sırasında okunamayan sektör
RAID 0YokDizi kaybedilirDegraded durumu yoktur—
RAID 1 / RAID 10Ayna çifti başına 1O çift korumasızO sektör düzeltilemez; çiftin diğer diski de giderse dizi durur
RAID 51Tolerans yokDüzeltilemez; denetleyiciye göre rebuild durur ya da blok bozuk işaretlenir
RAID 621 disk toleransİkinci pariteden düzeltilir

Rebuild neden riskli?

Rebuild, yeni diske yazılacak veriyi hesaplamak için kalan bütün diskleri baştan sona okur. Normal çalışmada yıllardır hiç okunmamış sektörler de ilk kez bu sırada okunur. Üç şey ters gidebilir:

1. Gizli bozuk sektörler. Üreticiler veri sayfalarında okunamayan bit hata oranını masaüstü sınıfı disklerde genellikle 1014 bitte en fazla 1, kurumsal disklerde 1015 bitte en fazla 1 olarak verir. 1014 bit yaklaşık 12,5 TB eder. Bu bir üst sınır beyanıdır ve sağlıklı diskler çoğu zaman bundan iyi davranır; yine de onlarca terabaytlık kesintisiz bir okumada tek bir okunamayan sektöre rastlamak olağandışı değildir. RAID 5'te o sektörü düzeltecek yedeklilik artık yoktur; parite zaten eksik diski hesaplamak için kullanılmaktadır.

2. İkinci disk arızası. Rebuild saatlerce, büyük disklerde günlerce süren yoğun bir okuma yüküdür. Sınırda çalışan bir disk tam bu sırada düşebilir.

3. Yanlış disk. Arızalı sanılıp çıkarılan diskin sağlam olması, tek hamlede iki disk kaybı demektir.

Rebuild başlatmadan önce 7 kontrol

Önce özet; ayrıntılar tablonun altında.

#KontrolNeye bakılırDur işareti
1Olay günlüğüHangi disk, ne zaman düştüDaha önce düşüp geri gelmiş ikinci bir disk
2YedekSon başarılı yedeğin tarihi; deneme geri yüklemesiYedek yok ya da geri dönmüyor
3Kalan disklerin sağlığıSMART sayaçları, SAS hata sayılarıBekleyen ya da düzeltilemeyen sektör
4Doğru diskSeri numarası, yuva, locate LED'iSeri numarası etiketle uyuşmuyor
5Hot spare ve denetleyiciRebuild kendiliğinden başlamış mı; önbellek pili; foreign yapılandırmaNe olduğu anlaşılmayan foreign yapılandırma
6Kritik veriYedek yoksa önce en önemli verinin kopyasıKopyalama sırasında okuma hatası
7Yeni diskKapasite, sektör biçimi, CMR ya da SMR, eski RAID bilgisiKüçük kapasite, farklı sektör biçimi, SMR

1. Olay günlüğünü okuyun: hangi disk, ne zaman düştü?

Denetleyicinin ya da işletim sisteminin günlüğünde düşen diskin yuvasını, seri numarasını ve zamanını bulun. Asıl aradığınız şey şudur: daha önce düşüp geri gelmiş başka bir disk var mı? İki disk farklı zamanlarda düştüyse ilk düşenin üzerindeki veri eskidir. O diski zorla "online" yapmak diziyi çalışır gösterir ama dosya sistemini tutarsız bırakır.

2. Yedeği doğrulayın

"Yedek alınıyor" yeterli bir cevap değildir. Son başarılı yedeğin tarihine bakın ve en az bir klasörü ya da bir veritabanını gerçekten geri yükleyin. Yedek yoksa ya da geri dönmüyorsa, bundan sonraki her adımı o diziyi tek kopya sayarak atın.

3. Kalan disklerin sağlığına bakın

Rebuild'in yükünü kalan diskler taşıyacak. SATA disklerde yeniden atanmış sektör (5), bekleyen sektör (197), düzeltilemeyen sektör (198) ve arayüz CRC hatası (199) sayaçlarına; SAS disklerde büyüyen kusur listesine (grown defect list) ve düzeltilemeyen hata sayılarına bakın. Kalan disklerden birinde bekleyen sektör varsa rebuild büyük ihtimalle o sektöre takılır.

SMART sayacıKimlikNe anlatırNe zaman önemli
Reallocated Sector Count5Yedek alana taşınmış bozuk sektörlerSıfırdan farklıysa ve artıyorsa
Current Pending Sector197Okunamayan, henüz taşınmamış sektörlerSıfırdan farklı her değerrebuild için risktir
Offline Uncorrectable198Düzeltilemeyen sektörlerSıfırdan farklı her değer
UDMA CRC Error Count199Disk ile denetleyici arasındaki iletim hatalarıArtıyorsa kabloya ya da arka panele bakın; disk sağlam olabilir

4. Çıkaracağınız diski seri numarasından doğrulayın

Yuva numarası, LED ve işletim sistemindeki aygıt adı her zaman aynı diski göstermez; kablo sırası değişmiş ya da arka panel yanlış etiketlenmiş olabilir. Diski çıkarmadan önce seri numarasını ve yuvasını denetleyici çıktısından okuyun; denetleyicinin "locate" işleviyle o yuvanın LED'ini yaktırıp doğru yuvayı gözle doğrulayın. Çıkardıktan sonra etiketteki seri numarasını karşılaştırın; uyuşmuyorsa diski hemen aynı yuvaya geri takın ve başka işlem yapmayın. Çıkardığınız her diskin üzerine yuva numarasını yazın.

5. Hot spare ve denetleyici durumuna bakın

Tanımlı bir hot spare varsa rebuild siz fark etmeden başlamış olabilir; ilerlemeyi ve hata sayaçlarını izleyin. Donanım denetleyicilerde önbellek pilinin ya da kapasitörünün durumuna ve "foreign configuration" uyarısı olup olmadığına bakın. Foreign yapılandırmayı ne olduğunu anlamadan içe aktarmayın ve silmeyin.

6. Yedek yoksa önce en kritik veriyi alın

Dizi degraded hâlde okunabiliyorsa ve doğrulanmış yedeğiniz yoksa, rebuild'den önce en kritik veriyi başka bir depolamaya kopyalayın: önce küçük ve vazgeçilmez olanı (veritabanı dökümleri, muhasebe verisi), sonra geri kalanı. Kalan disklerde okuma hatası ya da bekleyen sektör görüyorsanız kopyalamayı da denemeyin; diziyi kapatın. En güvenli yol diziyi kapatıp her üye diskin sektör düzeyinde kopyasını almaktır; bunun için donanımınız ya da zamanınız yoksa asgari önlem budur.

7. Yeni diskin uygun olduğundan emin olun

Kapasitesi en az eskisi kadar olmalı, sektör biçimi (512e ya da 4Kn) diziyle uyuşmalıdır. Rebuild için SMR diskten kaçının: uzun süreli kesintisiz yazmada çok yavaşlar ve bazı denetleyiciler diski zaman aşımıyla diziden atar. Daha önce başka bir dizide kullanılmış diski takmadan önce üzerindeki eski RAID bilgisinin temizlendiğinden emin olun.

Hangi durumda rebuild hiç başlatılmaz?

DurumKarar
RAID 5 ya da RAID 6'da tek disk düştü, yedek doğrulandı, kalan diskler temizBaşlatılabilir
Yedek yok ama kalan diskler temizÖnce kritik veriyi kopyalayınsonra rebuild
Kalan disklerde okuma hatası ya da bekleyen sektör var, doğrulanmış yedek yokBaşlatmayın
RAID 5'te iki, RAID 6'da üç disk düştü; dizi "offline" ya da "failed" görünüyorBaşlatmayın
Bir disk daha önce düşüp geri alındı, hangisinin güncel olduğu belli değilBaşlatmayın
Önceki bir rebuild yarıda kaldıBaşlatmayın
Denetleyici arızalandı ya da değişti, dizi yapılandırması tanınmıyorBaşlatmayın

"Başlatmayın" yazan durumlarda dizi kapatılır, diskler yuva numarasıyla etiketlenir ve disklere hiçbir şey yazılmaz.

Yapılmaması gerekenler

İşlemNeden zararlı
Diziyi yeniden oluşturmak (create / initialize)Aynı disklerle "yeni dizi" tanımlamak eski yapılandırmanın üzerine yazar. Hızlı başlatma bile dizinin baş ve son bölümünü sıfırlayabilir, arka plan başlatması pariteyi yeniden yazar; tam başlatma verinin tamamını siler.
Düşen diski "force online" yapmakEski veri taşıyan disk diziye geri girer.
Degraded ya da tutarsız dizide chkdsk veya fsck çalıştırmakTutarsız dizide dosya sistemi onarımı yanlış hesaplanmış veriyi kalıcı hâle getirir; yalnızca degraded olan dizide ise yedeklilik yokken yoğun okuma ve yazma yükü bindirir.
Disklerin yuvalarını değiştirmek, birkaç diski birden çıkarmakDisk sırası bilgisi kaybolur; fazladan çıkan her disk diziyi tümden düşürebilir.
Linux'ta mdadm --create ile diziyi "geri getirmek"Komut üst blokları her durumda yeniden yazar; parametrelerden biri ya da mdadm sürümünün varsayılan veri başlangıcı farklıysa veri alanının da üzerine yazılır.
Sorun çözülmeden denetleyici ürün yazılımını güncellemekArızanın ortasında yeni bir değişken ekler; dizi yapılandırması tanınmaz hâle gelebilir.

Durumu okumak için komutlar

Aşağıdaki komutların hepsi salt okunurdur; dizide değişiklik yapmaz.

# Linux yazılım RAID (mdadm)
cat /proc/mdstat
mdadm --detail /dev/md0
mdadm --examine /dev/sd[a-d]1        # üyelerin "Events" sayaçlarını karşılaştırın

# Disk sağlığı
smartctl -a /dev/sda
smartctl -a -d megaraid,0 /dev/sda   # MegaRAID arkasındaki disk; 0 = storcli çıktısındaki DID

# Broadcom / LSI MegaRAID (Dell PERC'te perccli aynı sözdizimini kullanır)
storcli /c0 show
storcli /c0/vall show
storcli /c0/eall/sall show
storcli /c0 show events

# HPE Smart Array
ssacli ctrl all show config
ssacli ctrl slot=0 pd all show status

mdadm --examine çıktısında "Events" değeri diğerlerinden düşük olan üye, diziden daha önce düşmüş olan disktir.

Diskleri laboratuvara gönderecekseniz

  • Düşen disk dahil bütün üye diskleri gönderin.
  • Her diskin üzerine yuva numarasını yazın.
  • Denetleyici modelini, RAID seviyesini, biliyorsanız stripe boyutunu ve dosya sistemini not edin.
  • Olayın zaman çizelgesini ekleyin: hangi disk ne zaman düştü, hangi işlemler denendi.
  • Diskleri antistatik poşete koyup darbe emici ambalajla ayrı ayrı paketleyin.

Dizinin laboratuvarda sanal olarak nasıl yeniden kurulduğu, disk sırası ve stripe boyutunun nasıl belirlendiği RAID veri kurtarma sayfasında anlatılıyor.

Sık sorulan sorular

Rebuild ne kadar sürer?
Disk kapasitesine, dizinin o sıradaki yüküne ve denetleyicinin rebuild önceliği ayarına bağlıdır; birkaç saatten birkaç güne kadar değişir. Süre uzadıkça ikinci bir arıza için açık kalan pencere de uzar.

RAID 6 kullanıyorum, yine de dikkat etmeli miyim?
Tek disk kaybında RAID 6'nın bir disklik toleransı daha vardır; rebuild sırasında karşılaşılan okunamayan sektör ikinci pariteden düzeltilir. Büyük disklerde RAID 6'nın tercih edilme sebebi budur. İki disk düştüyse durum, RAID 5'in tek disk kaybıyla aynıdır.

Bunu önlemenin yolu var mı?
Düzenli tutarlılık taraması (patrol read, scrub) gizli bozuk sektörleri yedeklilik varken bulur ve düzeltir. İzleme uyarılarının gerçekten birine ulaştığını ara ara test edin. Ve RAID yedek değildir: silinen dosyayı, fidye yazılımını ya da denetleyici arızasını RAID çözmez.

Dizi kapalıysa kapalı kalsın. Analiz ücretsizdir; onayınız olmadan işlem yapılmaz. Telefon: 0212 916 12 22 ya da ücretsiz analiz başvurusu.