第3章 仮想マシンの作成
RHEL 9 で仮想マシンを作成する場合は、コマンドラインインターフェイス または RHEL 9 Web コンソール を使用します。
3.1. コマンドラインインターフェイスを使用した仮想マシンの作成
virt-install
ユーティリティーを使用して、RHEL 9 ホストで仮想マシンを作成するには、以下の手順に従ってください。
前提条件
- ホストシステムで仮想化が 有効 になっている。
- ディスク領域、RAM、CPU など、仮想マシンに割り当てるのに十分なシステムリソースがある。推奨される値は、仮想マシンで行うタスクやワークロードにより大きく異なる可能性があります。
オペレーティングシステム (OS) のインストールソースがローカルまたはネットワークで利用できる。これには、次のいずれかを使用できます。
- インストールメディアの ISO イメージ
既存の仮想マシンインストールのディスクイメージ
警告RHEL 9 では、ホストの CD-ROM デバイスまたは DVD-ROM デバイスからインストールすることができません。RHEL 9 で利用可能な仮想マシンのインストール方法を使用する際に、インストールソースに CD-ROM または DVD-ROM を選択するとインストールに失敗します。詳細は Red Hat ナレッジベース を参照してください。
また、Red Hat は、限られたゲストオペレーティングシステムのセット のみをサポートしていることにも注意してください。
- 任意: インストールをより速く、簡単に設定するために、キックスタートファイルを利用できます。
手順
仮想マシンを作成して OS のインストールを開始するには、以下の必須引数を指定して、virt-install
コマンドを使用します。
-
--name
: 新しいマシンの名前 -
--memory
: 割り当てるメモリーの量 -
--vcpus
: 割り当てる仮想 CPU の数 -
--disk
: 割り当てるストレージのタイプとサイズ -
--cdrom
または--location
: 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/rhel9.iso イメージを使用して、ライブ CD から RHEL 9 OS を実行します。この仮想マシンにはディスク領域が割り当てられないため、セッション中に行った変更は保持されません。また、仮想マシンには、4096 MiB の RAM と、4 つの vCPU が割り当てられます。
# virt-install \ --name demo-guest2 --memory 4096 --vcpus 4 \ --disk none --livecd --os-variant rhel9.0 \ --cdrom /home/username/Downloads/rhel9.iso
次のコマンドは、demo-guest3 という名前の RHEL 9 仮想マシンを作成し、既存のディスクイメージ /home/username/backup/disk.qcow2 に接続します。これは、マシン間でハードドライブを物理的に移動するのと似ています。したがって、demo-guest3 で使用できる OS およびデータは、イメージが処理された方法により決定します。また、仮想マシンには、2048 MiB の RAM および 2 つの vCPU が割り当てられます。
# virt-install \ --name demo-guest3 --memory 2048 --vcpus 2 \ --os-variant rhel9.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 rhel9.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"
さらに、ARM 64 ホスト上の RHEL 9 で demo-guest4 をホストする場合は、キックスタートファイルによって
kernel-64k
パッケージが確実にインストールされるように、次の行を追加します。%packages -kernel kernel-64k %end
次のコマンドは、demo-guest5 という名前の仮想マシンを作成し、グラフィックスがない、テキストのみのモードである
RHEL9.iso
イメージファイルからインストールします。ゲストコンソールをシリアルコンソールに接続します。仮想マシンには、16384 MiB のメモリー、16 個の vCPU、および 280 GiB のディスクが割り当てられます。このようなインストールは、低速なネットワークリンクを介してホストに接続する際に便利です。# virt-install \ --name demo-guest5 --memory 16384 --vcpus 16 --disk size=280 \ --os-variant rhel9.0 --location RHEL9.iso \ --graphics none --extra-args='console=ttyS0'
次のコマンドは、demo-guest6 という名前の仮想マシンを作成します。この仮想マシンの設定は demo-guest5 と同じですが、リモートホスト 192.0.2.1 に置かれます。
# virt-install \ --connect qemu+ssh://root@192.0.2.1/system --name demo-guest6 --memory 16384 \ --vcpus 16 --disk size=280 --os-variant rhel9.0 --location RHEL9.iso \ --graphics none --extra-args='console=ttyS0'
次のコマンドは、demo-guest-7 という名前の仮想マシンを作成します。この仮想マシンの設定は demo-guest5 と同じですが、ストレージとして DASD 仲介デバイス
mdev_30820a6f_b1a5_4503_91ca_0c10ba12345a_0_0_29a8
を使用し、デバイス番号1111
を割り当てます。# virt-install \ --name demo-guest7 --memory 16384 --vcpus 16 --disk size=280 \ --os-variant rhel9.0 --location RHEL9.iso --graphics none \ --disk none --hostdev mdev_30820a6f_b1a5_4503_91ca_0c10ba12345a_0_0_29a8,address.type=ccw,address.cssid=0xfe,address.ssid=0x0,address.devno=0x1111,boot-order=1 \ --extra-args 'rd.dasd=0.0.1111'
インストールに利用可能な仲介デバイスの名前は、
virsh nodedev-list --cap mdev
コマンドを使用して取得できることに注意してください。
検証
- 仮想マシンが問題なく作成されると、仮想マシンのグラフィカルコンソールで virt-viewer 画面が開き、ゲスト OS のインストールが開始します。
トラブルシューティング
virt-install
がcannot find default network
エラーを出力する場合は、以下のようにします。libvirt-daemon-config-network
パッケージがインストールされていることを確認します。# {PackageManagerCommand} info libvirt-daemon-config-network Installed Packages Name : libvirt-daemon-config-network [...]
libvirt
のデフォルトネットワークがアクティブで、自動的に起動するように設定されていることを確認します。# virsh net-list --all Name State Autostart Persistent -------------------------------------------- default active yes yes
そうでない場合は、デフォルトのネットワークをアクティブにし、自動起動に設定します。
# virsh net-autostart default Network default marked as autostarted # virsh net-start default Network default started
デフォルトのネットワークをアクティベートしても以下のエラーが出て失敗する場合は、
libvirt-daemon-config-network
パッケージが正常にインストールされていません。error: failed to get network 'default' error: Network not found: no network with matching name 'default'
この問題を修正するには、以下のコマンドで
libvirt-daemon-config-network
を再インストールします。# {PackageManagerCommand} reinstall libvirt-daemon-config-network
以下のようなエラーでデフォルトのネットワークをアクティベートできない場合には、デフォルトネットワークのサブネットとホストの既存インターフェイスで競合が発生しています。
error: Failed to start network default error: internal error: Network is already in use by interface ens2
これを修正するには、
virsh net-edit default
コマンドを使用して、設定の192.0.2.*
の値を、ホストで使用していないサブネットに変更します。
関連情報
-
virt-install(1)
man ページ - Web コンソールを使用した仮想マシンの作成、およびゲストのオペレーティングシステムのインストール
- 仮想マシンのクローン作成