Changes between Version 29 and Version 30 of linux/kvm
- Timestamp:
- 2010/10/30 03:32:01 (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
linux/kvm
v29 v30 1 1 = KVMメモ = 2 このページは、KVMのメモです。簡単に使いたい人は、virt-managerを使ってください。 3 4 == Windowsゲストドライバ == 5 Windowsゲストドライバを利用すると、ネットワークI/OやディスクI/Oが速くなります。 6 ゲストドライバの取得とインストール方法は下記のURLを参照。 7 * [http://www.linux-kvm.org/page/WindowsGuestDrivers Windows guest drivers] 2 このページは、kvmをlibvirt(virsh)で使いたい人向けのメモです。簡単に使いたい人は、virt-managerを使ってください。 3 8 4 == 準備 == 5 === Fedora13 === 9 6 kvmを利用するのに、libvirtを利用します。libvirtをインストールしておきます。virt-managerをインストールすると必要なパッケージが一通り入って便利です。また、kvmで仮想マシンを実行するのに必要なqemu-kvmもインストールしておきます。 10 7 {{{ … … 25 22 # yum install virt-top 26 23 # yum install qemu-kvm-tools 24 }}} 25 === Ubuntu 10.10 === 26 {{{ 27 # apt-get install qemu-kvm virt-manager 28 # apt-get install virt-top 27 29 }}} 28 30 == virshを利用したKVM仮想マシンの作り方 == … … 38 40 * vcpu(CPUの数) 39 41 * diskとcdromのsource file 40 * clock offsetをWindowsの場合localtimeに。 41 * acpiを有効にしないと、Windows7移行でインストールできない。また、virshからshutdownコマンドでシャットダウンできない。 42 * acpiを有効にしないと、virshからshutdownコマンドでシャットダウンできない。 42 43 * mac addressを他と被らないように 43 辺りに注意しておく。 44 辺りに注意しておく。下記は、Fedora13の例。 44 45 {{{ 45 46 <domain type='kvm' id='3'> … … 90 91 </domain> 91 92 }}} 93 Ubuntuの場合は、typeタグのmachineをpcなどにする。 94 {{{ 95 ... 96 <type arch='x86-64' machine='pc'>hvm</type> 97 ... 98 }}} 92 99 === virshに登録して起動 === 93 100 {{{ … … 95 102 virsh # define virt-kvm.xml 96 103 }}} 97 defineで仮想マシンを定義したXMLを登録すると、/etc/libvirt/qemuディレクトリに 定義ファイルが作られる。104 defineで仮想マシンを定義したXMLを登録すると、/etc/libvirt/qemuディレクトリにDomain名のファイルで定義ファイルが作られる。 98 105 {{{ 99 106 # ls /etc/libvirt/qemu 100 UbuntuVM.xml hoge.xml kvmtest.xml networks 101 }}} 102 107 UbuntuVM.xml networks 108 }}} 109 110 起動と起動状態の確認は、次の通りです。 103 111 {{{ 104 112 virsh # start UbuntuVM … … 108 116 1 UbuntuVM 実行中 109 117 }}} 110 VNCクライアントのスクリーン1で接続可能(vnc://localhost:1) 111 112 停止はshutdownを使う。 118 VNCクライアントのスクリーン1で接続可能(vnc://localhost:1)。vncのポートなどは、次の行で設定します。 119 {{{ 120 <graphics type='vnc' port='5902' autoport='yes' keymap='ja'/> 121 }}} 122 停止はshutdownを使います。 113 123 {{{ 114 124 virsh # shutdown UbuntuVM 115 125 }}} 116 '''acpiが有効になっていないと、virshからのシャットダウンを受け付けない 。'''また、linuxの場合、acpidをインストール/起動しておく必要がある。126 '''acpiが有効になっていないと、virshからのシャットダウンを受け付けない'''ので注意してください。また、linuxの場合、acpidをインストール/起動しておく必要があります。 117 127 118 128 ハイバネートとレジューム … … 121 131 virsh # restore UbuntuVM UbuntuVM.mem 122 132 }}} 133 == Windows利用時に注意 = 134 === libvirt xmlを記述するときの注意 == 135 * clock offsetをlocaltimeにしないと時間がずれます。 136 * acpiを有効にしないと、Windows7移行でインストールできない。 137 138 === Windowsゲストドライバ === 139 Windowsゲストドライバを利用すると、ネットワークI/OやディスクI/Oが速くなります。 140 ゲストドライバの取得とインストール方法は下記のURLを参照。 141 * [http://www.linux-kvm.org/page/WindowsGuestDrivers Windows guest drivers] 142 123 143 == ネットワーク接続 == 144 === ルーティングして接続 === 145 仮想マシンのIPアドレスから、ホストOSのNICにルーティングして接続します。 146 124 147 * ゲスト側のネットワークを適当設定(例えば192.168.100.2,GWを192.168.100.1)。ネットワークセグメントはホストと別にする。 125 148 * ホスト側のネットワークを設定する。 … … 140 163 vnet0:192.168.100.1 eth0:192.168.100.2 141 164 }}} 165 142 166 == NATによるLAN上のIPからの接続 == 167 プライベートIPをeth0に割り振り、NATで接続します。 143 168 {{{ 144 169 +--------------+ +---------------+ … … 154 179 するように設定してみる。普通にeth0に10.8.99.6を設定しておく。 155 180 156 次に NAT用のnat.iptファイルを用意する。181 次に10.8.99.7へのアクセスを192.168.100.2に転送するNAT用のnat.iptファイルを用意する。 157 182 {{{ 158 183 *nat … … 170 195 # cat nat.ipt | iptables-restore 171 196 }}} 172 eth0に10.8.99.7を割り振らないとLAN上のマシンからアクセスできないので、ipコマンドでNICにIPを割り振 る。197 eth0に10.8.99.7を割り振らないとLAN上のマシンからアクセスできないので、ipコマンドでNICにIPを割り振っておきます。 173 198 {{{ 174 199 # ip addr add 10.8.99.7 dev eth0 … … 176 201 177 202 === ブリッジによるホストのNICと同じセグメントへの設定 === 178 ホストIPアドレスが192.168.1.5で、仮想マシンのIPアドレスを192.168.1.6のようにホストのNICと同じセグメントのネットワークに仮想マシンを所属させたい場合は、ブリッジを利用 する。203 ホストIPアドレスが192.168.1.5で、仮想マシンのIPアドレスを192.168.1.6のようにホストのNICと同じセグメントのネットワークに仮想マシンを所属させたい場合は、ブリッジを利用します。 179 204 180 205 まず、/etc/network/interfacesに次のように記述し、ブリッジを有効にする。 … … 219 244 220 245 === ポートフォワードによる仮想マシンIPを利用したルートコンソールの接続 === 221 ゲストOSの5900番(VNCのデフォルトポート)をホストOS上の仮想マシンのコンソールのポートに転送するようにすれば、VNCで仮想マシンに接続するとルートコンソールが取れるようになる。 246 仮想マシンのIPでVNCに接続すると、ブレードサーバのOAのようにルートコンソールが取得できると嬉しくありませんか? ポートフォワードを使うと実現することができます。 247 248 例えば、ゲストOSの5900番(VNCのデフォルトポート)をホストOS上の仮想マシンのコンソールのポートに転送するようにすれば、VNCで仮想マシンに接続するとルートコンソールが取れるようになります。 222 249 {{{ 223 250 *nat … … 234 261 235 262 === DHCPでIPを付与 === 236 /var/lib/libvirt/network/default.xmlを次のように編集。263 DHCPでIPを付与するようにするには、/var/lib/libvirt/network/default.xmlを次のように編集します。 237 264 {{{ 238 265 <network> … … 249 276 </network> 250 277 }}} 251 上記のネットワーク設定ファイルを再設定して、ネットワークを再起動(net-destroy,net-start) する。278 上記のネットワーク設定ファイルを再設定して、ネットワークを再起動(net-destroy,net-start)します。 252 279 {{{ 253 280 virsh # net-define /var/lib/libvirt/network/default.xml