[[EucalyptusAdministratorGuide_v1.5.2]] * 旧バージョンの Eucalyptus をアップグレードするには [#m4f7ff11] #contents ---- * 旧バージョンの Eucalyptus をアップグレードするには [#m4f7ff11] 説明の対象となるのは、ソースコードから Eucalyptus 1.5.2 へアップロードを行う場合、パッケージで 1.4 や 1.5.1 からバージョンアップする場合、Ubuntu Jaunty へインストール場合です。まだバージョン 1.3 を使用している場合は、1.5 へアップグレードする前にバージョン 1.4 へのアップグレード([[英語>http://open.eucalyptus.com/wiki/EucalyptusUpgrade_v1.4]])を行ってください。 また、アップグレードを行う前に、鍵の状態のバックアップを作成する事が必要です。RPM パッケージによるアップグレードであれば、自動的にバックアップは作成されます。ですが、DEB パッケージやソースコードからのアップグレードでは、手動でバックアップを行う必要があります。このドキュメントの最後には、バックアップを使用して、アップグレード前に戻す手順を記しておきました。 以後の説明において、環境変数 $EUCALYPTUS は、Eucalyptus が現在インストールされている場所を示すものとみなします。現在インストール済みの場所をバックアップしておいてください。その場所に、新しい 1.5.2 をインストールします。もし 1.5.2 を違う場所にインストールしたい場合は、コマンドを適宜修正してください。 それと、環境変数 $OLD_VAR は、次のような条件であるとみなします。 - 1.5.1 からのアップグレードや、Ubuntu Jaunty では、'''var/lib/eucalyptus''' - 1.4 からのアップグレードでは、'''var/eucalyptus''' ** 1. 稼働中の Eucalyptus を停止 [#dd1e7d82] - ウェブ・インターフェース上で表示される "Configuration" タブにある "Walrus path" に注意してください(この場所に、すべてのアップロード済みのイメージやユーザのバケットが置かれています)。 - ''すべての''Eucalyptus インスタンスを停止します。 euca-terminate-instances ... # root など、管理者権限で実行します - ''すべてのノード上で''、Eucalyptus (ノード・コントローラ) を停止します。 $EUCALYPTUS/etc/init.d/eucalyptus-nc stop $EUCALYPTUS/etc/init.d/eucalyptus-cc stop $EUCALYPTUS/etc/init.d/eucalyptus-cloud stop あるいは、バージョン 1.4 では次のようにします。 $EUCALYPTUS/etc/init.d/eucalyptus stop - ''すべてのノード上で''、Eucalyptus プロセスが確実に kill されているか確認します。 ps aux | grep euca kill -9 ... # もしまだプロセスが稼働している場合は、-9 (KILL) シグナルで停止 ** 2. 現在のインストール状態をバックアップ [#pf14585e] ''RPM を使って''アップグレードを行う場合であれば( CentOS や openSUSE )、バックアップは自動的に行われますので、このステップは読み飛ばして構いません。バックアップは /root/eucalyptus-pre-1.5.2-rollback.tar です。 ''ソース'' や ''DEB''( Debian や Ubuntu ) からアップグレードを行う場合、アップグレードがスムーズに行えなかった場合に備えて、データベースや鍵のバックアップを取りたくなるでしょう。 cd $EUCALYPTUS rm -f $OLD_VAR/db/eucalyptus.lck tar cvf /root/eucalyptus-pre-1.5.2-rollback.tar etc/eucalyptus $OLD_VAR/db $OLD_VAR/keys/*.p* cp etc/eucalyptus/eucalyptus.conf /root/eucalyptus-pre-1.5.2-configuration もし、更に古いファイルを除去しておきたいのであれば、次のディレクトリ2つも削除できます。 rm -rf log/eucalyptus run/eucalyptus "Walrus のパス"(標準では $EUCALYPTUS/$OLD_VAR/bukkits )には、非常に多くのデータを含むかもしれませんが、アップグレードの影響を受けることはなさそうですので、バックアップをお勧めしません。 ** 3. Eucalyptus 1.5.2 のインストール [#y1d1ed67] - ''ソースで'' インストール行う場合は、以降のステップに進む前に、管理者ガイドの [[ソースからのインストール>EucalyptusSourceCodeInstallation_v1.5.2]] をお読みください。作業が終わったら、''このページに戻ってください''。 - ''バイナリ・パッケージで'' インストールを行う場合は、以降のステップに進む前に、ディストリビューションごとのインストール説明のページを御覧ください。 - そして、作業が終わったら、''このページに戻ってください'' --[[CentOS 5.3>EucalyptusInstallationCentos_v1.5.2]] --[[OpenSUSE 11>EucalyptusInstallationOpensuse_v1.5.2]] --[[Debian Lenny 5.0>EucalyptusInstallationDebianLenny_v1.5.2]] --[[Debian Squeeze/sid>EucalyptusInstallationDebianSqueeze_v1.5.2]] --[[Ubuntu Jaunty 9.04>EucalyptusInstallationUbuntuJaunty_v1.5.2]] ** 4. 設定ファイルのアップデート [#u68cfdf6] バージョン 1.4 から 1.5 に切り替わったことで、設定ファイルには新しいパラメータが追加されました。そのため、1.4 からアップグレードを行う場合、古い設定ファイルと新しい設定ファイルの間で、違いがある部分を調整する必要があります。手動で設定ファイルを書き換えても構いませんが、自動で変換する方法もあります。 $EUCALYPTUS/usr/sbin/euca_conf \ -upgrade-conf /root/eucalyptus-pre-1.5.2-configuration \ $EUCALYPTUS/etc/eucalyptus/eucalyptus.conf バイナリパッケージを使って古いバージョンからアップグレードする場合、この変換は自動的に行われます。 なお、単に以前の設定の上にコピーするだけなのか、自動変換するのかどうかに関わらず、設定を確実なものとするために、新しい設定ファイルに目を通しておくことを強く推奨します。その際、具体的には次の変数を確認してください。 - *_PORT - NODES - INSTANCE_PATH - VNET_* - HYPERVISOR (1.4 からのアップグレードであれば、"xen" のはずです) - EUCA_USER の変数が、2つ上のインストールのステップで設定されていなければなりません(root で実行するようにするのが楽に見えますが、その場合は、Apache が root 権限で実行できるようにコンパイルする必要が出てしまいます)。 1.4 から 1.5 のアップグレードであれば、ネットワークの設定はそのままで動作するでしょう。1.5 での新しいネットワークモード(MANAGED-NOVLAN)については、管理者ガイドの [[ネットワークの設定>EucalyptusNetworking_v1.5.2]] を御覧ください。 また、''それぞれの計算ノード上でも''設定ファイルの変換が必要です。また、ノードごとに固有の設定もありますので、注意をしてください。設定変更後は、各々のノード上で、新しい設定ファイルが有効なことを確認してください。 ** 5. Eucalyptus の再起動と、アップグレードの確認 [#v78be484] - ノード・コントローラ(NC) 、クラスタ・コントローラ(CC)、クラウド・コントローラ(CLC)をそれぞれ起動します。バージョン 1.5 からは、それぞれのサービス毎に起動スクリプトが存在しています。適当なマシン上で、これらのコマンドが実行可能かどうか確認してみてください。 $EUCALYPTUS/etc/init.d/eucalyptus-nc start $EUCALYPTUS/etc/init.d/eucalyptus-cc start $EUCALYPTUS/etc/init.d/eucalyptus-cloud start - ウェブ・ブラウザから https://headnode:8443/ へアクセスし、これまでと同じようにログインします。ユーザアカウントの情報やイメージがそのままのことを確認してください。 - ''重要:''バージョン 1.5 において、Walrus の正式な標準のパスは $EUCALYPTUS/var/lib/eucalyptus です。インスタンスの実行・バケットを使用する前には、標準の場所かどうかにかかわらず、ウェブ・インターフェース上で "Confiugration" タブの中にある Walrus Path の項目が、実際のパスと相違ないかどうか必ず確認してください。 - ノードがバックアップされ、それらが古いインスタンスとして実行できることを確認します(もし問題があれば、[[トラブルシューティング>EucalyptusTroubleshooting_v1.5.2]]を参照してください)。 euca-describe-availability-zones verbose ** 6-a. 古いディスク情報の削除 [#dcc05a57] アップグレードが正常に終了したことを確認したあとは、ディスクから古い情報を削除してください。 - rm /root/eucalyptus-pre-1.5.2-rollback.tar アップグレードによって、若干のディレクトリ指定が変更となり([[FHS>http://pocketstudio.jp/linux/?FHS]] に準拠するためです)、場合によっては手動でディレクトリの削除をする必要があるかもしれません。 rm -rf $EUCALYPTUS/var/eucalyptus ** 6-b. 以前のバージョンへの差し戻し(ロールバック) [#u858b5cf] - すべてのノードにおいて、Eucalyptus 1.5.2 のあらゆるプロセスを停止します。 - バイナリ・パッケージを使用している場合は、Eucalyptus に関連するすべてのパッケージを削除します。削除は、それぞれのディストリビューションに応じた方法で行ってください(例:'''rpm -e''' や '''apt-get remove''' など)。rpm でもし失敗するようであれば、'''rpm''' のオプションに '''--nopreun''' オプションをつけると良いかもしれません。 - 管理者ガイドを参考にし、古いバージョンの Eucalyptus をダウンロードの後、すべてのノードにインストールします。 - アップグレード時に、バックアップしてあった古い設定ファイルをコピーします。 cd $EUCALYPTUS tar xf /root/eucalyptus-pre-1.5.2-rollback.tar - RPM からのインストールであれば、古い設定ファイルもコピーします。 cp etc/eucalyptus/eucalyptus.conf.old etc/eucalyptus/eucalyptus.conf - あとは、これまでと同じように Eucalyptus を起動します。 ---- 戻る:[[管理者ガイド (Administrator's Guide)>EucalyptusAdministratorGuide_v1.5.2]] 進む:[[システムの設定>EucalyptusConfiguration_v1.5.2]] ---- 原文:http://open.eucalyptus.com/wiki/EucalyptusUpgrade_v1.5.2