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

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"
インストールが正常に完了すると、コマンドラインに次のように表示されます。
Domain creation completed.
Restarting guest.
これで、ゲストに望ましい設定を行えるようになりました。ただし、ゲストの設定を安全に管理するために、まずゲストをシャットダウンすることを推奨します。
# virsh shutdown guest1-rhel7
Domain guest1-rhel7 is being shutdown

4.2.2. デバイスの接続

ホストに接続された USB デバイス (この例では Samsung 携帯電話) をゲストが検出して使用できるようにするには、まずホストで lsusb コマンドを使用してデバイスの ID を取得します。
# lsusb

[...]
Bus 003 Device 007: ID 04e8:6860 Samsung Electronics Co., Ltd Galaxy (MTP)
次に、ホストで任意のテキストエディターを使用して、デバイスの XML ファイル (この例では samsung_USB_device.xml) を作成し、ベンダー ID と製品 ID を入力します。
# vim samsung_USB_device.xml
<hostdev mode='subsystem' type='usb' managed='yes'>
  <source>
    <vendor id='0x04e8'/>
    <product id='0x6860'/>
  </source>
</hostdev>
最後に、virsh attach-device コマンドを使用してデバイスをゲストに接続します。
# virsh attach-device guest1-rhel7 --file samsung_USB_device.xml --config
Device attached successfully
注記
実行中のゲストにデバイスを接続することもできます。これを行うには、--live オプションを使用します。

4.2.3. ゲストの操作

guest1-rhel7 ゲストの使用を開始するには、まずゲストを起動します。
# virsh start guest1-rhel7
Domain guest1-rhel7 started
ホストシステムにグラフィカルディスプレイがあるかどうかに応じて、virt-viewer アプリケーションまたは SSH シェルを使用してゲストを操作できます。
  • グラフィカルディスプレイを備えたシステムでは、virt-viewer を使用します。
    # virt-viewer guest1-rhel7
    その後、物理マシンの OS GUI と同様に、virt-viewer ウィンドウで画面出力を操作できます。たとえば、Subscription Manager アプリケーションを使用して、Red Hat Enterprise Linux ゲスト OS を登録できます。
  • ホストまたはゲストがテキストのみのインターフェイスを備えている場合は、SSH を使用します。これには、ゲストの IP アドレスを知っている必要があります。IP アドレスがわからない場合は、virsh domifaddr コマンドを使用して取得できます。
    # virsh domifaddr guest1-rhel7
     Name       MAC address          Protocol     Address
    -------------------------------------------------------------------------------
     vnet0      52:54:00:65:29:21    ipv4         10.34.3.125/24
    # ssh root@10.34.3.125
    root@10.34.3.125's password:
    Last login: Wed Jul 19 18:27:10 2017 from 192.168.122.1
    [root@localhost ~]#
    
    注記
    virsh domifaddr が機能するには、ゲストが実行されていて、ネットワーク上でアクセス可能である必要があります。また、QEMU ゲストエージェント をアクティブにする必要がある場合があります。
    その後、ゲストマシン上のターミナルを使用するときと同じように、ホストターミナルを操作できます。たとえば、subscription-manager ユーティリティーを使用して、Red Hat Enterprise Linux ゲスト OS を登録できます。
    [root@localhost ~]# subscription-manager register
    Registering to: subscription.rhsm.redhat.com:443/subscription
    Username: username@sample.com
    Password:
    The system has been registered with ID: 30b5e666-67f9-53bb-4b90-c2a88e5be789
    

4.2.4. 診断

ゲストの状態に関する一般的な情報を表示します。
# virsh dominfo guest1-rhel7
Id:             1
Name:           guest1-rhel7
UUID:           ec0c0122-fb63-4a54-b602-5cf84f5e2dfd
OS Type:        hvm
State:          running
CPU(s):         2
CPU time:       33.4s
Max memory:     2097152 KiB
Used memory:    2097152 KiB
Persistent:     yes
Autostart:      disable
Managed save:   no
Security model: selinux
Security DOI:   0
Security label: unconfined_u:unconfined_r:svirt_t:s0:c102,c792 (enforcing)

4.2.5. スナップショットの作成

ゲストの状態をバックアップするには、virsh snapshot-create コマンドを使用できます。
# virsh snapshot-create guest1-rhel7
Domain snapshot 1500563241 created
現在のスナップショットと各ゲストの XML 設定を表示できます。
# virsh snapshot-list guest1-rhel7
Name                 Creation Time             State
------------------------------------------------------------
1500563241           2017-07-20 17:07:21 +0200 shutoff

# virsh snapshot-dumpxml guest1-rhel7 1500563241
<domainsnapshot>
  <name>1500563241</name>
  <state>shutoff</state>
  <creationTime>1500563241</creationTime>
  <memory snapshot='no'/>
  <disks>
    <disk name='vda' snapshot='internal'/>
[...]
このスナップショットを後でロードして、ゲストをスナップショットに保存された状態に戻すことができます。
# virsh snapshot-revert guest1-rhel7 --snapshotname 150056324
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.