17.5. PXE サーバーから仮想マシンの起動
PXE (Preboot Execution Environment) を使用する仮想マシンは、ネットワークから起動して設定を読み込むことができます。この章では、libvirt
を使用して、仮想ネットワークまたはブリッジネットワークの PXE サーバーから仮想マシンを起動する方法を説明します。
以下の手順は、例としてのみ提供されます。続行する前に、十分なバックアップがあることを確認してください。
17.5.1. 仮想ネットワークで PXE ブートサーバーの設定
この手順では、PXE (Preboot Execution Environment) を提供するように libvirt
仮想ネットワークを設定する方法を説明します。これにより、ホストの仮想マシンを、仮想ネットワークで利用可能な起動イメージから起動するように設定できます。
前提条件
次のようなローカルの PXE サーバー (DHCP および TFTP)
- libvirt 内部サーバー
- 手動で設定した dhcpd および tftpd
- dnsmasq
- Cobbler サーバー
-
Cobbler が設定した
PXELINUX
など、または手動で設定した PXE 起動イメージ。
手順
-
PXE ブートイメージおよび設定を
/var/lib/tftpboot
フォルダーに置きます。 フォルダーのパーミッションを設定する:
# chmod -R a+r /var/lib/tftpboot
フォルダーの所有権を設定する:
# chown -R nobody: /var/lib/tftpboot
SELinux コンテキストを更新します。
# chcon -R --reference /usr/sbin/dnsmasq /var/lib/tftpboot # chcon -R --reference /usr/libexec/libvirt_leaseshelper /var/lib/tftpboot
仮想ネットワークをシャットダウンします。
# virsh net-destroy default
デフォルトエディターで仮想ネットワーク設定ファイルを開きます。
# virsh net-edit default
<ip>
要素を編集して、適切なアドレス、ネットワークマスク、DHCP アドレス範囲、および起動ファイルを追加します。example-pxelinux は、ブートイメージファイルの名前になります。<ip address='192.0.2.1' netmask='255.255.255.0'> <tftp root='/var/lib/tftpboot'/> <dhcp> <range start='192.0.2.2' end='192.0.2.254' /> <bootp file='example-pxelinux'/> </dhcp> </ip>
仮想ネットワークを起動します。
# virsh net-start default
検証
default
仮想ネットワークが有効であることを確認します。# virsh net-list Name State Autostart Persistent --------------------------------------------------- default active no no
関連情報
17.5.2. PXE および仮想ネットワークを使用した仮想マシンの起動
仮想ネットワークで利用可能な PXE (Preboot Execution Environment) サーバーから仮想マシンを起動するには、PXE ブートを有効にする必要があります。
前提条件
- PXE ブートサーバーは、Setting up a PXE boot server on a virtual network 説明されているように、仮想ネットワークでセットアップされます。
手順
PXE 起動が有効になっている新しい仮想マシンを作成します。たとえば、
default
仮想ネットワークで利用可能な PXE から、新しい 10GB の qcow2 イメージファイルにインストールする場合は、次のコマンドを実行します。# virt-install --pxe --network network=default --memory 2048 --vcpus 2 --disk size=10
または、既存の仮想マシンの XML 設定ファイルを手動で編集できます。これを行うには、ゲストネットワークが仮想ネットワークを使用するように設定され、ネットワークがプライマリーブートデバイスとして設定されていることを確認します。
<interface type='network'> <mac address='52:54:00:66:79:14'/> <source network='default'/> <target dev='vnet0'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> <boot order='1'/> </interface>
検証
-
virsh start
コマンドを使用して仮想マシンを起動します。PXE が正しく設定されていると、仮想マシンは、PXE サーバーで利用可能な起動イメージから起動します。
17.5.3. PXE およびブリッジネットワークを使用した仮想マシンの起動
ブリッジネットワークで利用可能な PXE (Preboot Execution Environment) サーバーから仮想マシンを起動するには、PXE ブートを有効にする必要があります。
前提条件
- ネットワークブリッジが有効になっている。
- ブリッジネットワークでは、PXE ブートサーバーが利用できます。
手順
PXE 起動が有効になっている新しい仮想マシンを作成します。たとえば、
breth0
ブリッジネットワークで利用可能な PXE から、新しい 10GB の qcow2 イメージファイルにインストールする場合は、次のコマンドを実行します。# virt-install --pxe --network bridge=breth0 --memory 2048 --vcpus 2 --disk size=10
または、既存の仮想マシンの XML 設定ファイルを手動で編集できます。これを行うには、仮想マシンがブリッジネットワークで設定され、ネットワークがプライマリーブートデバイスとして設定されていることを確認します。
<interface type='bridge'> <mac address='52:54:00:5a:ad:cb'/> <source bridge='breth0'/> <target dev='vnet0'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> <boot order='1'/> </interface>
検証
-
virsh start
コマンドを使用して仮想マシンを起動します。PXE が正しく設定されていると、仮想マシンは、PXE サーバーで利用可能な起動イメージから起動します。
関連情報