キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
1088
閲覧回数
0
いいね!
0
コメント
shanazon
Cisco Employee
Cisco Employee

はじめに

本ドキュメントで紹介する内容は 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となったのかを確認します。

 

Podmanコンテナが 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> コマンドから起動失敗の原因を確認します。

 

Podman コンテナにログインする

もしコンテナが 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 コンテナ関連のログファイル

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

 

 

Getting Started

検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう

シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします