ฉันมีซอฟต์แวร์ linux Raid5 array (md1) ที่มีฮาร์ดไดรฟ์ 4 x 16TB + 2 x 8TB ฮาร์ดไดรฟ์ 2 x 8TB ถูกรวมเข้าด้วยกัน (อาร์เรย์ Raid0; md0) ซึ่งทำงานเป็นอุปกรณ์ขนาด 16TB (ตัวที่ห้า) นี่เป็นเพียงการจัดเก็บข้อมูล เนื่องจากต้องใช้ 2 x 8TB ออก ฉันจึงตัดสินใจลดจำนวนอุปกรณ์ลงเหลือ 4 เครื่องดังนั้นฉันจึงทำตามขั้นตอนต่อไปนี้:
mdadm --grow /dev/md1 --อาร์เรย์ขนาด 46883175936
mdadm --grow --raid-devices=4 /dev/md1 --backup-file=/home/backup
ผู้อ่านที่สนใจจะทราบว่ามีขั้นตอนหนึ่งที่ขาดหายไป นั่นคือการปรับขนาดของระบบไฟล์ก่อนที่จะจัดการกับ mdadm
กระบวนการปรับรูปร่างที่เป็นผลลัพธ์ตอนนี้ติดอยู่ที่ 0%:
md1 : ใช้งานการจู่โจม 5 md0[5](S) sda1[0] sdb1[3] sde1[4] sdc1[2]
46883175936 บล็อก super 1.2 ระดับ 5 ก้อน 512k อัลกอริทึม 2 [4/3] [UUUU]
[>....................] ปรับรูปร่าง = 0.0% (1/15627725312) เสร็จสิ้น = 2686015287.7 นาที ความเร็ว = 0K/วินาที
md0 : ใช้งาน Raid0 sdd[0] sdf[1]
15627788288 บล็อกซุปเปอร์ 1.2 512k ชิ้น
แม้ว่า, ไอโอสแตท
ระบุการกระทำบางอย่างในฮาร์ดไดรฟ์เหล่านี้:
อุปกรณ์: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
nvme0n1 155.89 564.43 443.38 108549018 85268978
sda 2851.68 82114.67 2400.81 15791944384 461714155
sdb 2851.88 82115.09 2401.49 15792024433 461844519
sdc 2852.37 82143.80 2401.57 15797546322 461859251
sdd 866.01 13.34 41827.19 2565819 8044026920
รหัส 2852.42 82143.79 2402.46 15797544281 462031635
sdf 866.50 14.33 41835.12 2755774 8045552820
และ mdadm --detail /dev/md1
ดูดี:
/dev/md1:
เวอร์ชัน : 1.2
เวลาสร้าง : อ. 1 มิ.ย. 17:25:18 2021
ระดับการโจมตี : Raid5
ขนาดอาร์เรย์ : 46883175936 (43.66 TiB 48.01 TB)
ขนาด Dev ที่ใช้ : 15627725312 (14.55 TiB 16.00 TB)
อุปกรณ์จู่โจม : 4
อุปกรณ์ทั้งหมด : 5
การคงอยู่: Superblock นั้นคงอยู่
อัพเดทเวลา : ศ. 15 ต.ค. 15:42:47 น. 2564
สถานะ : สะอาด ปรับรูปร่างใหม่
อุปกรณ์ที่ใช้งาน : 4
อุปกรณ์การทำงาน : 5
อุปกรณ์ที่ล้มเหลว : 0
อุปกรณ์สำรอง : 1
รูปแบบ : สมมาตรซ้าย
ขนาดก้อน : 512K
นโยบายความสอดคล้อง : resync
สถานะการปรับรูปร่าง: เสร็จสมบูรณ์ 0%
อุปกรณ์เดลต้า : -1, (5->4)
ชื่อ : localhost.localdomain:1 (ในเครื่องไปยังโฮสต์ localhost.localdomain)
UUID : 5457f23e:faa7ee47:b2c62a37:f4c78526
เหตุการณ์ : 1064286
หมายเลขหลักรอง RaidDevice สถานะ
0 8 1 0 การซิงค์ที่ใช้งานอยู่ /dev/sda1
2 8 33 1 การซิงค์ที่ใช้งานอยู่ /dev/sdc1
4 8 65 2 แอคทีฟซิงค์ /dev/sde1
3 8 17 3 การซิงค์ที่ใช้งานอยู่ /dev/sdb1
5 9 0 - สำรอง /dev/md0
แต่ถึงอย่างไร, dmesg
ให้คำแนะนำโดยตรงกับข้อผิดพลาด:
EXT4-fs (md1): รูปทรงเรขาคณิตไม่ถูกต้อง: จำนวนบล็อก 15627725312 เกินขนาดของอุปกรณ์ (บล็อก 11720793984)
ฉันพยายามยกเลิกกระบวนการเปลี่ยนรูปร่าง แต่ก็ไม่มีประโยชน์ ผมติดอยู่. เนื่องจากมีข้อมูลสำคัญอยู่แล้วใน md1 ฉันจึงสนใจที่จะกู้คืน md1 มาก ฉันมีข้อมูลสำรอง แต่สิ่งนี้ขาดข้อมูลล่าสุดบางส่วน
มีวิธียกเลิกความคืบหน้าการปรับรูปร่างหรือไม่? เนื่องจากยังคงอยู่ที่ (1/15627725312) ฉันไม่คาดว่าจะสูญเสียข้อมูล
หรือมีคำแนะนำอื่นใดในการกู้คืน md1 (มีหรือไม่มี md0)
ฉันขอบคุณสำหรับทุกคำแนะนำ หากคุณต้องการข้อมูลเพิ่มเติม โปรดแจ้งให้เราทราบ
แก้ไข: ฉันสามารถเรียกใช้คำสั่ง:
mdadm --create /dev/md1 --level=5 --raid-devices=5 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sde1 /dev/md0 --assume-clean --readonly
สิ่งนี้สร้างอาร์เรย์ในสถานะก่อนหน้า อย่างไรก็ตามดูเหมือนว่าระบบไฟล์จะใช้งานไม่ได้ เนื่องจากไม่มีความล้มเหลวของ HDD ฉันจึงสันนิษฐานว่าข้อมูลควรยังคงอยู่และไม่ถูกเขียนทับ
มีวิธีการคืนค่าระบบไฟล์หรือไม่?
ฉันลอง testdisk ซึ่งตรวจพบ ระบบลินุกซ์ ข้อมูล
แต่ไม่สามารถกู้คืนไฟล์เหล่านี้ได้ มีโปรแกรมอื่นใดที่สามารถทำเคล็ดลับได้หรือไม่?
อีกครั้งข้อเสนอแนะใด ๆ ที่ชื่นชมอย่างมาก! ขอบคุณล่วงหน้า!