このスペイン語のProxmoxコースで、わかりやすい図解を提供してくれたASNetworkingに感謝します。第2章では、仮想化ホストの基本的な考え方を解説します。VMが物理マシンから何を借りるのか、リソース割り当てがどのように機能するのか、コンテナが異なる点、そしてQEMUとKVMが一緒に登場する理由を取り上げます。制作者による詳しい解説は元の動画をご覧ください。
読む前に視聴しましょう: この20分の概念解説は、ホームラボでProxmox VEの利用を検討しているものの、インストール前にその階層構造を理解したい方に役立ちます。図は、物理サーバーと複数のゲストから、シンプロビジョニングされたディスク、コンテナ、Linuxカーネル、QEMU、KVMへと進みます。一部の図には大型のエンタープライズマシンや説明用の容量が示されていますが、コンパクトサーバー向けのハードウェア仕様ではなく、学習用の例です。
重要なのは、ゲストに見えているものと、ホストが実際に利用できるものの違いです。VMには独自のCPUコア、RAM、ディスク、オペレーティングシステムがあるように見えますが、これらのリソースは最終的に同じ物理ホストから提供されます。Proxmox VEは、VMとLinuxコンテナの管理を1つのインターフェースにまとめています。この章では、パフォーマンスの測定やインストール完了までの手順ではなく、そのアーキテクチャを解説します。
1台の物理ホストで複数の独立したマシンを動かす
仮想化を使うと、1台のサーバーで複数のゲストOSを、それぞれ独立したVMとして実行できます。各ゲストは仮想ハードウェアを認識して独自のアプリケーションを実行し、ホストが基盤となるCPUをスケジュールし、物理メモリ、ストレージ、ネットワークを管理します。そのため、テスト用Linux VMと別のサービス用VMを、タスクごとに物理コンピューターを1台ずつ用意せずに共存させられます。
オーバーコミットには現実的なリソース予算が必要
ASNetworkingは、オーバーコミットについて紹介します。これは、すべてのゲストが同時にリソースを要求した場合にホストが供給できる量を超えて、ゲスト全体に仮想リソースを割り当てることです。ワークロードのピーク時間が異なる場合には合理的な方法です。ただし、ハードウェアが増えるわけではありません。同時に大きな負荷がかかると、CPU競合、メモリ不足、ストレージ速度の低下が発生する可能性があります。小規模なホームラボでは、まず実際に搭載している物理RAMとストレージを基準にし、ホスト用の余裕を確保して、別のゲストを追加する前に使用状況を確認しましょう。
シンプロビジョニングによってディスク容量の消費タイミングが変わる
仮想ディスクは、現時点で消費している物理容量よりも大きな論理容量を提示できます。動画の図では、1TBの物理ディスク上に、容量1TBの仮想ディスクが5台あり、それぞれが現在100GBを使用しています。実際の書き込みが物理ディスクに収まる間だけ、この構成は機能します。ゲスト全体が仮想ディスクを使い切ると、表示容量から想定されるよりもはるかに早くホストの空き容量がなくなる可能性があります。表示上の仮想容量だけを基準に計画せず、物理的な空き容量、ストレージ形式、スナップショット、バックアップを確認してください。
このエピソードでは、メモリ階層化についても触れています。RAMと低速なストレージは異なる役割を担います。使用頻度の低いデータを低速な階層へ移すことでメモリの圧迫を管理しやすくなりますが、ストレージがRAMと同じ速度になるわけではありません。特にメモリ容量が限られたホストでは、リソース節約機能をすべてトレードオフとして捉え、ワークロードに対して効果を確認しましょう。
ハイパーバイザーが管理するもの
ハイパーバイザーは、物理リソースとVMの間に位置します。動画のこの部分の図では、各VMが独自のワークロードを持ちながらも、1台のホストのCPU、RAM、ディスク、ネットワークに依存していることが強調されています。Proxmox VEは、Webインターフェースや設定・管理用サービスなど、これらのゲストを扱う管理ツールを提供します。そのアーキテクチャには、KVM仮想マシンとLXCコンテナが含まれます。
VMとコンテナでは分離の境界が異なる
VMにはゲストOSと仮想ハードウェアが含まれます。Linuxコンテナは、ホストのLinuxカーネルを共有しながら、アプリケーションとユーザー空間を分離します。そのため一般に、コンテナは完全なVMより軽量ですが、分離とOSのモデルは異なります。Windowsゲストや、独立したカーネルの恩恵を受けるワークロードにはVMが適しています。Linuxで動作するサービスなら、LXCコンテナに適している可能性があります。Proxmox LXCドキュメントでは、コンテナモデルについてさらに詳しく説明しています。
コンテナとVMを組み合わせることもできます。デプロイに適した境界であれば、VM内でコンテナランタイムを実行できます。動画の比較表には、ベアメタル、仮想化、コンテナ化、そしてVM内でコンテナを動かす構成が含まれています。サービスと、そのセキュリティ、互換性、保守要件に合わせて境界を選びましょう。コンテナは単に小型のVMというわけではありません。
Linux、QEMU、KVMの位置付け
Proxmox VEは管理インターフェースを備えたLinuxベースのプラットフォームです。各コンポーネントのコマンドをすべて覚えなくても、その役割は理解できます。制作者はまずProxmoxのダウンロードページを簡単に紹介し、その後、VMの下にある技術レイヤーを説明します。Web上のダウンロード画面では製品ファミリーが示されますが、仮想化モデルは続くQEMU/KVMの図でより直接的に説明されています。
KVMはLinuxカーネルに備わる仮想化機能で、対応するCPU仮想化拡張機能を利用します。QEMUは仮想マシンのプロセスと、エミュレートまたは準仮想化されたデバイスを提供します。QEMUとKVMを組み合わせることで、ハードウェアアクセラレーションを利用したVMを実行できます。これは、QEMUとKVMを2つの競合するハイパーバイザーと考えるのではなく、Proxmox内のラベルを読み解くうえで役立つ理解です。ProxmoxのQEMU/KVMガイドでは、VMの設定と機能について説明しています。
小規模なホームラボにモデルを適用する
動画では、ハイパーバイザーの市場シェアを示す図が短時間表示されます。その割合はホームラボのプラットフォームを選ぶうえで必要ではなく、独自に検証された市場データとして扱うべきでもありません。より役立つ判断は具体的なものです。完全なゲストOSが必要なワークロードはどれか、Linuxカーネルを共有できるものはどれか、そして実際のRAMとディスクの予算内にいくつ収まるかを考えましょう。
ZimaBoard 2ミニホームサーバーのようなコンパクトホストでは、まず控えめなサービスを1つか2つ割り当て、実際のモデルのCPU、メモリ、起動メディア、接続ストレージを確認し、実際の使用状況を観察してから拡張しましょう。これはこのレッスンのリソースモデルを適用したものであり、動画がZimaBoard 2のベンチマークを実施したり、特定のVM数を検証したりしたという意味ではありません。バックアップはシンプロビジョニングされた仮想ディスクとは別に保管してください。
これらのレイヤーが明確になったら、次の章では実際のインストールに関する選択に進めます。最初のホストを構築する前に、RAM、ストレージ形式、ネットワークインターフェースの固定について解説するASNetworkingのインストール章をご覧ください。
Zimaキャンペーンハブ
もっと読む

Rez TechがZimaBoard 2で自分専用のパーソナルクラウドを構築する方法
Rez Techは、ZimaBoard 2、2台のローカルドライブ、RAID 1、ZimaOSを使ってパーソナルクラウドを構築し、ファイルアクセス、4K HDRメディア、コンパクトなNAS構成をテストします。

Silicon SteakがZimaBoard 2でホームラボを小型化
Silicon Steakは、ZimaBoard 2がはるかに大型のホームラボマシンの代替となるかを検証し、ストレージ、メディア再生、Minecraft、Pi-hole、セルフホストアプリ、ZimaOSの管理をテストしています。

Smart LifeがZimaBoard 2でプライベートクラウドを構築する方法
Smart LifeはZimaBoard 2を、スマートフォンの写真や動画を保存する家庭用の拠点に変えます。ハードウェアの組み立て、ZimaOSのストレージ設定、スマートフォンの接続、自動バックアップのオプションを紹介します。

