Red Hat Training

A Red Hat training course is available for RHEL 8

2.2. 仮想マシンの作成

RHEL 8 で仮想マシンを作成する場合は、コマンドラインインターフェース または RHEL 8 Web コンソール を使用します。

前提条件

  • 仮想化がシステムに インストールされ有効になっている
  • ディスク領域、RAM、CPU など、仮想マシンに割り当てるのに十分なシステムリソースがある。推奨される値は、仮想マシンで行うタスクやワークロードにより大きく異なる可能性があります。

    警告

    RHEL 8 では、ホストの CD-ROM デバイスまたは DVD-ROM デバイスからインストールすることができません。RHEL 8 で利用可能な仮想マシンのインストール方法を使用する際に、インストールソースに CD-ROM または DVD-ROM を選択するとインストールに失敗します。詳細は Red Hat ナレッジベースの記事 を参照してください。

2.2.1. コマンドラインインターフェースを使用した仮想マシンの作成

virt-install ユーティリティーを使用して、RHEL 8 ホストで仮想マシンを作成するには、以下の手順に従ってください。

前提条件

  • ホストシステムで仮想化が 有効 になっている。
  • オペレーティングシステム (OS) のインストールソースがローカルまたはネットワークで利用できる。これには、次のいずれかを使用できます。

    • インストールメディアの ISO イメージ
    • 既存の仮想マシンインストールのディスクイメージ
  • 任意: インストールをより速く、簡単に設定するために、キックスタートファイルを利用できます。

手順

仮想マシンを作成して OS のインストールを開始するには、以下の必須引数を指定して、virt-install コマンドを使用します。

  • 新しいマシンの名前
  • 割り当てるメモリーの量
  • 割り当てる仮想 CPU (vCPU) の数
  • 割り当てるストレージのタイプおよびサイズ
  • OS インストールソースのタイプおよび場所

選択したインストール方法に応じて、必要なオプションと値が異なります。例については、以下を参照してください。

  • 次のコマンドでは、demo-guest1 という名前の仮想マシンを作成し、ローカルの /home/username/Downloads/Win10install.iso ファイルに保存されている ISO イメージから、Windows 10 OS をインストールします。この仮想マシンには、2048 MiB の RAM と 2 つの vCPU が割り当てられ、80 GiB の qcow2 仮想ディスクも自動的に割り当てられます。

    # virt-install --name demo-guest1 --memory 2048 --vcpus 2 --disk size=80 --os-variant win10 --cdrom /home/username/Downloads/Win10install.iso
  • 次のコマンドは、demo-guest2 という名前の仮想マシンを作成し、/home/username/Downloads/rhel8.iso イメージを使用して、ライブ CD から RHEL 8 OS を実行します。この仮想マシンにはディスク領域が割り当てられないため、セッション中に行った変更は保持されません。また、仮想マシンには、4096 MiB の RAM と、4 つの vCPU が割り当てられます。

    # virt-install --name demo-guest2 --memory 4096 --vcpus 4 --disk none --livecd --os-variant rhel8.0 --cdrom /home/username/Downloads/rhel8.iso
  • 次のコマンドは、既存のディスクイメージ /home/username/backup/disk.qcow2 に接続する demo-guest3 という名前の RHEL 8 仮想マシンを作成します。これは、マシン間でハードドライブを物理的に移動するのと似ています。したがって、demo-guest3 で使用できる OS およびデータは、イメージが処理された方法により決定します。また、仮想マシンには、2048 MiB の RAM および 2 つの vCPU が割り当てられます。

    # virt-install --name demo-guest3 --memory 2048 --vcpus 2 --os-variant rhel8.0 --import --disk /home/username/backup/disk.qcow2

    ディスクイメージをインポートする場合は、--os-variant オプションを使用することが強く推奨されます。このオプションを指定しないと、作成された仮想マシンのパフォーマンスに影響を及ぼします。

  • 次のコマンドは、demo-guest4 という名前の仮想マシンを作成し、URL http://example.com/OS-install からインストールします。インストールを開始するには、作業中の OS インストールツリーを URL に指定する必要があります。さらに、OS は、キックスタートファイル /home/username/ks.cfg で自動的に設定されます。この仮想マシンには、2048 MiB の RAM、2 つの vCPU、および 160 GiB の qcow2 仮想ディスクも割り当てられます。

    # virt-install --name demo-guest4 --memory 2048 --vcpus 2 --disk size=160 --os-variant rhel8.0 --location http://example.com/OS-install --initrd-inject /home/username/ks.cfg --extra-args="inst.ks=file:/ks.cfg console=tty0 console=ttyS0,115200n8"
  • 次のコマンドは、demo-guest5 という名前の仮想マシンを作成し、グラフィックスがない、テキストのみのモードである RHEL8.iso イメージファイルからインストールします。ゲストコンソールをシリアルコンソールに接続します。仮想マシンには、16384 MiB のメモリー、16 個の vCPU、および 280 GiB のディスクが割り当てられます。このようなインストールは、低速なネットワークリンクを介してホストに接続する際に便利です。

    # virt-install --name demo-guest5 --memory 16384 --vcpus 16 --disk size=280 --os-variant rhel8.0 --location RHEL8.iso --graphics none --extra-args='console=ttyS0'
  • 次のコマンドは、demo-guest6 という名前の仮想マシンを作成します。この仮想マシンの設定は demo-guest5 と同じですが、リモートホスト 10.0.0.1 に置かれます。

    # virt-install --connect qemu+ssh://root@10.0.0.1/system --name demo-guest6 --memory 16384 --vcpus 16 --disk size=280 --os-variant rhel8.0 --location RHEL8.iso --graphics none --extra-args='console=ttyS0'

仮想マシンが問題なく作成されると、仮想マシンのグラフィカルコンソールで virt-viewer 画面が開き、ゲスト OS のインストールが開始します。

トラブルシューティング

  • virt-installcannot find default network エラーを出力する場合は、以下のようにします。

    1. libvirt-daemon-config-network パッケージがインストールされていることを確認します。

      # yum info libvirt-daemon-config-network
      Installed Packages
      Name         : libvirt-daemon-config-network
      [...]
    2. libvirt のデフォルトネットワークがアクティブで、自動的に起動するように設定されていることを確認します。

      # virsh net-list --all
       Name      State    Autostart   Persistent
      --------------------------------------------
       default   active   yes         yes
    3. そうでない場合は、デフォルトのネットワークをアクティブにし、自動起動に設定します。

      # virsh net-autostart default
      Network default marked as autostarted
      
      # virsh net-start default
      Network default started
      1. デフォルトのネットワークをアクティベートしても以下のエラーが出て失敗する場合は、libvirt-daemon-config-network パッケージが正常にインストールされていません。

        error: failed to get network 'default'
        error: Network not found: no network with matching name 'default'

        この問題を修正するには、libvirt-daemon-config-network を再インストールします。

        # yum reinstall libvirt-daemon-config-network
      2. 以下のようなエラーでデフォルトのネットワークをアクティベートできない場合には、デフォルトネットワークのサブネットとホストの既存インターフェースで競合が発生しています。

        error: Failed to start network default
        error: internal error: Network is already in use by interface ens2

        これを修正するには、virsh net-edit default コマンドを使用して、設定の 192.168.122.* の値を、ホストで使用していないサブネットに変更します。

関連情報

  • 仮想マシンとその OS のインストールの設定をより詳細に設定する場合は、virt-install に、さらにオプションを指定してください。詳細は、virt-install man ページを参照してください。
  • 機能している仮想マシンがある場合には、そのクローンを作成することで、同じ構成とデータで新しい仮想マシンをすばやく作成できます。詳細は、8章仮想マシンのクローン作成 を参照してください。