最新消息:

install xen 4.1.3 on centos6.3

centos admin 4432浏览 0评论

1,xen是什么?

XEN是一个基于X86平台的虚拟机系统,它支持多个操作系统共用系统硬件,而且更重要的是,它不会导致操作系统的功能性和性能性的劣化。它可以支持多种操作系统的虚拟化,比如Linux,BSD,Windows XP等等。

2,为什么使用xen?

XEN希望能够在一台服务器上同时运行多达100个虚拟机(VM)。此外,XEN有以下的几个特性。XEN是最快的和安全性最好的虚拟机系统,它是开源的系统,取得了世界领先的许多公司的支持。还有一点,它是免费的。 相对比已有的几个虚拟机系统,比如VMware,UML(User-Mode Linux)来说,XEN的性能有显著的提高。 此外,XEN提供了对于硬件虚拟化技术的全面支持。比如,Intel新一代的VT-x处理器中支持了CPU,MMU和内存的虚拟化。AMD的Pacifica也有相似的技术。对于此类硬件,XEN可以不修改GuestOS直接进行管理。

3,虚拟化技术的目的:

虚拟化最初的需求就是,降低资源成本,把多操作系统进行集成。

OS虚拟化的概念出现于1972年IBM的一个名叫System 360的系统上。简单的说,就是在OS和硬件之间插入一个系统管理层,系统管理层负责调度多个OS之间的硬件使用,包括MMU,I/O,DMA等等。 在目前的IT系统中,虚拟化越来越成为一个关键的技术领域。主要的原因有以下几点。 费用的节省 目前大多数的服务器应用中,只能使用到服务器自身硬件能力的15%。但是为了扩展不同的业务,用户还需要购置新的服务器。按照统计,数据中心中的一台服务器需要每年一万美元的费用,另外还需要系统维护,管理,硬件和软件的license等等的费用。 在使用了虚拟化技术后,可以在每一台服务器上同时运行多个操作系统和应用。有效的利用服务器硬件自身的能力。从而减低系统的购置费用和全生命周期的维护费用。 提高了系统配布和管理能力 使用虚拟化,可以简单的实现OS的动态配布。patch的安装,不断电的系统维护等等也可以实现。 高可靠性的实现 将硬件与OS之间隔离,OS中所使用的物理设备变成了逻辑设备。提高了系统的可靠性。另外,针对虚拟化的系统,OS的备份恢复等非常容易实现,一旦出现系统故障也可以很快的恢复。

4,全虚化和半虚化的区别:

PV(Para-Vritralization)和FV(Full-Vritralization)的差别,主要以guest OS的硬件仿真程度做区分.

半虚化技术是不能完全硬件仿真的,其性能略高于全虚化技术,半虚化不需要CPU支持VT技术。

全虚化技术完全硬件仿真,但必须要CPU支持VT技术

1) 怎样判别CPU是否支持VT技术?

在linux平台下,输入grep ‘(vmx|svm)’ –color=always /proc/cpuinfo在打印信息中即可看见vmx或smx, vmx是inter的CPU虚拟化,SMX是AMD的CPU虚拟化。

如果你已经安装xen,输入上面的命令就无法看见这两个标签了。命令:xm dmesg | grep -i hvm

如果不支持,还有一种可能是:没有在bios中打开CPU全虚拟功能。

2) 全虚化和半虚化支持的操作系统:

半虚化不支持windows客户机的安装。

5,开始安装

1)更新系统

 

yum update

 

2)安装xen依赖组件和编译所需的软件

 

1 yum groupinstall “Development Libraries”

2 yum groupinstall “Development Tools”

3 yum install transfig wget texi2html libaio-devel dev86 glibc-devel e2fsprogs-devel gitk mkinitrd iasl xz-devel

4 bzip2-devel pciutils-libs pciutils-devel SDL-devel libX11-devel gtk2-devel bridge-utils PyXML qemu-common qemu-img mercurial libidn-devel

5 yum -y install glibc-devel.i686texinfo libuuid-devel iasl python-lxml

6 yum -y install openssl openssl-devel

7 yum -y install ncurses ncurses-*

8 yum -y install python-devel

 

3)下载xen4.1.3源码包

 

wget http://bits.xensource.com/oss-xen/release/4.1.3/xen-4.1.3.tar.gz

 

4)编译安装Xen hypervisor

 

tar xvfz xen-4.1.3.tar.gz

cd xen-4.1.3

make world

 

如果出现如下错误:

解决办法:yum –y install texinfo

 

make install

 

5)将Xen加入到启动脚本

 

1 /sbin/chkconfig –add xend

2 /sbin/chkconfig –add xencommons

3 /sbin/chkconfig –add xendomains

4 /sbin/chkconfig xend on

5 /sbin/chkconfig xendomains on

6 /sbin/chkconfig xencommons on

 

6)编译安装Linux3.5.2内核

 

1 wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.5.2.tar.bz2

2 tar -jxvf linux-3.5.2.tar.bz2

3 make menuconfig

4

5 Processor type and features — >

6 选中Paravirtualized Guest Support

7 Device Drivers —>

8 Xen driver support —>

9 全部选*

10

11 vi .config

12 修改:CONFIG_XEN_DEV_EVTCHN=y(如果是m,开机时无法启动xencommons)

13 CONFIG_XEN_BLKDEV_BACKEND=m

14 CONFIG_XEN_NETDEV_BACKEND=m

 

7)编译安装内核

 

1 make

2 make modules

3 make modules_install

4 make install

5 depmod 3.5.2

6 mkinitrd -v -f –with=aacraid –with=sd_mod –with=scsi_mod initramfs-3.5.2.img 3.5.2

 

8)编辑启动项(grub)

一般在安装完内核之后会默认将最新内核写入到/boot/grub/menu.lst文件。你可以在此基础上修改,也可以复制一份新的启动项;

 

1 title Xen (3.5.2-xen)

2 root (hd0,0)

3 kernel /xen-4.1.3.gz dom0_mem=512M

4 module /vmlinuz-3.5.2 ro root=UUID=3f920108-b74b-46b9-81c2-aff834494381

5 rd_DM_UUID=ddf1_4c5349202020202010000055000000004711471100001450 rd_NO_LUKS rd_NO_LVM rd_NO_MD LANG=en_US.UTF-8

6 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet

7 module /initramfs-3.5.2.img

 

可能module的配置不一样,请以内核写入的为准,不要照抄,否者将无法启动。

9) 安装virt-manager

 

yum install libvirt virt-manager xorg-x11-xauth

 

10 配置网桥

去/etc/sysconfig/network-scripts目录下新增一个interface,ifcfg-br0文件,内容如下

 

1 DEVICE=br0

2 TYPE=Bridge

3 BOOTRPOTO=static

4 IPADDR=192.168.101.41

5 NETMASK=255.255.255.0

6 GATEWAY=192.168.101.250

7 DNS1=192.168.102.1

8 ONBOOT=yes

 

我是用eth0, fcfg-eth0,修改方法为去掉ip行,uuidh行,最后增加BRIDGE=br0
1 BOOTPROTO=none
2 NM_CONTROLLED="yes"
3 ONBOOT=yes
4 TYPE="Ethernet"
5 #UUID="57b04eb5-0f04-489c-a961-7118e0d0294a"
6 HWADDR=00:1B:78:5D:35:A4
7 #IPADDR=192.168.101.41
8 PREFIX=24
9 #GATEWAY=192.168.101.250
10 #DNS1=192.168.102.1
11 DEFROUTE=yes
12 IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth2"
BRIDGE=br0

这样就将eth0桥接到br0。

重启网络
service network restart
查看当前桥接
brctl show
bridge name bridge id STP enabled interfaces
br0 8000.001b785d35a4 no eth0
virbr0 8000.525400ca78c1 yes virbr0-nic
将nic绑到新增的br0上
brctl delif virbr0 virbr0-nic
brctl addif br0 virbr0-nic
brctl show
bridge name bridge id STP enabled interfaces
br0 8000.001b785d35a4 no eth2
virbr0-nic
virbr0 8000.000000000000 yes

到此,操作完毕,然后就是在virt-manager里面给虚拟机选择新增的HostDevice virbr0-nic(Bridge ‘br0’)就可以了。

6,配置虚拟机

1)创建磁盘:
dd if=/dev/zero of=/vps/winxp/disk.img bs=1024k count=4000

2)创建windows主机配置文件

vim /etc/xen/winxp.cfg

import os, re
arch = os.uname()[4]
 
kernel = "/wp-content/lib/xen/boot/hvmloader"
 
builder='hvm'
 
memory = 1024
shadow_memory = 8
name = "winxp"
vif = [ 'type=ioemu, bridge=br0' ]
disk = [ 'file:/vps/winxp/disk.img,xvda,w' ,  'file:/vps/iso/xp.iso,xvdc:cdrom,r' ]
#disk = [ 'file:/home/xen1.example.com.img,xvda,w', 'phy:/dev/cdrom,xvdc:cdrom,r' ]
device_model = '/wp-content/lib/xen/bin/qemu-dm'
# boot on floppy (a), hard disk (c) or CD-ROM (d)
# default: hard disk, cd-rom, floppy
boot="dc"
 

sdl=0
vnc=1
vnclisten="192.168.1.xxx"
vncconsole=1
vncpasswd='passwd'

stdvga=0
serial='pty'
usbdevice='tablet'
 
on_poweroff = 'destroy'
on_reboot   = 'restart'
on_crash    = 'restart'

3)启动虚拟机

 xm create winxp.cfg

这样你就可以通过vnc远程连接进行安装了。

5)将虚拟机设置为宿主开机自启动

其实相当的简单,只需将需要开启客户机配置文件建一个软链接到/etc/xen/auto/文件夹内即可。

ln -s /etc/xen/xxx.cfg /etc/xen/auto/xxx.cfg

6)挂载新磁盘,需先格式化

mkfs -t ext3 -c /dev/sdb

转载请注明:爱开源 » install xen 4.1.3 on centos6.3

您必须 登录 才能发表评论!