目的
本ドキュメントでは Cisco VIM (CVIM) の RabbitMQサービスで問題が発生した場合の手動による復旧方法をご紹介します。尚、本ドキュメントで紹介する内容は CVIM 3.2.2 および 3.2.1 に基づいています。その他のバージョンでは内容が異なる場合があります。
手順
(1) 3台のControllerノードのrabbitmq dockerコンテナを停止します。それぞれのControllerノードにログインして"systemctl stop docker-rabbitmq.service"を実行します。
<Controllerノード1>
[root@cpod-control-1 ~]# systemctl stop docker-rabbitmq.service
[root@cpod-control-1 ~]#
<Controllerノード2>
[root@cpod-control-2 ~]# systemctl stop docker-rabbitmq.service
[root@cpod-control-2 ~]#
<Controllerノード3>
[root@cpod-control-3 ~]# systemctl stop docker-rabbitmq.service
[root@cpod-control-3 ~]#
(2) 3台のControllerノード全台で/var/lib/docker/volumes/rabbitmq/_data/mnesiaを削除します。
[root@cpod-control-1 ~]# rm -rf /var/lib/docker/volumes/rabbitmq/_data/mnesia
※上記のコマンドを2台目、3台目のControllerノードでも実施します。
(3) 1台のControllerノードでrabbitmq dockerコンテナを起動します。起動後、"rabbitmqctl cluster_status"を実行してclusterのメンバとして組み込まれているかを確認します。
[root@cpod-control-1 ~]# systemctl start docker-rabbitmq.service
[root@cpod-control-1 ~]# rabbit rabbitmqctl cluster_status
起動したrabbitmqがclusterメンバとして確認できたら、2台目のControllerノードも同じ操作を実施し、最後に3台目も実施します。
(4) 3台のControllerノードすべてで、rabbitmq dockerコンテナの起動の完了とclusterメンバへの組み込みが確認できたら、次にCluster Recoveryを実行します。Cluster Recoveryの実行方法は以下のドキュメントをご参照ください。
[CVIM] Cluster Recovery 実行方法
https://community.cisco.com/t5/-/-/ta-p/4003852
(5) 最後にRabbitMQの健全性を確認するため、Managementノードで"rabbit_api.py" Pythonスクリプトを実行します。rabbit_api.py の実行方法については以下のドキュメントをご参照下さい。
[CVIM] RabbitMQの状態を確認する方法
https://community.cisco.com/t5/-/-/ta-p/4003308
以上