web-dev-qa-db-ja.com

LVMにはパーティションテーブルが必要ですか?

パーティションテーブルを作成する手順を踏まずに、rawブロックデバイス上でpvcreateを正常に実行できるようです。その後、ボリュームグループ、論理ボリューム、最後にファイルシステムを作成し、マウントして、ddを介してテストできます。

動作するようですが、サニティチェックが必要です。これは悪い考えですか?

Rawブロックデバイスの上にGPTまたはMBRパーティションテーブルを作成するにはどうすればよいですか?

Partedを使用して、使用中のパーティションテーブルの種類を示すにはどうすればよいですか?私はやってみました:

parted、/ dev/sdbを選択して印刷してください:

エラー:/ dev/sdb:認識できないディスクラベル

それでもドライブは現在使用中で、読み取りと書き込みができます。パーティションテーブルのないrawブロックデバイス上でLVMを実行するときに、これは予想される出力ですか?何かご意見は?

ありがとう!

18
cat pants

LVM自体が実際のパーティションを持つことを気にしない場合でも、とにかくそれを作成する1つの理由は、「そこに何か」があることをパーティション分割プログラムに通知することです。悪夢のようなシナリオは、サーバーの起動問題を診断し、パーティション分割プログラムを起動し、パーティション分割されていないディスクを確認し、ドライブが破損していると結論付ける新しいシステム管理者です。

LVMパーティションを作成することにはマイナス面はありません。あなたは?

29
Philip

Rawブロックデバイスからpvを作成することはできますが、ブロックデバイスの用途について混乱を招く可能性があるため、通常は回避するようにしています。また、設定ファイルがない場合にLVMが使用できる自動検出ルーチンの一部が壊れる可能性もあります。

次に、partedを使用して、ドライブ全体である1つのパーティションを持つGPTを作成し、パーティションフラグをlvmに設定する例を示します。 mkpartではファイルシステムを指定する必要がありますが、ファイルシステムは作成されません。 partedの長期にわたるバグのようです。また、1Mの開始オフセットは、適切な位置合わせを確実にするためのものです。

parted /dev/sdb
mklabel GPT
mkpart primary ext2 1M 100%
set 1 lvm on
16
3dinfluence

KVMゲスト内の仮想ストレージデバイスにPVを直接作成すると、ゲストからの論理ボリュームがハイパーバイザーに表示されます。これにより、複数のゲスト間で同じ論理ボリュームおよびボリュームグループ名を使用する場合、混乱が生じる可能性があります。ハイパーバイザーでデバイスが見つからないという警告が表示される場合もあります。

たとえば、テストハイパーバイザーでこの問題を再現しました。

[root@testhost ~]# vgs
  Couldn't find device with uuid dCaylp-1kvL-syiF-A2bW-NTPP-Ehlb-gtfxZz.
  VG          #PV #LV #SN Attr   VSize   VFree  
  vg_main       2   2   0 wz-pn-  19.25g 768.00m
  vg_main       2   2   0 wz-pn-  19.25g 768.00m
  vg_testhost   1   8   0 wz--n- 237.98g 120.15g

ここでは、同じ名前の2つのボリュームグループを確認できます。どちらも、ハイパーバイザーに実際に表示されるべきではないゲストからのものです。

このため、PVを作成してボリュームグループに追加する前に、partedまたはfdiskを使用してKVMパーティションを最初に(3dinfluenceによる前の回答で示したように)作成することをお勧めします。これにより、ゲスト論理ボリュームはハイパーバイザーから隠されたままになります。

5
Paul Maunders

欠点の1つは、パーティションテーブル内のPVにスペースをホットアドできないことです。 PVにブロックデバイス全体を使用する場合、これは問題ではありません。

4
user217432

RedHatのLVMガイドによると、セクション4.2.1 https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/logical_volume_manager_administration/physvol_admin

彼らは、パーティションテーブルを用意する必要はなく、ディスク全体をVG(ボリュームグループ)に使用する場合は、その一部(パーティション)のみを含めるつもりでない限り、パーティションテーブルを破棄するよう提案することさえありました。

3
Pisacha Srinuan

過去にPVにMS-DOSディスクラベルまたはGPTディスクラベルを使用していた場合でも、メインブロックデバイスで直接LVMを使用することを好みます。非常に特殊なユースケース(ブートセクターとブートパーティションを持つディスクなど)がない限り、2つのディスクラベルを使用する理由はありません。

LVMを直接持つ利点は次のとおりです。

  • シンプルさ-2セットのツールを使用する必要はありません
  • 柔軟性-pvmoveを使用して、ダウンタイムなしで1つのディスクボリュームから別のディスクボリュームにデータを移動できます。スナップショットとシンプロビジョニングを使用できます。
  • ボリュームを作成/サイズ変更/削除したことをカーネルに伝えるために、partprobeやkpartxを実行する必要はありません。そして partprobe/kpartxは失敗する可能性があります パーティションが使用中であり、再起動が必要な場合
  • mS-DOSまたはGPT disklablesの上でLVMを使用する場合と比較して、おそらくより良いパフォーマンス
3