1 views
実現する機能
KVM(Kernel-based Virtual Machine) (ケーブイエム) は仮想化ソフトです。Ubuntu 14.04 amd64のテスト環境を構築し、様々なOSも試そうと考えています。
※KVMを導入するためには、パソコンのプロセッサが「Intel VT」か「AMD-V」のどちらかでないと動作しません。
KVMの導入手順
(1)自宅サーバーが仮想化できるか確認
root@tu-ubuntu:~# egrep '(vmx|svm)' /proc/cpuinfo ← 自宅サーバーがKVMで仮想化でき るPCか調べる flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good nopl extd_apicid pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch lbrv ← svm(Intelならvmx)とあるのでOK。 flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good nopl extd_apicid pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch lbrv ← svm(Intelならvmx)とあるのでOK。 root@tu-ubuntu:~# lsmod | grep kvm ← kvmモジュールがロードされているか確認 kvm_amd 60026 0 kvm 455835 1 kvm_amd ← ロードされている |
(2)KVMのインストール
root@tu-ubuntu:~# aptitude -y install qemu-kvm libvirt-bin virtinst bridge-utils virt-manager ← 仮想化に必要なソフトをインストール libvirt-bin start/running, process 10658 Setting up libvirt-bin dnsmasq configuration. qemu-kvm (2.0.0+dfsg-2ubuntu1.10) を設定しています ... Processing triggers for libc-bin (2.19-0ubuntu6) ... Processing triggers for ureadahead (0.100.0-16) ... root@tu-ubuntu:~# modprobe vhost_net ← オーバーヘッドを減らすvhost-netをインス トール root@tu-ubuntu:~# lsmod | grep vhost ← インストールの確認 vhost_net 18063 0 vhost 29009 1 vhost_net macvtap 18255 1 vhost_net root@tu-ubuntu:~# echo vhost_net >> /etc/modules ← vhost-netを有効化 |
(3)ゲストOSがブリッジ接続できるようにブリッジネットワークを構成
root@tu-ubuntu:~# apt-get remove network-manager ← Bridgeが作成できないので network-managerの削除 root@tu-ubuntu:~# vi /etc/network/interfaces ← Bridgeの作成 # interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback # Bridge network interface ← Bridgeに変更 auto eth0 iface eth0 inet manual ← 以下、環境に合わせて追記 iface br0 inet static ← br0のIPは固定 address 192.168.24.240 ← br0のIPアドレス network 192.168.24.0 ← ネットワークの範囲 netmask 255.255.255.0 ← br0のネットマスク broadcast 192.168.24.255 ← br0のブロードキャストIP gateway 192.168.24.1 ← 通常はルーターのIP dns-nameservers 192.168.24.241 ← 内部DNSのIP dns-nameservers 192.168.24.1 ← 通常はルーターのIP bridge_ports eth0 ← eth0にブリッジ bridge_stp off ← スパニングツリープロトコルをoff auto br0 ← br0は自動起動 root@tu-ubuntu:~# reboot ← コンピュータを再起動 [root@tu-ubuntu:~# ifconfig ← br0がIPアドレスを取得できているか確認 br0 Link encap:イーサネット ハードウェアアドレス d0:50:99:3c:25:a3 inetアドレス:192.168.24.240 ブロードキャスト:192.168.24.255 マスク:255.255.255.0 inet6アドレス: 240f:ce:c998:1:49ea:f020:9f22:a12b/64 範囲:グローバル inet6アドレス: 240f:ce:c998:1:d250:99ff:fe3c:25a3/64 範囲:グローバル inet6アドレス: fe80::d250:99ff:fe3c:25a3/64 範囲:リンク UP BROADCAST RUNNING MULTICAST MTU:1500 メトリック:1 RXパケット:4563 エラー:0 損失:0 オーバラン:0 フレーム:0 TXパケット:4830 エラー:0 損失:0 オーバラン:0 キャリア:0 衝突(Collisions):0 TXキュー長:0 RXバイト:7946827 (7.9 MB) TXバイト:773666 (773.6 KB) eth0 Link encap:イーサネット ハードウェアアドレス d0:50:99:3c:25:a3 UP BROADCAST RUNNING MULTICAST MTU:1500 メトリック:1 RXパケット:0 エラー:0 損失:0 オーバラン:0 フレーム:0 TXパケット:0 エラー:0 損失:0 オーバラン:0 キャリア:0 衝突(Collisions):0 TXキュー長:1000 RXバイト:0 (0.0 B) TXバイト:0 (0.0 B) 割り込み:19 lo Link encap:ローカルループバック inetアドレス:127.0.0.1 マスク:255.0.0.0 inet6アドレス: ::1/128 範囲:ホスト UP LOOPBACK RUNNING MTU:65536 メトリック:1 RXパケット:286 エラー:0 損失:0 オーバラン:0 フレーム:0 TXパケット:286 エラー:0 損失:0 オーバラン:0 キャリア:0 衝突(Collisions):0 TXキュー長:0 RXバイト:22402 (22.4 KB) TXバイト:22402 (22.4 KB) virbr0 Link encap:イーサネット ハードウェアアドレス 42:cf:4d:83:47:95 inetアドレス:192.168.122.1 ブロードキャスト:192.168.122.255 マスク:255.255.255.0 UP BROADCAST MULTICAST MTU:1500 メトリック:1 RXパケット:0 エラー:0 損失:0 オーバラン:0 フレーム:0 TXパケット:0 エラー:0 損失:0 オーバラン:0 キャリア:0 衝突(Collisions):0 TXキュー長:0 RXバイト:0 (0.0 B) TXバイト:0 (0.0 B) |