はじめに
インフラ技術部のOです。
前回から引き続き、OLVMのアップグレードについてご紹介していきます。
第2回となる今回は、OLVM4.3からOLVM4.4へのアップグレードを、OSクリーンインストールによる方法で進める際の流れや注意点についてご紹介します。
OLVMについての他の記事は下記からご覧いただけます。
そもそもOLVMって何?という方や、OLVMについて知りたい!という方は、こちらから読んでいただくのがおすすめです。
■基本シリーズ
第1回:Oracle KVMとOLVMについて
第2回:Oracle KVM 要件と構築について
第3回:OLVM構築 - セルフホステッドエンジン方式
第4回:OLVM構築 - スタンドアロン方式
第5回:OLVM - Oracle KVM追加・設定
第6回:OLVM - 仮想マシン作成
第7回:【OLVM アップグレード】アップグレードの種類 ←前回の記事
■番外シリーズ
第1回:OLVMとen_US.UTF-8
第2回:NFSを使用したOLVMデプロイ検証記
第3回:OLVM4.5のリリース
アップグレードの流れ
今回は、下記の構成を例にアップグレードの流れを説明します。
・OLVM:セルフホステッドエンジン方式
・KVMホスト:2台
・仮想マシン:2台
ここではアップグレード手順を、アップグレード前 / アップグレード / アップグレード後の3つのフェーズに
分けて説明します。
アップグレードのフェーズに注目すると、OLVMのデプロイや、KVMホストの構築・クラスター追加がメインとなっており、新規構築との共通点が多いことがお分かりいただけると思います。
~アップグレード前~
①OLVM以外の仮想マシンの退避
②OLVMをOLVM4.3の最新バージョンへアップデート
③OLVMのバックアップを取得
~アップグレード~
①KVMホスト#1にOSインストール
②KVMホスト#1にOracle Linux KVM4.4を構築
③バックアップファイルからOLVM4.4をデプロイ
④KVMホスト#2をクラスターから削除
⑤KVMホスト#2にOSインストール
⑥KVMホスト#2にOracle Linux KVM4.4を構築
⑦KVMホスト#2をクラスターへ追加
~アップグレード後~
①クラスター互換バージョンを変更
②データセンター互換バージョンを変更
~互換バージョンについて その①~
OLVMやKVMのバージョンと混乱しやすいバージョン体系として、クラスター互換バージョンとデータセンター互換
バージョンがあります。
アップグレードの流れの中でこの設定を変更する場面があるため、ここで簡単に説明します。
クラスター互換バージョン
そのクラスターに追加する最小バージョンのKVMホストに合わせて設定します。
※OLVM・KVM 4.4に対応する互換バージョンは4.6、OLVM・KVM 4.5に対応する互換バージョンは4.7である点に
ご注意ください。
<例>クラスター互換バージョンとOLVM・KVMバージョン
・互換バージョンが4.3のクラスター → バージョン4.3、4.4のKVMホストが稼働できる。
・互換バージョンが4.6のクラスター → バージョン4.4、4.5のKVMホストが稼働できる。
・互換バージョンが4.7のクラスター → バージョン4.5のKVMホストのみ稼働できる。
データセンター互換バージョン
そのデータセンター内の最小互換バージョンのクラスターに合わせて設定します。
<例>データセンター互換バージョンとクラスター互換バージョン
・互換バージョンが4.3のデータセンター → 互換バージョン4.3、4.6のクラスターが稼働できる。
・互換バージョンが4.6のデータセンター → 互換バージョン4.6、4.7のクラスターが稼働できる。
・互換バージョンが4.7のデータセンター → 互換バージョン4.7のクラスターのみ稼働できる。
アップグレード前
①OLVM以外の仮想マシンの退避
OLVMが稼働しているKVMホスト(例ではKVMホスト#1)上には、OLVMのみが稼働している状態にします。
OLVM以外の仮想マシンが同一KVMホスト上で稼働している場合は、それらをすべてクラスター内の他のKVMホストへ
退避します。
②OLVMをOLVM4.3の最新バージョンへアップデート
OLVMのOSからコマンドを実行し、OLVM関連のパッケージを、OLVM4.3の最新バージョンであるOLVM4.3.10へアップデートします。
※アップデート手順には、OLVMのエンジンサービスの停止と起動、及びOSの再起動が含まれます。
③OLVMのバックアップを取得
OLVMのOSからコマンドを実行し、OLVMのバックアップを取得します。
バックアップファイルは、デフォルトではOLVMのローカル領域に作成されますが、後からこのファイルをKVMホスト上で
使用するため、この時点では外部ストレージへ退避しておきます。
アップグレード
①KVMホスト#1へOSインストール
OLVMが稼働しているKVMホスト#1でコマンドを実行し、OLVMを停止した後、KVMホスト#1にOSをクリーンインストール
します。
ここでは例として、OSはOL 8 の最新バージョンであるOL 8.10とします。
※OSインストール時は、必ず「最小限のインストール」を選択し、余分なパッケージがインストールされないようにします。
②KVMホスト#1にOracle Linux KVM4.4を構築
必要なパッケージをインストールし、Oracle Linux KVM4.4を実行するKVMホストを構築します。
※Oracle Linux KVM用パッケージのインストールが阻害されないよう、追加でインストールしたいパッケージや、復元したいOS設定がある場合は、KVMホストを構築した後で実施します。
③バックアップファイルからOLVM4.4をデプロイ
アップグレード前フェーズの手順③「OLVMのバックアップを取得」で、外部ストレージに退避しておいたOLVMの
バックアップファイルを、KVMホスト#1のローカル領域へコピーし、バックアップファイルを使用して
OLVMをデプロイします。
デプロイの際は、"--restore-from-file="オプションを指定することで、新規デプロイではなく、バックアップファイルの情報を使用したデプロイとなります。
# hosted-engine --deploy --restore-from-file=/<バックアップファイルのパス>
デプロイ中は、新規デプロイ時と同様にデータセンター名やクラスター名を指定するよう求められますが、データ移行などをスムーズに行うために、既存環境のOLVM4.3と同一のパラメータを指定します。
ただし、デプロイ先のストレージドメインは、OLVM4.3と同じストレージ領域を使用することはできません。別途新規の
ストレージ領域を用意し、指定する必要があります。
デプロイ完了後にOLVMの管理ポータルへアクセスすると、OLVM4.3環境で管理していたKVMホストや仮想マシンが変わらず稼働しています。
~互換バージョンについて その②~
このタイミングで、Oracle Linux KVM4.3のホストは、OLVM4.4環境でも動作できるの?という疑問を持つ方も多いかと
思いますが、答えはイエスです。
OLVMには下位互換があり、その①で説明したクラスターやデータセンターの互換バージョンを適切に設定することで、
クラスター内の最も低いバージョンのKVMホストに合わせて稼働することができます。
今回の例では、クラスター内のKVMホスト#2がまだOracle Linux KVM4.3ですが、クラスター、データセンターの
互換バージョンを「4.3」と設定することで、バージョン4.4にアップグレードしたOLVMやKVMホスト#1がバージョン4.3に
合わせて稼働しているため、KVMホスト#1もKVMホスト#2も問題なく稼働できています。
④KVMホスト#2をクラスターから削除
続いて残りのKVMホスト#2もアップグレードします。
KVMホスト#2で稼働していた仮想マシン2台をKVM#1へ退避した後、クラスターからKVMホスト#2を削除し、OLVMの管理下から除外します。
⑤KVMホスト#2へOSインストール
OLVMが稼働しているKVMホスト#1でコマンドを実行し、OLVMを停止した後、KVMホスト#1にOSをクリーンインストール
します。
ここでは例として、OSはOL 8 の最新バージョンであるOL 8.10とします。
※OSインストール時は、必ず「最小限のインストール」を選択し、余分なパッケージがインストールされないようにします。
⑥KVMホスト#2にOracle Linux KVM4.4を構築
必要なパッケージをインストールし、Oracle Linux KVM4.4を実行するKVMホストを構築します。
※Oracle Linux KVM用パッケージのインストールが阻害されないよう、追加でインストールしたいパッケージや、復元したいOS設定がある場合は、KVMホストを構築した後で実施します。
⑦KVMホスト#2をクラスターへ追加
OLVMの管理ポータルから、KVMホスト#2をクラスターへ追加します。
追加後、必要に応じて退避していた仮想マシンをKVMホスト#2に戻します。
アップグレード後
ここまでクラスターとデータセンターの互換バージョンはバージョン4.3に合わせていましたが、OLVMとすべてのKVMホストがバージョン4.4にアップグレードしたため、互換バージョンも4.4に合わせることができます。
4.4に対応しているクラスター、データセンターの互換バージョンは4.6(少し混乱しますが、誤字ではありません!)のため、それぞれ4.6へ変更します。
①クラスター互換バージョンを変更
クラスターの互換バージョンを変更する前に、次の前提条件を満たしていることを確認します。
・クラスター内の全てのホストが、Oracle Linux KVM4.4を実行していること
上記を確認した後、OLVMの管理ポータルからクラスターの互換バージョンを4.6に変更します。
※互換バージョンの変更を適用するために、OLVMを除くすべての仮想マシンの再起動が必要になります。
②データセンター互換バージョンを変更
データセンターの互換バージョンを変更する前に、次の前提条件を満たしていることを確認します。
・データセンター内の全てのクラスターが、互換バージョン4.6であること
上記を確認した後、OLVMの管理ポータルからデータセンターの互換バージョンを4.6に変更します。
※データセンターの互換バージョン変更時は、仮想マシンの再起動は不要です。
おわりに
OLVM4.3からOLVM4.4へのアップグレードを、OSクリーンインストールによって実施する際の流れをご紹介しました。
OLVM4.4用のストレージドメインを新規に用意する必要がある点が、この方法でアップグレードする際に特に
注意していただきたいポイントです。
あくまで流れのため、説明を省略した部分もありますが、「クリーンインストールだと大体こんなことをするのだな」というイメージを掴んでいただく一助となれば幸いです。
次回は「LeappによるOLVM4.3からOLVM4.4へのアップグレード」についてご紹介します!