開発運用

KVM ネットワークインストールガイド

KVM(Kernel-based Virtual Machine)は、Linux環境で仮想化を実現するための強力なツールです。KVMを使用すると、物理的なマシンに依存せずに仮想環境を作成できます。ここでは、KVMを使用して仮想マシンを作成し、ネットワークインストールを行う方法について、完全かつ包括的な説明を行います。

1. KVMのセットアップ

まず、KVMを使用するためには、必要なパッケージをインストールする必要があります。Linuxディストリビューションに応じて、以下の手順を実行します。

必要なパッケージのインストール

  1. Ubuntu/Debianの場合:

    bash
    sudo apt update sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
  2. CentOS/RHELの場合:

    bash
    sudo yum install qemu-kvm libvirt virt-install bridge-utils sudo systemctl start libvirtd sudo systemctl enable libvirtd

仮想化の確認

仮想化がサポートされているかどうかを確認するには、次のコマンドを実行します。

bash
egrep -c '(vmx|svm)' /proc/cpuinfo

結果が0であれば、仮想化がサポートされていません。1以上であれば、仮想化はサポートされています。

2. 仮想マシンの作成

次に、仮想マシンを作成します。今回はネットワークインストールを行うため、インストールメディアはISOイメージではなく、ネットワーク経由でインストールします。

仮想マシンの作成手順

  1. 仮想マシンの作成:
    仮想マシンを作成するために、virt-installコマンドを使用します。以下のコマンドで新しい仮想マシンを作成します。

    bash
    sudo virt-install \ --name vm-name \ --vcpus 2 \ --memory 2048 \ --disk path=/var/lib/libvirt/images/vm-name.img,size=10 \ --os-type linux \ --os-variant ubuntu20.04 \ --network bridge=br0 \ --cdrom /dev/null \ --location http://archive.ubuntu.com/ubuntu/dists/focal/main/installer-amd64/ \ --extra-args "console=ttyS0,115200n8 serial"
    • --name: 仮想マシンの名前
    • --vcpus: 仮想マシンに割り当てるCPUの数
    • --memory: 仮想マシンに割り当てるメモリのサイズ(MB単位)
    • --disk: 仮想マシンのディスクイメージとサイズ
    • --os-type--os-variant: 仮想マシンのオペレーティングシステムのタイプとバリアント
    • --network: ネットワークの設定(ここではブリッジ接続)
    • --cdrom: インストールメディアの指定(ネットワークインストールのために/dev/null
    • --location: ネットワーク経由でインストールするパス
    • --extra-args: インストールプロセスに渡す追加の引数

3. ネットワークインストールの設定

KVMでは、ネットワークインストールを行う場合、DHCPとPXEサーバーのセットアップが必要です。ネットワークインストールを簡単にするために、以下の準備を行います。

PXEサーバーの設定

  1. DHCPサーバーの設定:
    仮想マシンにIPアドレスを割り当てるために、DHCPサーバーを設定します。dnsmasqを使用することが一般的です。

    bash
    sudo apt install dnsmasq
  2. PXEブート設定:
    PXEサーバーを設定するために、/etc/dnsmasq.confファイルを編集します。

    bash
    interface=br0 dhcp-range=192.168.1.100,192.168.1.200,12h dhcp-boot=pxelinux.0 enable-tftp tftp-root=/srv/tftp

    これにより、仮想マシンがPXE経由でネットワークインストールできるようになります。

必要なインストールファイルの準備

PXEサーバーに必要なインストールファイルを準備します。以下のコマンドで、インストールイメージをダウンロードし、TFTPサーバーに配置します。

bash
sudo mkdir -p /srv/tftp/ubuntu cd /srv/tftp/ubuntu sudo wget http://archive.ubuntu.com/ubuntu/dists/focal/main/installer-amd64/current/images/netboot/netboot.tar.gz sudo tar -xvzf netboot.tar.gz

これで、仮想マシンはPXE経由でインストールを開始できるようになります。

4. 仮想マシンの起動とインストール

仮想マシンが作成された後、起動してネットワークインストールを開始します。

bash
sudo virsh start vm-name

仮想マシンがネットワークインストールを開始し、インストールプロセスが進行します。インストールが完了すると、仮想マシンは自動的に再起動し、ネットワークインストールされたオペレーティングシステムが起動します。

5. 仮想マシンの管理

仮想マシンの管理は、virt-managervirshコマンドを使用して行うことができます。

仮想マシンの状態確認

仮想マシンの状態を確認するために、次のコマンドを使用します。

bash
sudo virsh list --all

仮想マシンの停止

仮想マシンを停止する場合は、次のコマンドを実行します。

bash
sudo virsh shutdown vm-name

結論

KVMを使用した仮想マシンの作成とネットワークインストールは、非常に強力で柔軟な方法です。物理的なインストールメディアを使用せずに、ネットワーク経由でオペレーティングシステムをインストールできるため、効率的でコストを抑えた仮想化環境を実現できます。KVMは、特にデータセンターや大規模な仮想化環境での使用において、その効果を発揮します。

Back to top button