ฉันกำลังพยายามกู้คืนอาร์เรย์ raid1 ดิสก์ทั้งสองเป็นแฟลชไดรฟ์ NVMe
ฉันทำสิ่งที่โง่จริงๆ ในตอนท้ายของวันที่ยาวนานและเลวร้าย - ลบ 512 ไบต์แรกของแต่ละไดรฟ์ NVMe - ความตั้งใจที่จะปิดการใช้งานตัวโหลดการบูต ปรากฎว่าฉันลบข้อมูลพาร์ติชั่นและข้อมูล RAID ฉันสำรองข้อมูล 512 ไบต์เหล่านั้น - แต่เดาสิ - ฉันทำอะไรกับดิสก์เดียวกัน ดังนั้นจึงไม่สามารถเข้าถึงได้ในขณะนี้
ฉันทำสำเนาของดิสก์ด้วย dd ไปยังดิสก์อื่น และเริ่มพยายามกู้คืนข้อมูล -- ทำ testdisk ซึ่งพบพาร์ติชั่นทั้งหมด:
Disk /dev/nvme0n1 - 512 GB / 476 GiB - CHS 488386 64 32
Current partition structure:
Partition Start End Size in sectors
1 * Linux RAID 1 0 1 32737 63 32 67045376 [rescue:0]
2 P Linux RAID 32769 0 1 33280 63 32 1048576 [rescue:1]
3 P Linux RAID 33281 0 1 488257 63 32 931792896 [rescue:2]
ฉันเขียนข้อมูลพาร์ติชันนี้ลงในดิสก์ทั้งสอง ทำการรีบูต แต่มีเพียง /boot พาร์ติชัน - อันแรก - กู้คืน ฉันพยายามประกอบพาร์ติชันรูท (อันที่สาม) ด้วย mdadm แต่มันล้มเหลวด้วย
[Sun May 27 11:30:40 2018] md: nvme0n1p3 does not have a valid v1.2 superblock, not importing!
[Sun May 27 11:30:45 2018] md: nvme0n1p3 does not have a valid v1.2 superblock, not importing!
[Sun May 27 13:45:32 2018] md: nvme1n1p1 does not have a valid v1.2 superblock, not importing!
[Sun May 27 13:45:32 2018] md: nvme0n1p1 does not have a valid v1.2 superblock, not importing!
[Sun May 27 13:45:32 2018] md: nvme1n1p3 does not have a valid v1.2 superblock, not importing!
[Sun May 27 13:45:32 2018] md: nvme0n1p3 does not have a valid v1.2 superblock, not importing!
แผนของฉันคือการติดตั้งพาร์ติชั่นรูทจากดิสก์ตัวใดตัวหนึ่ง รับข้อมูลสำรองของเซกเตอร์ และกู้คืนทุกอย่าง
แต่ฉันไม่สามารถเมานต์ /dev/nvme1n1p3 มันล้มเหลว
# mount /dev/nvme0n1p3 /mnt/arr2
mount: unknown filesystem type 'linux_raid_member'
# mount /dev/nvme0n1p3 /mnt/arr2 -t ext4
mount: /dev/nvme0n1p3 is already mounted or /mnt/arr2 busy
สิ่งที่สามารถทำได้เพื่อเข้าถึงไฟล์ใน /dev/nvme0n1p3?
UPDATE:ขอบคุณคำแนะนำจาก Peter Zhabin ฉันพยายามกู้คืนระบบไฟล์บนไดรฟ์ตัวใดตัวหนึ่ง /dev/nvme1n1 โดยกู้คืนพาร์ติชั่นด้วยความช่วยเหลือของ testdisk:
ฉันทำการออฟเซ็ตจากเซิร์ฟเวอร์อื่นที่มีดิสก์และการแบ่งพาร์ติชันที่คล้ายกัน (แต่ไม่ตรง):
losetup --find --show --read-only --offset $((262144*512)) /dev/nvme1n1p3
Fsck บ่นเรื่องการแบ่งพาร์ติชันที่ไม่ถูกต้อง (หรือ superblock) และให้สถิติ FS ซึ่งดูใกล้เคียงกับสิ่งที่อยู่ในไดรฟ์จริงๆ:
fsck.ext3 -n -v /dev/loop1
e2fsck 1.43.3 (04-Sep-2016)
Warning: skipping journal recovery because doing a read-only filesystem check.
The filesystem size (according to the superblock) is 116473936 blocks
The physical size of the device is 116441344 blocks
Either the superblock or the partition table is likely to be corrupt!
Abort? no
/dev/loop1 contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Inode 26881053 extent tree (at level 2) could be narrower. Fix? no
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong (20689291, counted=20689278).
Fix? no
Free inodes count wrong (25426857, counted=25426852).
Fix? no
3695703 inodes used (12.69%, out of 29122560)
30256 non-contiguous files (0.8%)
442 non-contiguous directories (0.0%)
# of inodes with ind/dind/tind blocks: 0/0/0
Extent depth histogram: 3616322/1294/3
95784645 blocks used (82.24%, out of 116473936)
0 bad blocks
29 large files
3510238 regular files
107220 directories
2 character device files
0 block device files
53 fifos
1248 links
78147 symbolic links (77987 fast symbolic links)
39 sockets
------------
3696947 files
อย่างไรก็ตาม ฉันไม่สามารถเมานต์ระบบไฟล์ได้:
[email protected] /mnt/backups # mount -o ro /dev/loop1 /mnt/reco/
mount: wrong fs type, bad option, bad superblock on /dev/loop1,
missing codepage or helper program, or other error
สิ่งที่สามารถทำได้ต่อไป? รู้สึกว่าข้อมูลใกล้ตัว...