Xen 是一個開放源代碼的para-virtualizing虛擬機(VMM),或“管理程序”,是為x86架構的機器而設計的。Xen 可以在一套物理硬件上安全的執行多個虛擬機;Xen是基於內核的虛擬程序,它和操作平台結合的極為密切,所以它占用的資源最少。
我的測試環境都是在Xen環境中,非常方便。國內外很多vps用到的技術就是Xen,如
LLinux/1672.html' target='_blank'>inode
1. cpu是否支持虛擬化
cat /proc/cpuinfo | grep flags
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 pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc nons
top_tsc pni cx16 popcnt lahf_lm cmp_legacy svm extapic cr8legacy abm sse4a misalignsse 3dnowprefetch osvw ibs ts ttp tm stc 100mhzsteps hwpstate [8]
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 pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc nonstop_tsc pni cx16 popcnt lahf_lm cmp_legacy svm extapic cr8legacy abm sse4a misalignsse 3dnowprefetch osvw ibs ts ttp tm stc 100mhzsteps hwpstate [8]
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 pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc nonstop_tsc pni cx16 popcnt lahf_lm cmp_legacy svm extapic cr8legacy abm sse4a misalignsse 3dnowprefetch osvw ibs ts ttp tm stc 100mhzsteps hwpstate [8]
2. 安裝Xen和管理工具
yum -y install xen kernel-xen virt-manager virt-viewer
#修改啟動
sed -i 's/default=1/default=0/g' /boot/grub/grub.conf
reboot
3. Xen安裝
#掛載系統光盤,配置httpd.conf
service httpd start
http://192.168.1.110/centos/
#制作客戶機主要磁盤
mkdir -p /data/xen
dd if=/dev/zero of=/data/xen/linux1.img bs=2k seek=4096k count=1
#制作客戶機交換磁盤
dd if=/dev/zero of=/data/xen/linux1_swap.img bs=2k seek=512k count=1
#字符界面安裝Xen
virt-install -n linux1 -r 512 --vcpus=1 --nographic -f /data/xen/linux1.img -l http://192.168.1.110/centos/ "ip=192.168.1.111 netmask=255.255.255.0 gateway=192.168.1.1"
#virt-install參數詳解
-n 後面接虛擬機名稱,配置 /etc/xen 底下
-r 後面接分配的內存大小,至少需要 256MB 才能夠執行
--vcpus 分配多少個cpu
-f 後面接新建的磁盤文件!
--nographics 不使用圖形化安裝;
-p 半虛擬化的方式
-s 虛擬機磁盤映像的大小,單位GB
-l 後面接安裝源。寫法為:
NFS : nfs:主機IP:目錄
WWW : http://主機IP/目錄
FTP : ftp://主機IP/目錄
4. Xen管理
ls /etc/xen #xen配置文件目錄
xm list #顯示虛擬機運行狀態
xm shutdown linux1 #關閉linux1虛擬機
xm console linux1 #連接虛擬機linux1控制台,連接到虛擬機上面可以用組合鍵 ctrl + ] 鍵切換到物理機
xm pause linux1 #暫停虛擬機linux1
xm resume linux1 #恢復被暫停的虛擬機linux1
virt-clone -o linux1 -n linux2 -f /data/xen/linux2.img
xm create linux2 #開啟虛擬機linux2
xm console linux2
sed -i 's@HWADDR=@#HWADDR=@g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's@IPADDR=.*$@IPADDR=192.168.1.112@g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's@HOSTNAME=.*$@HOSTNAME=linux2@g' /etc/sysconfig/network