Proxmox-VE(仮想環境)は、弊社で取り扱いのProxmox MailGateway(アンチスパム製品)の開発会社Proxmox Server Solutions GmbH.で開発されたOSレベルの仮想化技術を用いた仮想環境インターフェイス(無償、サポートは有償)です。
VMWare等ハイパーバイザー(サーバの全ハードウエアを仮想化)型とは異なり、Linuxカーネルレイヤーのみの仮想環境を共有させて、ハードウエア・ソフトウエアの利用効率を最大限にするエコ環境を構築する事ができます。
Linuxのみで多数の仮想サーバ環境を構築する場合には、その効率の良さが注目されています。
◎Proxmox-VEでは更に、KVMモジュールをロードする(CPUがIntel VT / AMD-V (仮想化支援機能を搭載)事によってKernel-based Virtual MachineとしてLinuxカーネルにハイパーバイザ機能を追加する事もでき、OpenVZ(コンテナ)型VMに加え、KVMによる全仮想化VMも併用して構築できる特徴があります。
◎Proxmox-VEに関しての詳細/ダウンロードはこちらをご参照下さい。
Proxmox-VEインストールメモ
Proxmox-VEは商用製品ではありませんが、弊社扱いのProxmox-mailGatewayアンチスパム製品を用いた1台の仮想環境サーバを構築し、Proxmox-VE[Proxmox MailGW-->MTA(+POPサーバ)]を構成してみる。通常はProxmox-mailGatewayと終段MTA(popサーバ)で少なくとも2台のサーバが必要。
1、Proxmox-VE用のベースサーバ(64Bitマシン)を準備
2、Proxmox-VEをダウンロードし、Proxmox-VEをインストール(20~30分で簡単に構築できる)
3、インストール後、左側のメニューのVM Managerから、Appliance Templates>Downloadより今回はMTAとしてCentOS5のテンプレート(OpenVZコンテナ)をダウンロード。
4、VM Managerから、Virtual Machines>Createで先ほどダウンロードしてTemplete内にCentOS5のモジュールを選択、タイプを「OpenVZ」としておき、その他の入力項目(IPアドレス、ホスト名など)を記述後createリンクをクリックします。
5、次にこのCentoS5に割り当てたIPアドレスを用いてSSHで先ずログインし、yum installでMTAとしてPostfixとDovecot-Popサーバをインストールしておきます。chkconfigにて立ち上がり時に自動起動するように設定。
Proxmox-VEの管理画面よりダウンロードできるテンプレート;

6、次にProxmox MailGatewayを組み込みますが、これは上記のテンプレートでは最新ではないので、Proxmoxダウンロードページより、Proxmox Mail gateway v2.4-OpenVZ templeteをダウンロードします。
7、メニューのVM ManagerよりAppliance Templates>ローカルページにてダウンロードしたものをuploadします。
8、項目3と同様にProxmox mailGateway2.4を仮想マシンとしてCreateする。(起動は左の下矢印より)以下のListとなります。

9、proxmox MailGatewayの設定は管理画面GUIにて、CentOSにおけるMTA(Postfix)とDovecoteは設定ファイルを直接設定、ユーザアカウントなどはWebminを組み込んでいます。
10、FW等を変更しインターネット-->Proxmox-VE(MailGatewayアンチスパム)--->Proxmox-VE(Postfix)へとメールが流れる事を確認します。
Proxmox-VEバックアップ機能
仮想マシンにおけるバックアップは大変重要な機能です。Proxmox-VEにおいてもバックアップ機能(定期バックアップ)が装備されています。
1、先ずバックアップ先を決める。

ISCSI-target、NFS-共有、LVMグループ、Directory(ローカルHD)よりバックアップ先を選択。今回はテストなので自サーバーのローカルディスクディレクトリを使用。
2、Add DirectoryよりStrage名、ディレクトリー名(今回/local1とする)、EnableをON、Content(バックアップ方式)をVZDumpバックアップとしておく。
3、メニューの設定からバックアップをクリック。Create new jobより

上図のようにスケジュールバックアップの設定を行う。Include all VMsを選択しておくと、全ての仮想サーバのバックアップが取れます。
Mode(バックアップモード)はsnapshot(バックアップ中Proxmox-VEの停止はない)、Suspend(OpenVZを最小限のダウンタイム、KVM仮想サーバは長時間ダウンタイムあり)、stop(VEバックアップ中は停止、長時間のダウンタイム)の3種より選択。今回snapshotを選択。
4、設定完了。これでスケジュールバックアップができます。

◎障害時におけるバックアップデータの復旧。
バックアップ情報は指定されたバックアップ位置に;
vzdump-openvz-101-2010_01_04-08_20_01.tgz(OpenVZコンテナ)
vzdump-qemu-103-2010_01_04-08_22_24.tgz(KVM VM)としてバックアップされています。
この例の101や103はVMID(バーチャルマシンID)と呼ばれるもので、リストアするときにまた使用します。
1、Proxmox-VEを最初より構築(これは簡単)して、これらのバックアップをリストアします。
2、OpenVZコンテナの場合(バックアップDir位置よりtar形式に展開後):
# vzrestore vzdump-openvz-101-2010_01_04-08_20_01.tar 101
でリストアされます。
3、KVMの場合は
# qmrestore vzdump-qemu-103-2010_01_04-08_22_24.tar 103
となります。
◎Proxmox-VEのGUIにはこのリストアコマンドのボタンなどがないので、SShログイン後上記のコマンドを実行することになります。
但し、コマンド1回の投入で完璧に元のコンテナが再現されますので安心です。
◎ここまでのバックアップで1つ疑問点:バックアップファイル名には全て日付(時間含)が含まれるが、毎日のバックアップの場合バックアップエリアが肥大する?
1週間でローテイトしてくれればいいのですが(:懸案事項として)
○cronによるバックアップコマンドに --maxfiles 7 (特定VMIDのファイル7個で周回する)を付加する事で解決。
◎Proxmox-VEバージョン1.5より同一VMIDの場合上書きされるようになっています。従って上記の対処も必要なくなりました。
Proxmox-VEにKVM機能を組み込む
KVM機能を組み込むといっても、Intel VTまたはAMD-Vを使ったネイティブ仮想化をサポートしているCPUであればBIOS設定で機能が組み込まれる。(今回AMD-Athlon-3500+を使用)
BIOS設定でCPU仮想機能を「有効」後、Proxmox-VEを立ち上げると仮想マシンのCreateで今までのOpenVZのコンテナタイプに加え、更にKVMモジュールが選択できるようになります。
◎これでVMWare-ESXi等のハイパーバイザタイプと同じようにWindows仮想マシンを組み込むことができるようになります。
Windows-Vista仮想マシンをインストールしてみる。
1、VM Managerより仮想マシン>Createより、タイプをFully Vrutualized(KVM)を選択。名前をVista(任意)、Guest TypeをWindows Vistaとします。(現在、Linux2.4と2.6、Windows2000/2003/2008/Vista/XP、Otherより選択可能)。インストールメディアはデフォルトでcdromとなっています。


2、Windows VistaのCdromメディアをドライブに挿入し、仮想マシンのステータス画面よりOpen VNC consolリンクをクリックしWindowsVistaのインストールを開始します(コンソール画面では通常のWindowsのインストール画面となります)
インストール後確認:

Vista上のプロセッサー「CPU QEMU Virutual CPU」と表示されます。
3、Proxmox-VEの仮想マシンリストでは下図のようになります(例ではXPもインストールしています)
クラスターノード
クラスタノード用の64bit-CPUが準備できたのでVEクラスタシステムを構成してみる。
proxmox VEのWiki内のクラスタ構成の手順に従って、
1、proxmox-VE(クラスタノード用)をインストール (マスターノードと別ホスト名、IP)
2、Proxmox-VEマスタノードにsshログイン後
# pveca -c (マスターノードとして生成)
# pveca -l (確認)
3、Proxmox-VEのスレーブノードにsshログイン後
# pveca -a -h "マスターノードのIP"
◎約15-20分でマスターノードとの同期がとれました(作業中はnosyncステータスで完了後activeとなる)

備考:メインノードとの同期が取れた時点でマスターに存在するVM(仮想マシン)もコピーされるかと思っていたが、マスタ側に既にダウンロードされているテンプレート等の同期が取れるのみであった。
但し、スレーブノードではVMの生成はできなくなっている。(作成のタグが無い)従って、テンプレートがあるならば、一度クラスタを外して通常のVEに戻し、その後作成といった事を行うしかない。(おそらくこのよな使い方はしないと思います。)
VM自体がコピーされる場合、VM自体のクラスタライセンス(VM同士のクラスタ化ライセンスが必要な場合)、VMで設定されているIPアドレスの重複の問題もあるのでVM自体の同期無しは当然の事であろう。
4、マイグレード
マスタ/スレーブノードに存在するVMをクラスタシステムの特定ノードに移設する機能。
本機能によってVM自体を適切なノードに分散できます。
VMを停止させて移動させるのに加え、VM稼働中の移動(オンラインマイグレーション)も可能。

5、管理画面一括管理
Proxmox-VEクラスタ環境の管理画面をマスタノード管理画面にて各ノードの一括管理ができます。

各ノード上のVMの稼働状況確認、VM停止/開始ができます。
Proxmox-VEクラスタのまとめ:
クラスタノードはメインノードのコピーとしての冗長化機能としてではなく、各ノード上のVMを分散させ(マイグレード機能)手動にてVM負荷を分散させるような機能と考えられる。1つのメインノードの管理画面で、各ノード上にVMの生成や移動等の1元管理ができるの便利です。
NICの追加
NICの追加の前に(H22-7月現在)Proxmox-VEはVerion1.5となっていますのでVE1.5の再インストールを実施。
(今回再度のインストールを行ったが、既存のVEからのバージョンアップ方法はこちらです)
現在NIC1枚構成でproxmoxVEと各仮想マシンは同一NICで異なった仮想Ip(シングルブリッジ)を使用しているが、NICを1枚追加してみる。
◎追加の前にProxmoxネットワークモデル(Proxmox-VE Wikiより)を調べておきます。
1、Proxmox-VE Wikiのビデオトレーニングに従ってボンディング設定(HA用としてNIC二重化が目的)を行う。

モードはactive-backupモードとします。
2、構成後の状態

構成としては以下のようになります(以下、Linux高信頼性サーバー構築ガイドシングルサーバ編参照)

◎各種モードの関して;

Proxmox VE2.0 Beta3バージョン
H23年11月、GUI画面が一新されたベータ版がリリースされました。
V2.0 Beta3バージョンのインストールメモ
Proxmox VE2.1-f9b0f63a-26バージョン
H24年4月27日、前バージョンのバグ修正、およびVMの始動/停止順機能が追加されています。また日本語メニューにもなっています。
こちらご参照。