Proxmox VE〜OSSの仮想化プラットフォーム〜
2023年11月、米国のBroadcom社がVMware社を買収した影響で、VMware製品の価格高騰やサポート内容の変更がありました。これにより、オープンソースの仮想基盤が注目されています。オープンソースの仮想基盤を利用することで、ライセンス料金の変動を気にすることなく仮想基盤の利用が可能です。ここでは、オープンソース仮想化プラットフォームProxmox VEを紹介します。
- +
目次
Proxmox VEとは
Proxmox VE(Proxmox Virtual Environment)とは、オープンソースソフトウェアの仮想化プラットフォームです。Proxmox VEは、Proxmox VE Server Solutions GmbHから提供されており、ライセンスはAGPL 3.0で公開されています。DebianベースのLinuxディストリビューションに、KVM(Kernel-based Virtual Machine:カーネルベースの仮想マシン)とLXC(Linux Containers:コンテナ型仮想化技術)の2つの仮想化技術が統合されており、VM(仮想マシン)とコンテナの両方をサポートしています。
Proxmox VEの特徴
Proxmox VEの特徴は以下になります。
インストールが容易
Proxmox VEは、アプライアンスとして提供されています。そのため、ISOイメージから物理マシンにProxmox VEをインストールするだけで、簡単に仮想環境の利用が可能です。コマンドを入力することなく、グラフィカルなインタフェースでインストールを行うことができ、ネットワークやディスクの設定など基本的な内容をWEBインターフェースから設定することで使用が可能です。
WEB UIからの操作が可能
Proxmox VEは、WEB UIから仮想サーバの設定を行うことが可能です。Proxmox VEやDebianのリポジトリの作成・追加・削除など仮想マシンの管理や、後述するCephの初期設定などもWEB UIから行うことができます。
仮想マシンとコンテナの統合管理が可能
Proxmox VEは、仮想マシンだけではなくLXC(Linux Containers)コンテナを管理することも可能です。コンテナで有名なDockerコンテナが、どちらかといえば単一アプリをコンテナで動作させることに重点を置いているのに対し、LXCは、複数のアプリケーション、つまりユーザランドで動く複数のプロセスを、1つのコンテナで組み合わせて動作させることができるコンテナ技術です。コンテナ技術は仮想化とは異なり、ハードウェアのエミュレーションが必要ないことや、OSの根幹となるカーネルの動作をコンテナの基盤に頼ることができるため、仮想化と比較し省リソースという利点があります。LXCは、コンテナを仮想マシンのように扱うことができるため、Proxmox VEと親和性が高いものとなっています。
VMware ESXiから仮想マシンの移行が可能
Proxmox VEでは、仮想基盤で有名な製品であるVMware ESXiからの仮想マシンの移行が可能です。そのため、既存の仮想環境をそのまま移行することができます。コマンドラインでのディスクインポートと、ストレージとしてESXiを追加して移動する方法の2種類が用意されています。
またProxmox VEでは、作成済みの仮想マシンをテンプレートとして維持することができます。テンプレート化することで、テンプレートをクローンして新しい仮想マシンを作ることが可能です。OSインストールや初期設定の手間を省くために利用できます。
Cephを利用したハイパーコンバージド(HCI)構成が可能
Proxmox VEは、WEB UIから分散ストレージのCephを管理することができます。Cephは、エクサバイト(=10億ギガバイト)という非常に大きな規模までスケールアウトすることを想定した拡張性と、データを複数ノードに複製することによる耐障害性に優れた、オープンソースの分散ストレージソフトウェアです。用途に応じ、オブジェクト単位(RADOS GW)だけでなく、ブロック単位(RBD)、ファイル単位(Ceph FS)でアクセスが可能となっています。Proxmox VE自体にCephストレージクラスタを管理する仕組みが存在するため、比較的手軽に導入することが可能です。そのため、Proxmox VEとCephを1台のハードウェアに同居させて、複数台並べていくハイパーコンバージド(HCI)構成を取ることができます。
複数の種類のストレージを利用できる
Proxmox VEでは、上記のCephだけでなく、いくつかの種類のストレージを選択することができます。仮想マシーンのイメージを、複数のローカルストレージや、NFS(Network File System)やCIFS(Common Internet File System)などの共有ストレージに保存することが可能です。ストレージは大きく2 種類に分けられており、それぞれ特性があります。
- ファイルレベルストレージ
POSIX(Portable Operating System Interface)ファイルシステムとして動作するストレージで、種類により特性が異なります。ブロックレベルストレージよりも柔軟性が高いのが特徴です。
- ブロックレベルストレージ
大きな仮想マシンの生のデータを保存するストレージで、ISOイメージやバックアップの保存はできません。最新のブロックレベルストレージでは、スナップショットやクローンがサポートされています。
以下が、対応しているストレージを比較した一覧です。
ZFS(ローカル) | ローカルディレクトリ | NFS | |
---|---|---|---|
タイプ | ファイル・ブロック | ファイル | ファイル |
データの共有 | × | × | ○ |
スナップショット | ○ | × | × |
用途 |
|
|
|
CIFS | GlusterFS | Ceph(RBD) | |
---|---|---|---|
タイプ | ファイル | ファイル | ブロック |
データの共有 | ○ | ○ | ○ |
スナップショット | × | × | ○ |
用途 |
|
|
|
Ceph(Ceph FS) | iSCSI | ESXi | |
---|---|---|---|
タイプ | ファイル | ブロック | 特殊 |
データの共有 | ○ | ○ | - |
スナップショット | ○ | × | - |
用途 |
|
直接利用できず、LVM等でファイルシステムを別途構成する必要がある | ESXiからの仮想マシンディスクの移行用 |
Proxmox VEは様々なストレージが利用できますが、中でもCephは広く機能をカバーしています。また前述の通り、Proxmox VE自体にCephストレージクラスタを管理する仕組みが存在するため、比較的手軽に導入することが可能です。
容易にクラスタリングが可能
Proxmox VEは、複数台でのクラスタリング機能が存在します。クラスタリングもWEB UIから行うことが可能です。クラスタリングを行うことで以下の機能が利用可能になります。
- 複数ホストの仮想マシンの管理
複数台の仮想マシンを、WEB UIで同じように管理することが可能です。
- 仮想マシンのライブマイグレーション
ライブマイグレーションを行うと、仮想マシンを起動したまま、OSやアプリケーションを停止させることなく、別のホストに移動することができます。
- 仮想マシンのHA
Proxmox VE をクラスタ構成+共有ストレージで運用している場合、HA(High Availability)の設定が可能です。仮想マシンを稼働させているホストが停止した場合に、自動的に違うホストで起動し直すことができます。この場合、ストレージの共有が必要になります。
クラスタリングの注意点
Proxmox VEでは、簡単にクラスタリングが可能ですが、以下のような注意点があります。
3台以上の奇数での構成を推奨
Proxmox VEは、Corosyncを用いて内部的に代表となるホストを選出しています。このため、3台以上の奇数台でのホスト構成が必要です。つまり、3 台・5 台・7 台と数を増やす必要があります。偶数台での構成も可能ですが、その場合、Corosync Quorum Device(QDevice)と呼ばれる別の投票の仕組みを用意する必要があるため、奇数台での構成が推奨されています。
共有ストレージが必須
Proxmox VEクラスタは、各サーバの内部にデータを保存するローカルストレージの形式でも作ることができます。しかし、ローカルストレージでは、仮想マシンの移動やHAの機能が利用できません。クラスタの機能を有効活用するためには、CephストレージやNFSなどの共有ストレージが必要になります。
WEB UI上でホストの削除ができない
クラスタリングを行ったホストは、WEB UIから削除することはできません。削除する際は、コマンドラインでの操作が必要となります。
SSHサーバの重要性
Proxmox VEは、デフォルトの状態でSSHサーバが動作してログインできるようになっています。これは、ユーザがログインして管理する目的の他に、Proxmox VEクラスタの仮想マシンのライブマイグレーションなどの一部として利用されています。このため、不用意にSSHサーバの設定や、ファイアウォールの設定を変更すると、Proxmox VEクラスタの挙動に悪影響を与える可能性があるため注意が必要です。
仮想基盤のソフトウェアの機能 比較表
ここでは仮想基盤のソフトウェアとして、有名な製品のVMware ESXi、OSSのProxmox VE、そして同じくOSSのoVirtの3つを取り上げ、機能を比較します。
機能 | VMware vSphere | Proxmox VE | oVirt |
---|---|---|---|
仮想マシンのコンソール | |||
- 専用ソフト | ◯ | × | × |
- Web | ◯ | ◯ | ◯ |
- SPICE | × | ◯ | ◯ |
- VNC | × | × | ◯ |
- RDP Client | × | × | ◯ |
- シリアルコンソール接続(管理サーバのSSH経由) | × | ◯ | ◯ |
管理ウェブUI | ◯ | ○ | ○ |
ハイパーバイザー | VMware ESXi | KVM | KVM |
コンテナ管理 | |||
- LXDコンテナの管理 | × | ○ | × |
仮想マシンの操作 | |||
- 作成 | ◯ | ◯ | ◯ |
- 削除 | ○ | ○ | ◯ |
- クローン | ○ | ○ | ◯ |
- メモリサイズ変更 | ○ | ○ | ◯ |
- 仮想CPU数変更 | ○ | ○ | ◯ |
- エクスポート | ○ | △ 制限あり |
○ |
- テンプレートの作成 | ○ | ○ | ○ |
- テンプレートからの作成 | ○ | ○ | ○ |
- スケジュールバックアップ | × | ○ | × |
ゲストエージェント | ○ | ○ | ○ |
マイグレーション | |||
- ライブマイグレーション | ○ | ○ | ○ |
- ストレージマイグレーション | ○ | ○ | ○ |
HA | |||
- 他ホストで仮想マシンを再起動 | ○ | ○ | ○ |
フォルトトレランス | |||
- ダウンタイムなしで仮想マシンを継続 | ○ | × | × |
セキュリティ | |||
- アンチウィルス/アンチマルウェア | ○ | × | × |
- 階層的なfirewall | △ | ○ | × |
管理サーバ | |||
- HA構成 | ○ | - | ○ |
- バックアップ/リストア | ○ | - | ○ |
- アプライアンス提供 | ○ | - | ○ |
Proxmox VEの懸念点
Proxmox VEは非常に便利ですが、利用にあたって注意点もあります。
OSのライフサイクルの短さ
Debianベースで開発されていることから、およそ3年周期でメジャーバージョンが変化します。これに合わせ、3年周期でのアップデートをしていく必要があり、運用面で考えると手間もかかります。そのため、このアップデート作業をどのように実施していくかということを検討して導入する必要があります。
トラブルシューティングが難しい
簡単に操作できるように内部的な複雑な部分がラッピングされているため、一旦トラブルが起きた場合のトラブルシューティングが難しくなるという側面もあります。ただ、これはProxmox VEだけの問題ではなく、仮想システムやコンテナ管理のシステム全体に同様のことが言えます。自社内でトラブルシューティングが難しい場合は、構築ベンダーに保守を依頼するなどの対策が必要になります。
デージーネットの取り組み
デージーネットでは、Proxmox VEの課題とされているOSサイクルの短さやトラブルシューティングの問題についての改善方法を検討しています。また、今回紹介したProxmox VEの他に、オープンソースのoVirtも仮想基盤のソフトウェアとして提供しています。これらを利用してオープンソースを利用した仮想基盤の構築・保守を行っています。複数の仮想基盤のソフトウェアを機能面や用途などで比較をし、利用面やサポート面など、お客様のご要望に応じて最適なソフトウェアをご提案します。Proxmox VEの詳しい内容は、調査報告書に掲載しています。
システムの導入後は、安心してお使い頂くための保守サポートやメンテナンスのサービスなどを提供しています。弊社の保守サポートでは、OSSやソフトウェアの利用方法に関するQ&Aの受け付けや、障害発生時の障害調査、ソフトウェアの脆弱性などのセキュリティ情報の提供等を保守プランに合わせて行ています。お客様が日常運用をしていく中で、安心してシステムを利用していただくために、システム管理者の業務をサポートします。
「情報の一覧」
Proxmox VE調査報告書
Proxmox VEとは、Debian Linux/KVM/libvirtd を中核とする、仮想化のプラットフォームです。本書は、主な機能や操作方法について等、調査した内容をまとめたものです。
oVirt〜VMwareに代わる仮想環境のOSS〜
oVirtとは、仮想環境を統合的に管理するためのOSSです。oVirtでは、KVMをハイパーバイザーとして利用し、複数サーバを使用した仮想環境や障害発生に備えたシステムを仮想環境に構築し、管理することができます。
サーバ仮想化とは?仮想基盤で使えるソフトウェアまとめ
仮想化とは何かの説明とともに、利用におすすめのソフトウェアを4つのカテゴリに分け、それぞれの機能や特徴を解説しながらご紹介します。各OSSとVMware製品との比較表も掲載しています。