KVM(virsh, virt-install)で仮想マシンの作成メモ

KVMサーバーで新規に仮想マシンを作成する時のメモを残しておきます。この仮想ホストはXをインストールしていないのでVirtManagerなどGUIツールが使えません。そこでvirshを利用してリモートからSSHを利用してインストールを行います。今回は下記の構成の仮想マシン作成しました。

【サーバー名】VirtualMachine
【RAM】 512MB
【VNCパスワード】 foobar
【VNCポート】 5911
【仮想HDD】 /var/kvm/images/VirtualMachine.img
【CD-ROM】 /var/kvm/images/install-disk/debian-6.0.3-amd64-netinst.iso
【ネットワーク】 eth0にブリッジ

まずは仮想HDDを作成します。今回はRAWイメージです。qemu-imgコマンドを使用する方法もありますがゼロの部分で実際に領域に割り当てられないスパースファイルになってしまう事がある為、ddコマンドを使います。(参考)

# cd /var/kvm/images
# dd if=/dev/zero of=./VirtualMachine.img bs=1M count=10240

その後virt-installコマンドで仮想マシンを作成します。いろいろと方法はありますが私の場合virt-installで作成された仮想マシンを雛としてxmlを編集する方法を取ります。その為、virt-installを実行したら一度停止して編集します。

# virt-install --name VirtualMachine --ram 512 --graphics vnc,port=5911 --disk /var/kvm/images/VirtualMachine.img --cdrom /var/kvm/install-disk/FreeBSD-8.2-RELEASE-amd64-dvd1.iso
# virsh destroy VirtualMachine

次のコマンドを実行すると仮想マシンの構成を編集できます。

# virsh edit VirtualMachine

まずは時間の設定です。utcからlocaltimeに変更します。これをしないと時間が9時間ずれてしまうようです。

<clock offset='utc'/> のutcをlocaltimeへ変更

次にネットワークを設定します。
今回はbr0とブリッジさせる事にしました。ネットワークのドライバはvirtioを利用します。

▼変更前
<interface type='network'>
<mac address='52:54:00:6f:de:d0'/>
<source network='default'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>

▼変更後
<interface type='bridge'>
<mac address='52:54:00:6f:de:d0'/>
<source bridge='br0'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>

更に仮想ハードディスクをideからvirioに変更しておきます。この時slotが他の仮想デバイスとぶつからないように気をつけてください。

▼変更前
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none' io='threads'/>
<source file='/var/kvm/images/VirtualMachine.img'/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' unit='0'/>
</disk>

▼変更後
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none' io='threads'/>
<source file='/var/kvm/images/VirtualMachine.img'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</disk>

CD-ROMイメージをマウントしてインストールを開始します。

# virsh start VirtualMachine
# virsh attach-disk --type=cdrom VirtualMachine /var/kvm/images/install-disk/debian-6.0.3-amd64-netinst.iso hdc

以上でインストールの準備が完了です。
後はputtyなどのツールでポートフォワード経由でVNCに接続すれば画面を見る事もできます。


コメントを残す