Rescue VM環境の利用例について、説明します。
本説明では、以下の前提で説明します。
VMware ESXiは、3台の構成で説明します。既に構築済みの前提です。
1台の管理サーバVMに、SigmaSystemCenterとvCenter Serverをインストールする構成の説明を行います。
Rescue VMの運用に特化した部分を中心に説明します。管理サーバVMとRescue VM以外の仮想マシンの構築や運用方法などについては、説明を行いません。
次の説明を行います。
後述の図のように、ESXi上に仮想マシンを作成し、SigmaSystemCenterとvCenter Serverの管理サーバVM、および、Rescue VMを構築します。
仮想マシンの作成は、vSphere ClientなどvSphereのツールを使用して行ってください。
SigmaSystemCenter、 vCenter Serverの構築については、以下の作業を行う必要があります。
各製品のインストール
ライセンスの登録
必要なサブシステムの登録
管理対象となるリソース(ESXiなど)の登録
ESXi用の運用グループの作成や稼動操作
詳細は、「4.1.3. VMware(vCenter Server管理)環境の構築例」、「SigmaSystemCenter インストレーションガイド」、「SigmaSystemCenter コンフィグレーションガイド」、vSphereのマニュアルを参照して実施してください。
Rescue VMの構築に使用するrescue-vmモジュールは、SigmaSystemCenterのインストールメディアの以下のフォルダに収録されています。
\tools\Rescue\rescue-vm-X.X.X.tar.gz(Xはバージョン番号)
rescue-vmモジュールのインストールや構築は、<インストールメディア>\tools\Rescue\README.txtを参照して行ってください。インストール後は、意図せずRescue VMの復旧機能が動作しないように、環境全体の構築が終わるまではrescue-vmのサービスを起動しないように注意してください。
なお、rescue-vmモジュールが動作するためには、Rescue VM上に下記のOSコンポーネントがインストールされている必要があります。
gcc
python-devel
python-setuptools
また、多数のPython用のパッケージをダウンロードして入手する必要があります。
詳細は、README.txtを参照してください。
構築した管理サーバVMとRescue VMに対して、Rescure VM環境用の設定を行います。
下記の手順の前に、SigmaSystemCenterに管理サーバVMとRescue VMを管理対象として登録する必要があります。管理サーバVMとRescue VMの[リソース]ビューへの登録、運用グループの作成、[マスタマシン登録]操作による各仮想マシンのホスト定義への割り当てを行います。「1.2.7. [リソース]ビューと[仮想]ビューへの登録 - 仮想マシン(作成済みの仮想マシンを登録する場合)」や「1.2.13. [運用]ビューへの登録」を参照してください。
管理サーバVMの情報をRescue VMの設定ファイル/etc/rescue_vm/config.jsonに記述します。
設定の雛形が記述されている/etc/rescue_vm/config.json.sampleをコピーして作成してください。
設定方法詳細はSigmaSystemCenterのインストールメディアの\tools\Rescue\README.txtを参照してください。
監視対象の管理サーバVMごとに以下の項目を設定します。
"target": 管理サーバVMのvCenter Server上の表示名
"owner": 環境を制御するために使用するvCenter Serverのホスト名、アカウント情報など
"host": 障害時にFailover先候補となるESXiの名前とアカウント情報、および、強制OFFを実行するためにマシンに登録されているBMCへの接続情報など
Failover先候補となるすべてのESXiの情報を登録してください。
現在RescueVMが動作しているESXiの登録も、必要です。
ssc update machine -subtype SubTypeコマンドで、各仮想マシンの役割をSigmaSystemCenterに登録します。
現在登録されている設定は、ssc show machine -vm VMName -resource コマンドで確認することができます。
-subtypeの引数は、各仮想マシンごとに次を指定します。
SigmaSystemCenterの管理サーバVM → ssc
vCenter Serverの管理サーバVM → vcenter
SigmaSystemCenterとvCenter Serverの管理サーバVMが同一の場合は、2回コマンドを実行して、sscとvcenterの両方を設定します。
Rescue VM → rescue
指定を間違えた場合はnoneを指定して実行し設定を消去してから、再度設定し直してください。
以下のsscコマンドで、Rescue VMに接続するための情報をSigmaSystemCenterに登録します。
ssc update environment RescueAccessPoint HostName/IPAddress
ssc update environment RescueAccount AccountName
ssc update environment RescuePassword Password
管理サーバVMとRescue VMが同一ESX上に同居しないようにガードするために、管理サーバVMとRescue VMに対してNE制約を設定します。
ESXiが登録されている運用グループの[VM配置制約]タブの設定で、管理サーバVMとRescue VMが所属するVM制約グループに対して、NE制約を設定してください。[配置制約を有効にする]のチェックをオンにしておく必要があります。
ESXiが所属する運用グループのポリシー設定のカスタマイズを行います。
ポリシーは標準ポリシー(仮想マシンサーバ)を使用して作成します。
障害発生時の復旧処理で管理サーバVMとRescue VMが同一ESX上に同居してしまった場合の対処として、上記の手順1で設定したNE制約が適用されるように、ポリシー規則「管理サーバ障害」に「グループ操作/VM配置制約を適用する」を最終アクションとして追加します。
「(2-1)SigmaSystemCenterのRescue VM環境の設定(その1)」の手順3で行ったRescue VMへの接続設定を有効にするためにPVMServiceサービスを再起動します。
Rescue VM環境の構築がすべて完了した後、rescue-vmのサービスを起動して、Rescue VMによる管理サーバVMとESXiの監視を開始します。
SigmaSystemCenterの管理サーバVMが動作するESXiで障害が発生した場合の一連の復旧動作について説明します。
(4-1)管理サーバVMが動作するESXiの障害の検出
管理サーバVMが動作するESXi上で障害が発生すると、Rescue VMからESXiへの接続が切断され、Rescue VMは障害を検出します。
Rescue VMの監視の動作については、「2.5.5. RescueVMの死活監視」を参照してください。
(4-2)Rescue VMによる管理サーバVMの復旧
ESXiの障害を検出したRescue VMは次の処理を行い、管理サーバVMの復旧を試みます。
ESXiの強制OFF
管理サーバVMのFailoverを確実に成功させるために、BMC経由で障害が発生したESXiの強制OFFを実行します。
管理サーバVMの他のESXiへのFailoverによる移動
管理サーバVMの退避先のESXiは、SigmaSystemCenter本体のVM退避機能とは異なり、ランダムに決められます。
また、Rescue VMは、管理サーバVM以外の仮想マシン復旧は行いません。
SigmaSystemCenter本体へのイベントの通知
管理サーバVMが復旧した後、管理サーバ障害のイベントをSigmaSystemCenter本体に通知します。
(4-3)SigmaSystemCenter本体による残りの仮想マシンの復旧
障害が発生したESXi上で復旧されていない残りの仮想マシンの復旧は、SigmaSystemCenter本体が行います。
前述の(4-2)の3でRescue VMから通知されたイベントを受け、「管理サーバ障害」のポリシー規則で定義されている復旧処理が実行されます。
(4-4)FailoverによりRescue VMと管理サーバVMが同居してしまった場合
Rescue VMによる管理サーバVMのFailoverでは退避先がランダムに決められるため、Rescue VMと同じESXiになってしまう場合があります。
この場合、次の図のとおり、「(2-2)SigmaSystemCenterのRescue VM環境の設定(その2)」の手順2で追加した「グループ操作/VM配置制約を適用する」のアクション実行により、他のESXiに移動されるため、再度障害が発生した場合に復旧ができなくなる危険性を回避することができます。
管理サーバVMやESXiの停止を伴う運用を行う場合は、管理サーバVMやESXiの停止状態をRescue VMが障害と認識してしまわないように注意してください。
必ず、Rescue VMを先に停止するようにしてください。
たとえば、システム全体の停止を行う場合の手順は以下のとおりです。
Rescue VMのシャットダウン
管理サーバVMのシャットダウン
管理サーバVMについては、誤操作防止のため、自身のシャットダウンをSigmaSystemCenterから実行できないようになっています。ゲストOS上でシャットダウンするなど、SigmaSystemCenter以外のツールを使用して行ってください。
各管理対象マシンのシャットダウン
逆にシステム全体を起動する場合は、次のように、Rescue VMの起動は最後に行い、Rescue VMが起動したときに監視の対象である管理サーバVMやESXiが既に動作している状態にしてください。
各管理対象マシンの起動
管理サーバVMの起動
Rescue VMの起動