仮想マシンを何台か立てるのに、Debian OSをベースとし、その上に、OpenVZコンテナとKVM仮想マシンを実行できるよう整えられたProxmox VEというのを使っています。
元々は、2010年9月にProxmox 1.5で導入したものの、それ以後はネットワーク越しの操作になっているため、積極的にアップデートがしにくい、というものでした。
Proxmox 1.6→1.7は、ちょっと悩みましたが、特に問題なくアップデート完了。
その後は、Proxmox 1.9まではネットワーク越しで、オンラインアップデートをしました。
が、さすがに1.9から2.0へのアップデートは不安が・・・
先日、久々にサーバ設置場所に行く機会があったので、アップデートしてきました。
公式の1.9→2.0アップデート手順通りに作業開始・・・
「./pve-upgrade-1.9-to-2.0」がエラーで終了。
曰く、mpt-statusパッケージがアップデートできない。
まぁ、これは、mpt-statusによるLSI Logic SASカードのRAID1機能監視を行う際に、標準設定のままだとRAIDの同期パーセンテージを表示してくれないので、変更したことによるものでした。
てっとりばやく、mpt-statusパッケージを削除して、再実行・・・エラー・・・
解決方法を探してもいいんでしょうが、時間が無いし、中の仮想マシンは他のサーバに移動済なので、消えても問題ない。
ということで、再起動・・・起動してこず
そんなわけで、Proxmox 2.1を新規でインストールしました。
良くなった点
・Web GUIが大幅進化
クラスタを組んでいる場合でも、問題なく操作可能
・OpenVZコンテナ(CT)を使う場合、ネットワークインタフェースの追加がGUIで可能に
・パフォーマンスモニタ的なもの追加
GUIに各VMのCPU/メモリ/ネットワークIO/Disk IO使用率のグラフが表示される
・GUIにバックアップ機能追加
GUIにスケジュールバックアップ機能が追加された。
NFS/iSCSIストレージをバックアップ先として指定できる。
・Proxmox管理用のユーザ/グループを作成できる
いろいろ権限を設定できる
悪くなった点
・各VMにつけていた日本語コメントが文字化け
「&~」形式になっているだけなので、コンバートすればいいんですけどね
・OpenVZコンテナのオンラインマイングレートが微妙
いままではOpenVZコンテナが稼働状態のままProxmoxサーバ間を移動できました。
しかし、新しいProxmoxクラスタでは、マイグレート処理は正常に完了、と出るものの
移行後のサーバでOpenVZコンテナが停止したままになる事象が発生。
いまのところ再現性100%。
オンラインマイグレートがちゃんと完了しない、という件が特に困りものですが、
手動で起動させればいいので、まぁ、なんとかなってる、というところです。
オンラインマイグレートをしてみたけど、起動していない、という事象例
root@pveserver2:~# pvecm nodes Node Sts Inc Joined Name 1 M 52 2012-07-16 08:04:01 pveserver1 2 M 12 2012-07-16 08:03:28 pveserver2 root@pveserver2:~# root@pveserver2:~# pvectl list Use of uninitialized value in printf at /usr/bin/pvectl line 158. VMID NAME STATUS MEM(MB) DISK(GB) 122 test.osakana.net running 1024 8.00 root@pveserver2:~# pvectl migrate 122 pveserver1 -online Jul 17 13:31:07 starting migration of CT 122 to node 'pveserver1' (192.168.35.123) Jul 17 13:31:07 container is running - using online migration Jul 17 13:31:07 starting rsync phase 1 Jul 17 13:31:07 # /usr/bin/rsync -aH --delete --numeric-ids --sparse /var/lib/vz/private/122 root@192.168.35.123:/var/lib/vz/private Jul 17 13:31:22 start live migration - suspending container Jul 17 13:31:22 dump container state Jul 17 13:31:23 copy dump file to target node Jul 17 13:31:23 starting rsync (2nd pass) Jul 17 13:31:23 # /usr/bin/rsync -aH --delete --numeric-ids /var/lib/vz/private/122 root@192.168.35.123:/var/lib/vz/private Jul 17 13:31:23 dump 2nd level quota Jul 17 13:31:23 copy 2nd level quota to target node Jul 17 13:31:25 initialize container on remote node 'pveserver1' Jul 17 13:31:25 initializing remote quota Jul 17 13:31:25 turn on remote quota Jul 17 13:31:25 load 2nd level quota Jul 17 13:31:25 starting container on remote node 'pveserver1' Jul 17 13:31:25 restore container state Jul 17 13:31:25 removing container files on local node Jul 17 13:31:26 start final cleanup Jul 17 13:31:27 migration finished successfuly (duration 00:00:20) root@pveserver2:~# root@pveserver1:~# pvectl list Use of uninitialized value in printf at /usr/bin/pvectl line 158. VMID NAME STATUS MEM(MB) DISK(GB) <省略> 122 test.osakana.net stopped 1024 8.00 root@pveserver1:~# pvectl start 122 Starting container ... Container is mounted Adding IP address(es): 192.168.35.106 Setting CPU units: 1000 Setting CPUs: 1 Configure veth devices: veth122.0 Adding interface veth122.0 to bridge vmbr1 on CT0 for CT122 Container start in progress... root@pveserver1:~#