KVMの本が出たので早速買ったんですが、CentOSのことが書いてない・・・。Fedoraは書いてあるけど、若干違う?
とりあえず、環境構築の検証で何度もインストールをしてるんですが、さすがにメモをとらないとヤバいので、メモついでにブログっておきます。
OSのセットアップ
x86_64のCentOS5.5ベースでいってます。
32ビット版Linuxを入れてもメモリが4GBに制限されるし、ホストOSが64ビットなら、ゲストOSは32ビット・64ビットどちらも選択できるので幅が広がります。
★選択するソフトウェア
ホストOSは最小構成にします。
セットアップ中のソフトウェアの構成では、GUIを使いたいのでGnomeを選択します。あとなんだっけ?アプリ関連はすべてOFF。サーバはデフォで印刷が選択されてるのでそれもOFF。
確かベースシステム関連と、GnomeくらいしかONにしてなかったかも。
仮想化関係は後で入れるのでOFF。
★ディスクパーテーション
ディスクパーテーションでは、LVMを選択ですが、以下のような感じにしました。
| LVM名 | 割り当て | マウント先 |
| LV00_root | 4G | /(ルートパーテーション) |
| LV01_swap | 4G | swap |
| LV02_web | 4G | Webサーバ用 |
| LV03_fs | 4G | ファイルサーバ用サーバ用 |
| LV04_vm | 4G | その他検証サーバ用1 |
| LV05_vm | 4G | その他検証サーバ用2 |
| LV06_vm | 残り(8Gくらい) | その他検証サーバ用3 |
VM関連はマウントさせる必要が無いんですが、セットアップに怒られるので渋々設定。後でマウントを外します。
あ、ちなみに32GのSSDを使ってます。
OS部分をここにつっこんで、データ部分はディスクでミラーを組むつもり。
CentOSはフルインストしなければ、4GBでだいたい50%前後を消費します。
★ネットワーク
固定IPを振ります。サーバがDHCPなんてあり得ないので(後で変更してもいいけど)
★その他
NTPを有効にします。仮想化環境はホストOSの時計さえ合わせればOKなので。
あと、SELinuxはよくわからんのでOFF。
OSのセットアップ後のいろいろ
OSを最新化します。
yum update
KVMを有効にします。LVMもGUIでいじりたいので、ついでに追加。
サーバの温度監視などもホストOSでさせたいので、lm_sensorsも追加しています。
yum install system-config-lvm lm_sensors kvm kmod-kvm kvm-qemu-img libvirt python-virtinst bridge-utils virt-viewer
「libvirtd」をデーモンとして起動するように設定。
chkconfig libvirtd on
「lm_sensors」の有効化。だいたいデフォルトで行けるけど、マザーボードの仕様などにもよるので、詳しくは書きません。
# sensors-detect
不要なデーモンを止めます。
「chkconfig –list | grep 5:on」で自動起動するデーモンの一覧が見えます(CUIベースならgrep 3:onね)。私は以下のような感じに、デーモンを止めました。
# chkconfig acpid off # chkconfig autofs off # chkconfig avahi-daemon off # chkconfig bluetooth off # chkconfig cups off # chkconfig firstboot off # chkconfig gpm off # chkconfig haldaemon off # chkconfig hidd off # chkconfig iscsi off # chkconfig iscsid off # chkconfig mcstrans off # chkconfig messagebus off # chkconfig netfs off # chkconfig nfslock off # chkconfig pcscd off # chkconfig restorecond off # chkconfig rpcgssd off # chkconfig rpcidmapd off # chkconfig sendmail off
基本ポリシーとしては、ホストOSでは極力サービスを提供しないようにしたいので、NFSとかsendmailなどの止められそうなネットワークサービスは止めます。その他セキュリティ系・H/W性能向上/計測系のサービスは動かします。H/Wへの直接アクセス系はホストOSで動かすべきだと思うので。
# chkconfig --list | grep '5:on' anacron 0:off 1:off 2:on 3:on 4:on 5:on 6:off atd 0:off 1:off 2:off 3:on 4:on 5:on 6:off auditd 0:off 1:off 2:on 3:on 4:on 5:on 6:off cpuspeed 0:off 1:on 2:on 3:on 4:on 5:on 6:off crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off ip6tables 0:off 1:off 2:on 3:on 4:on 5:on 6:off iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off irqbalance 0:off 1:off 2:on 3:on 4:on 5:on 6:off kudzu 0:off 1:off 2:off 3:on 4:on 5:on 6:off libvirtd 0:off 1:off 2:off 3:on 4:on 5:on 6:off lm_sensors 0:off 1:off 2:on 3:on 4:on 5:on 6:off lvm2-monitor 0:off 1:on 2:on 3:on 4:on 5:on 6:off mdmonitor 0:off 1:off 2:on 3:on 4:on 5:on 6:off microcode_ctl 0:off 1:off 2:on 3:on 4:on 5:on 6:off network 0:off 1:off 2:on 3:on 4:on 5:on 6:off ntpd 0:off 1:off 2:off 3:on 4:off 5:on 6:off portmap 0:off 1:off 2:off 3:on 4:on 5:on 6:off rawdevices 0:off 1:off 2:off 3:on 4:on 5:on 6:off readahead_early 0:off 1:off 2:on 3:on 4:on 5:on 6:off readahead_later 0:off 1:off 2:off 3:off 4:off 5:on 6:off smartd 0:off 1:off 2:on 3:on 4:on 5:on 6:off sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off xfs 0:off 1:off 2:on 3:on 4:on 5:on 6:off yum-updatesd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
あと、/etc/fstabを編集してマウント不要なVMパーテーションを消しておきます。
ネットのブリッジ設定。
KVMのネットは、なんだかデフォでNAT構成になってるそうです。VM毎にIPを振る場合はブリッジ構成にした方がいいので、ホストOSをブリッジにします。
以下は、セットアップ時に固定IPを振ってる場合のやり方。
# cd /etc/sysconfig/network-scripts # cp ifcfg-eth0 ifcfg-br0 # vi ifcfg-br0 ※「DEVICE=eth0」を「DEVICE=br0」へ変更。 ※「TYPE=Bridge」を追記。 # vi ifcfg-eth0 ※「IPADDR」「NETMASK」「NETWORK」「BROADCAST」の項目を削除 ※「BRIDGE=br0」を追記。
再起動と環境確認
なんか、KVMが再起動時に有効にならないとか、デーモンを止めたりとかしてるので、とりあえず再起動します。
ネットの設定を失敗してると再起動後にリモート接続できなくなるので注意です。
再起動後、「lsmod | grep kvm」で以下の表示が出れば、正常にKVMが稼働しています。
# lsmod | grep kvm kvm_intel 86920 1 kvm 226208 2 ksm,kvm_intel
あとはゲストOS入れたりとか。


Leave a Reply