(一) 升级整个系统后重启,然后加入 CentOS 官方 Xen 源(Xen4CentOS6)并安装 Xen 内核及相关工具。需要注意的是,采用 CentOS-6.5-x86_64-minimal.iso 最小化安装的系统没有包括 Perl,Xen 工具需要 Perl 的支持,所以需要安装 perl 先:
# 关闭selinux
# vi /etc/selinux/config # 把其中的SELINUX=enforcing 改成 SELINUX=disabled
# yum update
# reboot
# 修改内核,支持半虚拟化
# yum install centos-release-xen
# yum update
# yum install perl
# yum install xen
(二) 安装完支持 Xen 的 Linux 内核后需要加新条目到 grub.conf,以便系统能默认启动带 Xen 的 Linux 内核(而不是常规 Linux 内核),这个操作可以通过 grub-bootxen.sh 自动完成,弄完后打开 grub.conf 文件再次确认一下:
# /usr/bin/grub-bootxen.sh
# vi /etc/grub.conf (一般这里不用手动改了保持新增的启动项放在第一位就好了)
...
title CentOS (3.10.25-11.el6.centos.alt.x86_64)
root (hd0,0)
kernel /xen.gz dom0_mem=1024M,max:1024M loglvl=all guest_loglvl=all
module /vmlinuz-3.10.25-11.el6.centos.alt.x86_64 ro root=/dev/mapper/vg_node11-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=vg_node11/lv_swap KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rd_LVM_LV=vg_node11/lv_root rhgb quiet
module /initramfs-3.10.25-11.el6.centos.alt.x86_64.img
...
# reboot
重启系统后,默认应该进入 Xen 内核,可以通过 uname -r 和 xm info 确认是否安装成功:
[[email protected] ~]# service xend start
[[email protected] ~]# uname -r
3.10.68-11.el6.centos.alt.x86_64
[[email protected] ~]# xm info
WARNING: xend/xm is deprecated.
host : localhost.localdomain
release : 3.10.68-11.el6.centos.alt.x86_64
version : #1 SMP
。。。 略。。。
(三) 安装api管理工具
[[email protected] ~]# yum install virt-install virt-viewer
(四) 安装libvirt
[[email protected] ~]# yum install libvirt python-virtinst libvirt-daemon-xen
(五) 制作虚拟磁盘文件
[[email protected] ~]# dd if=/dev/zero of=/root/xen/vm_web1.img bs=1024K count=10000 # 虚拟的空间大小为10G
(六) 制作安装源--这里我自己制作了网络安装源
linux宿主机 ip为 192.168.1.11 子网掩码为 255.255.255.0
我的windows ip为 192.168.1.95 子网掩码为 255.255.255.0
1 在我的window上配置好apache环境,添加虚拟主机www.test.com作为网络安装源
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "D:/lamp/apache/htdocs/test"
ServerName www.test.com
ServerAlias 192.168.1.95
ErrorLog "logs/dummy-host2.www.test.com-error.log"
CustomLog "logs/dummy-host2.www.test.com-access.log" common
<Directory "D:/lamp/apache/htdocs/test">
Options Indexes FollowSymLinks # 这里一定虚拟机的展示目录列表项打开,要不然安装不成功
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
2 修改linux的hosts文件
192.168.1.95 www.test.com
3 制作安装源
3.1 从网上下载CentOS-6.5-x86_64-minimal.iso
3.2 把一个格式化好的u盘插入到windows上,用UltraISO把CentOS-6.5-x86_64-minimal.iso文件刻录到u盘上
3.3 把u盘上的文件复制到D:/lamp/apache/htdocs/test下,修改.treeinfo文件添加
[images-xen]
kernel = images/pxeboot/vmlinuz
initrd = images/pxeboot/initrd.img
(七) 安装第一台虚拟机
[[email protected] ~]# virt-install -n vm_web1 -r 1024 -f /root/xen/vm_web1.img -s 10 --nographics -p -l http://www.test.com/
参数讲解:
-n NAME
-r MEMORY
单位为:M
-u UUID
指定虚拟机的唯一通用标识符
(Universally Unique Identifier,UUID)。
省略这个参数时,virt-install 将会自动产生
--vcpus=VCPUS
指定虚拟机的虚拟 CPU (Virtual CPU,VCPU) 数量
-f DISKFILE
指定虚拟磁盘的文件路径名称
-s DISKSIZE
用来指定虚拟磁盘的大小,这个参数需配合-f 使用。
DISKSIZE为虚拟磁盘的大小,单位是GB
-m MAC
指定虚拟机的网络卡之硬件地址。
这个参数可以省略,省略时virt-install 将自动产生
-p 以半虚拟化的方式建立虚拟机
-l LOCATION 指定安装来源
安装过程中 填写ip地址时选择自动获取 (我填写与当前局域往同一网络的ip地址,安装不成功。应该是源访问不到。具体原因还不清楚)
安装完之后控制权是虚拟机。使用ctrl+]回到宿主机
(八) 查看已经安装的虚拟机
[[email protected] ~]# xm list
WARNING: xend/xm is deprecated.
Name ID Mem VCPUs State Time(s)
Domain-0 0 1023 2 r----- 242.5
vm_web1 4 1024 1 -b---- 28.0