硬體 RAID 陣列擴展後 fdisk 不允許我使用其他可用扇區
我們在戴爾 R720xd 上有一個約 18TB 的大型硬體 RAID 陣列。目前 RAID5 陣列由 6x4TB 組成,我需要對其進行擴展。
步驟 1 展開硬體 RAID 陣列。
如果您安裝了戴爾管理工具,就足夠簡單了。
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 ...
Step 2 新建分區
因此,虛擬磁碟現在報告增加的 (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):
我現在磁碟上有大約 160 億個扇區,但我無法使用它們。我只提供扇區 34-2047。即使我目前只設置了一個分區,我也無法分配 8TB 的新空間。
讓我感到奇怪的另一件事是,我得到的分區號是 2-128,而不僅僅是 2-4。分區表沒有顯示任何擴展分區,所以我預計最初會將我限制為 4 個分區。
有什麼我想念的嗎?
- 擴展驅動器陣列後,機器已重新啟動。在此之前 fdisk 只會報告原始的 18TB
- 嘗試
cfdisk
僅報告 390 億範圍內的 2015 年可用扇區,儘管總體報告為 25TB。- 如果可以避免,我們不想刪除並重新創建分區,因為我們可能會失去所有數據。我們更喜歡在完成後使用新分區簡單地擴展 LVM 卷組。
- 它與另一個伺服器故障問題類似,但我不受分區用完的限制,我不認為我受到擴展分區的限制。
- 它不是由驅動器擴展來擴展扇區大小。如果是 fdisk 就不會報告扇區數的增加,我會想到。另外
pvs
並且vgs
沒有在 LVM 下報告任何額外的未分配空間- 我在虛擬機上將其作為空執行執行,但沒有遇到這種情況。但是我正在關閉虛擬機並增加其磁碟設備大小。所以在大小增加期間它不線上。此外,對於 vm,驅動器大小要小許多數量級。
更新 Micheal 請求的 1 ‘x’pert 模式輸出…
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 錯誤?
問題是備份分區表的位置。通常,您希望主分區表位於開始,備份分區表位於末尾。磁碟大小調整使更多扇區可用,但從未移動備份表。fdisk 不喜歡這樣,我相信這是
MyLBA mismatch with real position at backup header.
錯誤消息。不是很清楚。我從 to 切換
fdisk
到gdisk
,輸出有點不同。在 gdisk 你有…r recovery and transformation options (experts only)
進入並執行
v
erify 給出了更有用的錯誤消息……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.
現在列印分區表顯示最後一個可用扇區為 560 億而不是 390 億,我能夠創建新分區並將其添加到 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