= KVMメモ = == Windowsゲストドライバ == Windowsゲストドライバを利用すると、ネットワークI/OやディスクI/Oが速くなります。 ゲストドライバの取得とインストール方法は下記のURLを参照。 * [http://www.linux-kvm.org/page/WindowsGuestDrivers Windows guest drivers] == 準備 == kvmを利用するのに、libvirtを利用します。libvirtをインストールしておきます。virt-managerをインストールすると必要なパッケージが一通り入って便利です。また、kvmで仮想マシンを実行するのに必要なqemu-kvmもインストールしておきます。 {{{ # yum install virt-manager # yum install qemu-kvm }}} 次に、kvmのモジュールをカーネルにロードします。AMDの場合は、kvm_intelの代わりにkvm_amdを使ってください。 {{{ # modprobe kvm # modprobe kvm_intel }}} libvirtを利用するには、libvirtdの起動が必要です。libvirtdを起動しておきます。 {{{ # /etc/init.d/libvirtd start }}} == virshを利用したKVM仮想マシンの作り方 == === イメージ作成 === {{{ # qemu-img create -f raw ubuntu.img 10G }}} === libvirt XMLファイルの作成方法 === 下記のXMLを適当に編集。特に、 * name(他の仮想マシンとユニークな名前になるように) * memory(メモリ容量) * vcpu(CPUの数) * diskとcdromのsource file * clock offsetをWindowsの場合localtimeに。 * mac addressを他と被らないように 辺りに注意しておく。 {{{ domain type='kvm' id='3'> UbuntuVM 524288 524288 1 hvm /usr/bin/qemu-kvm }}} === virshに登録して起動 === {{{ # virsh (virsh実行。以下、virshのコンソールで実行) virsh # define virt-kvm.xml }}} defineで仮想マシンを定義したXMLを登録すると、/etc/libvirt/qemuディレクトリに定義ファイルが作られる。 {{{ # ls /etc/libvirt/qemu UbuntuVM.xml hoge.xml kvmtest.xml networks }}} {{{ virsh # start UbuntuVM virsh # list Id 名前 状態 ---------------------------------- 1 UbuntuVM 実行中 }}} VNCクライアントのスクリーン1で接続可能(vnc://localhost:1) 停止はshutdownを使う。 {{{ virsh # shutdown UbuntuVM }}} ハイバネートとレジューム {{{ virsh # save UbuntuVM UbuntuVM.mem virsh # restore UbuntuVM UbuntuVM.mem }}} == ネットワーク接続 == * ゲスト側のネットワークを適当設定(例えば192.168.100.2,GWを192.168.100.1)。ネットワークセグメントはホストと別にする。 * ホスト側のネットワークを設定する。 {{{ # ifconfig vnet0 192.168.100.1 netmask 255.255.255.0 }}} IPフォワードの設定をしていなければ、IPフォワードの設定を行う。 {{{ # echo 1 > /proc/sys/net/ipv4/ip_forward }}} 図で説明すると、上記の設定で次のようなネットワークが構築できる。 {{{ +--------------+ +---------------+ +--+-+ +-+---+ +--+-+ | LAN---|eth0| ホストOS |vnet0|-----|eth0| 仮想マシン | +--+-+ +-+---+ +--+-+ | +--------------+ +---------------+ vnet0:192.168.100.1 eth0:192.168.100.2 }}} == KVMのもうちょっと高度な使い方 == そのうち書く予定 * 仮想マシンIPでVNCのコンソールに繋げる(ポートフォワード) * iscsiのDISKから起動 * ライブマイグレーション * pythonからの操作