4つのSATA IIハードドライブを含み、CentOS 5.5 x86_64を実行している、光沢のある新しいKVM/libvirtベースの仮想マシンホストを構築しました。
Qcowイメージとしてディスクを作成する通常の方法ではなく、libvirtストレージプールとして管理されるLVMボリュームグループで仮想マシンディスクを論理ボリュームとして作成するにすることにしました。
決定できないことは、仮想マシンの論理ボリュームをVMホストのボリュームグループに作成するか、専用のボリュームグループに作成するかです。
どの方法を選択する必要がありますか、そしてその理由は何ですか?
md0
を含む/boot
ファイルシステムmd1
は、LVMボリュームグループvghost
を含む残りのスペースを占有しています。 vghost
にはVMホストのルートファイルシステムとスワップパーティションが含まれますvghost
に論理ボリュームとして仮想マシンディスクを作成しますvghost
から比較的簡単に追加のスペースを割り当てることができますこの方法がうまくいくように見えるという事実を否定して、私はこれがどういうわけか悪い考えであるという気持ちを揺るがすことができません。私はそのように感じる:
md0
およびmd1
make 1を除いて、方法1と同じですmd1
VMホスト(たとえば、5〜10GB)を格納するのに十分な大きさ)md2
残りのスペースを占めています。 md2
にはLVMボリュームグループvgvms
が含まれ、その論理ボリュームは仮想マシンによって排他的に使用されますvgvms
をいじるvgvms
に移動する必要があります。非常に素晴らしい。更新#1:
方法2でVMホストのディスク容量が不足することを心配している理由の1つは、VMホストが十分に強力であるかどうかわからないためですすべてのサービスを仮想マシンで実行します。つまり、一部またはすべてのサービスを仮想マシンからホストOSに移行する必要がある場合があります。
更新#2:
方法1でシステムがホストVGをlibvirtストレージプールとして使用するように設計されていない可能性があると思う1つの理由は、virt-managerで気付いたいくつかの動作です。
よく考え抜かれた質問!
私は方法2で行きますが、それは個人的な好みのほうです。私にとって、方法2の短所はそれほど問題ではありません。ホストOSが5〜10 GBのパーティションを超えることはありません。ただし、ホストOSに余分なもののインストールを開始しない限り、本当にそうするべきではありません。簡素化とセキュリティのために、ホストOSは実際には最小限の最小限のインストールであり、管理に必要な最小限(sshdなど)以外は何も実行しないでください。
IMOの方法1の短所もそれほど問題ではありません。ルート化されたVMが何らかの理由でそのパーティションから抜け出し、他のパーティションに感染/損傷し、別のホストOSにホストOSを持っている場合)なので、余分なセキュリティリスクはないと思います。他の2つの短所は、直接の経験から話せるものではありませんが、CentOS、LVM、およびlibvirtは柔軟性があり、十分に堅牢であるため、心配する必要はありません。
編集-更新1への応答
最近では、仮想化のパフォーマンスへの影響は非常に低く、特にサポートが組み込まれているプロセッサーを使用しているため、サービスをゲストからホストOSに移動することは考えられませんVMあなたmight「ベアメタル」で実行すると10%の速度向上が得られますが、小さくてタイトで安全なホストOSを使用する利点が失われ、安定性に影響を与える可能性がありますサーバー全体の価値がありますIMO.
これを踏まえて、私はまだ方法2を支持します。
更新2への応答
Libvirtがストレージがレイアウトされていると想定する特定の方法は、方法2を支持するもう1つのポイントのようです。私の推奨は、方法2を使用することです。
一度に1つのシステムのみが特定のLVを読み取り/書き込みモードで使用しようとする限り、ホストとゲストに同じVGを使用することが可能です。複数のシステムが同じLVに書き込もうとすると、ファイルシステムが破損します。
あなたはこれを見て、おそらくいじくり回して、このプロジェクトがあなたが話していることをどのように実行するのかを見たいかもしれません。
ProxmoxVEはベアメタルですKVM RHELのより重いものではなく、libvirtのPerl実装を使用するホストです。両方のシナリオを実装します。
仮想ディスクは.rawとスパースで、.qcowに似ていますが高速です。
Qcowとvmdkのディスクイメージ形式もサポートされていますが、LVMの制限が関係している可能性があると思います。私はそれらを使用しないので、それについてはあまり言えません。
LVMストレージはノード上のVM間で共有され、DRBDデバイスにすることができます。
OSのVGスペースの共有に関しては、関係する唯一の制限はバックアップ中のスナップショットサイズです。ここで、この値は構成ファイルで変更できます。フォーラムで人が変更しなければならないこともありますが、デフォルトでは、巨大な仮想ディスクを使用していても、数年前からうまく機能しています。
http://pve.proxmox.com/wiki/Storage_Model#LVM_Groups_with_Network_Backing
メタデータタイプlvm2を使用してボリュームグループ「LDatastore1」が見つかりました
メタデータタイプlvm2を使用してボリュームグループ「LDatastore0」が見つかりました
メタデータタイプlvm2を使用してボリュームグループ「pve」が見つかりました
アクティブ '/ dev/LDatastore1/vm-9098-disk-1' [4.00 GB]継承
アクティブ '/ dev/LDatastore1/vm-7060-disk-1' [2.00 GB]継承
アクティブ '/ dev/LDatastore1/vm-5555-disk-1' [8.00 GB]継承
アクティブ '/ dev/LDatastore0/vm-4017-disk-1' [8.00 GB]継承
アクティブ '/ dev/LDatastore0/vm-4017-disk-2' [512.00 GB]継承
アクティブ '/ dev/LDatastore0/vm-7057-disk-1' [32.00 GB]継承
アクティブ '/ dev/LDatastore0/vm-7055-disk-1' [32.00 GB]継承
アクティブ '/ dev/LDatastore0/vm-6030-disk-1' [80.01 GB]継承
アクティブ '/ dev/pve/swap' [3.62 GB]継承
アクティブ '/ dev/pve/root' [7.25 GB]継承
アクティブ '/ dev/pve/data' [14.80 GB]継承
CPU BOGOMIPS:53199.93
正規表現/ 2番目:824835
HDサイズ:19.69 GB(/ dev/mapper/LDatastore0-testlv)
バッファ付き読み取り:315.17 MB /秒
平均シークタイム:7.18 ms
FSYNCS/SECOND:2439.31
CPU BOGOMIPS:53203.97
正規表現/ 2番目:825323
HDサイズ:7.14 GB(/ dev/mapper/pve-root)
バッファ付き読み取り:198.52 MB /秒
平均シークタイム:0.26 ms
FSYNCS/SECOND:1867.56