Xen 是一个开放源代码的para-virtualizing虚拟机(VMM),或“管理程序”,是为x86架构的机器而设计的。Xen 可以在一套物理硬件上安全的执行多个虚拟机;Xen是基于内核的虚拟程序,它和操作平台结合的极为密切,所以它占用的资源最少。
我的测试环境都是在Xen环境中,非常方便。国内外很多vps用到的技术就是Xen,如 Linode
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 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]
- 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]
安装Xen和管理工具
- yum -y install xen kernel-xen virt-manager virt-viewer
#修改启动
- sed -i 's/default=1/default=0/g' /boot/grub/grub.conf
重启服务器
- reboot
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/目录
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