ハードウェアRAIDアレイの拡張後、fdiskで追加の利用可能なセクターを使用できなくなります


10

Dell R720xdには、最大18 TBのハードウェア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

(新しいディスクは最後の2つで、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): 

現在、ディスクには約160億のセクターがありますが、使用できません。私はセクター34-2047のみ提供されています。現在、単一のパーティションのみでセットアップされているにもかかわらず、8TBの新しいスペースを割り当てることができません。

奇妙なことに私を驚かせたもう1つのことは、パーティション番号が2から128ではなく、2から4であるという事実でした。パーティションテーブルには拡張パーティションが表示されないので、最初は4つのパーティションに制限すると思っていました。

不足しているものはありますか?

  • ドライブアレイが拡張されてから、マシンが再起動されました。その前に、fdiskは元の18TBのみを報告していました
  • cfdisk代わりに試してみると、全体で25TBと報告されているにもかかわらず、2015セクターは390億の範囲で利用できると報告されています。
  • すべてのデータが失われる可能性があるため、回避できる場合は、パーティションを削除して再作成したくありません。LVMボリュームグループを拡張したら、新しいパーティションで拡張することをお勧めします。
  • これは、別のサーバーの障害の質問と同様の問題ですが、パーティションが不足したことによる制限はなく、拡張パーティションによって制限されている思いません。
  • ドライブの拡張により拡張されるセクターサイズでありません。もしfdiskがセクター数の増加を報告していなかったら、私は思っていたでしょう。さらにpvsvgsLVMの下で割り当てられていない追加のスペースを報告していません
  • これを仮想マシンで予行演習として実行しましたが、これは経験されませんでした。しかし、私はvmをシャットダウンして、そのディスクデバイスサイズを増やしていました。そのため、サイズの増加中はオンラインではありませんでした。さらに、ドライブのサイズは、VMの数桁も小さくなりました。

Michealから要求されたUpdate 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エラーの可能性はありますか?


2
fdisk電子に移動してくださいx、その後、モードPERT pその後、再びパーティションテーブルをRINT vそれをerify。
マイケルハンプトン

誰かがfdiskを修正してGPTをサポートしましたか?前回GPTドライブで試しましたが、本当にgnu partedを使用すべきであるという警告が表示されましたが、久しぶりです。
DerfK 2017

はい、最新バージョンのfdiskはGPTを処理できます。
スプーラー2017

4パーティションに制限されるのではなく、パーティション数として2〜128が提供されたのはGPTが原因だと思います。そうですか?
ヴァグネル

@Vagnerrはい、GPTは古いMBRスキームよりも多くのパーティションをサポートしています。
DerfK 2017

回答:


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.

パーティションテーブルを印刷すると、最後の使用可能なセクターが39億ではなく56億として表示され、新しいパーティションを作成して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完全ではないが、少なくとも論理的な方法で空きスペースを検索します。GPTラベルの最初と最後のLBA 間で利用可能な最大の空きスペースで最初に利用可能なセクターを探します。

回避策の1つsfdiskは、ラベルのダンプ、中程度のサイズに適切に編集して書き戻す、またはpartedその問題のIMOを処理するより適切な使用に使用することです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.