LinuCレベル2 201試験の例題と解説

主題2.05仮想化サーバー

2.05.2仮想マシンの作成と管理

LinuCレベル2 201試験の出題範囲から「2.05.2 仮想マシンの作成と管理」についての例題を解いてみます。


例題

KVM を利用した仮想化環境において、現在定義されている停止中の仮想マシンも含むすべての仮想マシンの一覧を表示したい。最も適切なコマンドはどれか。

  1. virsh list
  2. virt-manager --list-all
  3. virsh list --all
  4. virsh list -a

※この例題は実際の試験問題とは異なります。


解答と解説

正解は、「3. virsh list --all」です。

virsh コマンドは、KVM/libvirt 環境を管理するための CLI ツールです。仮想マシン(ドメイン)の起動、停止、状態確認などを行うことができます。
virsh は「コマンド [サブコマンド] [オプション] [引数]」の形式で使用します。一般的に使用されるサブコマンドは以下の通りです。

list:現在起動中の仮想マシンの一覧を表示する。 オプションに--allを指定した場合、停止中の仮想マシン(ドメイン)も含むすべての仮想マシン(ドメイン)の一覧を表示する。
start:仮想マシンを起動する
shutdown:仮想マシンをシャットダウンする
destroy:仮想マシンを強制停止する
reboot:仮想マシンを再起動する
suspend:仮想マシンを一時停止する
resume:一時停止中の仮想マシンを再開する

各選択肢の解説は次の通りです。

1. virsh list
誤りです。
このコマンドは、現在起動中の仮想マシンのみを表示し、停止中の仮想マシンは表示されません。
virsh list の実行結果は以下となります。

$ virsh list
Id    Name                           State
----------------------------------------------------
1     ubuntu22.04                    running
2     centos7                        running
```

設問では、停止中も含むすべての仮想マシンの一覧を表示とあるため、この選択肢は設問の条件を満たすことができていません。

2. virt-manager --list-all
誤りです。
virt-manager は、 KVM などの仮想化環境を GUI で管理するためのツールです。CLI 上で仮想化環境を管理するためのツールは virsh コマンドであるため、適切な選択肢とは言えません。virt-managerコマンドを引数やオプションを指定せずに実行すると、GUIの管理ツールが立ち上がります。

3. virsh list --all
正しいです。
上記の説明の通り、 virsh list に --all オプションを指定することで、起動/停止にかかわらず、仮想化環境で現在定義されているすべての仮想マシンの一覧を表示します。よって、最も適切な選択肢となります。
コマンドの実行結果は以下の通りです。 --all を指定することで、停止中の仮想マシンも表示されていることがわかります。

$ virsh list
Id    Name                           State
----------------------------------------------------
1     ubuntu22.04                    running
2     centos7                        running
```
```
$ virsh list --all
 Id    Name                           State
----------------------------------------------------
 1     ubuntu22.04                    running
 2     centos7                        running
 -     test-vm                        shut off
 -     backup-server                  shut off

4. virsh list -a
誤りです。
--all に -a のような短縮系のオプションは存在しません。
このコマンドを実行すると、以下のようなエラーが出力されます。

$ virsh list -a
error: unknown option: -a
Usage: list [--inactive] [--all] [--transient] [--persistent]...

virsh コマンドによる仮想マシンの管理では、 GUI ツールである virt-manager との役割の違いや、各サブコマンド、オプションの意味を正しく理解しておくことが重要です。
特に、 CLI 上で操作を行う virsh コマンドにおいては、各サブコマンドの役割だけでなく、オプションの指定方法( --all などのフルスペル指定の必要性)も正確に把握しておく必要があります。状況に応じて、直感的な GUI 操作と詳細な制御が可能な CLI 操作を適切に使い分け、仮想マシンの状態を正しく把握・管理できるようにしておきましょう。


例題作成者

株式会社デージーネット 経営企画室 大河内 龍馬

ページトップへ