Xen的虚拟化分为半虚拟化以及全虚拟化技术,其中半虚拟化主要是通过修改 Linux 核心来完成的虚拟化技术.Xen 的半虚拟化技术主要是用在相同发行版本的 Linux 上,如果你想要使用半虚拟化的方式启动多个虚拟机器,那么虚拟机器全部都是相同的操作系统,甚至要求相同版本与相同核心的 Linux 发行版本.如果你想要安装不同版本的 Linux 或者是其他的 OS ( Windows XP) 时,那就得要使用全虚拟化技术了.
全虚拟化技术满足以下条件:
- 硬件支持 英特尔 的 VT 技术 (Virtualization Technology, 英特尔-VT);
- 硬件支持 AMD 的 SVM 技术 (Secure Virtual Machine, AMD-SVM or, AMD-V).
下面来切实体验一下xen
一、确定你的cpu是否支持虚拟化技术
- # cat /proc/cpuinfo |grep flags |egrep -o ''pae|vmx|svm''
- pae
- svm
- pae
- svm
显示了PAE以及SVM,说明我的CPU支持全虚拟化技术.
二、安装Xen
1.安装Xen的基本程序
- # yum install -y xen*
2.安装Xen的内核
- # yum install -y kernel-xen*
3.安装Xen的虚拟管理程序
- # yum install -y virt-manager
以上安装完毕,就来配置Xen的环境了
三、配置Xen环境
修改grub.conf文件,以Xen的内核来启动系统
- # grub.conf generated by anaconda
- #
- # Note that you do not have to rerun grub after making changes to this file
- # NOTICE: You do not have a /boot partition. This means that
- # all kernel and initrd paths are relative to /, eg.
- # root (hd0,0)
- # kernel /boot/vmlinuz-version ro root=/dev/sda1
- # initrd /boot/initrd-version.img
- #boot=/dev/sda
- default=0
- timeout=5
- splashimage=(hd0,0)/boot/grub/splash.xpm.gz
- hiddenmenu
- title CentOS (2.6.18-238.12.1.el5xen)
- root (hd0,0)
- kernel /boot/xen.gz-2.6.18-238.12.1.el5
- module /boot/vmlinuz-2.6.18-238.12.1.el5xen ro root=LABEL=/
- module /boot/initrd-2.6.18-238.12.1.el5xen.img
- title CentOS (2.6.18-238.el5)
- root (hd0,0)
- kernel /boot/vmlinuz-2.6.18-238.el5 ro root=LABEL=/
- initrd /boot/initrd-2.6.18-238.el5.img
修改完毕,重启系统,shell界面就可以看到
- # uname -a
- Linux Xen 2.6.18-238.12.1.el5xen #1 SMP Tue May 31 14:02:29 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux
再看一下
- # xm list
- Name ID Mem(MiB) VCPUs State Time(s)
- Domain-0 0 1228 2 r----- 444.8
Xen的log所在地
- # ll /var/log/xen/
- total 44
- drwx------ 2 root root 4096 May 10 05:30 console
- -rw-r--r-- 1 root root 9653 Jun 10 15:07 domain-builder-ng.log
- -rw-r--r-- 1 root root 36 Jun 10 14:53 xend-debug.log
- -rw-r--r-- 1 root root 17855 Jun 10 15:07 xend.log
- -rw-r--r-- 1 root root 36 Jun 10 15:07 xen-hotplug.log
四、建立虚拟机
准备工作
这里我们安装虚拟机采用NFS的方式,如果你对你的网络比较自信,也可以采用网络安装的方式,视具体情况而定.
创建一个NFS Server并将光盘根目录下的文件copy 进去,同时分享出来并允许Xen宿主机访问,这个不是重点,就不写过程了
下面进入真正的虚拟机安装阶段
- # virt-install -n centos -r 512 --vcpus=1
- > --nographic -f /opt/vm/centos.img -s 20 -p
- > -l nfs:192.168.1.249:/home/netinstall
解释一下各参数的意义:
- -n 代表虚拟机的名字
- -r 分配给虚拟机的内存
- --vcpus 分配给虚拟机的CPU
- --nographic 不适用图形界面
- -f 虚拟机磁盘映像的所在地
- -s 虚拟机磁盘映像的大小,单位记得是GB
- -p 半虚拟化的方式
- -l 安装映像的路径
|