4.2. デモ: コマンドラインユーティリティーを使用したゲストの作成と管理
このセクションでは、CLI でどのように仮想化タスクを実行するかを示すために、新しいゲスト仮想マシンを作成し、そこに OS をインストールし、その後 CLI コマンドを使用してゲストを操作および管理するデモを提供します。
4.2.1. インストール リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ここでは、
guest1-rhel7
という名前の新しいゲストを作成し、Red Hat Enterprise Linux 7 Workstation の ISO イメージから OS のインストールを開始します。このイメージは、カスタマーポータル で入手できます。この例では、現在、~/Downloads/
フォルダーにあります。ゲストには、2 つの仮想 CPU、2048 MB の RAM、および 8 GB のディスク領域を割り当てます。
virt-install --name guest1-rhel7 --memory 2048 --vcpus 2 --disk size=8 --cdrom /home/username/Downloads/rhel-workstation-7.4-x86_64-dvd.iso --os-variant rhel7
# virt-install --name guest1-rhel7 --memory 2048 --vcpus 2 --disk size=8 --cdrom /home/username/Downloads/rhel-workstation-7.4-x86_64-dvd.iso --os-variant rhel7
Starting install...
Allocating 'guest1-rhel7.qcow2' | 8.0 GB 00:00:00
これを実行すると、virt-viewer アプリケーションでグラフィカルな Anaconda インストーラーが起動します。インストールの詳細は、インストールガイド を参照してください。
注記
グラフィカルインターフェイスにアクセスできないホストシステムでは、次のような virt-install コマンドを使用して、テキストベースの Anaconda を使用してゲスト OS をインストールできます。
virt-install -name rhel7anaconda-guest -r 1024 --location=/home/jherrman/Downloads/rhel-workstation-7.4-x86_64-dvd.iso --disk size=8 --nographics --extra-args="console=tty0 console=ttyS0,115200n8"
# virt-install -name rhel7anaconda-guest -r 1024 --location=/home/jherrman/Downloads/rhel-workstation-7.4-x86_64-dvd.iso --disk size=8 --nographics --extra-args="console=tty0 console=ttyS0,115200n8"
インストールが正常に完了すると、コマンドラインに次のように表示されます。
Domain creation completed. Restarting guest.
Domain creation completed.
Restarting guest.
これで、ゲストに望ましい設定を行えるようになりました。ただし、ゲストの設定を安全に管理するために、まずゲストをシャットダウンすることを推奨します。
virsh shutdown guest1-rhel7
# virsh shutdown guest1-rhel7
Domain guest1-rhel7 is being shutdown
4.2.2. デバイスの接続 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ホストに接続された USB デバイス (この例では Samsung 携帯電話) をゲストが検出して使用できるようにするには、まずホストで lsusb コマンドを使用してデバイスの ID を取得します。
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
lsusb
# lsusb
[...]
Bus 003 Device 007: ID 04e8:6860 Samsung Electronics Co., Ltd Galaxy (MTP)
次に、ホストで任意のテキストエディターを使用して、デバイスの XML ファイル (この例では
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
samsung_USB_device.xml
) を作成し、ベンダー ID と製品 ID を入力します。
vim samsung_USB_device.xml
# vim samsung_USB_device.xml
最後に、virsh attach-device コマンドを使用してデバイスをゲストに接続します。
virsh attach-device guest1-rhel7 --file samsung_USB_device.xml --config
# virsh attach-device guest1-rhel7 --file samsung_USB_device.xml --config
Device attached successfully
注記
実行中のゲストにデバイスを接続することもできます。これを行うには、
--live
オプションを使用します。
4.2.3. ゲストの操作 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
guest1-rhel7 ゲストの使用を開始するには、まずゲストを起動します。
virsh start guest1-rhel7
# virsh start guest1-rhel7
Domain guest1-rhel7 started
ホストシステムにグラフィカルディスプレイがあるかどうかに応じて、virt-viewer アプリケーションまたは SSH シェルを使用してゲストを操作できます。
- グラフィカルディスプレイを備えたシステムでは、virt-viewer を使用します。
virt-viewer guest1-rhel7
# virt-viewer guest1-rhel7
Copy to Clipboard Copied! Toggle word wrap Toggle overflow その後、物理マシンの OS GUI と同様に、virt-viewer ウィンドウで画面出力を操作できます。たとえば、Subscription Manager アプリケーションを使用して、Red Hat Enterprise Linux ゲスト OS を登録できます。 - ホストまたはゲストがテキストのみのインターフェイスを備えている場合は、SSH を使用します。これには、ゲストの IP アドレスを知っている必要があります。IP アドレスがわからない場合は、virsh domifaddr コマンドを使用して取得できます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記virsh domifaddr が機能するには、ゲストが実行されていて、ネットワーク上でアクセス可能である必要があります。また、QEMU ゲストエージェント をアクティブにする必要がある場合があります。その後、ゲストマシン上のターミナルを使用するときと同じように、ホストターミナルを操作できます。たとえば、subscription-manager ユーティリティーを使用して、Red Hat Enterprise Linux ゲスト OS を登録できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.2.4. 診断 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ゲストの状態に関する一般的な情報を表示します。
4.2.5. スナップショットの作成 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ゲストの状態をバックアップするには、virsh snapshot-create コマンドを使用できます。
virsh snapshot-create guest1-rhel7
# virsh snapshot-create guest1-rhel7
Domain snapshot 1500563241 created
現在のスナップショットと各ゲストの XML 設定を表示できます。
このスナップショットを後でロードして、ゲストをスナップショットに保存された状態に戻すことができます。
virsh snapshot-revert guest1-rhel7 --snapshotname 150056324
# virsh snapshot-revert guest1-rhel7 --snapshotname 150056324