前置說明:
。作業系統是 CentOS 5.5 x64
。作業系統一開始並沒有安裝 X windows + GNONE 環境
。把 selinux 關閉
。查看cpu是否支援虛擬化

egrep '(vmx|svm)' –color=always /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 syscall nx rdtscp lm constant_tsc ida nonstop_tsc pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
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 syscall nx rdtscp lm constant_tsc ida nonstop_tsc pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
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 syscall nx rdtscp lm constant_tsc ida nonstop_tsc pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
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 syscall nx rdtscp lm constant_tsc ida nonstop_tsc pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
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 syscall nx rdtscp lm constant_tsc ida nonstop_tsc pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
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 syscall nx rdtscp lm constant_tsc ida nonstop_tsc pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
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 syscall nx rdtscp lm constant_tsc ida nonstop_tsc pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
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 syscall nx rdtscp lm constant_tsc ida nonstop_tsc pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm

。安裝 GNONE 桌面環境

yum groupinstall "GNONE Desktop Environmen"

假如找不到的話還有一種方式

yum grouplist

 就可以知道我應該這麼作
(因為我是環境是 zh_TW.UTF-8)

yum groupinstall "GNOME 桌面環境"

。安裝 vnc server

(用來控制 GNOME 桌面)

yum install vnc-server

。設定 vnc

vi /etc/sysconfig/vncservers

VNCSERVERS=”2:root”
VNCSERVERARGS[2]=”-geometry 1024×768 -nolisten tcp -nohttpd”

。設定 vnc 密碼

vncpasswd

。重啟 vnc

(才會產生 ~/.vnc/xstartup檔案)

/etc/init.d/vncserver restart

。設定 vnc 可以執行在 GnoneDesktop 畫面

vi /root/.vnc/xstartup

unset SESSION_MANAGER # 把註解拿掉
exec /etc/X11/xinit/xinitrc # 把註解拿掉

。設定 vnc 開機啟動

chkconfig vncserver on

。安裝 KVM

 (用群組安裝,KVM要大寫)

yum groupinstall KVM

 (以上連 virt-manager libvirt libvirt-python python-virtinst都裝了)

。設定 libvirtd 開機啟動

chkconfig libvirtd on

。重開機

reboot

。重開機完後查看module是否掛載

lsmod | grep -i kvm

kvm_intel 87048 0
kvm 226336 2 ksm,kvm_intel

。檢查KVM是否安裝成功

virsh -c qemu:///system list

成功就出現

Id 名稱 狀態
———————————-

KVM裝完會有一張虛擬網卡,但它只能讓虛機存在 NAT 端,
假如我要讓 (my pc) 也能存取虛機
就要設定bridge 讓KVM的虛機可以使用

假設我的網路環境是

。安裝 bridge 套件

yum install bridge-utils

。設定 bridge 網卡

(這裡我只先作設定網內而已)

vi /etc/sysconfig/network-scripts/ifcfg-brlan1

DEVICE=brlan1
TYPE=Bridge
BOOTPROTO=static
IPADDR=10.10.10.198
NETMASK=255.255.255.0
ONBOOT=yes
DELAY=0

vi /etc/sysconfig/network-scripts/ifcfg-eth1

  DEVICE=eth1
HWADDR=00:10:A7:05:AF:EB
ONBOOT=yes
BRIDGE=brlan1

。開啟 ip forwarding

vi /etc/sysctl.conf

  net.ipv4.ip_foreard=1

 。設定bridge不受iptables影響

vi /etc/sysctl.conf

net.bridge.bridge-nf-call-ip6tables=0
net.bridge.bridge-nf-call-iptables=0
net.bridge.bridge-nf-call-arptables=0

 。sysctl 馬上生效

sysctl -p

 。加一筆iptables設定

iptables -I FORWARD -m physdev –physdev-is-bridged -j ACCEPT

 。iptables rule 存檔

service iptables save

 。重啟 iptables rules

service iptables restart

 。bridge 設定好就重啟網路

service network restart

。查看bridge狀態

除了 ifconfig 外,還可以用 brctl show來看

待補充…
一。圖形介面virt-manager新增一虛擬機器
二。指令方式新增一虛擬機器

三。更新virt-manger

。可能要先安裝: yum install gcc gcc-c++ libtool intltool

。到 http://virt-manager.et.redhat.com/download.html 下載 virt-manager 及 virtinst 套件

。virt-manager的安裝: ./configure && make && make install

。virtinst 的安裝: python setup.py install

四。KVM網路裝置的比較

參考文件
1。Lawrence.Pan 編寫的文件
2。http://www.howtoforge.com/virtualization-with-kvm-on-a-centos-5.2-server

最後修改日期: 2011 年 02 月 25 日

作者

留言

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。