2022-01-27 10:23 AM
本ドキュメントで紹介する内容は CVIM 4.2.0 および 4.2.1 に基づいています。その他のバージョンでは内容が異なる場合があります。
Cisco VIM (CVIM) 4.2 以降は、Nova や Neutron といった openstack の各種サービスが docker コンテナから podman コンテナに変更されました。本ドキュメントでは podman コンテナのトラブルシュートを行う方法を紹介します。podman の使い方は、コマンド名が docker ではなく podman である点を除けば、Docker とほぼ同じです。そのため、多くの場合これまでの dockerコマンドを podman に置き換えることで操作を行うことができます。
すべてのコンテナ情報の出力例 podmanコマンドの場合 [root@cvim4.2.0 ~]# podman ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5727f36bb344 jcvim-mgmt:5000/cvim42-rhel8-osp16/nova-ssh:30857 /nova_ssh_start.s... 3 months ago Up 3 months ago novassh_30857 3a353a1aa770 jcvim-mgmt:5000/cvim42-rhel8-osp16/nova-compute-ovs:30857 /nova_compute_sta... 3 months ago Up 3 months ago novacompute_30857 fd608dde8bf6 jcvim-mgmt:5000/cvim42-rhel8-osp16/nova-libvirt:30857 /nova_libvirt_sta... 3 months ago Up 3 months ago novalibvirt_30857 2f1af5e0dfe4 jcvim-mgmt:5000/cvim42-rhel8-osp16/neutron-sriov:30857 /neutron_sriov_st... 3 months ago Up 3 months ago neutron_sriov_30857 e5776e3b7784 jcvim-mgmt:5000/cvim42-rhel8-osp16/neutron-ovs:30857 /neutron_ovs_star... 3 months ago Up 3 months ago neutron_ovsagent_30857 0ae81d2a0dd0 jcvim-mgmt:5000/cvim42-rhel8-osp16/ovs-vswitchd:30857 /ovsd_start.sh 3 months ago Up 3 months ago ovs_vswitch_30857 ee4645edbf6c jcvim-mgmt:5000/cvim42-rhel8-osp16/ovs-db-server:30857 /ovs_db_server_st... 3 months ago Up 3 months ago ovs_dbserver_30857 37f4d1db900e jcvim-mgmt:5000/cvim42-rhel8-osp16/fluentd:30857 /start.sh 3 months ago Up 3 months ago fluentd_30857 [root@cvim4.2.0 ~]# dockerコマンドの例 [root@cvim3.2.1 ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8ff4ccaca31b 172.21.190.61:5000/cvim32-rhel7-osp13/nova-ssh:20784 "/usr/bin/my_init ..." 2 years ago Up 2 months novassh_20784 216a23f00450 172.21.190.61:5000/cvim32-rhel7-osp13/nova-compute-ovs:20784 "/usr/bin/my_init ..." 2 years ago Up 2 months novacompute_20784 e26702d64cfc 172.21.190.61:5000/cvim32-rhel7-osp13/nova-libvirt:20784 "/nova_libvirt_sta..." 2 years ago Up 2 months novalibvirt_20784 a49d27db5e9e 172.21.190.61:5000/cvim32-rhel7-osp13/nova-common:20784 "/usr/bin/my_init ..." 2 years ago Up 2 months novacommon_20784 0cc228ab21bf 172.21.190.61:5000/cvim32-rhel7-osp13/neutron-sriov:20784 "/usr/bin/my_init ..." 2 years ago Up 2 months neutron_sriov_20784 d87221db184c 172.21.190.61:5000/cvim32-rhel7-osp13/neutron-ovs:20784 "/usr/bin/my_init ..." 2 years ago Up 2 months neutron_ovsagent_20784 85b1bc0d75f4 172.21.190.61:5000/cvim32-rhel7-osp13/ovs-vswitchd:20784 "/usr/bin/my_init ..." 2 years ago Up 2 months ovs_vswitch_20784 273f6de5c500 172.21.190.61:5000/cvim32-rhel7-osp13/ovs-db-server:20784 "/usr/bin/my_init ..." 2 years ago Up 2 months ovs_dbserver_20784 a15c3ed93e6f 172.21.190.61:5000/cvim32-rhel7-osp13/neutron-common:20784 "/usr/bin/my_init ..." 2 years ago Up 2 months neutron_common_20784 4d0a556d0149 172.21.190.61:5000/cvim32-rhel7-osp13/fluentd:20784 "/usr/bin/my_init ..." 2 years ago Up 2 months fluentd_20784 [root@cvim3.2.1 ~]#
そのため、podman コンテナのトラブルシュートのほとんどは、下記Articleでご紹介している dockerコンテナのトラブルシュート方法を利用することができます。
[CVIM] Docker トラブルシュート
https://community.cisco.com/t5/-/-/ta-p/4004088
dp コマンドで podmanコンテナの稼働状況を確認することができます。
[root@jcvim-aio1 ~]# dp Names Status heatapicfn_30857 Up 4 weeks ago heatapi_30857 Up 4 weeks ago heatengine_30857 Up 4 weeks ago horizon_30857 Up 3 months ago cloudpulse_server_30857 Up 2 months ago novanovncproxy_30857 Up 4 weeks ago novassh_30857 Up 3 months ago novacompute_30857 Up 3 months ago novaapi_30857 Up 4 weeks ago novascheduler_30857 Up 3 months ago novaconduct_30857 Up 4 weeks ago novalibvirt_30857 Up 3 months ago cindervolume_30857 Up 3 months ago cinderscheduler_30857 Up 3 months ago cinderapi_30857 Up 3 months ago cinder_etcd_30857 Up 3 months ago neutron_metadata_agent_30857 Up 3 months ago neutron_l3_agent_30857 Up 3 months ago neutron_dhcp_agent_30857 Up 3 months ago neutron_sriov_30857 Up 3 months ago neutron_ovsagent_30857 Up 3 months ago ovs_vswitch_30857 Up 3 months ago ovs_dbserver_30857 Up 3 months ago neutron_server_30857 Up 3 months ago glanceapi_30857 Up 3 months ago placementapi_30857 Up 3 months ago keystone_30857 Up 3 months ago rabbitmq_30857 Up 4 weeks ago mariadb_30857 Up 3 months ago haproxy_30857 Up 3 months ago memcached_30857 Up 3 months ago cephmgr_30857 Up 3 months ago cephmon_30857 Up 3 months ago fluentd_30857 Up 3 months ago [root@jcvim-aio1 ~]#
このコマンドで各コンテナがUpになっているか、またExsitedと表示された場合にどのくらい前からExitedとなったのかを確認します。
dp コマンドの結果でExitedとなっている場合、対象のサービスの起動時のログを確認します。この際にはCVIM 3.xと同じ方法でサービスの確認と起動時のログを調べることができます。podmanでもサービス名はCVIM 3.xと同様に dockerから始まる名前になります。以下の例では systemctl コマンドで CVIM 4.2.0上で keystone コンテナサービスを調べ、そのステータスを確認しています。
[root@jcvim-aio1 ~]# systemctl -a |grep keystone docker-keystone.service loaded active running Keystone Docker [root@jcvim-aio1 ~]# [root@jcvim-aio1 ~]# systemctl status docker-keystone.service ● docker-keystone.service - Keystone Docker Loaded: loaded (/usr/lib/systemd/system/docker-keystone.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2022-01-21 12:59:57 JST; 14s ago Process: 139729 ExecStop=/usr/bin/podman stop -t 8 keystone_30857 (code=exited, status=0/SUCCESS) Main PID: 139953 (podman) Tasks: 11 (limit: 1396416) Memory: 29.6M CGroup: /system.slice/docker-keystone.service └─139953 /usr/bin/podman start -a keystone_30857 Jan 21 12:59:57 jcvim-aio1 systemd[1]: Stopped Keystone Docker. Jan 21 12:59:57 jcvim-aio1 systemd[1]: Started Keystone Docker. Jan 21 12:59:58 jcvim-aio1 podman[139953]: 2022-01-21 12:59:58.222065325 +0900 JST m=+0.545305298 container init bae6af3b9a3f683401d21cea027c56231de67010e7eafb6bf15f7ef3ac0afa57 (> Jan 21 12:59:58 jcvim-aio1 podman[139953]: 2022-01-21 12:59:58.240191823 +0900 JST m=+0.563431787 container start bae6af3b9a3f683401d21cea027c56231de67010e7eafb6bf15f7ef3ac0afa57 > Jan 21 12:59:58 jcvim-aio1 podman[139953]: 2022-01-21 12:59:58.240540494 +0900 JST m=+0.563780496 container attach bae6af3b9a3f683401d21cea027c56231de67010e7eafb6bf15f7ef3ac0afa57> Jan 21 12:59:58 jcvim-aio1 podman[139953]: Configuring keystone.conf Jan 21 13:00:00 jcvim-aio1 podman[139953]: Fernet keys are already here. Not need to copy them Jan 21 13:00:03 jcvim-aio1 podman[139953]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.21.190.71. Set the 'ServerName' directi> [root@jcvim-aio1 ~]#
以下のコマンドで systemd で定義されている コンテナサービス制御のための定義ファイルを確認します。
[root@jcvim-aio1 ~]# cat /etc/systemd/system/multi-user.target.wants/docker-keystone.service [Unit] Description=Keystone Docker Wants=docker-mariadb.service After=docker-mariadb.service [Service] Restart=always RestartSec=5 StartLimitInterval=10m StartLimitBurst=10 KillMode=none ExecStart=/usr/bin/podman start -a keystone_30857 ExecStop=/usr/bin/podman stop -t 8 keystone_30857 [Install] WantedBy=multi-user.target [root@jcvim-aio1 ~]#
上記の定義ファイルより、keystone の podmanコンテナは、もしコンテナがダウンすると systemd がその状態を監視しており、5秒間隔で再起動を試みていることがわかります。このため、例えコンテナがダウンしても、基本的には自動的に再起動してくるため問題は起きません。そのため、コンテナのステータスが Exited の状態のままである場合は、再起動ではコンテナの起動ができない状況である可能性があります。このような場合には先にご紹介した systemctl status <service-name> コマンドから起動失敗の原因を確認します。
もしコンテナが Up にもかかわらず正常にサービスを提供できてない場合には、コンテナに直接ログインしてトラブルシュートする必要があります。CVIM では各種コンテナにログインするために alias コマンドが用意されております。このaliasコマンドを利用し、各種コンテナにログインします。
[root@jcvim-aio1 ~]# alias|grep in_container alias cephmgr='in_container cephmgr_30857' alias cephmon='in_container cephmon_30857' alias cinderapi='in_container cinderapi_30857' alias cinderetcd='in_container cinder_etcd_30857' alias cinderscheduler='in_container cinderscheduler_30857' alias cindervolume='in_container cindervolume_30857' alias cloudpulse='in_container cloudpulse_server_30857' alias compute='in_container novacompute_30857' alias conductor='in_container novaconduct_30857' alias dhcpagent='in_container neutron_dhcp_agent_30857' alias fluentd='in_container fluentd_30857' alias glanceapi='in_container glanceapi_30857' alias haproxy='in_container haproxy_30857' alias heatapi='in_container heatapi_30857' alias heatapicfn='in_container heatapicfn_30857' alias heatengine='in_container heatengine_30857' alias horizon='in_container horizon_30857' alias keystone='in_container keystone_30857' alias l3agent='in_container neutron_l3_agent_30857' alias libvirt='in_container novalibvirt_30857' alias mariadb='in_container mariadb_30857' alias memcached='in_container memcached_30857' alias metadataagent='in_container neutron_metadata_agent_30857' alias neutronserver='in_container neutron_server_30857' alias novaapi='in_container novaapi_30857' alias novascheduler='in_container novascheduler_30857' alias novassh='in_container novassh_30857' alias novncproxy='in_container novanovncproxy_30857' alias ovsagent='in_container neutron_ovsagent_30857' alias ovsdb='in_container ovs_dbserver_30857' alias ovsvswitch='in_container ovs_vswitch_30857' alias placementapi='in_container placementapi_30857' alias rabbit='in_container rabbitmq_30857' alias sriovagent='in_container neutron_sriov_30857' [root@jcvim-aio1 ~]#
例えば keystone のコンテナにログインするには keystone aliasコマンドを実行します。
[root@jcvim-aio1 ~]# keystone keystone_30857 [apache@jcvim-aio1 /]$
Podman コンテナ関連のログは /var/log/messages に格納されます。
[root@jcvim-aio1 log]# grep podman /var/log/messages |tail -5 Jan 21 13:13:01 jcvim-aio1 podman[1034357]: 2022-01-21 13:13:01.562 7efefb248700 0 log_channel(audit) log [DBG] : from='client.? 172.21.188.134:0/1502519569' entity='client.admin' cmd=[{"prefix": "status", "format": "json"}]: dispatch Jan 21 13:13:03 jcvim-aio1 podman[172142]: 2022-01-21 13:13:03.95855417 +0900 JST m=+0.898041628 container exec 89d8a9e8f74256c23683a1c34860fe963386f47575a6442fcc90ce6437cea802 (image=jcvim-mgmt:5000/cvim42-rhel8-osp16/ceph-mon:30857, name=cephmon_30857) Jan 21 13:13:05 jcvim-aio1 podman[1034357]: 2022-01-21 13:13:05.343 7efefb248700 0 mon.ceph-jcvim-aio1@0(leader) e1 handle_command mon_command({"prefix": "df", "format": "json"} v 0) v1 Jan 21 13:13:05 jcvim-aio1 podman[1034357]: 2022-01-21 13:13:05.344 7efefb248700 0 log_channel(audit) log [DBG] : from='client.? 172.21.188.130:0/3276827157' entity='client.admin' cmd=[{"prefix": "df", "format": "json"}]: dispatch Jan 21 13:13:06 jcvim-aio1 podman[172592]: 2022-01-21 13:13:06.325353568 +0900 JST m=+0.684562793 container exec 89d8a9e8f74256c23683a1c34860fe963386f47575a6442fcc90ce6437cea802 (image=jcvim-mgmt:5000/cvim42-rhel8-osp16/ceph-mon:30857, name=cephmon_30857) [root@jcvim-aio1 log]#
[CVIM] Docker トラブルシュート
https://community.cisco.com/t5/-/-/ta-p/4004088
検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう
シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします
下記より関連するコンテンツにアクセスできます