今更ですが、KVMの環境構築についてまとめます。 というのも、ちょっとしたトラブルでHVが全て消えてしまって再構築が必要になったのに、きちんとした作業メモを残して置かなかったために現在苦労しているからです。 自分用なので簡易なメモになります。 とりあえずvirt-managerを起動するところまでのメモです。
環境
環境ですが、ホストOSにはDebian 7.3を利用しています。 OSを入れただけの状態で、インターネットにはつながっている状況を想定しています。 ホストOSとゲストOSのネットワークには192.168.122.0/24を使っています。
ホストOS:Debian 7.3(wheezy)
IPアドレス:192.168.122.1
ネットワーク:192.168.122.0/24
参考サイト
事前準備
KVMのインストールを始める前に、事前準備をします。 これはインストールの時の設定によるので、人によって違うと思いますが僕の環境でのメモなので一応残しておきます。
/sbin
にパスを通す
.bashrcに次の行を追加。
$ vim ~/.bashrc +export PATH=$PATH:/sbin
欲しいパッケージをインストール
好きなエディタをインストールしてください。今回はvim
を使って設定していきます。
あとはページャとしてless
を入れました。ついでにlsb-releaseも。
$ sudo apt-get install vim less lsb-release
KVMのインストール
ではKVMのインストールをしてきます。
KVMに必要なパッケージをインストール
$ sudo apt-get install kvm libvirt-bin virt-manager sasl2-bin nfs-kernel-server
大量にパッケージがインストールされるので少し待ちます。
libvirtの設定
KVMは仮想マシンの管理にlibvirtを使うので、libvirtの設定を行っていきます。
非セキュアなTCP接続を待ち受ける
後にlive migrationなどするために、TLS を使わずにベアTCP を使用します。 TCPを有効にし、TLSを無効にするため、/etc/libvirt/libvirtd.confに下記の設定を行います。 コメントアウトしてあるので、コメントアウトを外すだけでも良いです。
$ sudo vim /etc/libvirt/libvirtd.conf +listen_tls = 0 +listen_tcp = 1
libvirtの設定を変えたので、さらにlibvirtdが起動するときのパラメータも変更します。 /etc/init/libvirt-bin.confのlibvirtd_optsの行に-lを加えます。
$ sudo vim /etc/default/libvirt-bin - libvirtd_opts=”-d” + libvirtd_opts=”-d -l”
libvirt APIデーモンのアカウント設定
libvirt APIデーモンのアカウントを設定しますが、ここではtest
とします。
コマンドを打つとパスワードを聞かれるので、強固なパスワードを設定してください。
$ sudo saslpasswd2 -a libvirt test Password: Again (for verification):
libvirtの再起動
$ sudo /etc/init.d/libvirt-bin restart
ホストOSのネットワーク設定
interfacesの編集
br0
というブリッジインタフェースを作成し、そこにeth0を結びつけます。
この場合、eth0はただのパケットの通り道であり、UTPが通っているのと同じような状況なので、eth0にはアドレスはつきません。
eth0について既に設定があった場合はコメントアウトして以下の設定を追加してください。
$ sudo vim /etc/network/interfaces + auto eth0 + iface eth0 inet manual + pre-up ifconfig eth0 up + auto br0 + iface br0 inet static + address 192.168.122.1 + netmask 255.255.255.0 + network 192.168.122.0 + broadcast 192.168.122.255 + bridge_ports eth0 + bridge_stp off + bridge_maxwait 0 + bridge_fd 0
ネットワークを再起動
$ sudo /etc/init.d/networking restart
virt-managerの起動
サーバにsshでログインする際にオプションで-Xを使うことで、X Window Systemをローカルに飛ばすことができます。 簡単にいえば、KVMの設定画面が手元のPCでGUIで見れます。 Macの場合は、XQuartzを予めインストールしておき、以下のようにします。
$ ssh -X <サーバIPアドレス>
sshでログインしたあと、そこで以下のコマンドを打ちます。
$ sudo XAUTHORITY=~/.Xauthority virt-manager
これで手元のMacでvirt-managerが見られれば成功です。