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

 

 

はじめに

本ドキュメントで紹介する内容は CVIM 3.2.1および3.2.2 に基づいています。その他のバージョンでは内容が異なる場合があります。

Cisco VIM (CVIM) では、libvirt によって管理される Kernel-based Virtual Machine(KVM)を使用しています。ここでは KVM や Qemu などの仮想化レイヤーのトラブルシューティングに有効ないくつかの情報収集の方法について紹介しています。

 

仮想マシンインスタンスの設定情報を参照する

KVM の仮想マシン(ドメイン)の設定は、対象の Compute ノードの /etc/libvirt/qemu ディレクトリの中にXMLファイルとして作成されます。このXMLファイルには仮想マシンの設定情報が記述されています。

# ls -l /etc/libvirt/qemu/
total 24
-rw-------. 1 root root 5624 Oct 30 18:16 instance-00000008.xml
-rw-------. 1 root root 5625 Nov  6 14:59 instance-0000000b.xml
-rw-------. 1 root root 4678 Apr 12 11:24 instance-00000020.xml
[root@jcvim-aio1 ~]# 
[root@jcvim-aio1 ~]# head -n 30 /etc/libvirt/qemu/instance-00000020.xml 
<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
  virsh edit instance-00000020
or other application using the libvirt API.
-->

<domain type='kvm'>
  <name>instance-00000020</name>
  <uuid>9ac84f74-2100-49ce-9ee9-d63ab2f3e099</uuid>
  <metadata>
    <nova:instance xmlns:nova="http://openstack.org/xmlns/libvirt/nova/1.0">
      <nova:package version="17.0.9-9.cisco.2.el7"/>
      <nova:name>shanazon_test</nova:name>
      <nova:creationTime>2021-04-12 02:23:52</nova:creationTime>
      <nova:flavor name="m1.xlarge">
        <nova:memory>8192</nova:memory>
        <nova:disk>10</nova:disk>
        <nova:swap>0</nova:swap>
        <nova:ephemeral>0</nova:ephemeral>
        <nova:vcpus>8</nova:vcpus>
      </nova:flavor>
      <nova:owner>
        <nova:user uuid="70d9f19869ee4ae190faafb8bfbc0c9f">admin</nova:user>
        <nova:project uuid="05c884f73b7440488ec504b00dad652b">admin</nova:project>
      </nova:owner>
    </nova:instance>
  </metadata>
  <memory unit='KiB'>8388608</memory>
  <currentMemory unit='KiB'>8388608</currentMemory>
# 

また、同様の内容は libvirt docker コンテナに入り、virsh dumpxml コマンドでも表示することができます。

# libvirt
novalibvirt_20784 [root@jcvim-aio1 /]# virsh list
 Id    Name                           State
----------------------------------------------------
 1     instance-00000020              running

novalibvirt_20784 [root@jcvim-aio1 /]# 
novalibvirt_20784 [root@jcvim-aio1 /]# virsh dumpxml instance-00000020
<domain type='kvm' id='1'>
  <name>instance-00000020</name>
  <uuid>9ac84f74-2100-49ce-9ee9-d63ab2f3e099</uuid>
  <metadata>
    <nova:instance xmlns:nova="http://openstack.org/xmlns/libvirt/nova/1.0">
      <nova:package version="17.0.9-9.cisco.2.el7"/>
      <nova:name>shanazon_test</nova:name>
      <nova:creationTime>2021-04-12 02:23:52</nova:creationTime>
      <nova:flavor name="m1.xlarge">
        <nova:memory>8192</nova:memory>
        <nova:disk>10</nova:disk>
        <nova:swap>0</nova:swap>
        <nova:ephemeral>0</nova:ephemeral>
        <nova:vcpus>8</nova:vcpus>
      </nova:flavor>
      <nova:owner>
        <nova:user uuid="70d9f19869ee4ae190faafb8bfbc0c9f">admin</nova:user>
        <nova:project uuid="05c884f73b7440488ec504b00dad652b">admin</nova:project>
      </nova:owner>
    </nova:instance>
  </metadata>
  <memory unit='KiB'>8388608</memory>
  <currentMemory unit='KiB'>8388608</currentMemory>
  <vcpu placement='static' cpuset='2-15,18-31,34-47,50-63'>8</vcpu>
... <SNIP>...

 

ログファイルを参照する

nova-compute
ハイパーバイザーの管理やインスタンスのリソース管理を行います。CVIM では Compute ノード上で novacompute docker コンテナとして稼働しています。ログファイルには仮想マシンインスタンスのライフサイクルに関するイベントが記録されます。

ログファイル nova-compute-ovs.log
場所 [host]
/var/log/nova/
[tech-support]
host-docker/fluentd_XXXXX/var/log/nova/

 

nova-libvirt

libvirtを実行します。CVIMでは Compute ノード上で nova_libvirt コンテナとして稼働しています。ログファイルには libvirtに関するイベントが記録されます。

ログファイル nova-libvirt.log
場所 [host]
/var/log/nova/
[tech-support]
host-docker/fluentd_XXXXX/var/log/nova/

 

仮想マシンインスタンスのコンソール

仮想マシンインスタンス上のOS起動メッセージが記録されています。

ログファイル console.log
場所

[host]

/var/lib/nova/instances/VMのUUID/

[tech-support]

含まれない

仮想マシンインスタンスのコンソールログについては以下の article をご参照下さい。

 

[CVIM] VM インスタンスのコンソールログの場所について
https://community.cisco.com/t5/-/-//ta-p/4172296

 

仮想マシンインスタンス

libvirt や QEMU のエラーなど、仮想マシンインスタンスに関するイベントが記録されます。

このファイルの参照には libvirt docker コンテナに入る必要があります。

ログファイル instance-xxxx.log
場所

[host]

/var/log/libvirt/qemu/

[tech-support]

含まれない

 

尚、QEMU や libvirt の扱う 仮想マシンインスタンス名(domain)と OpenStack の扱う 仮想マシンインスタンス名の照合は openstack server show コマンドで表示されるフィールドの OS-EXT-SRV-ATTR:instance_name で確認することができます。

 

仮想マシンインスタンスのコンソールに接続する

virsh console コマンドを経由して 仮想マシンインスタンスのコンソールにアクセスすることができます。
以下の例では Compute ノードで libvirt dockerコンテナに入り、virsh connect で稼働している仮想マシンインスタンス instance-00000020 のコンソールにアクセスしています。

[root@jcvim-aio1 ~]# libvirt
novalibvirt_20784 [root@jcvim-aio1 /]# virsh list
 Id    Name                           State
----------------------------------------------------
 1     instance-00000020              running

novalibvirt_20784 [root@jcvim-aio1 /]# 
novalibvirt_20784 [root@jcvim-aio1 /]# virsh console instance-00000020 
Connected to domain instance-00000020
Escape character is ^]

CentOS Linux 7 (Core)
Kernel 3.10.0-229.7.2.el7.x86_64 on an x86_64

centosvm-test login:

キーボードから Ctrl + ] を入力すると仮想マシンインスタンスのコンソールから抜けることができます。

 

Getting Started

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

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