Skip to content

RAID 5 və ya RAID 6 yenidən qurulma zamanı ikinci disk uğursuzluqla üzləşmiş sıra (Niyə heç vaxt CHKDSK və ya fsck, ddrescue Sektor Klonlaması və mdadm Yalnız Oxunan Assambleyasını Çalıştırmırsınız)

Təcili yardım nömrələri ölkəyə görə fərqlənir. Bu səhifə ABŞ və Kanada üçün 911 rəqəmindən istifadə edir. Bir çox başqa ölkələr 112, 999 və ya başqa bir rəqəmdən istifadə edirlər. Ölkəniz üçün nömrəni tapın.

Uğursuz bir sabit diskin deqradasiya olunmuş diskdə dəyişdirilməsi RAID 5 və ya RAID 6 saxlama serveri, Synology DiskStation, QNAP NAS, Linux mdadm massiv və ya Dell PERC / HP Smart Array / LSI MegaRAID hardware nəzarətçisi yalnız ikinci qalan üzv sürücü atışını izləmək üçün UNC (Düzəliş oluna bilməyən oxu xətası) pis sektorlar, Pending Sectors, və ya offline buraxın 42% paritetin yenidən qurulması müəssisə və ev laboratoriya hesablamalarında ən təhlükəli saxlama fövqəladə hallarından biridir. Tək paritetdə RAID 5 massiv (N - 1 nasazlığa dözümlülük), əvəzedici diskin riyazi XOR yenidən qurulması hər bir sektorun oxunmasını tələb edir (LBA 0 son LBA-a qədər) qalanın 100 faizi N - 1 üzv eyni vaxtda sürür. Müasir yüksək tutumlu olduqda 8 TB üçün 24 TB helium diskləri (eyni istehsal partiyasından alınmış və eyni istilik və vibrasiya saatlarına məruz qalmışdır) çox terabaytlıq ardıcıl yenidən qurulma oxunuşundan keçir, tək gizli media qüsuru (URE) və ya ikinci sürücüdə zəif oxuma başlığı RAID nəzarətçisinin yenidən qurmağı dayandırmasına səbəb olur, ikinci diski ** kimi çıxarınFaulty / Crashed** və bütün saxlama hovuzunu qeyd edin Offline / Crashed / Superblock Event Count Mismatch.

Panik etməyin və ikinci dəfə yenidən qurmağa məcbur etməyin və ya fayl sistemi təmiri proqramlarını işə salmayın (fsck, e2fsck, xfs_repair, və ya Windows CHKDSK). Hətta ikinci maşın girəndə belə RAID 5 (və ya üçüncü sürücü daxil RAID 6) inkişaf edir 50 üçün 5,000 pis sektorlar və massivdən çıxarılır, bu "uğursuz" ikinci diskdəki sektorların 99,9999 faizi hələ də 100 faiz oxunaqlıdır. Massivi dərhal dayandıraraq, ** istifadə edərək hər bir qeyri-sabit üzv disk sektorunu sektorlar üzrə sağlam ehtiyat disklərə klonlayın.GNU ddrescue** və klonlanmış şəkilləri -da yığırıqRead-Only / --assume-clean üst-üstə düşmə rejimi (mdadm + dmsetup Copy-on-Write loop overlays), siz fayl sistemini təhlükəsiz şəkildə quraşdıra və demək olar ki, hər bir faylı bütöv şəkildə köçürə bilərsiniz. NAS cihazının xüsusiyyətləri və aparat nəzarətçisinin nasazlıqları üçün bizim yoldaş təlimatlarımızı oxuyun RAID 5 və ya RAID 6 Synology, QNAP və ya TrueNAS çoxlu sürücünün düşməsi, RAID nəzarətçi kartının ölümü və xarici konfiqurasiya idxalı, və NAS RAID massivi pisləşdi və ZFS/Btrfs bərpa edildi. Əgər serverinizin nasazlığı həyat təhlükəsizliyi sistemlərinə və ya tibbi infrastruktura təsir edərsə, yerli təcili yardım nömrəsi ilə əlaqə saxlayın (911 ABŞ və Kanadada, 112 Avropa İttifaqı daxilində, 999 Birləşmiş Krallıqda) və ya kataloqumuzu yoxlayın təcili nömrələr.

Bunu indi edin

  1. Hər hansı aktiv paritetin yenidən qurulmasını dayandırın və ya dərhal ovuşdurun və massivi təmiz şəkildə söndürün (yaxud disk mexaniki klik və ya qırıntı səsləri çıxarırsa, SATA/SAS arxa panel gücünü ayırın):
  2. Niyə dayanan yenidən qurulmasına icazə vermək massivi məhv edir: Üzv diski nasaz sektor yamasına (LBA oxuma vaxtı aşımı) və ya alçaldıcı oxu/yazma başlığı var (media scratch), RAID nəzarətçisinin sektorları saatlarla təkrar sınayaraq tərk edilməsi, mikroskopik maqnit plitəsinin örtüyünü bütün iz silindri boyunca toz halına gətirir və bərpa oluna bilən bir torna çevirir. 20-sector fəlakətli tam boşqab baş qəza daxil qüsur.
  3. Heç vaxt qaçmayın CHKDSK /f, fsck -y, e2fsck, btrfs check --repair, və ya xfs_repair deqradasiya edilmiş, sinxronizasiya olunmamış və ya yarı yenidən qurulmuş RAID massivində:
  4. Niyə CHKDSK və fsck Sinxronizasiyadan kənar RAID-də məlumatların 100% daimi məhvinə səbəb olur: Disk 2 çərşənbə axşamı günü, Disk 3 isə cümə axşamı yenidən qurulma zamanı dayandırılıbsa, mdadm və ya hardware RAID Event Counter (Update Time) bu iki diskdə minlərlə əməliyyatla fərqlənir. Uyğun olmayan sürücü nəsilləri və ya çatışmayan zolaqları olan massivi zorla yığsanız və icazə versəniz fsck və ya CHKDSK massivə yazmaq üçün fayl sistemi yoxlayıcısı səhv düzülmüş RAID zolaqlarının səbəb olduğu qırılmış inode ağaclarını görür, ** milyonlarla etibarlı kataloq girişini silir lost+found, və massivdəki hər bir diskdə pozulmuş pariteti olan yaxşı məlumat zolaqlarının üzərinə yazır**.
  5. Heç vaxt klik etməyin "Create Array", "Initialize", və ya "Clear Configuration" hardware RAID BIOS-da və heç vaxt işə salmayın mdadm --create olmadan --assume-clean və Kopyalama-Yazma (COW) loop overlay:
  6. Standart işlətmək mdadm --create (olmadan --assume-clean və dəqiq parça ölçüsünə, tərtibinə və məlumat ofsetinə uyğun gələn) dərhal bütün disklər üzrə yeni paritet zolaqları yazmağa başlayır, fayl sistemi superblokunu və hər hansı bir parametr (əgər hər hansı bir parametr varsa, B-ağaclarını məhv edir) (512K vs. 64K parça, left-symmetric vs. left-asymmetric, və ya 2048s vs. 262144s data ofset) hətta bir sektor tərəfindən səhvdir.
  7. Hər fiziki sabit disk yuvasını etiketləyin (Bay 0 / Bay 1 / Bay 2 / Bay 3 və seriya nömrəsi) bir sürücünü şassidən çıxarmazdan ƏVVƏL daimi marker və ya lentlə:
  8. Hər bir sürücünün yuxarı etiketinə dəqiq yuva nömrəsini və seriya nömrəsini yazın. Fiziki bay nizamını bilmək və yoxlamaq mdadm --examine metadata daha sonra zolaqlı rekonstruksiya saatlarına qənaət edir.
  9. Uğursuz sürücü(lər)i sektorlar üzrə klonlaşdıraraq sağlam yeni disklərdən istifadə edin GNU ddrescue (xəritə faylı ilə) hər hansı RAID montajına cəhd etməzdən ƏVVƏL birbaşa anakart SATA/HBA portları üzərindən:
  10. Heç vaxt fiziki olaraq ölən sürücünün özündən istifadə edərək RAID massivini yığmağa və ya quraşdırmağa çalışmayın. Uğursuz diski RAID olmayan SATA/AHCI və ya LSI-yə qoşun IT-Mode Linux xilasetmə iş stansiyasında HBA portu, ƏS-nin avtomatik quraşdırılmasını söndürün və işə salın ddrescue -f -n /dev/sdX /dev/sdY rescue_driveX.map beləliklə, sağlam sürətli sektorlar pis sektor zonalarına toxunmadan bir keçiddə boşaldılır.
  11. Klonlanmış sürücüləri yığın Read-Only rejimi (mdadm --assemble --readonly və ya istifadə edir dmsetup / losetup RAM/fayl örtükləri):
  12. Birdəfəlik Copy-on-Write yerləşdirməklə (COW) faylı hər bir klonlaşdırılmış üzv diskin üzərinə yerləşdirin, siz serialı sınaqdan keçirə, təkrar oynaya bilərsiniz ext4 və ya XFS jurnalı daxil edin və ya hətta virtual yenidən qurmağı sınaqdan keçirin sıfır baytın əsas disk klonlarınızda heç vaxt dəyişdirilməsinə zəmanət veririk.

Danger

"Sifarişsiz Sürücü Gücü" Tələsi (Stale Drive Overwriting Fresh Drives): Tutaq ki, sizdə 4 sürücü var RAID 5 (Disk 1, Disk 2, Disk 3, Disk 4). Disk 3 6 ay əvvəl uğursuz oldu və siz onu heç vaxt əvəz etmədiniz (6 ay işləmək pisləşdi). Bu gün, Disk 2 100 pis sektoru inkişaf etdirir və onu tərk edir. 6 aylıq uşağı heç vaxt məcbur etməyin Disk 3 yenidən qurmaq üçün onlayn Disk 2. Əgər istifadə edirsinizsə Disk 1 + Disk 3 (6 months stale) + Disk 4 massivi yenidən qurmaq və ya quraşdırmaq üçün son 6 ayda yaradılmış və ya dəyişdirilmiş hər bir fayl oxunmaz ikili zibilliyə çevriləcək. Siz klonlamalısınız Disk 2 (bu gün uğursuz olan sürücü) ilə ddrescue və yığmaq Disk 1 + Cloned Disk 2 + Disk 4.


Qərar ağacı: yenidən qurulma zamanı ikinci sürücü uğursuz olduqda RAID 5 və ya RAID 6 massivinin xilas edilməsi

Bir sağ qalan zolağı itirmədən massivinizi bərpa etmək üçün bu məhkəmə yaddaşının bərpası iş prosesinə əməl edin:

flowchart TD
    Start["RAID 5 (2-ci Disk) və ya RAID 6 (3-cü Disk) Yenidən Quraşdırma zamanı uğursuz olur / oflayn düşür"] --> StopNow["ADDIM 1: Dərhal yenidən qurmağı dayandırın və massivi söndürün (Uğursuz Diskdə Platter hesablanmasının qarşısını alın)"]

    StopNow --> SoundCheck{"Arızalı Disk yüksək səslə klik, siqnal və ya üyütmə səsləri çıxardı?"}

    SoundCheck -->|"BƏLİ: Mexanik Baş Qəzası / Sıxıntı"| CleanRoom["DAYANIR: Sürücüyü yenidən işə salmayın. YALNIZ mexaniki nasazlığı olan diski (zolaqlı istinad üçün əlavə 1 sağlam disk) Klonda təsvir etmək üçün Təmiz Otaq Laboratoriyasına göndərin."]

    SoundCheck -->|"YOX: rəvan fırlanır, pis sektorlara görə uğursuz oldu (UNC / Gözləmədə / Vaxt aşımı)"| LabelDrives["ADDIM 2: Hər Diski Dəqiq Bay Nömrəsi və Seriya Nömrəsi ilə Etiketləyin -> Birbaşa SATA / İT-Rejim HBA vasitəsilə Linux İş Stansiyasına qoşulun"]

    LabelDrives --> InspectMeta["Bütün Disklərdə 'mdadm --examine /dev/sd*' və 'smartctl -a /dev/sd*' işlədin (Yeniləmə Vaxtı, Hadisələr Sayğacı, Rol, Parça Ölçüsü, Layout, Data Ofseti qeyd edin)"]

    InspectMeta --> CloneDrives["ADDIM 3: 'ddrescue -f -n' istifadə edərək hər bir deqradasiyaya uğramış/pis sektorlu diski sağlam ehtiyat diskə klonlayın (Əvvəlcə sürətli keçid, sonra Mapfile ilə keçidi sıyırın)"]

    CloneDrives --> PickFreshest["N-1 (RAID 5) və ya N-2 (RAID 6) Disklərini ƏN YÜKSƏK/ƏN SON 'Tədbirlər' sayğacı ilə müəyyən edin (Heç vaxt köhnə köhnə düşmüş diski təzə disklərlə qarışdırmayın)"]

    PickFreshest --> CowOverlay["ADDIM 4: Klonlanmış Disklər üzərində Yalnız Oxunan Döngü / 'dmsetup' Kopyalama (COW) örtükləri yaradın ki, orijinal klonlar dəyişdirilə bilməz."]

    CowOverlay --> AssembleRO["Overlay Cihazlarında 'mdadm --assemble --force --readonly' icra edin -> Fayl Sistemini Yalnız Oxunur ('mount -o ro,noload') -> Bütün Kritik Məlumatları Xarici Yaddaşa Kopyalayın"]

Faza 1: RAID-in yenidən qurulması zamanı ikinci sürücünün niyə uğursuz olduğunu başa düşmək (XOR Parity Math & Event Counters)

Yenidənqurma zamanı massivinizin niyə qəzaya uğradığını və məlumatlarınızın niyə hələ də bərpa oluna biləcəyini anlamaq üçün necə olduğunu araşdırın. RAID 5 və RAID 6 əslində diskdə işləyir.

1. Necə XOR paritet rekonstruksiya işləri və niyə 1 bad sektor bütün yenidən qurulmasını dayandırır

4 sürücüdə RAID 5 massiv (Drive A, Drive B, Drive C, Drive D), məlumatlar sabit ölçülü hissələrə bölünür (adətən 64 KB və ya 512 KB) disklər boyunca zolaqlıdır, burada hər cərgədə bir parça XOR Paritetini (P): $\(\text{Parite } P = A \oplus B \oplus C\)$ If Drive C tamamilə uğursuz olur və siz boşluq daxil edirsiniz Replacement Drive C_new, RAID nəzarətçisi hər bir zolağı yenidən qurmalıdır C_new hesablamaqla: $\(C_{\text{yenidən qurulmuş}} = A \oplus B \oplus P\)$ - ** Nə zaman baş verir Drive B tek oxunmaz vurur 4 KB sektor (UNC səhv) at 42% yenidən qurulması**: - Bu tək hesablamaq üçün 4 KB blok et C_new, nəzarətçinin etibarlı oxunması *olmalıdır Drive A, Drive B, və Drive D. - Nə vaxt Drive B hardware qaytarır Read Error (Sense Key 03h / 11h Unrecovered Read Error) 7 saniyədən sonra (TLER / ERC istehlakçı və müəssisə RAID kontrollerləri tez-tez fəlakətli defolt davranışla proqramlaşdırılır: bu təki atlamaq əvəzinə 4 KB sektor, sıfır bloku qeyd etmək və digərini bitirmək 99.9999% yenidən qurulmasını RAID nəzarətçisi qeyd edir Drive B kimi FAILED / OFFLINE və bütün yenidən qurulmasını dayandırır. - Bu anda massivinizdə "Uğursuz" (Uğursuz) qeyd olunmuş iki disk var.Drive C olan yalnız 42% yenidən quruldu və Drive B olan əslində var 99.99998% sağlam sektorlar və yalnız 12 pis sektorlar).

2. Niyə Event Counters (Update Time) bərpa üçün hansı disklərdən istifadə etməli olduğunuzu müəyyənləşdirin

Hər dəfə a RAID 5 və ya RAID 6 massiv məlumatları yazır və ya vəziyyəti dəyişir (məsələn, diskin çıxması), RAID metadatası (mdadm superblok və ya aparat DDF metadata) 64 bit artırır Events bütün hazırda aktiv disklərdə sayğac.

müqayisə edin mdadm --examine tipik 4 sürücünün çıxışı RAID 5 harada fəlakət sdb dünən uğursuz oldu (Events: 10450) və sdc bugünkü yenidənqurma zamanı atıldı (Events: 10892):

Fiziki Sürücü Massivdəki rol Update Time Events Sayğac Fiziki Sağlamlıq və Tərkibində olanlar
/dev/sda (Körfəz 1) Active device 0 Today 14:22:10 10892 100% Sağlam və Mövcud: Bu gün yenidən qurulma zamanı qəzaya uğrayan dəqiq saniyəyə qədər hər yazı var.
/dev/sdb (Körfəz 2) spare / faulty (Yeni disklə əvəz edilmişdir) Yesterday 09:15:00 10450 (köhnə) Dünən uğursuz oldu: 29 saatlıq verilənlər bazası yazısı çatışmır, YA YA yalnız yeni disklə əvəz olunur 42% yenidən qurulmuş (Reshape/Rebuild Pos).
/dev/sdc (Körfəz 3) faulty (Düşdü 42% yenidən qurmaq) Today 14:22:09 10890 *(2-yə qədər söndürülür) 99,999% Sağlam və Hazırkı: Yalnız 1 saniyə əvvəl qovuldu /dev/sda və /dev/sdd çünki yenidən qurma oxunarkən 8 pis sektora zərbə vurdu.
/dev/sdd (Körfəz 4) Active device 3 Today 14:22:10 10892 100% Sağlam və Mövcud: Bu gün yenidən qurulma zamanı qəzaya uğrayan dəqiq saniyəyə qədər hər yazı var.
  • Yuxarıdakı cədvəldən RAID bərpasının qızıl qaydası:
  • Diqqət edin /dev/sda (10892), /dev/sdc (10890), və /dev/sdd (10892) hamısı demək olar ki, eynidir Events -dən sayğaclar Today 14:22.
  • Bir dəfə klonlayırıq /dev/sdc istifadə edərək sağlam bir sürücüyə ddrescue (sektorlarının 99,9999%-ni bərpa etməklə və 8 oxunmayan sektoru sıfırla doldurmaqla) biz məcburi şəkildə yığa bilərik /dev/sda + Cloned /dev/sdc + /dev/sdd (yarı yenidən qurulanlara məhəl qoymadan /dev/sdb tamamilə). Bu 3-sürücü kombinasiyası bizə 100 faiz ardıcıl, saniyəyə qədər deqradasiya verir RAID 5 massiv sıfır zolaq yırtığı ilə.

Mərhələ 2: uğursuz sürücünün addım-addım sektor klonlanması GNU ddrescue

Toxunmadan əvvəl mdadm və ya hər hansı RAID montaj aləti üçün oxumaq xətalarını bərabər və ya daha böyük bayt tutumlu sağlam əvəzedici disklərə atan sürücü(lər)i klonlaşdırmalısınız.

Addım 1: Linux xilasetmə mühitini hazırlayın və avtomatik montajı söndürün

  1. Linux iş stansiyasını yükləyin (və ya serverinizi SystemRescue kimi canlı USB stikdən yükləyin system-rescue.org və ya Ubuntu Live Server) standart ana plata SATA portlarına və ya LSI HBA-ya qoşulmuş sürücülərlə. IT Mode (RAID olmayan keçid).
  2. Linux-un yüklənmə zamanı pozulmuş RAID massivinizi avtomatik yığmaq və ya quraşdırmaq cəhdinin qarşısını alın:
  3. SystemRescue və ya Ubuntu Live proqramını yükləyərkən yoxlayın cat /proc/mdstat. Linux avtomatik olaraq qismən yığılsa md cihaz fonda, görüntüləmədən əvvəl onu dərhal yalnız oxumaq üçün təhlükəsiz rejimdə dayandırın:
    mdadm --stop /dev/md*
    
  4. Hər bir diski dəqiq model, seriya nömrəsi və bayt ölçüsü ilə müəyyən edin (heç vaxt təxmin etməyin /dev/sdX hərflər, çünki Linux reboots zamanı sürücü hərflərini yenidən təyin edir):
    lsblk -o NAME,SIZE,MODEL,SERIAL,TYPE,FSTYPE
    
    Hansı olduğunu yazın /dev/sdX Uğursuz Mənbə Diskinizə uyğun gəlir (məsələn, /dev/sdc, serial WCC4E12345) və hansı /dev/sdY Brend-Yeni Boş Hədəf Diskinizdir (məsələn, /dev/sdf, serial ZGG9988776).

Addım 2: 2-Mərhələni işə salın GNU ddrescue klonlama protokolu (Həmişə Mapfile istifadə edin)

Heç vaxt standartdan istifadə etməyin dd (dd if=/dev/sdc of=/dev/sdf) uğursuz RAID sürücüsündə: standart dd ya birinci pis sektorda dayandırılır, ya da əgər varsa, çıxış ofsetlərini dəyişir sync səhv konfiqurasiya olunub və hansı sektorların uğur qazandığı barədə yaddaşı yoxdur. GNU ddrescue (gddrescue paket) ağıllı çox keçidli dövlət xəritə faylından istifadə edir:

  1. Keçid 1: Sürətli Qırılmayan Klon (-n bayraq) İlk olaraq Sağlam Sektorların 99,99%-ni xilas etmək:
    ddrescue -f -n -b 4096 /dev/sdc /dev/sdf /root/raid_bay3_sdc.map
    
  2. -f: Cihazı bloklamaq üçün birbaşa yazmağa imkan verir /dev/sdf (** bunu üç dəfə yoxlayın /dev/sdc mənbəyidir və /dev/sdf boş hədəfdir**).
  3. -n (--no-scrape): deyir ddrescue bütün sağlam gigabaytları maksimum sürətlə xilas edərək oxunan başlığı üyütmədən hər hansı yavaş və ya pis sektor bölgəsindən dərhal tullanmaq (150 to 250 MB/s) sürücünün sağlamlığı pisləşməzdən əvvəl.
  4. /root/raid_bay3_sdc.map: Hər 30 saniyədə dəqiq sektor tərəqqisini saxlayır. Arızalı sürücü kilidlənsə və enerji dövrü tələb etsə belə, eyni əmri yenidən .map fayl tam dayandığı sektorda davam edir.
  5. Keçid 2: Məqsədli Ters/Kəsmə Scrape (-d -r1) Marjinal Bad Sektorları bərpa etmək üçün:
  6. Pass 1 başa çatdıqdan sonra (pct rescued: 99.99%), nüvənin SCSI əmr müddətini azaldın ki, hər bir pis sektor sürətlə uğursuz olsun (5 seconds gözləmək əvəzinə 30 to 180 seconds sektor üzrə):
    echo 5 > /sys/block/sdc/device/timeout
    
  7. Pass 2-ni birbaşa disk girişi ilə işə salın (-d) və 1 təkrar cəhd (-r 1):
    ddrescue -f -d -r 1 -b 4096 /dev/sdc /dev/sdf /root/raid_bay3_sdc.map
    
  8. Bağlayın, uğursuz olan orijinalı ayırın /dev/sdc sürün və onu təhlükəsiz şəkildə rəfə qoyun: Bu andan etibarən siz yalnız sağlam klonunuzla işləyəcəksiniz (/dev/sdf) və digər sağlam üzvünüz sürücülər.

Faza 3: Copy-on-Write (Yazda Kopyalama) istifadə edərək təhlükəsiz Yalnız oxumaq üçün RAID montajıCOW) örtüklər və mdadm

İndi sağlam disk klonlarınız olduğuna görə heç vaxt işlətməyin mdadm --assemble --force qoruyucu Copy-on-Write olmadan birbaşa xam disklərdə (COW) üst-üstə düşmə və ya --readonly bayraq. Niyə? Çünki --force disklərdəki RAID superbloklarını yenidən yazır və əgər fayl sistemi jurnalı (ext4 / XFS) yanlış sürücü kombinasiyasından istifadə edərək montajda avtomatik təkrarlanır, o, klonlarınızı daimi olaraq dəyişir.

Addım 1: Bütün üzv disklərdə RAID metadatasını yoxlayın (mdadm --examine)

Qaç mdadm --examine hər bir üzv diskdə (və ya bölmədə, məsələn, /dev/sda1 və ya /dev/sda3 Synology/QNAP NAS disklərində) və çıxışı mətn faylında saxlayın:

mdadm --examine /dev/sd[a,b,d,f]* > /root/raid_metadata_audit.txt
cat /root/raid_metadata_audit.txt
Hər bir sürücü üçün dörd kritik sahəyə baxın: 1. Array UUID: Bütün sürücülərin eyni RAID hovuzuna aid olduğunu yoxlayın. 2. Device Role: Dəqiq zolaq indeksini göstərir (Active device 0, Active device 1, Active device 2, Active device 3). 3. Update Time & Events: ** müəyyən edinN - 1 sürücülər (üçün RAID 5)** və ya N - 2 sürücülər (üçün RAID 6) ən yüksək/ən yaxını paylaşan Events saymaq. 4. Raid Level, Layout, Chunk Size, və Data Offset: Bu dəqiq rəqəmləri qeyd edin (məsələn, Raid Level : raid5, Layout : left-symmetric, Chunk Size : 512K, Data Offset : 262144 sectors).

Addım 2: Qeyri-dağıdıcı Kopiya-on-Write yaradın (COW) Cihaz-Mapper örtükləri (overlay-create)

100 faiz təhlükəsizliyə zəmanət verin ki, hətta massivi zorla yığıb qaçsanız belə mount, sıfır bayt heç vaxt fiziki sabit disklərinizə yazılır, loop dəstəkli yaradın dm-snapshot Copy-on-Write örtükləri /tmp (və ya xarici cızıq sürücüsündə):

# Create a small sparse COW file + loop device for each member partition (e.g., sda3, sdf3, sdd3)
mkdir -p /root/cow
for dev in sda3 sdf3 sdd3; do
    truncate -s 20G /root/cow/${dev}.cow
    loop_base=$(losetup --find --show --read-only /dev/${dev})
    loop_cow=$(losetup --find --show /root/cow/${dev}.cow)
    sz=$(blockdev --getsz /dev/${dev})
    echo "0 $sz snapshot $loop_base $loop_cow P 8" | dmsetup create ovl_${dev}
done
- Bu nə edir: İndi virtual blok cihazlarınız var /dev/mapper/ovl_sda3, /dev/mapper/ovl_sdf3, və /dev/mapper/ovl_sdd3. Əsas fiziki sürücülər (sda3, sdf3, sdd3) kilidlidir --read-only nüvə bloku qatında. Hər hansı bir yazı mdadm --force, LVM və ya fayl sistemi jurnalının təkrarı zərərsiz olaraq birdəfəlik istifadəyə verilir /root/cow/*.cow fayllar. Əgər bir şey səhv olarsa, sadəcə üst-üstə düşmələri silib 2 saniyə ərzində yenidən yarada bilərsiniz.

Addım 3: Massivi üst-üstə düşən cihazlarda məcburi yığın və Yalnız oxumaq üçün quraşdırın

  1. Ən təzəsini yığın N - 1 istifadə edən overlay cihazları --assemble --force:
    mdadm --assemble --force --verbose /dev/md99 /dev/mapper/ovl_sda3 /dev/mapper/ovl_sdf3 /dev/mapper/ovl_sdd3
    
  2. Niyə köhnəlmiş/yarı yenidən qurulmuş diski tərk edirik (sdb3): məcbur etmək mdadm 3 müasir disk ilə yığmaq üçün (sda3, klonlanmış sdf3, və sdd3) gətirir /dev/md99 təmiz deqradasiya rejimində onlayn ([U_UU]) dəqiq son istifadə edərək Events dövlət, isə ddrescue artıq məlumatları xilas etdi sdf3.
  3. LVM-i aktivləşdirin (vgchange) əgər NAS və ya serveriniz RAID-in (Synology SHR, QNAP, Proxmox, Ubuntu):
    pvscan
    vgscan
    vgchange -ay
    lvs
    
    (Synology NAS istifadə edirsə Btrfs LVM-də və ya Synology Hybrid RAID, indi görəcəksiniz /dev/vg1000/lv və ya /dev/vg1/volume_1 görünür.)
  4. Fayl sistemini ciddi Yalnız oxumaq rejimində quraşdırın və kritik fayllarınızı dərhal evakuasiya edin:
    mkdir -p /mnt/raid_rescue
    # For ext4:
    mount -o ro,noload /dev/md99 /mnt/raid_rescue
    # (Or if noload refuses due to dirty journal, mount the COW overlay normally so the journal replays into the disposable COW file)
    mount -o ro /dev/md99 /mnt/raid_rescue
    # For Btrfs (Synology NAS):
    mount -t btrfs -o ro,usebackuproot,nologreplay /dev/vg1000/lv /mnt/raid_rescue
    
  5. Ən kritik qovluqlarınızı əvvəlcə istifadə edərək kopyalayın rsync xarici ehtiyat sürücüsünə:
    rsync -avP --ignore-errors /mnt/raid_rescue/ /mnt/external_backup_usb/
    

Faza 4: Hardware RAID Nəzarətçilərinin Xilas edilməsi (Dell PERC, LSI MegaRAID, HP Smart Array, Adaptec) və ZFS / Btrfs Hovuzları

Əgər massiviniz Linux tərəfindən idarə olunmasaydı? mdadm, lakin Avadanlıq RAID Nəzarətçi Kartı ilə (Dell PERC H730/H740/H755, Broadcom / LSI MegaRAID, və ya HP Smart Array) indi xəbər verir Virtual Disk Offline və ya Foreign Configuration Found yenidən qurulma zamanı ikinci sürücü hıçqırıqdan sonra?

1. Aparat RAID Kartları (Dell PERC, LSI MegaRAID, HP Smart Array)

  1. Heç vaxt klik etməyin "Clear Foreign Configuration" və ya "Initialize Virtual Disk":
  2. Dell-də PERC / LSI MegaRAID BIOS (Ctrl+R və ya HII UEFI Konfiqurasiya Utiliti), Clear RAID metadatasını disklərdən silir və Initialize məlumat zolaqlarının üzərinə yazır.
  3. Arxa panel kabelinin boşalması və ya vaxt aşımı səbəbindən sağlam sürücü qısa müddətə oflayn olubsa, Import Foreign Configuration sürücünü geri qaytarmağa cəhd edir; lakin, bir disk həftələr əvvəl, ikincisi isə bu gün düşərsə, hər ikisini idxal etmək və ya köhnəlmiş diski idarəedici BIOS vasitəsilə onlayn məcbur etmək massivi korlaya bilər.
  4. Avadanlıq RAID üçün Təhlükəsiz Proqram Yenidənqurma Metodu (DDF Metadata / dmraid / R-Studio / UFS Explorer):
  5. Hardware RAID kartları standart mağazadır SNIA DDF (Disk Data Format) hər bir sabit diskin sonundakı son sektorlardakı metadata və sektordan başlayaraq disklər üzrə məlumat zolağı 0 (və ya kiçik başlıq ofsetindən sonra) standart istifadə edərək 64 KB, 128 KB, 256 KB, və ya 512 KB parça ölçüləri (Left-Asymmetric və ya Left-Symmetric).
  6. Dağıdıcı hardware RAID kartı BIOS ilə qumar oynamaq əvəzinə:
    1. Bütün sürücüləri slot nömrəsinə görə etiketləyin və onları standart SATA / qeyri-RAID-ə qoşun IT-Mode HBA bərpa iş stansiyasında.
    2. ** istifadə edərək pis sektor sürücüsünü klonlayınGNU ddrescue** Mərhələ 2-də göstərildiyi kimi.
    3. Klonlanmış sürücüləri -də açınUFS Explorer RAID Recovery və ya R-Studio Technician və ya istifadə edərək onları yalnız oxumaq üçün Linux-da yığın dmsetup / mdadm --build: bu alətlər avtomatik olaraq aşkar edir LSI / PERC / HP zolaq sırası, parça ölçüsü (64K/512K) və hardware RAID kartının disklərinizə bir bayt yazmasına icazə vermədən 100 faiz yalnız oxunan yaddaşda paritet fırlanma.

2. TrueNAS / ZFS (RAID-Z1 / RAID-Z2) və Sinologiya Btrfs Skrab/Resilver Uğursuzluqları

Hovuzunuz OpenZFS (RAID-Z1 və ya RAID-Z2) TrueNAS və ya Proxmox və ikinci sürücü atır CKSUM / READ zamanı səhvlər zpool replace gümüş: 1. Niyə ZFS reselvering zamanı pis sektorları RAID-dən daha yaxşı idarə edir və hələ də kilidləndikdə: - Bütün diski bir pis sektora atan sadəlövh aparat RAID kartlarından fərqli olaraq, ZFS lokallaşdırılmış keçmişi yenidən silməyə davam edir. READ səhvlər və yalnız xüsusi zədələnmiş fayl yollarını qeyd edir zpool status -v. - Bununla belə, əgər ikinci nasaz sürücü SATA/SAS avtobusunu asarsa (I/O timeout / baş vurur) və ya tamamilə oflayn düşür (UNAVAIL / FAULTED), hovuz daxil olur SUSPENDED dövlət (pool I/O is currently suspended). 2. Necə xilas etmək olar a SUSPENDED və ya FAULTED ZFS RAID-Z1 / RAID-Z2 hovuz: - Gücü təmiz şəkildə söndürün, ** istifadə edərək uğursuz diski sağlam əvəzedici diskə klonlayın.GNU ddrescue -f -n** (ZFS bölmə etiketləri dəqiq daxildir vdev Diskin başlanğıcında və sonunda GUID, beləliklə xam sektor klonu ZFS tərəfindən avtomatik olaraq orijinal kimi tanınır. vdev üzvü). - Fiziki olaraq ölən sürücünü ayırın, buraxın ddrescue klonla birləşdirin və ZFS hovuzunu sərt Read-only rejimində idxal edin (readonly=on) yazma əməliyyatına başlamadan və ya yenidən silverə davam etmədən:

zpool import -o readonly=on -f -R /mnt/zfs_rescue tank
- ilə idxal -o readonly=on ZFS-ə yeni uberbloklar yazmağın və ya arxa planda müalicə yazmağa cəhd etməyin qarşısını alır, hər bir məlumat toplusunu təhlükəsiz şəkildə kopyalamağa imkan verir. zfs send və ya rsync hovuzu sıfırdan bərpa etməzdən əvvəl.


Tez-tez verilən suallar

Niyə dedin ki, heç vaxt qaçma CHKDSK və ya fsck mənim RAID massivim sürücünün düşməsindən sonra fayl sistemi xətaları ilə bağlandıqda?

Tək müstəqil sabit diskdə, çalışır CHKDSK və ya fsck kiçik kataloq uyğunsuzluqlarını düzəldir. a ikiqat sürücünün düşməsi və ya yenidən qurulması dayandırılan çoxsürücülü RAID 5 və ya RAID 6 massivi, fayl sistemi səhvləri demək olar ki, həmişə səbəb olur RAID zolağının yanlış hizalanması və ya köhnəlmiş üzv sürücüsü onlayn məcbur edilir (hər deməkdir 3-cü və ya 4-cü 64 KB məlumatların bir hissəsi yanlış sürücü nəsilindən oxunur). İcazə versən CHKDSK /f və ya fsck -y səhv düzülmüş və ya sinxronizasiya olunmayan RAID massivində işlədir, o, milyonlarla etibarlı faylı pozulmuş metadata kimi şərh edir, kataloq ağaclarını kəsir, adsız fraqmentləri itmiş+tapılmış, və bütün disklərdə yeni paritet blokları yazır ki, bu da sonradan düzgün disk kombinasiyasının yenidən yığılmasını riyazi cəhətdən qeyri-mümkün edir. Həmişə vasitəsilə montaj edin Yalnız oxumaq üçün Kopyalama-Yazma (İNƏK) örtüklər birinci.

Əgər qismən yenidən qurulmuş əvəzedici sürücü (42% tamamlandı) VƏ uğursuz olan ikinci sürücü 42% HƏR İKİSİ məlumat lazımdır? Onları birləşdirə bilərəmmi?

Bəli. Bu klassik "Split-Horizon / Hybrid Clone" RAID xilasetməsidir. Tutaq ki Sürücü 2 Bazar ertəsi günü tamamilə öldü, qoydun Yeni sürücü 2, və yenidənqurma buna nail oldu 42% (LBA 3.500.000.000) əvvəl Sürücü 3 adlı yerdə başını vuraraq ölümcül oldu LBA 3.500.000.000. Həqiqətən nəyə sahib olduğunuza diqqət yetirin: üçün massivin ilk 42%-i (0% üçün 42%), Yeni sürücü 2 artıq 100 faiz yenidən qurulub. Beləliklə, birinci üçün 42% LBA diapazonundan istifadə edərək tam zolaq dəstinə sahibsiniz Sürücü 1 + Yeni Sürücü 2 + Sürücü 4 (müalicə qəzaya uğradı Sürücü 3 itkin disk kimi). Və əgər Sürücü 3 yalnız lokallaşdırılmış pis sektor yaması var idi 42% (və buradan oxuna bilər 43% üçün 100% vasitəsilə xilasetmə), istifadə edirsiniz Sürücü 1 + Klonlaşdırılmış Sürücü 3 + Sürücü 4 qalanlar üçün 58% massivin.

Niyə ikinci sürücülər RAID 5-in yenidən qurulmasının ortasında tez-tez uğursuz olur?

İki mühəndislik reallığı birləşir RAID 5 ikiqat sürücünün nasazlığı ilə məşhur olan yenidən qurulur: (1) Eyni Batch Yaşlanma: Əksər istifadəçilər eyni gündə eyni satıcıdan 4-8 eyni sabit disk alırlar (eyni proqram təminatı, eyni zavod lotu, eyni mili motor partiyası) və onları 35.000 saat ərzində eyni temperaturda yan-yana işlədin; Sürücü 1 köhnəldikdə, Sürücü 2 və Sürücü 3 eyni mexaniki aşınma həddinə günlər qalır. (2) Gizli Düzəliş Olmayan Oxu Səhvləri (URE-lər): Normal gündəlik iş şəraitində, 95% Bir sabit diskin soyuq arxiv sektorları aylarca oxunmur, buna görə də gizli pis sektorlar kəşf edilmədən oturur. A RAID 5 qüvvələrini davamlı olaraq yenidən qurur 100% Sağ qalan hər bir disk üzrə hər bir sektorun səthi oxunması (40-100 terabayt fasiləsiz oxunması), keçən il ərzində yığılmış hər hansı gizli pis sektoru dərhal ifşa edir.

Hansı faylların oxunmayan bir neçə pis sektordan təsirləndiyini necə bilə bilərəm ddrescue sıfır doldurmaq lazım idi?

GNU ddrescue adlı daxili məhkəmə yardım proqramı daxildir ddrescuelog və ddru_ntfsfindbad / debugfs ki, sizin dəqiq bərpa olunmamış sektor LBA diapazonlarını xəritələr .xəritə fayl (status = '-' pis sektorlar) RAID zolağı riyaziyyatı vasitəsilə birbaşa fayl sistemi inode cədvəlinə. Hansı olduğunu bildikdən sonra 4 KB klonlama zamanı bloklar sıfır dolduruldu, sorğu edə bilərsiniz debugfs (icheck və yoxlayın haqqında ext4) və ya btrfs yoxlama-daxili məntiqi-həll çox terabaytlıq serverinizdəki hər bir digər faylın tamamilə pozulmadığını 100 faiz riyazi əminliklə təsdiqləyən həmin pis sektorları üst-üstə düşən 2 və ya 3 fayl adının dəqiq siyahısını çap etmək.


Əlaqədar təlimatlar


Mənbələr və rəsmi təlimat

  • Linux Raid Wiki (raid.wiki.kernel.org/index.php/Linux_Raid & Recovering_a_failed_software_RAID): Rəsmi Kernel mdadm Bərpa Protokolu, Cihaz-Mapper Kopyalama-Yazma (dm-snapshot) Bindirmələr və Events Qarşı barışıq.
  • GNU ddrescue Rəsmi Mühəndislik Təlimatı (gnu.org/software/ddrescue/manual/ddrescue_manual.html): Çoxfazalı Qırılmayan (-n) və Birbaşa Giriş (-d) Uğursuz Maqnit Media üçün Sektorun Bərpa Alqoritmləri.
  • Synology Rəsmi Bilik Bazası (kb.synology.com/en-global/DSM/tutorial/How_can_I_recover_data_from_my_DiskStation_using_a_PC): * Montaj mdadm + LVM2 + Btrfs / ext4 Ubuntu Xilasetmə Sistemlərində NAS Həcmləri Yalnız oxunur*.
  • Saxlama Şəbəkə Sənayesi Assosiasiyası (SNIA): Ümumi RAID Disk Məlumat Formatı (DDF) Hardware RAID Controller Metadata Portability üçün spesifikasiya.