Show Table of Contents
第4章 仮想化コマンドラインインターフェースの使用
Red Hat Enterprise Linux 7 では仮想化を使用する場合、コマンドラインユーザーインターフェース (CLI) を使用するのが標準の方法です。CLI コマンドを入力すると、ホストシステム上で仮想マシンを作成したり、仮想マシンとの対話を行うシステムユーティリティーがアクティブになります。この方法では、virt-manager などのグラフィカルなアプリケーションを使用する場合よりもより詳細に制御を行うことができ、スクリプト化や自動化の可能性が広がります。
4.1. 仮想化の主なコマンドラインユーティリティー
以下のサブセクションでは、Red Hat Enterprise Linux 7 で仮想化を設定および管理するために使用できる主なコマンドラインユーティリティーを取り上げます。これらのコマンドとその他の仮想化ユーティリティーの多くは、Red Hat Enterprise Linux リポジトリーによって提供されるパッケージに含まれており、Yum パッケージマネージャーを使用してインストールできます。
仮想化パッケージのインストールに関する詳細は、『仮想化の導入および管理ガイド』を参照してください。
4.1.1. virsh
virsh は、ハイパーバイザとゲスト仮想マシンを管理するための CLI ユーティリティーです。主にこのユーティリティーを使用して、Red Hat Enterprise Linux 7 上で仮想化を制御します。これには以下の機能が含まれています。
- 仮想マシンを作成、設定、一時停止、表示、およびシャットダウンします。
- 仮想ネットワークの管理
- 仮想マシンの ディスクイメージをロードします。
virsh ユーティリティーは仮想化管理スクリプトの作成に適しています。root 権限を持たないユーザーは読み取り専用で virsh を使用できます。
virsh の使用
virsh ユーティリティーは標準のコマンドライン入力で使用できますが、インタラクティブシェルとして使用することもできます。シェルモードでは、virsh コマンドの接頭辞は必要なく、ユーザーは常に root として登録されます。以下の例は virsh hostname コマンドを使用してハイパーバイザーのホスト名を表示します。最初の例は標準モードで、2 つ目は対話モードの例になります。
$virsh hostnamelocalhost.localdomain $virshWelcome to virsh, the virtualization interactive terminal. Type: 'help' for help with commands 'quit' to quit virsh #hostnamelocalhost.localdomain
重要
root 権限を持たないユーザーとして
virsh を使用する場合は、特権のない libvirt セッション を使用します。
要素への読み取りアクセスを取得するには
virsh コマンドで -c qemu:///system オプションを使用します。
virsh でのヘルプ
Linux のすべての bash コマンドと同様、
virsh のヘルプを表示するには、man virsh コマンドまたは --help オプションを使用します。また、virsh help コマンドを使用すると、virsh コマンドに固有するヘルプテキストを表示でき、キーワードを使用すると特定のグループに属する virsh コマンドをすべてリストできます。
virsh コマンドグループとそれらのキーワードは次のとおりです。
- ゲストの管理: キーワード
domain - ゲストの監視: キーワード
monitor - ホストおよびハイパーバイザーの監視および管理: キーワード
host - ホストシステムのネットワークインターフェースの管理: キーワード
interface - 仮想ネットワークの管理: キーワード
network - ネットワークフィルターの管理: キーワード
filter - ノードデバイスの管理: キーワード
nodedev - パスフレーズや暗号化キーなどの秘密の管理: キーワード
secret - スナップショットの管理: キーワード
snapshot - ストレージプールの管理: キーワード
pool - ストレージボリュームの管理: キーワード
volume - 一般的な
virshの使用方法: キーワードvirsh
以下の例は、ゲスト仮想マシンの名前を変更する方法を示しています。
virsh help を使用して最初に適切なコマンドを探し、その構文を調べます。そして、そのコマンドを使用して Fontaine というゲストの名前を Atlas に変更します。
例4.1 キーワードを使用してすべてのコマンドの help を一覧表示する方法
#virsh helpDomain Management (help keyword 'domain'): attach-device attach device from an XML file attach-disk attach disk device [...] domname convert a domain id or UUID to domain name domrename rename a domain [...] #domainvirsh helpNAME domrename - rename a domain SYNOPSIS domrename <domain> <new-name> DESCRIPTION Rename an inactive domain. OPTIONS [--domain] <string> domain name, id or uuid [--new-name] <string> new domain name #domrenamevirsh domrename --domain Fontaine --new-name AtlasDomain successfully renamed
注記
virsh を使用した仮想マシンの管理に関する詳細は、『『Red Hat Enterprise Linux 7 仮想化の導入および管理ガイド』』を参照してください。
4.1.2. virt-install
virt-install は、新規仮想マシンを作成する CLI ユーティリティーです。このユーティリティーは、シリアルコンソール、SPICE、または VNC クライアント/サーバーペアグラフィックを使用して、テキストベースのインストールとグラフィカルインストールの両方をサポートします。インストールメディアはローカルに配置でき、NFS、HTTP、または FTP サーバー上でリモートに配置することもできます。このツールを使用すると、無人で稼働し、キックスタートを使用してゲストを準備するよう設定できるため、インストールの自動化が容易になります。このツールは virt-install パッケージに含まれています。
重要
root 権限のないユーザーとして
virt-install を使用する場合は、特権のない libvirt セッション を使用します。この場合、作成したゲストは作成者のみに表示され、root 権限を持つユーザーが作成したゲストが持つ機能の一部を使用できません。
注記
virt-install の使用に関する詳細は、『『Red Hat Enterprise Linux 7 仮想化の導入および管理ガイド』』を参照してください。
4.1.3. virt-xml
virt-xml は、ドメイン XML ファイルを編集するためのコマンドラインユーティリティーです。XML の設定を正常に変更するには、ゲストの名前、XML のアクション、および変更内容がコマンドに含まれている必要があります。
たとえば、以下はゲスト起動設定に関連するサブオプションを表示し、
example_domain ゲストの起動メニューをオンにします。
#virt-xml boot=?--boot options: arch cdrom [...] menu network nvram nvram_template os_type smbios_mode uefi useserial #virt-xml example_domain --edit --boot menu=onDomain 'example_domain' defined successfully.
コマンドの各呼び出しは、ドメイン XML ファイルごとに 1 つのアクションを実行できることに注意してください。
注記
このツールは virt-install パッケージに含まれています。
virt-xml の使用に関する詳細は virt-xml の man ページを参照してください。
4.1.4. guestfish
guestfish は仮想マシンのディスクイメージを検証および編集するためのコマンドラインユーティリティーです。libguestfs ライブラリーを使用し、 libguestfs API によって提供される機能をすべて公開します。
guestfish の使用
guestfish ユーティリティーは標準のコマンドライン入力で使用できますが、インタラクティブシェルとして使用することもできます。シェルモードでは、guestfish コマンドの接頭辞は必要なく、ユーザーは常に root として登録されます。以下の例は guestfish コマンドを使用して testguest 仮想マシン上のファイルシステムを表示します。最初の例は標準モードで、2 つ目は対話モードの例になります。
#guestfish domain testguest : run : list-filesystems/dev/sda1: xfs /dev/rhel/root: xfs /dev/rhel/swap: swap #guestfishWelcome to guestfish, the guest filesystem shell for editing virtual machine filesystems and disk images. Type: 'help' for help on commands 'man' to read the manual 'quit' to quit the shell ><fs>domain testguest><fs>run><fs>list-filesystems/dev/sda1: xfs /dev/rhel/root: xfs /dev/rhel/swap: swap
また、自動化の目的で
guestfish を bash スクリプト で使用することもできます。
重要
guestfish を root 権限を持たないユーザーとして使用する場合、特権のない libvirt セッション を使用します。この場合、root 権限を持つユーザーによって作成されたゲストのディスクイメージを見ることはできず、対話することもできません。
これらのディスクイメージに読み取り専用アクセスできるようにするには、
guestfish に -ro -c qemu:///system オプションを使用します。また、ディスクイメージファイルの読み取り権限が必要です。
guestfish のヘルプ
すべての bash コマンドと同様、
guestfish のヘルプを表示するには、man guestfish コマンドまたは --help オプションを使用します。また、guestfish help コマンドを使用すると、guestfish コマンドに固有する詳細情報を表示できます。以下の例は、guestfish add コマンドに関する情報を表示します。
$ guestfish help add
NAME
add-drive - add an image to examine or modify
SYNOPSIS
add-drive filename [readonly:true|false] [format:..] [iface:..] [name:..] [label:..] [protocol:..] [server:..] [username:..] [secret:..] [cachemode:..] [discard:..] [copyonread:true|false]
DESCRIPTION
This function adds a disk image called filename to the handle. filename
may be a regular host file or a host device.
[...]注記
guestfish の使用に関する詳細は、『『Red Hat Enterprise Linux 7 仮想化の導入および管理ガイド』』を参照してください。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.