RAID 5 or RAID 6 Degraded Array With Second Drive Failing During Rebuild (Why Never Run CHKDSK or fsck, ddrescue Sector Cloning, and mdadm Read-Only Assembly)¶
ຕົວເລກສຸກເສີນແຕກຕ່າງກັນໄປຕາມປະເທດ. ຫນ້ານີ້ໃຊ້ 911, ຕົວເລກສໍາລັບສະຫະລັດແລະການາດາ. ປະເທດອື່ນໆຈໍານວນຫຼາຍໃຊ້ 112, 999, ຫຼືຕົວເລກອື່ນ. ຊອກຫາຕົວເລກສໍາລັບປະເທດຂອງທ່ານ.
Replacing a failed hard drive in a degraded RAID 5 ຫຼື RAID 6 ເຄື່ອງແມ່ຂ່າຍການເກັບຮັກສາ, Synology DiskStation, QNAP NAS, Linux mdadm array, or Dell PERC / HP Smart Array / LSI MegaRAID hardware controller only to watch a second remaining member drive throw UNC (Uncorrectable Read Error) bad sectors, Pending Sectors, or drop offline at 42% of the parity rebuild is one of the most dangerous storage emergencies in enterprise and home-lab computing. In a single-parity RAID 5 array (N - 1 fault tolerance), the mathematical XOR reconstruction of the replacement disk requires reading every single sector (LBA 0 to the final LBA) across 100 percent of the remaining N - 1 member drives simultaneously. When modern high-capacity 8 TB ກັບ 24 TB helium drives (purchased from the same manufacturing batch and subjected to identical thermal and vibration hours) undergo a multi-terabyte sequential rebuild read, a single latent media defect (URE) or weak read head on a second drive causes the RAID controller to abort the rebuild, kick the second drive out as Faulty / Crashed, and mark the entire storage pool Offline / Crashed / Superblock Event Count Mismatch.
Do not panic, and do not force a second rebuild or run filesystem repair utilities (fsck, e2fsck, xfs_repair, or Windows CHKDSK). Even when a second drive in RAID 5 (or third drive in RAID 6) develops 50 ກັບ 5,000 bad sectors and gets kicked out of the array, 99.9999 percent of the sectors on that "failed" second drive are still 100 percent readable. By immediately halting the array, cloning every unstable member disk sector-by-sector onto healthy spare drives using GNU ddrescue, and assembling the cloned images in Read-Only / --assume-clean overlay mode (mdadm + dmsetup Copy-on-Write loop overlays), you can mount the filesystem safely and copy out virtually every file intact. For NAS appliance specifics and hardware controller failures, read our companion guides on RAID 5 or RAID 6 Synology, QNAP, or TrueNAS multiple drive drop, RAID controller card death and foreign configuration import, ແລະ NAS RAID array degraded and ZFS/Btrfs recovery. If your server failure impacts life-safety systems or medical infrastructure, contact your local emergency number (911 ໃນສະຫະລັດແລະການາດາ, 112 ໃນທົ່ວສະຫະພາບເອີຣົບ, 999 ໃນສະຫະລາຊະອານາຈັກ) ຫຼືກວດເບິ່ງລາຍການຂອງພວກເຮົາ ຕົວເລກສຸກເສີນ.
ເຮັດອັນນີ້ດຽວນີ້¶
- Abort any active parity rebuild or scrub immediately and power down the array cleanly (or disconnect SATA/SAS backplane power if a drive is making mechanical clicking or scraping noises):
- Why letting a stalling rebuild continue destroys the array: When a member drive hits a bad sector patch (
LBAread timeout) or has a degrading read/write head (media scratch), leaving the RAID controller retrying sectors for hours grinds the microscopic magnetic platter coating into dust across the entire track cylinder, turning a recoverable20-sectordefect into a catastrophic full-platter head crash. - NEVER run
CHKDSK /f,fsck -y,e2fsck,btrfs check --repair, ຫຼືxfs_repairon a degraded, out-of-sync, or half-rebuilt RAID array: - ເປັນຫຍັງ
CHKDSKແລະfsckcause 100% permanent data destruction on out-of-sync RAID: If Drive 2 dropped out on Tuesday and Drive 3 dropped out during Thursday's rebuild, themdadmor hardware RAIDEvent Counter(Update Time) on those two drives differs by thousands of transactions. If you force-assemble an array with mismatched drive generations or missing stripes and allowfsckຫຼືCHKDSKto write to the array, the filesystem checker sees broken inode trees caused by misaligned RAID stripes, deletes millions of valid directory entries intolost+found, ແລະຂຽນທັບເສັ້ນດ່າງຂໍ້ມູນທີ່ດີດ້ວຍຄວາມສະເໝີພາບທີ່ເສຍຫາຍໃນທົ່ວທຸກແຜ່ນໃນອາເຣ. - ** ບໍ່ເຄີຍຄລິກໃສ່
"Create Array","Initialize", ຫຼື"Clear Configuration"in a hardware RAID BIOS, and NEVER runmdadm --createໂດຍບໍ່ມີການ--assume-cleanand a Copy-on-Write (COW) loop overlay**: - Running a standard
mdadm --create(without--assume-cleanand matching exact chunk size, layout, and data offset) immediately begins writing new parity stripes across all disks, destroying the filesystem superblock and B-trees if any single parameter (512Kທຽບກັບ64Kchunk,left-symmetricທຽບກັບleft-asymmetric, ຫຼື2048sທຽບກັບ262144sdata offset) is wrong by even one sector. - Label every physical hard drive slot (
Bay 0 / Bay 1 / Bay 2 / Bay 3and serial number) with a permanent marker or tape BEFORE pulling a single drive out of the chassis: - Write the exact bay number and serial number on the top label of each drive. Knowing the physical bay order and checking
mdadm --examinemetadata saves hours of stripe-order reconstruction later. - Clone the failing drive(s) sector-by-sector to healthy new drives using
GNU ddrescue(with a mapfile) over direct motherboard SATA/HBA ports BEFORE attempting any RAID assembly: - Never attempt to assemble or mount a RAID array using the physically dying drive itself. Connect the failing drive to a non-RAID SATA/AHCI or LSI
IT-ModeHBA port on a Linux rescue workstation, disable OS auto-mounting, and runddrescue -f -n /dev/sdX /dev/sdY rescue_driveX.mapso the healthy fast sectors are evacuated in pass one before touching bad sector zones. - Assemble the cloned drives in
Read-Onlymode (mdadm --assemble --readonlyor usingdmsetup/losetupRAM/file overlays): - By placing a disposable Copy-on-Write (
COW) overlay file on top of each cloned member disk, you can test-mount the array, replay anext4ຫຼືXFSjournal, or even test a virtual rebuild while guaranteeing that zero bytes are ever modified on your underlying disk clones.
Danger
The "Out-of-Order Drive Force" Trap (Stale Drive Overwriting Fresh Drives): Suppose you have a 4-drive RAID 5 (Disk 1, Disk 2, Disk 3, Disk 4). Disk 3 failed 6 months ago, and you never replaced it (running degraded for 6 months). Today, Disk 2 develops 100 bad sectors and drops out. Never force the 6-month-old Disk 3 back online to rebuild Disk 2. If you use Disk 1 + Disk 3 (6 months stale) + Disk 4 to rebuild or mount the array, every file created or modified in the last 6 months will be corrupted into unreadable binary garbage. You must clone Disk 2 (the drive that failed today) with ddrescue and assemble Disk 1 + Cloned Disk 2 + Disk 4.
Decision tree: rescuing a RAID 5 or RAID 6 array when a second drive fails during rebuild¶
Follow this forensic storage recovery workflow to recover your array without losing a single surviving stripe:
flowchart TD
Start["RAID 5 (2nd Drive) or RAID 6 (3rd Drive) Fails / Drops Offline During Rebuild"] --> StopNow["STEP 1: Abort Rebuild Immediately & Power Down Array (Prevent Platter Scoring on Failing Drive)"]
StopNow --> SoundCheck{"Did the Failing Drive Make Loud Clicking, Beeping, or Grinding Sounds?"}
SoundCheck -->|"YES: Mechanical Head Crash / Stiction"| CleanRoom["STOP: Do Not Power That Drive On Again. Send ONLY the Mechanically Failed Drive (Plus 1 Healthy Drive for Stripe Reference) to a Cleanroom Lab to Image Onto a Clone"]
SoundCheck -->|"NO: Spins Smoothly, Failed Due to Bad Sectors (UNC / Pending / Timeout)"| LabelDrives["STEP 2: Label Every Drive With Its Exact Bay Number & Serial Number -> Connect to Linux Workstation via Direct SATA / IT-Mode HBA"]
LabelDrives --> InspectMeta["Run 'mdadm --examine /dev/sd*' and 'smartctl -a /dev/sd*' on All Drives (Record Update Time, Events Counter, Role, Chunk Size, Layout, Data Offset)"]
InspectMeta --> CloneDrives["STEP 3: Clone Every Degraded / Bad-Sector Drive to a Healthy Spare Drive Using 'ddrescue -f -n' (Fast Pass First, Then Scrape Pass With Mapfile)"]
CloneDrives --> PickFreshest["Identify the N-1 (RAID 5) or N-2 (RAID 6) Drives With the HIGHEST / MOST RECENT 'Events' Counter (Never Mix a Stale Old Dropped Drive With Fresh Drives)"]
PickFreshest --> CowOverlay["STEP 4: Create Read-Only Loop / 'dmsetup' Copy-on-Write (COW) Overlays Over the Cloned Drives So Original Clones Cannot Be Modified"]
CowOverlay --> AssembleRO["Run 'mdadm --assemble --force --readonly' on the Overlay Devices -> Mount Filesystem Read-Only ('mount -o ro,noload') -> Copy All Critical Data to External Storage"]
Phase 1: Understanding why a second drive fails during a RAID rebuild (XOR Parity Math & Event Counters)¶
To understand why your array crashed mid-rebuild and why your data is still recoverable, examine how RAID 5 ແລະ RAID 6 actually work on disk.
1. How XOR parity reconstruction works and why 1 bad sector aborts an entire rebuild¶
In a 4-drive RAID 5 array (Drive A, Drive B, Drive C, Drive D), data is split into fixed-size chunks (typically 64 KB ຫຼື 512 KB) striped across the disks, where one chunk in each row holds the XOR Parity (P):
$\(\text{Parity } P = A \oplus B \oplus C\)$
If Drive C fails completely and you insert a blank Replacement Drive C_new, the RAID controller must reconstruct every stripe on C_new by calculating:
$\(C_{\text{reconstructed}} = A \oplus B \oplus P\)$
- What happens when Drive B hits a single unreadable 4 KB sector (UNC error) at 42% of the rebuild:
- To calculate that single 4 KB block on C_new, the controller must have a valid read from Drive A, Drive B, ແລະ Drive D.
- When Drive B returns a hardware Read Error (Sense Key 03h / 11h Unrecovered Read Error) after 7 seconds (TLER / ERC timeout), consumer and enterprise RAID controllers are often programmed with a catastrophic default behavior: instead of skipping that single 4 KB sector, logging a zero block, and finishing the other 99.9999% of the rebuild, the RAID controller marks Drive B as FAILED / OFFLINE and aborts the entire rebuild.
- At that moment, your array has two drives marked "Failed" (Drive C ເຊິ່ງພຽງແຕ່ 42% ສ້າງຂຶ້ນໃຫມ່, ແລະ Drive B ເຊິ່ງຕົວຈິງແລ້ວມີ 99.99998% ຂະແຫນງການສຸຂະພາບແລະພຽງແຕ່ 12 ຂະແໜງການທີ່ບໍ່ດີ).
2. ເປັນຫຍັງ Event Counters (Update Time) ກໍານົດ drive ທີ່ເຈົ້າຕ້ອງໃຊ້ສໍາລັບການຟື້ນຕົວ¶
ທຸກໆຄັ້ງ ກ RAID 5 ຫຼື RAID 6 array ຂຽນຂໍ້ມູນຫຼືການປ່ຽນແປງສະຖານະ (ເຊັ່ນ: drive ຫຼຸດລົງ), metadata RAID (mdadm superblock ຫຼືຮາດແວ DDF metadata) ເພີ່ມເປັນ 64-bit Events ໂຕ້ຕອບ ຢູ່ໃນໄດຣຟ໌ທັງໝົດທີ່ເຮັດວຽກຢູ່ໃນຂະນະນີ້.
Compare the mdadm --examine ຜົນຜະລິດຂອງ 4-drive ປົກກະຕິ RAID 5 ໄພພິບັດຢູ່ໃສ sdb ລົ້ມເຫລວມື້ວານນີ້ (Events: 10450) ແລະ sdc ອອກໄປໃນລະຫວ່າງການສ້າງຄືນໃຫມ່ຂອງມື້ນີ້ (Events: 10892):
| Physical Drive | ບົດບາດໃນ Array | Update Time |
Events ເຄົາເຕີ |
ສຸຂະພາບກາຍ ແລະສິ່ງທີ່ມັນມີຢູ່ |
|---|---|---|---|---|
/dev/sda (ອ່າວ 1) |
Active device 0 |
Today 14:22:10 |
10892 |
100% ສຸຂະພາບແລະປະຈຸບັນ: ປະກອບດ້ວຍການຂຽນເຖິງທຸກວິນາທີທີ່ແນ່ນອນຂອງການສ້າງໃຫມ່ crashed ໃນມື້ນີ້. |
/dev/sdb (ອ່າວ 2) |
spare / faulty (ແທນທີ່ດ້ວຍແຜ່ນໃໝ່) |
Yesterday 09:15:00 |
10450 (ເກົ່າ) |
** ລົ້ມເຫລວມື້ວານນີ້**: ຫາຍໄປ 29 ຊົ່ວໂມງຂອງຖານຂໍ້ມູນການຂຽນ, ຫຼືຖືກແທນທີ່ດ້ວຍແຜ່ນໃຫມ່ທີ່ມີພຽງແຕ່ 42% ສ້າງຂຶ້ນໃໝ່ (Reshape/Rebuild Pos). |
/dev/sdc (ອ່າວ 3) |
faulty (ຫຼຸດລົງທີ່ 42% ກໍ່ສ້າງຄືນໃຫມ່) |
Today 14:22:09 |
10890 * (ປິດ 2)* |
99.999% ສຸຂະພາບ & ປະຈຸບັນ: ເລີ່ມຕົ້ນພຽງແຕ່ 1 ວິນາທີກ່ອນ /dev/sda ແລະ /dev/sdd ເນື່ອງຈາກວ່າມັນຕີ 8 ພາກສ່ວນທີ່ບໍ່ດີໃນລະຫວ່າງການສ້າງໃຫມ່ອ່ານ. |
/dev/sdd (ອ່າວ 4) |
Active device 3 |
Today 14:22:10 |
10892 |
100% ສຸຂະພາບແລະປະຈຸບັນ: ປະກອບດ້ວຍການຂຽນເຖິງທຸກວິນາທີທີ່ແນ່ນອນຂອງການສ້າງໃຫມ່ crashed ໃນມື້ນີ້. |
- **ກົດລະບຽບ Golden ຂອງການຟື້ນຕົວ RAID ຈາກຕາຕະລາງຂ້າງເທິງ **:
- ສັງເກດເຫັນວ່າ
/dev/sda(10892),/dev/sdc(10890), ແລະ/dev/sdd(10892) ທັງຫມົດມີ virtually ຄືກັນEventscounters ຈາກToday 14:22. - ເມື່ອພວກເຮົາ clone
/dev/sdcໃສ່ການຂັບລົດສຸຂະພາບໂດຍນໍາໃຊ້ddrescue(ການຟື້ນຕົວ 99.9999% ຂອງຂະແຫນງການຂອງຕົນແລະສູນການຕື່ມ 8 ພາກສ່ວນທີ່ບໍ່ສາມາດອ່ານໄດ້), ພວກເຮົາສາມາດບັງຄັບ-ປະກອບ/dev/sda+Cloned /dev/sdc+/dev/sdd(ບໍ່ສົນໃຈການສ້າງໃຫມ່ເຄິ່ງຫນຶ່ງ/dev/sdbຫມົດ). ການປະສົມປະສານ 3-drive ນັ້ນເຮັດໃຫ້ພວກເຮົາມີຄວາມສອດຄ່ອງ 100 ເປີເຊັນ, ເຊື່ອມໂຊມເຖິງວິນາທີRAID 5array** ບໍ່ມີການຈີກຂາດເສັ້ນດ່າງ.
ໄລຍະ 2: ການ cloning ຂະແຫນງການຂັ້ນຕອນໂດຍຂັ້ນຕອນຂອງການຂັບລົ້ມເຫລວກັບ GNU ddrescue¶
ກ່ອນທີ່ທ່ານຈະສໍາຜັດ mdadm ຫຼືເຄື່ອງມືປະກອບ RAID ໃດນຶ່ງ, ເຈົ້າ ຕ້ອງ ໂຄນໄດຣຟ໌ທີ່ຖິ້ມຄວາມຜິດພາດໃນການອ່ານໃສ່ໄດຣຟ໌ທົດແທນທີ່ມີສຸຂະພາບດີຂອງຄວາມຈຸຂອງໄບຕ໌ເທົ່າກັນ ຫຼືໃຫຍ່ກວ່າ.
ຂັ້ນຕອນທີ 1: ກະກຽມສະພາບແວດລ້ອມການກູ້ໄພ Linux ແລະປິດການປະກອບອັດຕະໂນມັດ¶
- ບູດສະຖານີບ່ອນເຮັດວຽກ Linux (ຫຼືບູດເຊີບເວີຂອງເຈົ້າຈາກແຜ່ນ USB ທີ່ມີຊີວິດຊີວາເຊັ່ນ SystemRescue
system-rescue.orgຫຼື Ubuntu Live Server) ກັບໄດທີ່ເຊື່ອມຕໍ່ກັບມາດຕະຖານ ພອດ SATA motherboard ຫຼື LSI HBA ໃນIT Mode(ບໍ່ຜ່ານ RAID). - ** ປ້ອງກັນ Linux ຈາກການພະຍາຍາມອັດຕະໂນມັດທີ່ຈະປະກອບຫຼືຕິດຕໍ່ອາເຣ RAID ທີ່ແຕກຫັກຂອງທ່ານກ່ຽວກັບການ boot **:
- ເມື່ອເປີດ SystemRescue ຫຼື Ubuntu Live, ໃຫ້ກວດເບິ່ງ
cat /proc/mdstat. ຖ້າ Linux ປະກອບບາງສ່ວນໂດຍອັດຕະໂນມັດmdອຸປະກອນໃນພື້ນຫຼັງ, ຢຸດມັນທັນທີໃນໂໝດປອດໄພແບບອ່ານເທົ່ານັ້ນກ່ອນທີ່ຈະຖ່າຍຮູບ: - ** ກໍານົດການຂັບລົດທຸກໂດຍຕົວແບບທີ່ແນ່ນອນ, ຈໍານວນ serial, ແລະຂະຫນາດ byte ** (ບໍ່ເຄີຍເດົາໄດ້
/dev/sdXຕົວອັກສອນ, ເພາະວ່າ Linux ມອບໝາຍຕົວອັກສອນຂັບຄືນໃໝ່ໃນທົ່ວການປິດເປີດໃໝ່): ຂຽນອັນໃດ/dev/sdXສອດຄ້ອງກັບ Failing Source Drive ຂອງທ່ານ (ຕົວຢ່າງ:/dev/sdc, ລໍາດັບWCC4E12345) ແລະອັນໃດ/dev/sdYແມ່ນBrand-New Blank Target Drive ຂອງທ່ານ (ຕົວຢ່າງ:/dev/sdf, ລໍາດັບZGG9988776).
ຂັ້ນຕອນທີ 2: ດໍາເນີນການ 2-Stage GNU ddrescue ໂປຣໂຕຄອນໂຄລນ (ໃຊ້ໄຟລ໌ແຜນທີ່ສະເໝີ)¶
ຢ່າໃຊ້ມາດຕະຖານ dd (dd if=/dev/sdc of=/dev/sdf) ໃນ RAID drive ທີ່ລົ້ມເຫລວ: ມາດຕະຖານ dd ທັງການເອົາລູກອອກໃນຂະແຫນງທີ່ບໍ່ດີທໍາອິດຫຼືປ່ຽນຜົນຜະລິດຊົດເຊີຍຖ້າ sync ມັນຖືກຕັ້ງຄ່າຜິດ, ແລະມັນບໍ່ມີຄວາມຊົງຈໍາກ່ຽວກັບຂະແຫນງການໃດທີ່ປະສົບຜົນສໍາເລັດ. GNU ddrescue (gddrescue package) ໃຊ້ແຜນທີ່ລັດ multi-pass ອັດສະລິຍະ:
- ** ຜ່ານ 1: Clone ບໍ່ຂູດໄວ (
-nflag) ເພື່ອຊ່ວຍເຫຼືອ 99.99% ຂອງຂະແຫນງການສຸຂະພາບເປັນຄັ້ງທໍາອິດ **: -f: ອະນຸຍາດໃຫ້ຂຽນໂດຍກົງເພື່ອບລັອກອຸປະກອນ/dev/sdf(** ໃຫ້ກວດເບິ່ງສາມຄັ້ງ/dev/sdcແມ່ນແຫຼ່ງແລະ/dev/sdfແມ່ນເປົ້າຫມາຍເປົ່າ **).-n(--no-scrape): ບອກddrescueທັນທີທັນໃດກະໂດດຂ້າມຂົງເຂດຂະແຫນງການທີ່ຊ້າຫຼືບໍ່ດີໂດຍບໍ່ມີການ grinding ຫົວອ່ານ, rescuing gigabytes ສຸຂະພາບທັງຫມົດດ້ວຍຄວາມໄວສູງສຸດ (150 to 250 MB/s) ກ່ອນທີ່ສຸຂະພາບຂອງຂັບຈະຮ້າຍແຮງຂຶ້ນ./root/raid_bay3_sdc.map: ບັນທຶກຄວາມຄືບໜ້າຂອງຂະແໜງການທີ່ແນ່ນອນທຸກໆ 30 ວິນາທີ. ເຖິງແມ່ນວ່າ drive ທີ່ລົ້ມເຫລວຈະລັອກຂຶ້ນແລະຕ້ອງການວົງຈອນພະລັງງານ, ດໍາເນີນການຄໍາສັ່ງດຽວກັນກັບ the.mapໄຟລ໌ສືບຕໍ່ຢູ່ໃນຂະແຫນງທີ່ແນ່ນອນບ່ອນທີ່ມັນຢຸດ.- ** ຜ່ານ 2: ເປົ້າໝາຍ Reverse/Trimming Scrape (
-d -r1) ເພື່ອຟື້ນຕົວຂະແຫນງການທີ່ບໍ່ມີຂອບເຂດ **: - ເມື່ອ Pass 1 ສໍາເລັດ (
pct rescued: 99.99%), ຫຼຸດເວລາອອກຄໍາສັ່ງ SCSI kernel ເພື່ອໃຫ້ແຕ່ລະພາກສ່ວນທີ່ບໍ່ດີລົ້ມເຫລວຢ່າງໄວວາ (5 secondsແທນທີ່ຈະລໍຖ້າ30 to 180 secondsຕໍ່ຂະແຫນງການ): - ແລ່ນ Pass 2 ດ້ວຍການເຂົ້າເຖິງແຜ່ນໂດຍກົງ (
-d) ແລະ 1 ລອງອີກຄັ້ງ (-r 1): - ** ປິດລົງ, ຕັດການເຊື່ອມຕໍ່ຕົ້ນສະບັບທີ່ລົ້ມເຫຼວ
/dev/sdcຂັບລົດ, ແລະຕັ້ງມັນຢ່າງປອດໄພໃນ shelf **: ຈາກຈຸດນີ້ຕໍ່ໄປ, ທ່ານຈະເຮັດວຽກສະເພາະແຕ່ກັບ clone ທີ່ມີສຸຂະພາບຂອງທ່ານ (/dev/sdf) ແລະສະມາຊິກທີ່ມີສຸຂະພາບດີຂອງທ່ານຂັບລົດ.
ໄລຍະທີ 3: Safe Read-Only RAID assembly ໂດຍໃຊ້ Copy-on-Write (COW) overlays ແລະ mdadm¶
ໃນປັດຈຸບັນທີ່ທ່ານມີ clones disk ມີສຸຂະພາບ, ** ບໍ່ເຄີຍແລ່ນ mdadm --assemble --force ໂດຍກົງໃນ drives ດິບໂດຍບໍ່ມີການປ້ອງກັນ Copy-on-Write (COW) overlay ຫຼື --readonly ທຸງ **. ເປັນຫຍັງ? ເນື່ອງຈາກວ່າ --force rewrites the RAID superblocks on the drives , ແລະຖ້າຫາກວ່າວາລະສານລະບົບໄຟລ໌ (ext4 / XFS) replays ອັດຕະໂນມັດກ່ຽວກັບການ mount ໂດຍໃຊ້ການປະສົມປະສານຂອງ drive ທີ່ບໍ່ຖືກຕ້ອງ, ມັນປ່ຽນແປງການ clones ຂອງທ່ານຢ່າງຖາວອນ.
ຂັ້ນຕອນທີ 1: ການກວດສອບ metadata RAID ໃນທົ່ວທັງຫມົດ drives ສະມາຊິກ (mdadm --examine)¶
ແລ່ນ mdadm --examine ໃນທຸກໆ drive ສະມາຊິກ (ຫຼືການແບ່ງສ່ວນ, ເຊັ່ນ, /dev/sda1 ຫຼື /dev/sda3 ຢູ່ໃນໄດຣຟ໌ Synology/QNAP NAS) ແລະບັນທຶກຜົນອອກມາເປັນໄຟລ໌ຂໍ້ຄວາມ:
Array UUID: ກວດສອບການຂັບທັງຫມົດເປັນຂອງສະນຸກເກີ RAID ດຽວກັນແນ່ນອນ.
2. Device Role: ສະແດງດັດຊະນີເສັ້ນດ່າງທີ່ແນ່ນອນ (Active device 0, Active device 1, Active device 2, Active device 3).
3. Update Time & Events: ກໍານົດ N - 1 ຂັບ (ສໍາລັບ RAID 5) ຫຼື N - 2 ຂັບ (ສໍາລັບ RAID 6) ທີ່ແບ່ງປັນສູງສຸດ/ໃກ້ທີ່ສຸດ Events ນັບ.
4. Raid Level, Layout, Chunk Size, ແລະ Data Offset: ບັນທຶກຕົວເລກທີ່ແນ່ນອນເຫຼົ່ານີ້ (ເຊັ່ນ: Raid Level : raid5, Layout : left-symmetric, Chunk Size : 512K, Data Offset : 262144 sectors).
ຂັ້ນຕອນທີ 2: ສ້າງ Copy-on-Write ທີ່ບໍ່ທໍາລາຍ (COW) Device-Mapper overlays (overlay-create)¶
ເພື່ອຮັບປະກັນຄວາມປອດໄພ 100 ສ່ວນຮ້ອຍດັ່ງນັ້ນເຖິງແມ່ນວ່າຖ້າຫາກວ່າທ່ານບັງຄັບປະກອບອາເຣແລະແລ່ນ mount, zero bytes ເຄີຍຂຽນໃສ່ຮາດໄດທາງກາຍຍະພາບຂອງເຈົ້າ, ສ້າງແບບ loop-backed dm-snapshot Copy-on-Write overlays in /tmp (ຫຼືຢູ່ໃນ drive scratch ພາຍນອກ):
# 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
/dev/mapper/ovl_sda3, /dev/mapper/ovl_sdf3, ແລະ /dev/mapper/ovl_sdd3. ການຂັບເຄື່ອນທາງດ້ານຮ່າງກາຍ (sda3, sdf3, sdd3) ຖືກລັອກ --read-only ຢູ່ຊັ້ນ kernel block. ການຂຽນໃດໆທີ່ເຮັດໂດຍ mdadm --force, LVM, ຫຼື replay journal ລະບົບໄຟລ໌ໄປສູ່ການຖິ້ມເສຍຢ່າງບໍ່ມີອັນຕະລາຍ /root/cow/*.cow ໄຟລ໌. ຖ້າມີຫຍັງຜິດພາດ, ທ່ານພຽງແຕ່ລຶບການວາງຊ້ອນກັນແລະສ້າງພວກມັນຄືນໃຫມ່ໃນ 2 ວິນາທີ.
ຂັ້ນຕອນທີ 3: ບັງຄັບປະກອບອາເຣກ່ຽວກັບອຸປະກອນການວາງຊ້ອນແລະຕິດຕັ້ງ Read-Only¶
- ** ປະກອບຄວາມສົດທີ່ສຸດ
N - 1overlay ອຸປະກອນການນໍາໃຊ້--assemble --force**: - ເປັນຫຍັງພວກເຮົາອອກຈາກການຂັບແຂງ / ເຄິ່ງສ້າງໃຫມ່ (
sdb3): ບັງຄັບmdadmເພື່ອປະກອບກັບ 3 ໄດທີ່ທັນສະໄຫມ (sda3, clonedsdf3, ແລະsdd3) ເອົາ/dev/md99ອອນໄລນ໌ໃນຮູບແບບຊຸດໂຊມທີ່ສະອາດ ([U_UU]) ການນໍາໃຊ້ຫລ້າສຸດທີ່ແນ່ນອນEventsລັດ, ໃນຂະນະທີ່ddrescueກູ້ຂໍ້ມູນຈາກsdf3. - ** ເປີດໃຊ້ LVM (
vgchange) ຖ້າ NAS ຫຼືເຄື່ອງແມ່ຂ່າຍຂອງທ່ານໃຊ້ LVM ຢູ່ເທິງສຸດຂອງ RAID (SynologySHR, QNAP, Proxmox, Ubuntu)**: (ຖ້າ Synology NAS ຂອງທ່ານໃຊ້Btrfsໃນ LVM ຫຼືSynology Hybrid RAID, ໃນປັດຈຸບັນທ່ານຈະເຫັນ/dev/vg1000/lvຫຼື/dev/vg1/volume_1ປາກົດ.) - **ຕິດຕັ້ງລະບົບໄຟລ໌ໃນຮູບແບບການອ່ານເທົ່ານັ້ນທີ່ເຄັ່ງຄັດແລະຍົກຍ້າຍໄຟລ໌ທີ່ສໍາຄັນຂອງທ່ານທັນທີ **:
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 - ** ສຳເນົາໂຟນເດີທີ່ສຳຄັນທີ່ສຸດຂອງເຈົ້າກ່ອນໂດຍໃຊ້
rsyncໄປຍັງໄດຣຟ໌ສຳຮອງພາຍນອກ **:
ໄລຍະທີ 4: Rescuing Hardware RAID Controllers (Dell PERC, LSI MegaRAID, HP Smart Array, Adaptec) ແລະ ZFS / Btrfs Pools¶
ຈະເປັນແນວໃດຖ້າ array ຂອງທ່ານຖືກຈັດການໂດຍ Linux mdadm, ແຕ່ໂດຍ ** Hardware RAID Controller Card ** (Dell PERC H730/H740/H755, Broadcom / LSI MegaRAID, ຫຼື HP Smart Array) ທີ່ລາຍງານໃນປັດຈຸບັນ Virtual Disk Offline ຫຼື Foreign Configuration Found ຫຼັງຈາກການຂັບຄັ້ງທີສອງ hiccupped ໃນລະຫວ່າງການສ້າງໃຫມ່?
1. ບັດ RAID ຮາດແວ (Dell PERC, LSI MegaRAID, HP Smart Array)¶
- ** ບໍ່ເຄີຍຄລິກໃສ່
"Clear Foreign Configuration"ຫຼື"Initialize Virtual Disk"**: - ໃນ Dell
PERC/ LSIMegaRAIDBIOS (Ctrl+RຫຼືHIIUEFI Configuration Utility),Clearເຊັດ metadata RAID ຈາກໄດ, ແລະInitializeຂຽນທັບເສັ້ນດ່າງຂໍ້ມູນ. - ຖ້າໄດຣຟ໌ທີ່ມີສຸຂະພາບດີຫຼຸດລົງແບບອອບໄລນ໌ເນື່ອງຈາກສາຍສາກຫຼັງວ່າງ ຫຼືໝົດເວລາ,
Import Foreign Configurationຄວາມພະຍາຍາມທີ່ຈະນໍາເອົາການຂັບກັບຄືນໄປບ່ອນ; ** ຢ່າງໃດກໍຕາມ, ຖ້າຫາກວ່າຫນຶ່ງໄດ້ຫຼຸດລົງອາທິດຜ່ານມາແລະຄັ້ງທີສອງຫຼຸດລົງໃນມື້ນີ້, ການນໍາເຂົ້າທັງສອງຫຼືການບັງຄັບໃຫ້ການຂັບ stale ອອນໄລນ໌ໂດຍຜ່ານການຄວບຄຸມ BIOS ສາມາດເຮັດໃຫ້ອາເຣ ** ເສຍຫາຍ. - ** ວິທີການຟື້ນຟູຊອບແວທີ່ປອດໄພສໍາລັບການ RAID ຮາດແວ (
DDFເມຕາເດຕາ /dmraid/R-Studio/UFS Explorer)**: - ຮາດແວ RAID ບັດເກັບຮັກສາມາດຕະຖານ
SNIA DDF(Disk Data Format) metadata ໃນຂະແຫນງການສຸດທ້າຍໃນຕອນທ້າຍຂອງແຕ່ລະຮາດໄດ, ແລະຂໍ້ມູນເສັ້ນດ່າງໃນທົ່ວໄດທີ່ເລີ່ມຕົ້ນຈາກຂະແຫນງການ.0(ຫຼືຫຼັງຈາກການຊົດເຊີຍ header ຂະຫນາດນ້ອຍ) ໂດຍໃຊ້ມາດຕະຖານ64 KB,128 KB,256 KB, ຫຼື512 KBຂະຫນາດຕ່ອນ (Left-AsymmetricຫຼືLeft-Symmetric). - ແທນທີ່ຈະຫຼີ້ນການພະນັນດ້ວຍຮາດແວ RAID card BIOS ທີ່ທໍາລາຍ:
- ຕິດປ້າຍກຳກັບໄດທັງໝົດຕາມເລກສະລັອດຕິງ ແລະເຊື່ອມຕໍ່ພວກມັນກັບ ** SATA ມາດຕະຖານ / ບໍ່ແມ່ນ RAID
IT-ModeHBA** ໃນສະຖານີການຟື້ນຕົວ. - Clone the bad-sector drive ໂດຍໃຊ້
GNU ddrescueດັ່ງທີ່ສະແດງຢູ່ໃນໄລຍະ 2. - ເປີດ drives cloned ໃນ
UFS Explorer RAID RecoveryຫຼືR-Studio Technician, ຫຼືປະກອບພວກມັນແບບອ່ານຢ່າງດຽວໃນ Linux ໂດຍໃຊ້dmsetup/mdadm --build: ເຄື່ອງມືເຫຼົ່ານີ້ຈະກວດພົບອັດຕະໂນມັດLSI/PERC/HPລຳດັບເສັ້ນດ່າງ, ຂະໜາດຕ່ອນ (64K/512K), ແລະ parity rotation ໃນ 100 ສ່ວນຮ້ອຍຄວາມຊົງຈໍາອ່ານເທົ່ານັ້ນໂດຍບໍ່ເຄີຍໃຫ້ຮາດແວ RAID card ຂຽນດຽວ byte ກັບການຂັບລົດຂອງທ່ານ.
- ຕິດປ້າຍກຳກັບໄດທັງໝົດຕາມເລກສະລັອດຕິງ ແລະເຊື່ອມຕໍ່ພວກມັນກັບ ** SATA ມາດຕະຖານ / ບໍ່ແມ່ນ RAID
2. TrueNAS / ZFS (RAID-Z1 / RAID-Z2) ແລະ Synology Btrfs ຂັດຂັດ/Resilver ລົ້ມເຫລວ¶
ຖ້າສະນຸກເກີຂອງເຈົ້າໃຊ້ ** OpenZFS (RAID-Z1 ຫຼື RAID-Z2)** ໃນ TrueNAS ຫຼື Proxmox ແລະຂັບທີສອງຖິ້ມ CKSUM / READ ຄວາມຜິດພາດໃນລະຫວ່າງ a zpool replace ເງິນຄືນ:
1. ** ເປັນຫຍັງ ZFS ຈັດການຂະແຫນງການທີ່ບໍ່ດີໃນລະຫວ່າງການ resilvering ດີກ່ວາ RAID ຮາດແວ, ແລະໃນເວລາທີ່ມັນຍັງຕິດຕັ້ງ :
- ບໍ່ເຫມືອນກັບບັດ RAID ຮາດແວທີ່ໄຮ້ດຽງສາທີ່ລຸດລົງແຜ່ນທັງຫມົດຢູ່ໃນຂະແຫນງທີ່ບໍ່ດີດຽວ, ZFS ຍັງສືບຕໍ່ແກ້ໄຂອະດີດທ້ອງຖິ່ນ. READ ຂໍ້ຜິດພາດແລະບັນທຶກພຽງແຕ່ເສັ້ນທາງໄຟລ໌ທີ່ເສຍຫາຍສະເພາະໃນ zpool status -v.
- ຢ່າງໃດກໍຕາມ, ຖ້າການຂັບທີ່ລົ້ມເຫລວທີສອງຈະວາງສາຍ SATA / SAS bus (I/O timeout / thrashing ຫົວ) ຫຼືຫຼຸດລົງຫມົດ offline (UNAVAIL / FAULTED), ສະນຸກເກີເຂົ້າໄປໃນ SUSPENDED ລັດ (pool I/O is currently suspended).
2. ວິທີການຊ່ວຍເຫຼືອ A SUSPENDED ຫຼື FAULTED ZFS RAID-Z1 / klzzwx0201 ສະນຸກເ **:
- ພະລັງງານລົງຢ່າງສະອາດ, ໂຄນໄດເວີທີ່ລົ້ມເຫລວໃສ່ແຜ່ນການທົດແທນທີ່ມີສຸຂະພາບດີໂດຍໃຊ້ GNU ddrescue -f -n (ປ້າຍພາທິຊັນ ZFS ປະກອບມີທີ່ແນ່ນອນ vdev GUID ໃນຕອນເລີ່ມຕົ້ນແລະສິ້ນສຸດຂອງແຜ່ນ, ດັ່ງນັ້ນການໂຄນຂອງຂະແຫນງວັດຖຸດິບຖືກຮັບຮູ້ໂດຍອັດຕະໂນມັດໂດຍ ZFS ເປັນຕົ້ນສະບັບ vdev ສະມາຊິກ).
- ຕັດການເຊື່ອມຕໍ່ໄດທີ່ເສຍຊີວິດທາງດ້ານຮ່າງກາຍ, ອອກຈາກ lzzwxh:0205 clone ເຊື່ອມຕໍ່, ແລະນໍາເຂົ້າສະນຸກເກີ ZFS ໃນ ** ໂຫມດອ່ານເທົ່ານັ້ນທີ່ເຄັ່ງຄັດ (readonly=on) ໂດຍບໍ່ມີການເລີ່ມຕົ້ນການເຮັດທຸລະກໍາການຂຽນຫຼືສືບຕໍ່ resilver:
-o readonly=on ປ້ອງກັນ ZFS ຈາກການຂຽນ uberblocks ໃໝ່ ຫຼືພະຍາຍາມຂຽນພື້ນຫລັງການປິ່ນປົວ, ຊ່ວຍໃຫ້ທ່ານສາມາດຄັດລອກຊຸດຂໍ້ມູນທຸກຊຸດອອກໄດ້ຢ່າງປອດໄພຜ່ານທາງ zfs send ຫຼື rsync ກ່ອນທີ່ຈະສ້າງຄືນໃຫມ່ສະນຸກເກີຈາກ scratch.
ຄຳຖາມທີ່ມັກຖາມເລື້ອຍໆ¶
ເປັນຫຍັງເຈົ້າຈຶ່ງເວົ້າວ່າ ບໍ່ເຄີຍແລ່ນ CHKDSK ຫຼື fsck ເມື່ອ RAID array ຂອງຂ້ອຍຕິດຢູ່ກັບຂໍ້ຜິດພາດຂອງລະບົບໄຟລ໌ຫຼັງຈາກ drive ຫຼຸດລົງ?¶
ໃນຮາດດິດດຽວ, ແລ່ນ CHKDSK ຫຼື fsck ແກ້ໄຂຄວາມບໍ່ສອດຄ່ອງຂອງໄດເລກະທໍລີເລັກນ້ອຍ. ສຸດ ກ multi-drive RAID 5 ຫຼື RAID 6 array ທີ່ປະສົບກັບການຫຼຸດລົງຂອງ double-drive ຫຼືການຂັດຂວາງການສ້າງໃຫມ່, ຄວາມຜິດພາດຂອງລະບົບໄຟລ໌ແມ່ນເກືອບສະເຫມີເກີດມາຈາກ RAID stripe misalignment ຫຼືການຂັບລົດສະມາຊິກ stale ຖືກບັງຄັບອອນໄລນ໌ (ຫມາຍຄວາມວ່າທຸກໆ ທີ 3 ຫຼື ທີ 4 64 KB chunk ຂອງຂໍ້ມູນແມ່ນໄດ້ຖືກອ່ານຈາກການຜະລິດການຂັບຜິດ). ຖ້າທ່ານປ່ອຍໃຫ້ CHKDSK /f ຫຼື fsck -y ແລ່ນຢູ່ໃນອາເຣ RAID ທີ່ບໍ່ສອດຄ່ອງ ຫຼືບໍ່ສອດຄ່ອງກັນ, ມັນຕີຄວາມຫມາຍຜິດລ້ານໄຟລ໌ທີ່ຖືກຕ້ອງເປັນ metadata ທີ່ເສຍຫາຍ, ຕັດຕົ້ນໄມ້ໄດເລກະທໍລີ, ຖິ້ມຊິ້ນສ່ວນທີ່ບໍ່ມີຊື່ເຂົ້າໄປໃນ ຫາຍ+ພົບ, ແລະຂຽນ parity blocks ໃຫມ່ໃນທົ່ວ drives ທັງຫມົດ, ເຮັດໃຫ້ມັນເປັນໄປບໍ່ໄດ້ທາງຄະນິດສາດທີ່ເຄີຍປະກອບປະສົມປະສານຂອງ drive ທີ່ຖືກຕ້ອງຫຼັງຈາກນັ້ນ. ສະເຫມີ mount ຜ່ານ ອ່ານເທົ່ານັ້ນ Copy-on-Write (ງົວ) ການຊ້ອນກັນ ທໍາອິດ.
ຈະເປັນແນວໃດຖ້າຫາກວ່າ drive ການທົດແທນບາງສ່ວນທີ່ສ້າງໃຫມ່ (42% ສໍາເລັດ) ແລະໄດທີສອງທີ່ລົ້ມເຫລວ 42% ທັງສອງມີຂໍ້ມູນທີ່ຈໍາເປັນ? ຂ້ອຍສາມາດສົມທົບພວກມັນໄດ້ບໍ?¶
ແມ່ນແລ້ວ. ນີ້ແມ່ນການກູ້ໄພ RAID ແບບຄລາສສິກ "Split-Horizon / Hybrid Clone". ສົມມຸດວ່າ ຂັບ 2 ໄດ້ເສຍຊີວິດຢ່າງສົມບູນໃນວັນຈັນ, ທ່ານໃສ່ໃນ New Drive 2, ແລະການກໍ່ສ້າງໃຫມ່ໄດ້ເຮັດໃຫ້ມັນ 42% (LBA 3,500,000,000) ກ່ອນ ຂັບ 3 ໄດ້ຮັບເຄາະຮ້າຍຫົວເສຍຊີວິດຢູ່ LBA 3,500,000,000. ສັງເກດເຫັນສິ່ງທີ່ເຈົ້າມີຕົວຈິງ: ສໍາລັບ 42% ທຳອິດຂອງອາເຣ (0% ກັບ 42%), New Drive 2 ໄດ້ຮັບການກໍ່ສ້າງຄືນໃໝ່ 100 ເປີເຊັນແລ້ວ. ດັ່ງນັ້ນສໍາລັບຄັ້ງທໍາອິດ 42% ຂອງລະດັບ LBA, ທ່ານມີຊຸດເສັ້ນດ່າງທີ່ສົມບູນໂດຍໃຊ້ ຂັບ 1 + ໄດໃຫມ່ 2 + ໄດ 4 (ການປິ່ນປົວຂັດຂ້ອງ ຂັບ 3 ເປັນແຜ່ນທີ່ຂາດຫາຍໄປ). ແລະຖ້າ ຂັບ 3 ພຽງແຕ່ມີ patch ຂະແຫນງການທີ່ບໍ່ດີຢູ່ໃນທ້ອງຖິ່ນ 42% (ແລະສາມາດອ່ານໄດ້ຈາກ 43% ກັບ 100% via ddrescue), ທ່ານໃຊ້ Drive 1 + Cloned Drive 3 + Drive 4 ສໍາລັບສ່ວນທີ່ເຫຼືອ 58% ຂອງອາເຣ.
ເປັນຫຍັງໄດທີສອງລົ້ມເຫລວເລື້ອຍໆໃນກາງ RAID 5 ກໍ່ສ້າງໃຫມ່?¶
ຄວາມເປັນຈິງທາງດ້ານວິສະວະກໍາສອງອັນປະສົມປະສານກັນເພື່ອເຮັດໃຫ້ RAID 5 ສ້າງຄືນໃຫມ່ທີ່ມີຊື່ສຽງສໍາລັບຄວາມລົ້ມເຫຼວ double-drive: (1) ອາຍຸຊຸດທີ່ຄືກັນ: ຜູ້ໃຊ້ສ່ວນໃຫຍ່ຊື້ 4 ຫາ 8 ຮາດດິດທີ່ດຽວກັນຈາກຮ້ານຂາຍຍ່ອຍດຽວກັນໃນມື້ດຽວກັນ (ເຟີມແວດຽວກັນ, ຫຼາຍໂຮງງານດຽວກັນ, batch motor spindle ດຽວກັນ) ແລະດໍາເນີນການໃຫ້ເຂົາເຈົ້າຂ້າງຄຽງຢູ່ໃນອຸນຫະພູມດຽວກັນຄືກັນອ້ອຍຕ້ອຍສໍາລັບ 35,000 ຊົ່ວໂມງ; ເມື່ອ Drive 1 ສິ້ນເປືອງ, Drive 2 ແລະ Drive 3 ແມ່ນມື້ທີ່ຫ່າງຈາກຂອບເຂດການສວມໃສ່ກົນຈັກດຽວກັນ. (2) Latent Uncorrectable ຄວາມຜິດພາດການອ່ານ (UREs): ພາຍໃຕ້ການດໍາເນີນງານປະຈໍາວັນປົກກະຕິ, 95% ຂະແຫນງການເກັບຂໍ້ມູນເຢັນຂອງຮາດໄດບໍ່ຖືກອ່ານເປັນເວລາຫລາຍເດືອນ, ດັ່ງນັ້ນຂະແຫນງທີ່ບໍ່ດີທີ່ລ້າໆຍັງບໍ່ໄດ້ຮັບການຄົ້ນພົບ. ກ RAID 5 ກໍ່ສ້າງກຳລັງຢ່າງຕໍ່ເນື່ອງ 100% ການອ່ານພື້ນຜິວຂອງແຕ່ລະຂະແຫນງການດຽວໃນທົ່ວທຸກໄດທີ່ມີຊີວິດລອດ (40 ຫາ 100 terabytes ຂອງການອ່ານຢ່າງຕໍ່ເນື່ອງ), ເປີດເຜີຍທັນທີທັນໃດພາກສ່ວນທີ່ບໍ່ດີ latent ທີ່ສະສົມໃນປີທີ່ຜ່ານມາ.
ຂ້ອຍຈະຮູ້ໄດ້ແນວໃດວ່າໄຟລ໌ໃດໄດ້ຮັບຜົນກະທົບຈາກພາກສ່ວນທີ່ບໍ່ດີທີ່ບໍ່ສາມາດອ່ານໄດ້ບໍ່ຫຼາຍປານໃດ ddrescue ຕ້ອງສູນຕື່ມບໍ?¶
GNU ddrrescue ປະກອບມີອຸປະກອນ forensic ການກໍ່ສ້າງໃນທີ່ເອີ້ນວ່າ ddrescuelog ແລະ ddru_ntfsfindbad / debugfs ທີ່ວາງແຜນຂອບເຂດ LBA ຂອງຂະແຫນງການທີ່ບໍ່ໄດ້ຟື້ນຟູທີ່ແນ່ນອນຈາກຂອງທ່ານ .ແຜນທີ່ file (ສະຖານະ = '-' ພາກສ່ວນທີ່ບໍ່ດີ) ໂດຍຜ່ານຄະນິດສາດເສັ້ນດ່າງ RAID ໂດຍກົງກັບຕາຕະລາງ inode ຂອງລະບົບໄຟລ໌. ເມື່ອເຈົ້າຮູ້ວ່າອັນໃດ 4 KB ຕັນແມ່ນສູນເຕັມໃນລະຫວ່າງການໂຄນ, ທ່ານສາມາດສອບຖາມໄດ້ debugfs (ໄອເຊັກ ແລະ ກວດເຊັກ ສຸດ ext4) ຫຼື btrfs inspect-internal logical-resolve ເພື່ອພິມອອກບັນຊີລາຍຊື່ທີ່ແນ່ນອນຂອງ 2 ຫຼື 3 ຊື່ໄຟລ໌ທີ່ທັບຊ້ອນພາກສ່ວນທີ່ບໍ່ດີເຫຼົ່ານັ້ນ, ຢືນຢັນດ້ວຍຄວາມແນ່ນອນທາງຄະນິດສາດ 100 ເປີເຊັນວ່າທຸກໆໄຟລ໌ອື່ນໆໃນເຄື່ອງແມ່ຂ່າຍຫຼາຍ terabyte ຂອງທ່ານບໍ່ເສຍຫາຍຢ່າງສົມບູນ.
ຄູ່ມືທີ່ກ່ຽວຂ້ອງ¶
- RAID 5 ຫຼື RAID 6 Synology, QNAP, ຫຼື TrueNAS ຫຼາຍ drive ຫຼຸດລົງແລະເປັນຫຍັງການບັງຄັບໃຫ້ສ້າງໃຫມ່ທໍາລາຍຂໍ້ມູນ
- ການເສຍຊີວິດບັດຄວບຄຸມ RAID, ການນໍາເຂົ້າການຕັ້ງຄ່າຈາກຕ່າງປະເທດ, ແລະເປັນຫຍັງທ່ານບໍ່ຄວນເລີ່ມຕົ້ນແຜ່ນດິດ
- NAS RAID array ຖືກຊຸດໂຊມ, ຄວາມລົ້ມເຫຼວຂອງ drive ຫຼາຍ, ແລະການຟື້ນຕົວ ZFS/Btrfs
- ຄວາມລົ້ມເຫຼວຂອງຮາດດິດແລະການຟື້ນຕົວຂໍ້ມູນ
- Computer backups: 3-2-1 strategy and disaster recovery
- ຕົວເລກສຸກເສີນຕາມປະເທດ
ແຫຼ່ງຂໍ້ມູນແລະຄໍາແນະນໍາຢ່າງເປັນທາງການ¶
- Linux Raid Wiki (
raid.wiki.kernel.org/index.php/Linux_Raid&Recovering_a_failed_software_RAID): * Kernel ຢ່າງເປັນທາງການmdadmRecovery Protocol, Device-Mapper Copy-on-Write (dm-snapshot) ການວາງຊ້ອນກັນ, ແລະEventsການໂຕ້ຕອບ *. - GNU
ddrescueຄູ່ມືວິສະວະກຳທີ່ເປັນທາງການ (gnu.org/software/ddrescue/manual/ddrescue_manual.html): ການບໍ່ຂູດຫຼາຍໄລຍະ (-n) ແລະການເຂົ້າເຖິງໂດຍກົງ (-d) ຂັ້ນຕອນການຟື້ນຕົວຂອງຂະແໜງການສຳລັບສື່ແມ່ເຫຼັກທີ່ລົ້ມເຫລວ. - ພື້ນຖານຄວາມຮູ້ທາງການ Synology (
kb.synology.com/en-global/DSM/tutorial/How_can_I_recover_data_from_my_DiskStation_using_a_PC): * ການຕິດຕັ້ງmdadm+LVM2+Btrfs/ext4NAS Volumes Read-Only on Ubuntu Rescue Systems*. - ສະມາຄົມອຸດສາຫະກໍາເຄືອຂ່າຍການເກັບຮັກສາ (
SNIA): ຮູບແບບຂໍ້ມູນແຜ່ນ RAID ທົ່ວໄປ (DDF) ຂໍ້ມູນຈໍາເພາະສໍາລັບ Hardware RAID Controller Metadata Portability.