jilgb 发表于 2015-10-11 12:45:52

搭建Xen虚拟化环境

  环境简介:
  硬件环境:intel i5处理器平台(Sandy Brige)
  软件环境:Redhat 6.2 Enterprise (64bit)
  
  1、 设置主板BIOS, 支持虚拟化技术

  
  2、配置yum repo 环境
  根据环境需要,配置/etc/profile.d/目录中的repo环境
  
  3、安装公共软件包
  yum install screen vim wget tcpdump ntp ntpdate man smartmontools links lynx ethtool xorg-x11-xauth cmake ruby -y
  
  4、安装开发工具包
  yum groupinstall "Development tools" "Additional Development" "Debugging Tools" "System administration tools" "Compatibility libraries" "Console internet tools" "Desktop Platform Development" -y
  
  5、安装编译Xen需要的软件包
  yum install libaio-devel yajl yajl-devel libuuid-devel dev86 iasl trousers trousers-devel SDL-devel pciutils-devel mercurial -y
  
  6、安装最新的yajl软件包
  从下面的网址,下载最新的yajl软件包
  http://lloyd.github.com/yajl/
  本文以1.0.12 版本为例,编译并安装。
  tar zxvf lloyd-yajl-1.0.12.tar.gz
   cd lloyd-yajl-17b1790
   ./configure
   make -j4
   make install
  
  7、下载Xen 4.2源码和3.4.0 Kernel
  xen源码下载可以从下面网址得到:
  http://xen.org/products/downloads.html
  
  Kernel可以从下面网址得到:
  http://kernel.org/
  
  8、编译Kernel
  kernel默认虚拟化相关的驱动没有打开,需要进行手动设置
CONFIG_X86_IO_APIC=y
CONFIG_ACPI=y
CONFIG_ACPI_PROCFS=y (optional)
CONFIG_XEN_DOM0=y
CONFIG_PCI_XEN=y
CONFIG_XEN_DEV_EVTCHN=y
CONFIG_XENFS=y
CONFIG_XEN_COMPAT_XENFS=y
CONFIG_XEN_SYS_HYPERVISOR=y
CONFIG_XEN_GNTDEV=y
CONFIG_XEN_BACKEND=y
CONFIG_XEN_NETDEV_BACKEND=m
CONFIG_XEN_BLKDEV_BACKEND=m
CONFIG_XEN_PCIDEV_BACKEND=y
CONFIG_XEN_PRIVILEGED_GUEST=y
CONFIG_XEN_BALLOON=y
CONFIG_XEN_SCRUB_PAGES=y
CONFIG_XEN_DEV_EVTCHN=y
  CONFIG_XEN_GNTDEV=y
  CONFIG_DMAR_TABLE=y
  CONFIG_INTEL_IOMMU=y
  CONFIG_INTEL_IOMMU_DEFAULT_ON=y
  CONFIG_INTEL_IOMMU_FLOPPY_WA=y
  CONFIG_IOMMU_API=y
  如果是3..4.0也可以参考附件中的配置文件
  http://download.iyunv.com/detail/chen_chun_guang/4992614
  编译kernel:
  make -j8
  make modules_install
  拷贝编译好的3.4.0+kernel和initramfs到/boot文件夹下
  cp arch/x86_64/boot/bzImage /boot/vmlinux-3..40
  mkinitrd -f /boot/initramfs-3.4.0+3.4.0+
  
  编译Xen 4.2
  make xen -j8
  make tools -j8
  make install-xen
  make install-tools
  拷贝xen.gz到/boot目录下
  cp xen/xen.gz /boot/
  
  9、配置grub信息
title Xen
root (hd0,0)
kernel /boot/xen.gz dom0_mem=1024M iommu=1 msi=1 hap_1gb=1
module /boot/vmlinuz-3.4.0 ro root=/dev/sda1
module /boot/initramfs-3.4.0+
  
  10、重启系统进入xen选项
  启动完毕后,就进入了dom0环境了
  启动xen服务:
  /etc/init.d/xencommons start

  
  11、启动xen guest
  对于xen来说,有两种guest类型,一种是PV guest ,另外一种是HVM guest方式。
  xen Guest启动,需要配置HVM配置文件
  配置文件可以参考下面的文件:
  /etc/xen/xmexample.hvm
  对于PV guest ,配置文件一般放置在下面的目录。
  /etc/xen/xlexample.pvlinux
  创建guest 可以通过下面命令
  xlcreatexmexample.hvm
  或
  xlcreatexlexample.pvlinux
  12、 配置guest disk
  有两种配置guest disk的方式,一种是直接使用origin guest的image,另外一种是使用qcow生成guest image 的qcow。第一种方式,任何修改均会改动origin的内容,而第二种方式,任何修改只会改动qcow文件的内容,不会修改origin image 的内容。
  第一种方式方式的disk 配置
  disk = [ '/home/images/ia32e_ent.img,raw,xvda,rw' ]

  第二种方式需要先使用origin文件ia32e_ent.img创建qcow2格式的 文件rhel6u2.qcow。
  qemu-img-xen create -b /home/images/ia32e_ent.img-f qcow2/root/rhel6u2.qcow
  disk配置如下
  disk = [ 'tap:qcow2:/root/rhel6u2.qcow,hda,w' ]
  
  13、连接启动的guest
  有两种方式显示guest 的启动过程,一种是sdl,另外一种是VNC,使用哪种方式需要在配置文件中设置。
  下面介绍下使用vnc连接的方式。
  首先需要安装vnc rpm包
  yum install tigervnc.x86_64 tigervnc-server.x86_64 -y
  要使用vnc需要关闭防火墙
  输入命令setup

  设置firewalldisable
  另外还需要关闭selinux,编辑配置文件,设置为SELINUX=disabled
  vim /etc/selinux/config
  
  启动后的guest,用xl list查看为

  使用vnc登陆到guest,可以使用下面命令
  xlvncvmid
  像上面这个例子,guest ID 为1, 就可以使用xl vnc 1登陆到 guest 的vnc桌面。
  
         版权声明:本文为博主原创文章,未经博主允许不得转载。
页: [1]
查看完整版本: 搭建Xen虚拟化环境