centos6安装和配置Xen
centos 6安装xen并不像centos 5那样轻松,因为在centos 6中,官方源已经去除了xen的rpm包,
只能使用第三方源或自行编译,这里推荐使用第三方源,编译安装要解决的问题比较多.
还有一个包libvirt,这个是管理xen的api,官方的这个包已经不支持xen,并且是0.9版的需要更高版本的iptables支持,所以libvirt需要编译安装.
下面是在CentOS 6 64位系统进行安装配置Xen.
1、安装Xen及内核
1 | rpm -Uvh http://www.crc.id.au/repo/x86_64/kernel-xen-release-6-3.noarch.rpm //导入第三方源安装Xen |
2、配置grub引导xen内核 xen内核安装后,会自动插入引导xen内核代码到 /boot/grub/grub.conf文件,但还需要进行相应的修改. 修改后引导xen内核的代码如下:
1 | title CentOS (2.6.32.56-1.el6xen.x86_64)root (hd0,7) |
这段代码仅够参考,不一定适用于你的配置.
3、关闭selinux 这是必须关闭的,要不会因为selinux的安全机制导致xen无法正常工作. 编辑selinux配置文件:
1 | vi /etc/sysconfig/selinux |
修改为如下:
1 | # This file controls the state of SELinux on the system. |
1 | /etc/sysconfig/network-script/ifcfg-eth0 |
1 | NM_CONTROLLED=no |
4、重启引导进入xen内核 引导后执行xm info测试:
1 | [root@localhost ~]# xm info |
5、安装api管理工具
1 | yum install virt-install virt-viewer |
6、编译安装libvirt 因为rpm安装的libvirt不支持xen连接,所以我们使用编译安装.还有版本也不能选择高的,不然可能会因为iptables的版本低而不能使用libvirt.
1 | yum install gcc xen-devel libxml2-devel gnutls-devel device-mapper-devel libnl-devel make |
然后打开 /usr/local/etc/libvirt/libvirtd.conf文件,删除 unix_sock_dir = “/var/run/libvirt”前面的注释,并创建 /var/run/libvirt目录. 之后启动libvirtd,并设置开机启动.
1 | libvirtd -d |
7、安装xen guest 我们这里使用virt-install工具进行guest的安装,当然你也可以使用xm命令安装,不过相对麻烦点. 可以执行 virt-install –help学习这工具的使用方法. 下面是安装guest的示例:
1 | virt-install -n CentOSVM1 -r 512 -f /xen/CentOSVM1.img -l http://www/ –network=network:default -s 10 –nographics –vcpus=2 |
或者使用交互式安装:
1 | virt-install --prompt |
在执行virt-install命令安装系统之前,先确定你的安装源,支持nfs http ftp smb等多种方式,宽带大的话,可以使用http直接连接远程安装源,比如mirror.163.com. 我这里adsl上网的,本地已经下载有iso文件了,所以在本地架设个http服务器进行安装. 1、挂载iso文件到/iso目录,这个目录必须存在.
1 | mount -o loop CentOS-6.2-x86_64-minimal.iso /iso |
8、安装httpd服务器,我这里安装apache.
1 | yum install httpd |
9、创建软链接或直接复制文件到apache根目录 /var/www/html,如果你的centos 6.2是完整版,只需要做个软链接,如果下载的是精简版,也就是minimal,需要复制全部文件到根目录,因为.treeinfo这个文件需要相应的修改. centos 6.2完整版:
1 | ln -s /iso /var/www/html |
centos 6.2精简版:
1 | cp -R /iso /var/www/html |
修改.treeinfo文件,如:
1 | [general] |
10、在安装之前,需要暂时关闭iptables,否则安装过程中会无法取得相应文件.
1 | service iptables stop |
11、开始使用virt-install安装
1 | virt-install -n centos6 -r 512 -f /xen/CentOSVM1.img -l http://192.168.1.100/iso --network=network:default -s 4 --vcpus=2 |
之后会自动调用virt-viewer工具显示安装界面.
12、启动guest centos6 安装完成后会要求重启,这时guest关闭之后不会自动启动,需要使用xm start命令启动:
1 | xm start centos6 |
开启iptables. 之前为了连接安装源,暂时关闭了iptables,现在需要启动iptables,否则guest无法连接外网.
1 | service iptables start |
13、使用virt-viewer管理guest
1 | virt-viewer centos6 |
执行这条命令即可连接虚拟机centos6进行管理了,当然也可以直接使用ssh连接更简单. 另外,我安装过virt-manager来安装guest,但到创建域时就出现KeyError错误,不知道如何解决,有懂的告诉一声.