1.    硬件要求

硬件需要满足如下要求:

1. 至少2G内存

    2. 6G的硬盘空间

    3. 对于全虚拟化需要CPU支持虚拟化技术  

使用如下命令确认CPU的参数设置

   
   
   
   
  1. [root@test-19-227 ~]# cat /proc/cpuinfo | grep vmx 
  2.  
  3. flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx pdpe1gb rdtscp lm constant_tsc ida nonstop_tsc arat pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm 

若要支持全虚拟机,则需要打开VT功能,如果没有开启VT,则需要进BIOS开启该功能

2.    使用Yum安装Xen

需要安装Xen kernel-Xen软件包

Xen包:包含了Xen hypervisor Xen tools

   kernel-xen: 是一个可以运行在Xen hypervisor虚拟机的linux内核

   
   
   
   
  1. [root@test-19-227 ~]# yum install xen  kernel-xen 
其他推荐工具:

python-virtinst:提供virt-install命令安装虚拟机

libvirt-python:提供了用python语言脚本管理Xen的接口

libvirt:提供了命令行工具管理Xen虚拟机

virt-manager:提供了图形化管理Xen虚拟机的工具

bridge-utils :该程序包存放的是用于配置以太网桥的实用程序,以太网桥的作用是将多个以太网设备连在一起。

Xen-libs :该程序包存放的是Xen的管理程序所需的程序库。 

3.    编辑grub,使用Xen内核启动

修改前的grub文件:

   
   
   
   
  1. [root@test-19-227 ~]# vim /etc/grub.conf 
  2.  
  3.     # grub.conf generated by anaconda 
  4.  
  5.     # 
  6.  
  7.     # Note that you do not have to rerun grub after making changes to this file 
  8.  
  9.     # NOTICE:  You have a /boot partition.  This means that 
  10.  
  11.     #          all kernel and initrd paths are relative to /boot/, eg. 
  12.  
  13.     #          root (hd0,0) 
  14.  
  15.     #          kernel /vmlinuz-version ro root=/dev/vg_root/lv_root 
  16.  
  17.     #          initrd /initrd-version.img 
  18.  
  19.     #boot=/dev/sda 
  20.  
  21.     default=1 
  22.  
  23.     timeout=5 
  24.  
  25.     splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz 
  26.  
  27.     hiddenmenu 
  28.  
  29.     title CentOS (2.6.18-238.12.1.el5xen
  30.  
  31.         root (hd0,0
  32.  
  33.         kernel /xen.gz-2.6.18-238.12.1.el5 
  34.  
  35.         module /vmlinuz-2.6.18-238.12.1.el5xen ro root=/dev/vg_root/lv_root 
  36.  
  37.         module /initrd-2.6.18-238.12.1.el5xen.img 
  38.  
  39.     title CentOS (2.6.18-194.el5
  40.  
  41.         root (hd0,0
  42.  
  43.         kernel /vmlinuz-2.6.18-194.el5 ro root=/dev/vg_root/lv_root 
  44.  
  45.         initrd /initrd-2.6.18-194.el5.img 

注意default=1,默认情况下用第二个内核启动,即使用title CentOS (2.6.18-194.el5)启动;

应该使用title CentOS (2.6.18-238.12.1.el5xen)启动,所以将default的值改为0

修改后的grub文件:

   
   
   
   
  1. # grub.conf generated by anaconda 
  2. # 
  3. # Note that you do not have to rerun grub after making changes to this file 
  4. # NOTICE:  You have a /boot partition.  This means that 
  5. #          all kernel and initrd paths are relative to /boot/, eg. 
  6. #          root (hd0,0) 
  7. #          kernel /vmlinuz-version ro root=/dev/vg_root/lv_root 
  8. #          initrd /initrd-version.img 
  9. #boot=/dev/sda 
  10. default=0 
  11. timeout=5 
  12. splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz 
  13. hiddenmenu 
  14. title CentOS (2.6.18-238.12.1.el5xen
  15.         root (hd0,0
  16.         kernel /xen.gz-2.6.18-238.12.1.el5 
  17.         module /vmlinuz-2.6.18-238.12.1.el5xen ro root=/dev/vg_root/lv_root 
  18.         module /initrd-2.6.18-238.12.1.el5xen.img 
  19. title CentOS (2.6.18-194.el5
  20.         root (hd0,0
  21.         kernel /vmlinuz-2.6.18-194.el5 ro root=/dev/vg_root/lv_root 
  22.         initrd /initrd-2.6.18-194.el5.img 

启动参数的含义:

   
   
   
   
  1. title CentOS (2.6.18-238.12.1.el5xen)     ##定义了内核的名称,该名称将在引导菜单时显示 
  2. root (hd0,0)    ##定义了引导系统的根分区 
  3. kernel /xen.gz-2.6.18-238.12.1.el5    ##指定了需要引导的内核 
  4. module /vmlinuz-2.6.18-238.12.1.el5xen ro root=/dev/vg_root/lv_root   ##定义了用于DOM0的内核 
  5. module /initrd-2.6.18-238.12.1.el5xen.img   ##定义了内核初始化时加载的初始RAM磁盘镜像 

4.    重启机器,检查是否是XEN内核

重启前使用的内核:

   
   
   
   
  1. [root@test-19-227 ~]# uname  -rm 
  2. 2.6.18-194.el5 x86_64  

重启后使用的内核:

   
   
   
   
  1. [root@test-19-227 ~]# uname  -rm 
  2. 2.6.18-238.12.1.el5xen x86_64  

检查xend是否运行

   
   
   
   
  1. [root@test-19-227 ~]# ps -ef|grep xend 
  2. root      5431     1  0 15:04 ?        00:00:00 /usr/bin/python /usr/sbin/xend start 
  3. root      5432  5431  0 15:04 ?        00:00:00 /usr/bin/python  
  4. root      5882  5846  0 15:09 pts/0    00:00:00 grep xend 

 检查domain0是否运行

   
   
   
   
  1. [root@test-19-227 ~]# xm list 
  2. Name                                      ID Mem(MiB) VCPUs State   Time(s) 
  3. Domain-0                                   0    15651    16 r-----     32.7 

检查log输出

   
   
   
   
  1. [root@test-19-227 xen]# more xend-debug.log  
  2. Nothing to flush. 
  3. Nothing to flush 

5.    简单制作网络安装环境

centos的镜像文件挂载到服务器上,并且将文件复制到配置好的HTTP目录下即可。

6.    配置Xendvnc服务

安装vncvnc server

   
   
   
   
  1. [root@test-19-227 ~]# yum install vnc vnc-server 

配置xend,配置如下选项

   
   
   
   
  1. [root@test-19-227 xen]# vim /etc/xen/xend-config.sxp 
  2. (vnc-listen '192.168.19.227'
  3.  (vncpasswd ''

重新启动Xend,如果重启不成功则需要重启机器

   
   
   
   
  1. [root@test-19-227 xen]# service xend restart 

7.    virt-install命令全虚拟化安装CentOS客户机

   
   
   
   
  1. [root@test-19-227 CentOS]# virt-install -n Centos_xen -r 8196  --vcpus=16  -f /opt/xen_centos/Centos_xen.disk -s 120 -v --os-type=linux --os-variant=rhel5       -l http://192.168.19.215/centos/ 

使用VNC客户端连接,开始安装 

Xen安装部署_第1张图片

下面的过程和正常安装系统是一样的