仮想マシンを何台か立てるのに、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:~#