Debian7.2+KVMで仮想OSを作成

以前にもKVMを使って仮想OSを作成するのはやってましたが、大きな違いがあって、今回はホストが物理サーバーなんです。ついに完成しました。Debian7.2+KVMの環境を作っています。

CPUは第3世代Core-i3の3GHzなので、いままでの仮想サーバーがホストだった状況とは根本的にもいろいろ変わってくるはず。いぁ変わってくれないと困るよ~ということでその土台作りから。

 

 

DebianについてはPreceed.cfgでインストールしたものだけど、基本的なインストールです。間違いないけどVMに対応したCPUなのかチェックします。

# grep vmx /proc/cpuinfo
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov 
pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm 
constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf 
pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 
sse4_2 popcnt tsc_deadline_timer xsave avx lahf_lm arat epb xsaveopt pln pts 
dtherm tpr_shadow vnmi flexpriority ept vpid

物理2コアの仮想4コアなので、実際はこれが4つでてました。とうぜん全部一緒です。つづいてはモジュールのチェックと、チェックしてKVMがなかったらロードします。modprobeも普段使わないからコマンドを忘れてたよ。

# lsmod | grep kvm
# modprobe kvm
# modprobe kvm_intel
# lsmod | grep kvm
kvm_intel             121968  0 
kvm                   287749  1 kvm_intel

必要なものをインストールします。

aptitude update
aptitude install kvm libvert-bin bridge-utils virt-manager

つぎはブリッジネットワークの設定です。

vi /etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# primary network
auto eth0
iface eth0 inet manual

# bridge network
auto br0
iface br0 inet static
address 192.168.24.+++ 物理サーバーのIPアドレス
network 192.168.24.0
netmask 255.255.255.0
broadcast 192.168.24.255
gateway 192.168.24.1
bridge_ports eth0
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off

 

ホストサーバーへゲストOSのインストールに使うISOイメージをダウンロードしときます。

cd /var/lib/libvirt/images
wgetでrikenとかから落として置いておきましょう。

そして次ですが、おそらくDebian7 Wheezyの場合、たけけんと同じく上手く動かない人がいると思います。libvirtの設定とssh-askpassのインストールをしたら動きました。

vim /etc/libvirt/libvirtd.conf
88行目あたり
unix_sock_ro_perms = “0770″ > unix_sock_ro_perms = “0777″
98行目あたり コメントアウトも外す。
unix_sock_rw_perms = “0770″ > unix_sock_rw_perms = “0777″
101行目当たり コメントアウト外す。
#unix_sock_dir = “/var/run/libvirt” > unix_sock_dir = “/var/run/libvirt”

あとはゲストと接続するときの認証に使う、ssh-askpassというやつを入れます。Debian Wheezyは新しいせいか情報がめちゃ少なかったのでちょっと大変だった。

$ sudo aptitude install ssh-askpass
[sudo] password for takeken: 
以下の新規パッケージがインストールされます:
  ssh-askpass 
更新: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
34.5 k バイトのアーカイブを取得する必要があります。展開後に 160 k バイトのディスク領域が新たに消費されます。
取得: 1 http://ftp.jp.debian.org/debian/ wheezy/main ssh-askpass amd64 1:1.2.4.1-9 [34.5 kB]
Fetched 34.5 kB in 2秒 (15.0 kB/s)     
以前に未選択のパッケージ ssh-askpass を選択しています。

 

 

これであとはゲストOSを作成する段階になりますが、コマンドだと前と同じになっちゃうので、今回はGUIを使いました。仮想マネージャを開いて、まずは接続から設定して、続いてゲストOSの作成をします。

試しにCentOSを作ろうとしたんですが、CentOSが嫌いなのか、一般的なOSの中に表示がありませんでした。初めてみたようなOSはあるのに・・・、なんて書きましたけど、Scientificもないから多分Redhatと同一ってことでしょうな。

vm

環境はGnomeだけど、パッと見こんな感じです。インターフェースを見てわかるかもしれないですが、Windows上でVMwareを動かしているのと同じ感覚ですなあ。

なんだか分からないけど、得体のしれないガッカリ感がある。

そうだなぁ、前はコマンドラインで全部やってたからか、とっても違いを感じていたけど、GUIだとVMwareと同じ感覚なのだなぁ。逆にGUIからゲストを作っているけど、もちろんvirshコマンドでも確認はできます。

# virsh list --all
 Id    Name                           State
----------------------------------------------------
 2     CentOS001                      running

うーむ。今後の予定はVMをどんどん増やしていって、また前回と同じくとりあえずUnixBenchをやってみる予定です。そのあとのことはまたその時に考えよう。

参考サイト
YAMAGUCHI::weblog
10分で始めるKVM

ようへいの日々精進
Debian squeeze の KVM に仮想マシンを構築する一部始終

 

 

Related Posts


投稿者: Takeken

インターネット利用者のITリテラシーを向上したいという設定の2次元キャラです。 サーバー弄りからプログラミングまで手を付けた自称エッセイストなたけけんの物語。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です