インスタンスのHA構成の作成方法
本項は、 はじめに インスタンスのコマンドラインクライアント実行環境の設定が設定済みであることを前提としています。
MECプラットフォーム上での可用性向上のためには、複数台の仮想サーバのレプリケーションが重要です。Compute D では、現在単一の AZ(Availability Zone) しか指定できないため、レプリケーションした仮想サーバが同一上の物理マシンで運用されてしまい、物理的な障害に対応できなくなる可能性があります。本マニュアルでは上記の問題を回避するため、異なる物理マシンに仮想サーバを配置する方法について解説します。
異なる物理サーバへのインスタンス生成
CLI から OpenStack API を実行してインスタンスを生成する必要があります。
Compute D 管理画面を用いてインスタンスを生成する場合、物理サーバを意図的に異なる配置にして複数のインスタンスを生成する作業は行わないでください。(どの物理サーバに割り当てられるか不定となるため)
操作手順
Affinity Groupの設定
- 物理サーバを異なるものにするポリシーを持つグループを作成します。OpenStackクライアントを用いて次のコマンドを実行します。<グループ名>には自由なグループ名を入力してください。
$ openstack server group create --policy anti-affinity <グループ名>
- 1.の操作が成功しているとserver-group-listが更新されます。次のコマンドで server group list を確認してください。
$ openstack server group list
- 「Name」の項目に先ほど指定したグループ名、「Policies」の項目に[‘anti-affinity’] が設定されていることを確認してください。以降のグループの指定には「ID」の項目に示される UUID を用います。なお、作成した server-group は次のコマンドで削除することができます。
$ openstack server group delete <グループ名>
作成したserver-groupに所属する新たなインスタンスを起動します。各種リソースの上限に注意してください。例えば次のコマンドにより、インスタンスを起動します。 Groupに所属するインスタンスの起動
各パラメータについては以下表を参考にして下さい。$ openstack server create --image <イメージ名> --hint group=<グループのUUID> \--key-name <SSHのキー> --flavor <フレーバー名> --nic net-id=<ネットワークのUUID> <インスタンス名>
パラメータ名 | 説明 |
---|---|
<イメージ名> | image-listにあるブートイメージ名。例えば Compute D では「Ubuntu 20.04」等が指定可能。 |
<グループのUUID> | 前項で述べた32桁のUUID。(例: 415eea22-4e37-44e0-a4c9-59c395688fc8) |
<SSHのキー> | 管理画面上で作成できるキーペア名。(例: mykeys) |
<フレーバー名> | $ openstack flavor list で取得できるフレーバ名。(例: standard1.tiny) |
<ネットワークのUUID> | $ nova net-list で取得できる32桁のネットワークid。(例: 77ccebd2-57d2-4764-512ed257911c) |
<インスタンス名> | 自由なインスタンス名。複数作成する場合は重複しないように指定する必要があります。 |
以下にコマンド例を記載します。
$ openstack server create --image Ubuntu20.04 \--hint-group 415eea22-4e37-44e0-a4c9-59c395688fc8 \--key-name mykeys --flavor standard1.tiny \--nic net-id=77ccebd2-57d2-4764-512ed257911c SampleInstance
インスタンスが作成されるとインスタンスの情報が出力されます。「id」欄の「value」に示される32桁の UUID (<インスタンスのUUID>とします) を最後に配置場所の確認に用います。
作成したそれぞれの仮想インスタンスが異なる物理サーバへ配置されていることを確認します。それぞれの仮想インスタンスで次のコマンドを実行し、出力される「hostId」が異なっていれば物理サーバが異なる場所でインスタンスが生成されています。 異なる物理サーバへの配置確認
$ openstack server show <インスタンスのUUID>