Proxmox VEとは?VM・LXC・Dockerの違いを初心者向けに解説

Proxmox VE上でUbuntu ServerやHome Assistantなど複数環境を分けて動かすイメージ Proxmox・Docker

自宅サーバーを調べていると、Dockerと並んで「Proxmox」という名前を見かけることがあります。

「DockerがあればProxmoxはいらない?」「VMとLXCは何が違う?」「Ubuntu Serverへ直接入れるのと何が変わる?」――最初は、このあたりがかなり分かりにくいところです。

おうちラボではこれまでUbuntu ServerへDockerを導入し、Nginxを動かし、バックアップと監視・通知まで作ってきました。ここからは少し視点を広げ、1台の物理PCの中に複数のサーバー環境を作れるProxmox VEを見ていきます。

この記事ではまだインストールしません。まずProxmox VE、VM、LXC、Dockerの役割を整理し、自分の用途に必要かどうか判断できる状態を目指します。

Proxmox VEとは?

Proxmox VE(Proxmox Virtual Environment)は、1台の物理マシン上で仮想マシン(VM)やLXCコンテナを作成・管理できるオープンソースの仮想化プラットフォームです。

Webブラウザから管理画面を開き、VM、LXC、ストレージ、ネットワークなどをまとめて管理できます。

1台の物理PC上のProxmox VEでUbuntu Server VM、Home Assistant VM、Windows VM、Linux LXCを分けて動かす構成図
1台のPCでも、Proxmox VEの上に用途ごとの環境を分けて載せられます。

例えば1台のミニPCの中を「Ubuntu Server用」「Home Assistant用」「Windows検証用」のように分けて使えます。Ubuntu Server VMの中でさらにDockerを使う構成も可能です。

Ubuntu Serverを直接入れる場合との違い

これまでのおうちラボでは、物理PCへUbuntu Serverを直接インストールし、その上でDockerを動かしてきました。

物理PC → Ubuntu Server → Docker → アプリ

これはシンプルで、Dockerを学びたい場合や1台を1用途で使う場合に分かりやすい構成です。

Proxmox VEを使う場合は、例えば次のようになります。

物理PC → Proxmox VE → Ubuntu Server VM → Docker → アプリ

さらに同じProxmox上へHome Assistant OSや検証用Linuxなど、別の環境を追加できます。

VMとは?

VMはVirtual Machine、つまり「仮想マシン」です。仮想的なPCを作り、その中へUbuntuやWindowsなどのOSをインストールします。

例えばProxmox上に「Ubuntu Server VM」「Home Assistant VM」「Windows VM」を別々に作れば、それぞれを独立したコンピューターに近い感覚で管理できます。

VMはゲストOSを丸ごと持つため比較的メモリやストレージを使いますが、環境同士を明確に分けたいときに分かりやすい方法です。

LXCとは?

LXCはLinuxコンテナの仕組みです。VMのように仮想PCを丸ごと作るのではなく、ホスト側のLinuxカーネルを共有しながらLinux環境を分離します。

そのため一般にVMより軽量で、小さなLinuxサービスを分けて動かす用途に向いています。

ただし「軽いから何でもLXCに入れる」と考える必要はありません。初心者のうちは、OSごと明確に分けたい環境はVMから始めても十分です。

Dockerとは何が違う?

VM、LXC、Dockerの動かす単位、OS、軽さ、分離、用途を比較した図
VM・LXC・Dockerは競合するものではなく、役割と分離の単位が違います。

ProxmoxとDockerは、基本的にどちらか一方を選ぶ競合関係ではありません。

Proxmox VEはサーバーやOSの環境を分けるための基盤、Dockerはアプリをコンテナとして配布・実行する仕組みです。

そのため、Proxmox上のUbuntu Server VMでDockerを動かす構成も自然です。

  • Proxmox VE:仮想化基盤
  • VM:仮想PC
  • LXC:軽量なLinux環境
  • Docker:アプリ実行環境

Proxmox VEを使うメリット

1台のPCを複数用途に分けられる

1台しかサーバーPCがなくても、Docker用Ubuntu、Home Assistant、検証用Linuxなどを分けて運用できます。

検証環境を作りやすい

普段使うサーバーへ直接変更する前に、別VMで試す環境を用意できます。「確認してから変更する」という運用と相性が良い方法です。

サービス同士を分離できる

すべてを1つのOSへ詰め込むより、役割ごとに環境を分けやすくなります。1つのVMに問題が起きても、別VMまで同じOSとして巻き込まない構成を作れます。

Web画面からまとめて管理できる

VMやLXCの起動・停止、コンソール、ストレージなどをWeb管理画面から確認できます。

Proxmoxを使わない方がシンプルな場合もある

すべての自宅サーバーにProxmoxが必要なわけではありません。

Ubuntu Serverだけで運用する場合とProxmox VEを使う場合の選び方
用途が1つならシンプルに。複数環境を分けたくなったらProxmox VEが候補です。

Dockerだけを勉強したい、Nginxなど1つの用途だけで使いたい、構成をできるだけ簡単にしたい場合は、Ubuntu Serverへ直接Dockerを入れるだけでも十分です。

Proxmox VEは「高機能だから入れる」のではなく、1台のPCで複数の独立した環境を管理したくなったときに使うと考えると分かりやすいでしょう。

初心者なら最初はVM中心で考えてよい

Proxmoxを調べると、ZFS、クラスタ、Ceph、HA、PCIパススルー、SDNなど難しい言葉が一気に増えます。しかし最初から全部覚える必要はありません。

家庭内の1台構成なら、まずは「Proxmoxを入れる」「Web管理画面へ入る」「Ubuntu Server VMを1台作る」「起動と停止を確認する」くらいで十分です。

インストール前に知っておきたいこと

既存データが入ったディスクへ、そのままインストールしないでください。

Proxmox VEのISOインストーラーを使う場合、選択したインストール先ディスクはProxmox用として初期化されます。次回は作業前に対象ディスクを確認します。

また、VMを動かすためCPUの仮想化支援機能が利用できるか、メモリやSSD容量に余裕があるか、有線LANを使えるかなども確認しておくと安心です。

まとめ

Proxmox VEは、1台のPCを複数のサーバー環境へ分けて使うための仮想化プラットフォームです。

大切なのは、ProxmoxとDockerは同じ役割ではないという点です。

「Proxmox VE → Ubuntu Server VM → Docker → アプリ」という組み合わせもできます。用途が1つならUbuntu Serverだけでシンプルに始め、複数環境を分けたくなったときにProxmoxを選ぶ考え方でも問題ありません。

次回は、Proxmox VEをインストールする前に確認したいCPU・メモリ・SSD・ネットワーク・BIOS/UEFI設定を整理し、既存データを消さないための準備を進めます。

コメント

タイトルとURLをコピーしました