【Proxmox VE 実践編】最初の仮想マシン(VM)作成ガイド:各設定項目の考え方を徹底解説
【Proxmox VE 実践編】最初の仮想マシン(VM)作成ガイド:各設定項目の考え方を徹底解説
前回の記事では、Proxmox VEのDatacenterやStorageといった、管理画面の基本的な概念について解説しました。
今回はその知識を元に、いよいよProxmox VEの最も中核的な機能である仮想マシン(VM)の作成を行います。
この記事では、どんなVMを作成する場合にも通用する設定の考え方を、具体例としてUbuntu Server 22.04 LTSを使いながら解説していきます。
1. VM作成の開始とOSイメージの準備
まず、PVEの管理画面右上の「VMを作成」ボタンをクリックして、作成ウィザードを開始します。
全般タブ:VMのIDと名前を決める
ウィザードの最初のタブでは、作成するVMの基本的な情報を設定します。
-
VM ID: Proxmox VEがVMを管理するための一意の番号です。後から変更できないため、分かりやすい番号をつけましょう。一般的に
100
番から利用されます。 -
名前: 管理画面に表示される、人間が分かりやすい名前です。
ubuntu-server-01
のように、役割がわかる名前をつけると便利です。 -
リソースプール: 複数のVMやコンテナを「グループ」としてまとめるための機能です。例えば「開発チーム用」「検証チーム用」のようにVMをグループ分けし、そのグループに対してまとめて権限を設定する、といった高度な管理が可能になります。
個人利用や小規模な環境では、特に設定する必要はありません。空欄のままで問題ありません。
補足:リソースプールとクラスター構造の違い
ここで「クラスターと何が違うの?」と疑問に思うかもしれません。この2つは管理する対象が異なります。
- クラスター/ノード: **サーバー(親機)**を管理するための物理的・論理的な構造です。「会社」の中に「部署(クラスター)」があり、「社員(ノード)」が所属するイメージです。
- リソースプール: **VMやコンテナ(子機)**を管理するための、完全に論理的なグループです。部署をまたいで結成される「プロジェクトチーム」のように、どの社員(ノード)が担当する仕事(VM)であっても、同じチームとしてまとめることができます。
主に、この「プロジェクトチーム」単位でユーザー権限を割り当てるために使われます。
OSタブ:インストールメディアの選択
最初にOSタブが表示されます。ここで、VMにインストールするOSのISOイメージファイルを選択します。
-
ISOイメージ: 事前に
local
ストレージなどにアップロードしておいたOSのインストールメディアを選択します。 -
ゲストOS: インストールするOSの大まかな種類を、ユーザーがPVEに教えるための項目です。ここでの選択は、PVEが内部設定を最適化するためのヒントとして利用されます。
Linuxを選択した場合、カーネルバージョンを選ぶ項目が表示されます。もし判断に迷う場合は、インストールしたいOSの公式サイトで「リリースノート」を確認し、カーネルバージョンが範囲内にあるかを確認すると確実です。とはいえ、モダンなLinuxディストリビューションであれば、既定の「Linux (6.x - 2.6 Kernel)」が広範囲をカバーしているため、まず問題ありません。
2. システムとディスク:VMの土台を作る
次に、VMの基礎となるハードウェアの世代や、データを保存するディスクを設定します。ここでの選択がVMの性能と安定性を大きく左右します。
システムタブ:仮想マザーボードと起動方式
-
マシン (
Machine
): 仮想的なマザーボードの種類です。原則としてq35
を選択します。
根拠:q35
はPCI Expressベースのモダンな規格であり、ディスクI/Oなどの性能が向上します。また、将来的にGPUパススルーなどの高度な機能を利用する際の前提条件にもなります。古いOSを動かすなどの特殊な理由がなければ、i440fx
を選ぶメリットはありません。 -
ファームウェア (
Firmware
): OSの起動方式です。原則としてOVMF (UEFI)
を選択します。
根拠: UEFIは現在のPCやサーバーで標準の起動方式であり、従来のBIOSより高速に起動します。Windows 11などUEFIが必須のOSも増えており、モダンなOSの能力を最大限に引き出すための標準的な選択です。 -
QEMUエージェント (
QEMU Agent
): PVEホストとVMが連携するための連絡ツールです。**必ず有効(チェックを入れる)**にしましょう。
根拠: これを有効にしないと、PVEからVMをシャットダウンする操作が「電源ブチ切り」と同じになり、データ破損の原因となります。有効にすることで、OSの正規の手順で安全にシャットダウンできるようになり、IPアドレスの表示など管理上のメリットも非常に大きいため、VM作成時の必須項目と考えるべきです。
ディスクタブ:仮想ハードディスク
-
バスデバイス (
Bus/Device
): CPUとディスクを繋ぐデータの通り道です。原則としてVirtIO Block
を選択します。
根拠:VirtIO
は仮想化専用に作られた超高性能な規格です。物理的なSATAやSCSIを模倣(エミュレーション)するよりも遥かにオーバーヘッドが少なく、ディスクの読み書き速度が劇的に向上します。モダンなOSであれば、ほぼ全てがVirtIO
ドライバを標準で内蔵しています。 -
ストレージ (
Storage
): VMのディスクを置く場所です。原則としてlocal-lvm
のようなブロックストレージを選択します。
根拠: VMのOSが動作するには、細かく頻繁な読み書きに強いブロックストレージが最適です。 -
IO thread: ディスクI/Oを専用スレッドに任せる機能です。**有効(チェックを入れる)**のがおすすめです。
根拠: ディスクへのアクセスが集中しても、VMのメインCPUの処理が妨げられにくくなり、アプリケーション全体の応答性が向上します。
3. CPUとメモリ:VMのパワーを決める
VMにどれくらいの計算能力と作業スペースを与えるかを設定します。
CPUタブ:頭脳の数
ここではVMに搭載する仮想的なCPUの数を設定しますが、「ソケット」と「コア」という2つの単位が登場します。まずはこの違いを物理的なコンピュータで理解しましょう。
そもそもソケットとコアとは?
- ソケット (Socket): マザーボード上にある、CPUチップを物理的に差し込む**「差込口」**のことです。一般的なPCのマザーボードには1つ、高性能なサーバー用には2つ以上のソケットが搭載されていることがあります。
- コア (Core): 1つのCPUチップの中に内蔵されている、計算処理を行う**「頭脳」**のことです。現在のCPUは、1つのチップ内に複数のコアを持つ「マルチコアプロセッサ」が主流です。
つまり、「1ソケット・4コア」は「1つの差込口に、頭脳が4個入ったCPUを1つ挿す」構成を意味します。対して「2ソケット・2コア」は「2つの差込口に、それぞれ頭脳が2個入ったCPUを2つ挿す」構成となり、合計の頭脳(コア)数は同じ4つです。
Proxmox VEでの考え方
-
ソケットとコア: 「ソケット」は
1
に固定し、「コア」数で合計のCPUパワーを調整するのが基本です。
根拠: パフォーマンス上の差はほぼありませんが、一部の商用ソフトウェアのライセンス問題(ソケット数課金)を確実に回避でき、設定がシンプルになります。今回の例では合計2コアとしています。 -
種別 (
Type
): VMにどのような種類のCPUとして見せるかを決めます。**単一サーバーでの運用ならhost
**がおすすめです。
根拠:host
を選択すると、物理CPUの機能を最大限VMに渡すことができ、暗号化処理や動画エンコードなどで大幅な性能向上が期待できます。(クラスター環境でライブマイグレーションを多用する場合は、互換性のあるx86-64-vX
などを選択します)
メモリタブ:作業スペースの広さ
-
メモリ (
Memory
): VMに割り当てるRAMの容量です。これはVMの役割(ワークロード)に応じて決定します。
根拠: OSの最小要件はあくまで起動できる最低ラインです。実際にサービスを動かすには、OS自体とアプリケーションが使用するメモリが必要なため、余裕を持たせることでパフォーマンスが安定します。今回のUbuntu Serverの例では、一般的な用途を想定し、4096
MiB (4GiB)以上を推奨します。 -
最小メモリ (
Minimum memory
): 原則として、「メモリ」と同じ値を入力します。
根拠: これにより、VMは常に指定されたメモリ量を確保し、安定したパフォーマンスを維持できます。複雑なメモリ管理を意識する必要がなく、最もシンプルな設定です。
補足:Proxmox VEの賢いメモリ管理術「メモリバルーニング」
実は、「メモリ」と「最小メモリ」の値を分けることで、より高度なメモリ管理が可能になります。これはメモリバルーニングと呼ばれる機能です。
- メモリ: このVMに最大限割り当てるメモリ量(上限)。
- 最小メモリ: このVMが最低限確保し続けるメモリ量(下限)。
例えば、メモリを4096
、最小メモリを1024
と設定した場合、VMは通常時4096MiBまでメモリを使えますが、ホストOS側でメモリが不足してきた際には、PVEはVMのメモリを**最低1024MiBまで自動的に縮小(返却)**させ、リソースを有効活用できます。
ただし、この機能はメモリ使用量が頻繁に変動するVMが多数ある環境で効果を発揮するものです。まずは上限と下限を同じ値で固定し、安定運用を目指すのがおすすめです。
4. ネットワーク:外部との接続
最後に、VMが外部と通信するためのネットワークを設定します。
ネットワークタブ:仮想NIC
-
ブリッジ (
Bridge
): VMの仮想NICをどの物理ネットワークに接続するかを指定します。通常は**vmbr0
**を選択します。
根拠:vmbr0
はPVEホストの物理LANポートに接続された標準の仮想スイッチです。これを選ぶことで、VMはルーターや他のPCと同じネットワークに直接参加できます。 -
モデル (
Model
): 仮想NICの種類です。原則としてVirtIO (準仮想化)
を選択します。
根拠: ディスクのVirtIO Block
と同様に、仮想化専用の超高性能規格です。ネットワークの通信速度(スループット)が向上し、遅延(レイテンシ)も減少します。
まとめ
以上でVMのハードウェア定義は完了です。「確認」タブで設定内容に間違いがないかを確認し、「完了」ボタンを押せばVMが作成されます。
作成が完了したら、左のツリーに表示された新しいVMを選択し、「コンソール」を開いてOSのインストールを開始しましょう。
Discussion