ฉันมีไดรฟ์ 6 ตัว (แต่ละ 1.5T รุ่นเดียวกันทั้งหมดและการแก้ไขเฟิร์มแวร์) ซึ่งเป็นส่วนหนึ่งของอาร์เรย์ RAID5 RAID5 สร้างกลุ่มวอลุ่ม LVM และกลุ่มโลจิคัล หลังมีพาร์ติชั่น ext3 เพียงพาร์ติชั่นเดียว ฉันเพิ่งวิ่ง:

e2fsck -f /dev/vg03/lv01 && resize2fs -M /dev/vg03/lv01

ซึ่งออกไปโดยไม่มีข้อผิดพลาด

ตอนนี้เมื่อฉันพยายามจะmount /dev/vg03/lv01ได้รับ:

EXT3-fs error (device dm-0): ext3_check_descriptors: Block bitmap for group 30533 not in group (block 1000532368)!
  EXT3-fs: group descriptors corrupted!

ฉันจะออกจากสถานการณ์นี้ได้อย่างไร นี่คือข้อมูลทั้งหมดที่ฉันสามารถให้คุณได้ในขณะนี้:

fdisk -l /dev/sd[cdefgh]แสดง (ถูกต้อง) ว่าเป็น " Linux raid autodetect"

แต่ตอนนี้ fdisk แสดง:

fdisk -l /dev/md0

Disk /dev/md0: 7501.5 GB, 7501495664640 bytes

...
Disk identifier: 0x00000000
Disk /dev/md0 doesn't contain a valid partition table

(แทนที่จะเป็นพาร์ติชันประเภท LVM)

fdisk -l /dev/vg03/lv01

Disk /dev/vg03/lv01: 7501.5 GB, 7501491732480 bytes
...
Disk identifier: 0x00000000
Disk /dev/vg03/lv01 doesn't contain a valid partition table

(แทนที่จะเป็นพาร์ติชันประเภท ext3)

ฉันได้ลองแล้ว:

e2fsck -fy /dev/vg03/lv01

e2fsck 1.41.12 (17-May-2010)
e2fsck: Group descriptors look bad... trying backup blocks...
Block bitmap for group 30533 is not in group. (block 1000532368)
Relocate? yes

Inode bitmap for group 30533 is not in group. (block 1000532369)
Relocate? yes

Pass 1: Checking inodes, blocks, and sizes
Relocating group 30533's block bitmap to 1000524246...
Error allocating 1 contiguous block(s) in block group 30533 for inode bitmap: Could not allocate block in ext2 filesystem
e2fsck: aborted

ข้อมูลเพิ่มเติมที่ฉันสามารถให้คุณ:

cat /proc/mdstat

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active (auto-read-only) raid5 sdg1[0] sdh1[5] sdf1[4] sde1[3] sdc1[2] sdd1[1]
7325679360 blocks level 5, 128k chunk, algorithm 2 [6/6] [UUUUUU]
bitmap: 1/175 pages [4KB], 4096KB chunk

unused devices:

สุดท้าย การทดสอบ smartctl ทั้งหมด (แบบสั้นและแบบขยาย) ไม่พบข้อผิดพลาดในดิสก์ใดๆ

ฉันควรพยายามที่resize2fsจะเติบโต/dev/vg03/lv01และทำซ้ำe2fsck? ฉันควรcfdisk /dev/md0และ/dev/vg03/lv01กลับไปชนิดที่แท้จริงของพวกเขา

ขอบคุณล่วงหน้าสำหรับความช่วยเหลือและความช่วยเหลือใด ๆ

2011-09-20 UPDATE

ฉันออกคำสั่งต่อไปนี้และสามารถติดตั้งพาร์ติชันใหม่ได้ แต่ด้วยการดูขนาด ( df) ก่อนและหลัง ดูเหมือนว่าข้อมูล 1Tb จะหายไป โดยการตรวจสอบ MD5SUMS (จากข้อมูลสำรองเก่า) ของไฟล์บางไฟล์ที่มีไฟล์ "เดียวกัน" จากพาร์ติชั่นที่ต่อเชื่อมใหม่ ตรวจพบข้อผิดพลาดบางอย่าง

คำสั่งที่ออกให้ติดตั้งพาร์ติชันใหม่คือ:

dumpe2fs /dev/vg03/lv01

  Block count: 1000491435<br />
  Block size:  4096<br />

tune2fs -O ^has_journal /dev/vg03/lv01

resize2fs -p /dev/vg03/lv01

dumpe2fs /dev/vg03/lv01

  Block count: 1831418880<br />
  Block size:  4096<br />

mount -o ro,noatime /dev/vg03/lv01 /mnt/raid

  OK... but files have been damaged / gone missing.
answer

คุณสร้าง LVM ได้อย่างไรตั้งแต่แรก? คุณเตรียมฟิสิคัลวอลุ่มโดยใช้/dev/md0หรือคุณทำfdiskก่อนและใช้พาร์ติชั่นตัวใดตัวหนึ่งเป็นฟิสิคัลวอลุ่ม

หากคุณใช้อุปกรณ์ทั้งหมดเป็น PV fdiskจะไม่ทำงานเนื่องจากข้อมูล LVM จะถูกวางไว้ในตำแหน่งที่fdiskคาดว่าจะพบตารางพาร์ติชั่น

สิ่งที่คุณอาจต้องการตรวจสอบคือทำvgdisplay -v /dev/vg03เพื่อดูว่ามีฟิสิคัลวอลุ่มอยู่ในกลุ่มวอลุ่มอย่างไร

คุณมี raid 5 จาก 6 sd* block devices ที่ไม่มีพาร์ติชั่น ตอนนี้คุณมี lvm ใน raid md0 แล้ว ดังนั้น คุณจึงสร้างฟิสิคัลวอลุ่มจาก md0, กลุ่มวอลุ่มชื่อ vg03 และหนึ่งโลจิคัลวอลุ่มชื่อ lv01 lv01 ประกอบด้วยระบบไฟล์ ext3 ซึ่งคุณต้องการขยาย/ย่อ

โดยดำเนินการดังกล่าว: e2fsck -f /dev/vg03/lv01 && resize2fs -M /dev/vg03/lv01 คุณพยายามลดขนาดระบบไฟล์ซึ่งก็คือ ext3 (พร้อมเจอร์นัล)

เท่าที่ฉันรู้ resize2fs สามารถปรับขนาดระบบไฟล์ ext2 ได้ แต่ไม่ใช่ระบบไฟล์ ext3 ดังนั้นคุณต้องลบเจอร์นัลออกก่อน

ตอนนี้ เมื่อคุณใช้ tunefs คุณสามารถกลับไปที่ระบบไฟล์ที่ทำงาน ซึ่งถูกทำลายโดย resize2fs และ fsck ในภายหลัง

ในจุดนั้น ฉันสามารถแนะนำให้คุณใช้ซอฟต์แวร์กู้คืนเฉพาะบางตัวเท่านั้น เช่น ext3 undelete หรืออะไรก็ตาม...