หลังจากการขยายอาร์เรย์ฮาร์ดแวร์ RAID fdisk จะไม่อนุญาตให้ฉันใช้ภาคที่มีอยู่เพิ่มเติม


10

เรามีอาร์เรย์การจู่โจมฮาร์ดแวร์ขนาดใหญ่ ~ 18TB บน Dell R720xd ขณะนี้อาร์เรย์ RAID5 ประกอบด้วย 6x4TB และฉันต้องการที่จะขยาย

ขั้นตอนที่ 1 ขยายอาร์เรย์ RAID ฮาร์ดแวร์

ง่ายพอหากคุณติดตั้งเครื่องมือผู้ดูแลระบบของ Dell

omconfig storage vdisk action=reconfigure controller=0 vdisk=1 raid=r5 pdisk=0:1:0,0:1:1,0:1:3,0:1:3,0:1:4,0:1:5,0:1:8,0:1:9

(ดิสก์ใหม่เป็นสองแผ่นสุดท้ายซึ่งสามารถยืนยันได้โดยใช้omreportเครื่องมือ) ทุกอย่างเป็นไปด้วยดีแม้ว่ามันจะใช้เวลาสักครู่และฉันก็สามารถยืนยันอาร์เรย์ได้ถูกขยายออกไป ..

% omreport storage vdisk controller=0 vdisk=1

Virtual Disk 1 on Controller PERC H710P Mini (Embedded)

Controller PERC H710P Mini (Embedded)
ID                                : 1
Status                            : Ok
Name                              : bak
State                             : Ready
Hot Spare Policy violated         : Not Assigned
Encrypted                         : No
Layout                            : RAID-5
Size                              : 26,078.50 GB (28001576157184 bytes)
...
Device Name                       : /dev/sdb
...

ขั้นตอนที่ 2 พาร์ติชันใหม่

ดังนั้น vdisk จึงรายงานขนาดที่เพิ่มขึ้น (26TB) และfdiskไม่เห็นด้วย ...

Disk /dev/sdb: 25.5 TiB, 28001576157184 bytes, 54690578432 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: A2D20632-37D1-4607-9AA0-B0ED6E457F91

Device     Start         End     Sectors  Size Type
/dev/sdb1   2048 39064698846 39064696799 18.2T Linux LVM

อย่างไรก็ตามเมื่อฉันไปเพิ่มพาร์ติชันเพิ่มเติมลงในดิสก์ต่อไปนี้จะเกิดขึ้น ...

Command (m for help): n
Partition number (2-128, default 2): 2
First sector (34-2047): 

ตอนนี้ฉันมีเซ็กเตอร์เพิ่มเติมอีกประมาณ 16 พันล้านบนดิสก์ แต่ฉันไม่สามารถใช้ได้ ฉันเสนอเฉพาะภาค 34-2047 ฉันไม่สามารถจัดสรรพื้นที่ 8TB ใหม่ได้แม้ว่าฉันจะติดตั้งด้วยพาร์ติชั่นเดียว

อีกสิ่งหนึ่งที่ทำให้ฉันประหลาดเพราะความจริงที่ว่าฉันได้รับหมายเลขพาร์ติชัน 2-128 ไม่ใช่แค่ 2-4 ตารางพาร์ติชั่นไม่แสดงพาร์ติชั่นเสริมใด ๆ ดังนั้นฉันคาดว่าจะ จำกัด ให้ฉันมีเพียง 4 พาร์ติชั่นในตอนแรก

มีอะไรที่ฉันขาดหายไปไหม

  • เครื่องรีบูทแล้วตั้งแต่ขยายไดรฟ์ ก่อนหน้า fdisk นั้นจะรายงานเฉพาะ 18TB ดั้งเดิม
  • ลองcfdiskแทนเพียงแค่รายงานภาค 2015 ที่มีอยู่ในช่วง 39 พันล้านแม้จะรายงานโดยรวม 25TB
  • เราไม่ต้องการลบและสร้างพาร์ติชันขึ้นมาใหม่หากเราสามารถหลีกเลี่ยงได้เพราะเราอาจสูญเสียข้อมูลทั้งหมด เราต้องการขยายกลุ่มวอลุ่ม LVM ด้วยพาร์ติชันใหม่เมื่อทำเสร็จแล้ว
  • เป็นปัญหาที่คล้ายคลึงกับคำถามข้อผิดพลาดของเซิร์ฟเวอร์อื่นแต่ฉันไม่ได้ถูก จำกัด ด้วยการใช้พาร์ติชันที่หมดและฉันไม่คิดว่าฉันถูก จำกัด โดยพาร์ติชันเสริม
  • ไม่ได้ใช้เซกเตอร์ขนาดกำลังขยายโดยการขยายตัวไดรฟ์ หากเป็น fdisk จะไม่รายงานการเพิ่มขึ้นของจำนวนภาคฉันจะคิด บวกpvsและvgsไม่รายงานพื้นที่ที่ไม่ได้รับการจัดสรรเพิ่มเติมภายใต้ LVM
  • ฉันวิ่งสิ่งนี้เป็นการทำงานแบบแห้งบนเครื่องเสมือนและไม่พบสิ่งนี้ อย่างไรก็ตามฉันปิด vm และเพิ่มขนาดของอุปกรณ์ดิสก์ ดังนั้นจึงไม่ออนไลน์ในระหว่างการเพิ่มขนาด บวกกับขนาดของไดรฟ์ที่มีขนาดเล็กกว่าสำหรับ vm

อัปเดต เอาท์พุทโหมด1 'x'pert ที่ร้องขอโดย Micheal ...

Command (m for help): x

Expert command (m for help): p
Disk /dev/sdb: 25.5 TiB, 28001576157184 bytes, 54690578432 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: A2D20632-37D1-4607-9AA0-B0ED6E457F91
First LBA: 34
Last LBA: 39064698846
Alternative LBA: 39064698879
Partitions entries LBA: 2
Allocated partition entries: 128

Device     Start         End     Sectors Type-UUID                            UUID                                 Name      Attrs
/dev/sdb1   2048 39064698846 39064696799 E6D6D379-F507-44C2-A23C-238F2A3DF928 E9CB58BF-F170-4480-A230-6E2A238367D1 Linux LVM 


Expert command (m for help): v
MyLBA mismatch with real position at backup header.
1 error detected.

ดังนั้นข้อผิดพลาด LBA ที่เป็นไปได้?


2
ในfdiskโปรดเข้าสู่xโหมดe pert จากนั้นpใช้ตารางพาร์ติชันอีกครั้งจากนั้นจึงvทำการลบ
Michael Hampton

มีคนแก้ไข fdisk เพื่อสนับสนุน GPT หรือไม่ ครั้งล่าสุดที่ฉันลองใช้กับไดรฟ์ GPT มันทำให้ฉันได้รับคำเตือนว่าฉันควรใช้ gnu แยกทาง แต่มันนานมากแล้ว
DerfK

ใช่ fdisk รุ่นทันสมัยสามารถรองรับ GPT ได้
Spooler

ฉันถือว่า GPT คือเหตุผลที่ฉันเสนอ 2-128 เป็นจำนวนพาร์ติชันแทนการ จำกัด ไว้ที่ 4 พาร์ติชัน นั่นถูกต้องใช่ไหม?
Vagnerr

@Vagnerr ใช่แล้ว GPT รองรับพาร์ติชั่นมากกว่าแบบ MBR เก่า
DerfK

คำตอบ:


6

ปัญหาคือตำแหน่งตารางพาร์ติชันสำรอง ปกติคุณคาดหวังตารางพาร์ทิชันหลักที่เริ่มต้นและตารางพาร์ทิชันสำรองในตอนท้าย การปรับขนาดดิสก์ทำให้มีเซ็กเตอร์มากขึ้น แต่ไม่เคยย้ายตารางสำรอง fdisk ไม่ชอบสิ่งนี้และฉันเชื่อว่านั่นเป็นMyLBA mismatch with real position at backup header.ข้อความแสดงข้อผิดพลาด ไม่ชัดเจนอย่างแน่นอน

ฉันเปลี่ยนจากfdiskเป็นgdiskและเอาต์พุตแตกต่างกันเล็กน้อย ใน gdisk คุณมี ...

r       recovery and transformation options (experts only)

การดำเนินการดังกล่าวและการเรียกใช้verify ทำให้เกิดข้อผิดพลาดที่เป็นประโยชน์มากขึ้น ...

Recovery/transformation command (? for help): v

Problem: The secondary header's self-pointer indicates that it doesn't reside
at the end of the disk. If you've added a disk to a RAID array, use the 'e'
option on the experts' menu to adjust the secondary header's and partition
table's locations.

Identified 1 problems!

ภายใต้gdiskโหมดผู้เชี่ยวชาญมีตัวเลือกต่อไปนี้ ...

e       relocate backup data structures to the end of the disk

... ที่ประสบความสำเร็จและตรวจสอบผลลัพธ์ได้แล้ว ...

Expert command (? for help): v

No problems found. 15625881566 free sectors (7.3 TiB) available in 2
segments, the largest of which is 15625879552 (7.3 TiB) in size.

การพิมพ์ตารางพาร์ทิชันในขณะนี้แสดงให้เห็นว่าภาคการใช้งานล่าสุดเป็น 56 พันล้านมากกว่า 39 พันล้านและฉันสามารถสร้างพาร์ทิชันใหม่และเพิ่มลงใน LVM ซึ่งถ้าใครสนใจขั้นตอนที่ ...

partprobe           <-- add the /dev/sdb2 device if you don't want to reboot 
pvcreate /dev/sdb2
vgextend bak /dev/sdb2
lvextend /dev/mapper/bak-bak -l 100%PVS -r

ในการชี้แจงเพื่อหลีกเลี่ยงความต้องการในการรีบูตหลังจากย้ายโครงสร้างข้อมูลสำรองคุณรันpartprobeหรือไม่ นอกจากนี้ยังโพสต์นี้เป็นโปรแกรมรักษาชีวิต ขอบคุณสำหรับการสนับสนุน
หมุน

@Swivel นั่นถูกต้องแล้ว หากไม่มีการเรียกใช้ partprob หรือการรีบูทอุปกรณ์ sdb2 จะไม่ถูกสร้างขึ้นในไดเรกทอรี / dev และจะต้องมีเพื่อดำเนินการคำสั่ง lvm ที่ตามมา ฉันดีใจที่โพสต์ช่วยคุณ :-)
Vagnerr

2

กุญแจสำคัญในการ snafu นี้คือ:

Last LBA: 39064698846

ป้ายกำกับ GPT ของคุณไม่ได้สะท้อนถึงขนาดกลางซึ่งมีการเปลี่ยนแปลง fdiskค้นหาพื้นที่ว่างในลักษณะที่ไม่สมบูรณ์แบบ แต่อย่างน้อยก็สมเหตุสมผล - ค้นหาเซกเตอร์ที่พร้อมใช้งานเป็นครั้งแรกในพื้นที่ว่างที่ใหญ่ที่สุดที่มีอยู่ระหว่างLBAsแรกและสุดท้ายของ GPT Label

อาจใช้วิธีหนึ่งในsfdiskการถ่ายโอนข้อมูลฉลากแก้ไขให้เหมาะสมกับขนาดกลางของคุณและเขียนกลับหรือใช้งานที่ดีกว่าpartedซึ่งควรดูแลปัญหา IMO นั้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.