仮想マシンイメージにLVMパーティションを使用する必要がありますか?

仮想マシンイメージにLVMパーティションを使用する必要がありますか?

VMイメージ(KVMイメージなど)を作成するときは、LVMをパーティションとして使用する必要がありますか?イメージにLVMパーティションがある場合、ホストにqcow2イメージをインストールしようとすると複雑さが追加されるようです。

一方、LVMパーティション化の利点は、VMイメージではそれほど重要ではないようです。なぜなら、VMをオフラインにして物理システムよりもパーティションのサイズを変更する方がはるかに簡単だからです。

答え1

「時によって変わりません」

管理する環境(vmware、kvmなど)にあり、ディスクのパフォーマンスQoSを直接決定できる場合は、仮想マシンでLVMを使用しないことをお勧めします。ハイパーバイザーレベルでは得られない柔軟性を提供しません。

ハイパーバイザーはすでにこれらのタスクを効果的に実行していることを覚えておいてください。ファイルシステムのサイズを任意に調整するには(良いアイデア)、各ファイルシステムごとに別々の仮想ディスクを作成するだけです。

この道を行くと、一つの考えが浮かび上がるだろう。これにより、仮想ディスクにパーティションを配置する必要もありません。たとえば、仮想マシン内にあります/home。用の仮想ディスクを作成できます。ファイルシステムを作成するときにパーティションを指定するのではなく、これを行うだけです /dev/vdcmke2fs -j /dev/vdc

これは良い考えですが...ほとんどのツール(およびそれ以降の他の管理者)は各ディスクのパーティションを見たいと思います。ディスクにパーティションを置いて作業を完了することをお勧めします。ただし、これはファイルシステムのサイズを変更するときにさらに1つのステップが必要であることを意味します。そして、パーティションを正しく整列することを忘れないでください。最初のパーティションでは、1MBから始めるのが良い経験則です。

ただし、ハイパーバイザーレベルでこれを行うと、パーティションのサイズを変更するためにVMを再起動する必要があります。 LVMを使用すると、仮想ディスクをホット追加し(ハイパーバイザー/ OSの組み合わせでこれを可能にすると仮定)、再起動せずにファイルシステムを拡張できます。これは確かにプラスです。


一方、クラウドプロバイダを使用する場合は、より微妙です。

私は、Azure、GCP、またはその他の小規模企業に精通していないので、助けることができません。

AWSを使用すると、上記のアドバイスに従うことができ、通常は大丈夫でしょう。 (現在)EBSボリューム(仮想ディスク)のサイズを即座に増やしてパーティションのサイズを変更するなどの操作を実行できます。

しかし、一般的なケースでは、すべてを大規模なEBSボリュームに配置し、LVM(または私の考えでは通常のパーティション化)を使用するのが合理的かもしれません。 AmazonはボリュームあたりのIOPS制限を提供します。デフォルトでは、この制限はボリュームサイズに応じて拡張されます。たとえば、gp2ボリュームの場合、GiBあたり3 IOPS(最小100 IOPS)を取得します。バラよりhttps://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html

ほとんどのワークロードでは、現在の要件に応じて、利用可能なすべてのIOPSをすべてのファイルシステムで利用できるようにしたいと思います。したがって、大規模なEBSボリュームを作成し、すべてのIOPSをバケットに配置してから、パーティション/ LVMを作成するのが妥当です。

例:

それぞれ100GBの独立したファイルシステム/スワップ領域を持つ3つのディスク。それぞれ300 IOPSを取得します。パフォーマンス制限はディスクあたり300IOPSです。

ディスク1つ、サイズ300GB。ディスクのLVMパーティションはそれぞれ100 GBです。ディスクは900 IOPSを取得します。すべてのパーティションは900 IOPS全体を使用できます。

答え2

論理ボリュームは動的に作成、サイズ変更、削除する方が簡単です。
「LVMを使用しないでください」という質問には、常に同じ答えが出てきます。時によって異なります。:)
ディスク、パーティションレベルの柔軟性が必要な場合、これは合理的です。
LVMが提供する柔軟性を必要としない場合、または他の利点を利用したくない場合は、あまり意味がありません。LVM機能

答え3

私は実際には仮想サーバーから簡単にアクセスできないので、LVを使用するのが好きです。したがって、これらのファイルは誤って簡単に破損/移動できません。

LVの他の重要な機能:

  • スナップショットを作成できます。
  • iostatディスクIOはLV()に基づいて分析可能です
  • サイズ変更が容易
  • スナップショットを使用すると、実行中のシステムの一貫したレプリカを作成できます。

複雑さを減らすために、パーティションの代わりにLVをディスクとして使用します。欠点は、「ディスク」の最後のパーティションサイズだけを簡単に調整できることです。ただし、標準の仮想マシンのディスクレイアウトはこれを考慮します(したがって、最後のパーティションには重要なアプリケーションデータが含まれます)。

答え4

実際、私はLVMをハイパーバイザーレベルのバックアップストアとしてのみ使用し、イメージファイルはバディ用です。ゲストレベルでも使用することをお勧めします。さまざまなストレージソースをプールすることで利点が得られない、または利用可能な合計ディスク容量を増やすことは簡単ではありません。しかし、時にはあまりにも多くのスペースを割り当てます。ファイルシステムたとえば、/opt から 1GB を取得し、/var に提供する簡単な方法が必要な場合があります。仮想マシン自体内で定期的にパーティショニングを実行すると、サイズ変更がより困難になります。

関連情報