背景
最近はOpenStackですが、Eucalyptusも運用してて、最新の日本語テキストも少ないので状況を紹介。
問題
複数のインスタンスが集約して稼働しているクラウドインフラソフトのバージョンアップですが、要点を把握していれば何とかなるように出来ています。
Eucalyptusの場合、3.3.2から3.4や、今回の3.4から3.4.1でも、稼働中のインスタンスを停止すること無くアップグレードが出来ることを確認しています。
ただし、一時的なサービスの停止は起きるので、事前にメンテナンス停止の計画の上で実施しましょう。
状況にもよりますが、Zabbixで監視しながら確認しましたが、短時間の停止だけで済みました。
今回はホストOSをCentOSの6.4から6.5のメジャーアップデートも実施しました。
ロードされているkernelは再起動させない限りは古いままなので、全ての作業を終えてから再起動計画を別途設けましょう。その際にもインスタンスを停止しなくても、再起動時には元の状態に復元されます。
解法
アップグレードの場合は通常、EucalyptusのリポジトリがホストOSにはインストール済みですので、
ホストOSのパッケージをアップデートすれば、新しいバージョンのパッケージに更新されました。
$ sudo yum check-update
$ sudo yum update
パッケージを更新した後、Eucalyptusのアップグレードを実施します。
$ sudo service eucalyptus-cloud start
$ sudo service eucalyptus-cloud start
CLCとWalrusが同じホストに同居していれば、共通コマンドなので同時に更新されます。
$ sudo service eucalyptus-cc start
$ sudo service eucalyptus-nc start
$ sudo service eucalyptus-console start
注意するのは、Eucalyptusの各サービスをstartする事で、間違ってもrestartやstopで止めてしまわないように。
Eucalyptus3.4からロードバランサーイメージもサポートされているので、インストールしておきます。
$ sudo yum install eucalyptus-load-balancer-image
Euca2ools環境にてマシンイメージを登録します。
$ euca-install-load-balancer --install-default