centos中安装xen虚拟机
安装xen前需要检查CPU是否支持虚拟化,虚拟化又分全虚拟化和半虚拟化。
半虚拟检查:结果大于0表示支持
cat /proc/cpuinfo | grep flags | grep pae | wc -l
全虚拟化检查:结果大于0表示支持
cat /proc/cpuinfo | egrep '(vmx|svm)' | wc -l
其中vmx是intel cpu 标志,svm是amd cpu 标志
如果CPU支持虚拟化才能使用xen,centos 5.6下安装xen可以直接使用yum来安装。安装命令如下:
yum –y install kernel-xen xen
安装好后在/boot/grub/menu.lst可以看到带有xen内核的启动项,把它设置为默认启动项。重启后就可以安装虚拟机了。
道听途说得到的结论是半虚拟化(PV)的性能原则上比全虚拟化(FV)要好,我的机器支持半虚拟化,所有采用这种方式来创建虚拟机。由于半虚拟化时不能使用 cdrom,iso的方式安装,只能使用网络方式安装,如 http,ftp,nfs,这里采用http的方式。http服务用nginx,源是iso文件,操作步骤为:
- mount iso 文件 mount -o loop /iso文件的路径/iso文件名 /mnt/iso
- 在nginx的根目录下建立一个cs文件夹,拷贝 /mnt/iso下的文件到刚建立的cs文件夹中,注意nginx中的cs目录需要有list的权限,故需要在nginx中配置autoindex on,默认是off
使用dd命令创建一个固定大小的空间作为虚拟机的硬盘,这里创建了一个10G的文件
dd if=/dev/zero of=/data/xenimgs/purecentos5_6.img bs=1024K count=10240
安装命令:
virt-install -p -n purecentos5_6 -r 512 --vcpus=2 --file=/data/xenimgs/purecentos5_6.img -l http://192.168.1.68/cs/ --vnc --prompt 说明 -p 使用半虚拟 -n 虚拟机的名称 默认会在/etc/xen中创建一个同名的配置文件 -r 虚拟机的内存 --vcpus 虚拟cpu的个数,不要超过真实cpu的个数 --file 作为磁盘使用的映像文件(可以为多个该选项,该映像文件也可以不事先创建) -l 安装源的路径 --vnc 开启vncserver,可以使用vncviewer连接,如果不指定端口,默认为5900, 如果同时还在创建第二个时候,端口为5901,依次类推,当然可以使用"--vncport=xxx"来为当前虚拟机指定一个端口 有时候由于多次操作,都不知道当前到底是哪个端口,可以使用命令 netstat -nap | grep 590 来查看一下,最后确认具体端口 --prompt 使用交互式的方式,这样会提示你属于一些信息
运行命令后用vncviewer连接上,可以看到跟安装普通的linux一样,按照要求一步一步走下去就ok.
使用已有的系统创建一个新系统,有两种方法
方法一
拷贝老系统的映像文件为新系统的映像文件 cp purecentos5_6.img centos1.img
拷贝配置文件 cp /etc/xen/purecentos5_6 /etc/xen/centos1
修改 /etc/xen/centos1 文件中的name、uuid、disk和mac中对应的信息就大功告成了
方法二
使用virt-clone命令来完成,例如:
virt-clone -o purecentos5_6 -n centos2 -f /data/xenimgs/centos2.img
可以先创建一个干净的系统,再根据上面的方法来创建虚拟机,这样可以快速的创建好一个虚拟机。