目的
本ドキュメントでは Cisco VIM (CVIM) の Compute ノードの交換手順を説明します。
前提事項
交換対象のノードの役割は主に Compute, Storage, Controller の3種類があります。CVIM Pod の構成によっては、一つのノード上に複数の役割をもたせることができます。このようなノードでは役割によって交換方法が変わってきます。以下のドキュメントを参考に適切な交換方法を選択してください。
[CVIM] ハードウェア交換時の考慮事項
https://community.cisco.com/t5/-/-/ta-p/3944505
交換前の考慮事項
交換対象の Compute ノードで Openstack Instance が動作している場合には、事前にその Instance を migrate し、他の Compute ノードに移動して下さい。
"ciscovim last-run-status" コマンドを実行し、他の CVIM タスクが実行中でないことを確認して下さい。
[root@cvim-mpod-mgmtnode ~]# ciscovim last-run-status
健全性の確認
以下のドキュメントの手順でCloud Sanity を実行しCVIMの健全性を確認します。
[CVIM] Cloud Sanity 実行方法
https://community.cisco.com/t5/-/-/ta-p/3947189
Cloud Sanityが問題を検出した場合には、その問題を解決してから次のステップに進んで下さい。
ノードがダウンしている際にはいくつかのテストが Fail する可能性がございます。このような場合には無視して以下の手順を進めてください。
ハードウェアの特定
以下のドキュメントを参考にして交換対象のノードの物理位置を特定します。
[CVIM] ノードの物理位置の特定方法
https://community.cisco.com/t5/-/-/ta-p/3996898
setup_data.yaml ファイルの編集(computeノードの削除)
まずは交換対象の compute ノードを CVIM Pod から削除します。削除の作業は CVIM の構成ファイルである setup_data.yaml ファイルから該当の computeノードのエントリを削除した上で、ciscovim remove-compute コマンドを実行します。
- Management ノードに root user で ssh アクセスする
- setup_data.yaml のマスターファイルを作業ディレクトリにコピーする
マスターのsetup_data.yaml ファイル(openstack-configs/setup_data.yaml)を直接編集することは推奨されてません。
一旦作業ディレクトリにマスターファイルをコピーしてからそのファイルを編集するようにしてください。
[root@cvim-cpod-mgmtnode ~]# cd /root
[root@cvim-cpod-mgmtnode ~]# mkdir MySetupData
[root@cvim-cpod-mgmtnode ~]# cp openstack-configs/setup_data.yaml ./MySetupData/
[root@cvim-cpod-mgmtnode ~]# vim MySetupData/setup_data.yaml
- vim 等のエディタを使い作業対象の Compute ノードを ROLES と SERVERS の項目からコメントアウトする
以下のれいでは、cpod-compute-1を交換対象としております。
編集前:
ROLES:
block_storage: [cpod-osd-compute-1, cpod-osd-compute-2, cpod-osd-compute-3]
compute: [cpod-compute-1, cpod-compute-2, cpod-compute-3, cpod-compute-4, cpod-osd-compute-1, cpod-osd-compute-2, cpod-osd-compute-3]
control: [cpod-control-1, cpod-control-2, cpod-control-3]
SERVERS:
::
cpod-compute-1:
cimc_info: {cimc_ip: 192.168.11.34}
management_ip: 192.168.11.54
rack_info: {rack_id: RackA}
編集後:
ROLES:
block_storage: [cpod-osd-compute-1, cpod-osd-compute-2, cpod-osd-compute-3]
# compute: [cpod-compute-1, cpod-compute-2, cpod-compute-3, cpod-compute-4, cpod-osd-compute-1, cpod-osd-compute-2, cpod-osd-compute-3]
compute: [cpod-compute-2, cpod-compute-3, cpod-compute-4, cpod-osd-compute-1, cpod-osd-compute-2, cpod-osd-compute-3]
control: [cpod-control-1, cpod-control-2, cpod-control-3]
SERVERS:
::
# cpod-compute-1:
# cimc_info: {cimc_ip: 192.168.11.34}
# management_ip: 192.168.11.54
# rack_info: {rack_id: RackA}
赤文字の行をコメントアウト(#)し、青文字の行を追加しています。
Compute ノードを CVIM Pod から削除
Management ノードから以下のコマンドで Compute ノードを CVIM Pod から削除します。
[root@cvim-cpod-mgmtnode ~]# ciscovim remove-computes --setupfile MySetupData/setup_data.yaml -y cpod-compute-1 --force
以下のコマンドで remove-compute アクションのステータスが "Success" であることを確認します。
[root@cvim-mpod-mgmtnode ~]# ciscovim last-run-status
ハードウェアの交換
ハードウェアの交換を実施します。交換後、Power-on ボタンを押し、サーバーを起動します。マザーボードの交換を実施した際には、CIMCのIPアドレス、ユーザーアカウント、パスワードの設定をリストアします。UCSサーバーの交換手順については以下のドキュメントを参考にしてください。
[UCS C] UCS C-Series 情報まとめ
https://community.cisco.com/t5/-/-/ta-p/3160804
交換作業実施後、CIMCからホストの電源をONにして下さい。
setup_data.yaml ファイルの編集(computeノードの削除)
交換実施後、作業ディレクトリにコピー済みのsetup_data.yaml ファイルを編集し Compute ノードのエントリを復元します。
- Management ノードに root user で ssh アクセスする。
- コピー済み setup_data.yaml ファイルをvim 等のエディタで編集する。
編集前:
ROLES:
block_storage: [cpod-osd-compute-1, cpod-osd-compute-2, cpod-osd-compute-3]
# compute: [cpod-compute-1, cpod-compute-2, cpod-compute-3, cpod-compute-4, cpod-osd-compute-1, cpod-osd-compute-2, cpod-osd-compute-3]
compute: [cpod-compute-2, cpod-compute-3, cpod-compute-4, cpod-osd-compute-1, cpod-osd-compute-2, cpod-osd-compute-3]
control: [cpod-control-1, cpod-control-2, cpod-control-3]
SERVERS:
::
# cpod-compute-1:
# cimc_info: {cimc_ip: 192.168.11.34}
# management_ip: 192.168.11.54
# rack_info: {rack_id: RackA}
赤文字の箇所を削除します。
編集後:
最終的には以下のようになります(元の状態に戻っています)。
ROLES:
block_storage: [cpod-osd-compute-1, cpod-osd-compute-2, cpod-osd-compute-3]
compute: [cpod-compute-1, cpod-compute-2, cpod-compute-3, cpod-compute-4, cpod-osd-compute-1, cpod-osd-compute-2, cpod-osd-compute-3]
control: [cpod-control-1, cpod-control-2, cpod-control-3]
SERVERS:
::
cpod-compute-1:
cimc_info: {cimc_ip: 192.168.11.34}
management_ip: 192.168.11.54
rack_info: {rack_id: RackA}
Compute ノードを CVIM Pod に追加
Management ノードから以下のコマンドで Compute ノードを CVIM Pod に追加します。
[root@cvim-cpod-mgmtnode ~]# ciscovim add-computes --setupfile MySetupData/setup_data.yaml -y cpod-compute-1
この例では、setup_data.yaml で追加した、cpod-compute-1 が新たに追加されます。この手順の完了までには数時間かかることがあります。
add-compute が完了したら以下のコマンドで add-compute のステータスが "Success" となっていることを確認してください。
[root@cvim-mpod-mgmtnode ~]# ciscovim last-run-status
最終的に "ciscovim list-nodes" コマンドで追加した computeノードが "Active" となっていることを確認してください。
[root@cvim-cpod-mgmtnode ~]# ciscovim list-nodes
+--------------------+--------+-----------------------+---------------+
| Node Name | Status | Type | Management IP |
+--------------------+--------+-----------------------+---------------+
| cpod-compute-1 | Active | compute | 192.168.11.54 |
| cpod-compute-2 | Active | compute | 192.168.11.55 |
| cpod-compute-3 | Active | compute | 192.168.11.56 |
| cpod-compute-4 | Active | compute | 192.168.11.57 |
| cpod-control-1 | Active | control | 192.168.11.51 |
| cpod-control-2 | Active | control | 192.168.11.52 |
| cpod-control-3 | Active | control | 192.168.11.53 |
| cpod-osd-compute-1 | Active | block_storage compute | 192.168.11.58 |
| cpod-osd-compute-2 | Active | block_storage compute | 192.168.11.59 |
| cpod-osd-compute-3 | Active | block_storage compute | 192.168.11.60 |
+--------------------+--------+-----------------------+---------------+
健全性の確認
以下のドキュメントの手順でCloud Sanity を実行しCVIMの健全性を確認します。
[CVIM] Cloud Sanity 実行方法
https://community.cisco.com/t5/-/-/ta-p/3947189
すべてのテスト項目が PASSED もしくは SKIPPED となっている事を確認してください。
交換後の考慮事項
交換後は、Compute ノードが openstack aggregation から除外されていますので、手動でaggregation に Compute ノードに追加し直して下さい。
以上