CentOS5.5下xen配置(半虚拟化)

---------------------------------------

一、前言

二、环境

三、安装与配置

四、创建xen虚拟机

1.图形安装(附:VNC安装)

2.字符安装

五、管理xen虚拟机

1.字符管理

2.图形管理

六、克隆xen虚拟机

七、xen虚拟机增加硬备盘(模拟)

八、xen虚拟机添加网卡

九、物理机连接xen虚拟机(安装有vmware的物理机)

--------------------------------------- 


一、前言

   XEN 是一个基于X86架构、发展最快、性能最稳定、占用资源最少的开源虚拟化技术。Xen可以在一套物理硬件上安全的执行多个虚拟机,与 Linux 是一个完美的开源组合,Novell SUSE Linux Enterprise Server 最先采用了XEN虚拟技术。它特别适用于服务器应用整合,可有效节省运营成本,提高设备利用率,最大化利用数据中心的IT基础架构。Xen无需特殊硬件支持,就能达到高性能的虚拟化。


二、环境

系统:centos5.5 32位   在安装有vmware的物理机下测试

软件包:

xen.i386               xen工具套件

kernel-xen.i686        xen核心                                                            

virt-manager.i386      虚拟管理工具                                  

virt-viewer.i386       图形终端                             


# cat /proc/cpuinfo |grep flags  //半虚拟化为pae,全虚拟化为vmx(inter)或svm(AMD)的一个
flags: fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss nx rdtscp lm constant_tsc up nonstop_tsc arat pni ssse3 cx16 sse4_1 sse4_2 popcnt lahf_lm [8]


请关闭防火墙和SELinux


三、安装与配置

# yum install xen kernel-xen virt-manager virt-viewer
# ll /boot/                                    //查看内核
-rw-r--r-- 1 root root   69593 Apr  3  2010 config-2.6.18-194.el5
-rw-r--r-- 1 root root   69266 Apr  3  2010 config-2.6.18-194.el5xen
drwxr-xr-x 2 root root    1024 Sep 20 00:13 grub
-rw------- 1 root root 2623799 Sep 19 23:38 initrd-2.6.18-194.el5.img
-rw------- 1 root root 2625199 Sep 20 00:13 initrd-2.6.18-194.el5xen.img
drwx------ 2 root root   12288 Sep 19 23:32 lost+found
-rw-r--r-- 1 root root   80032 Mar 13  2009 message
-rw-r--r-- 1 root root  110979 Apr  3  2010 symvers-2.6.18-194.el5.gz
-rw-r--r-- 1 root root  111145 Apr  3  2010 symvers-2.6.18-194.el5xen.gz
-rw-r--r-- 1 root root  967675 Apr  3  2010 System.map-2.6.18-194.el5
-rw-r--r-- 1 root root  963308 Apr  3  2010 System.map-2.6.18-194.el5xen
-rw-r--r-- 1 root root 1875796 Apr  3  2010 vmlinuz-2.6.18-194.el5
-rw-r--r-- 1 root root 2244980 Apr  3  2010 vmlinuz-2.6.18-194.el5xen
-rw-r--r-- 1 root root  382542 Apr  3  2010 xen.gz-2.6.18-194.el5
-rwxr-xr-x 1 root root  829448 Apr  3  2010 xen-syms-2.6.18-194.el5
# vim /boot/grub/grub.conf 
default=0                                   //将1修改为0,启动2.6.18-194.el5xen内核
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-194.el5xen)
        root (hd0,0)
        kernel /xen.gz-2.6.18-194.el5
        module /vmlinuz-2.6.18-194.el5xen ro root=LABEL=/ rhgb quiet
        module /initrd-2.6.18-194.el5xen.img
title CentOS (2.6.18-194.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-194.el5 ro root=LABEL=/ rhgb quiet
        initrd /initrd-2.6.18-194.el5.img
# reboot		
# uname -r                                   //重启后查看内核
2.6.18-194.el5xen	
# yum install httpd                          //创建xen安装目录树(使用web服务器搭建)
# mkdir /var/www/html/centos
# mount /dev/cdrom /var/www/html/centos/	
# service httpd start

浏览器访问web服务器:

wKioL1Qfxa3wtjlBAAP7NF2gXT0393.jpg


四、创建xen虚拟机

0.VNC安装

# yum install vnc-server
# vncserver
You will require a password to access your desktops.
Password:                                           //输入密码
Verify:                                             //重复密码

New 'localhost.localdomain:1 (root)' desktop is localhost.localdomain:1
Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/localhost.localdomain:1.log

VNC客户端访问192.168.2.200:1                         //无法正常显示桌面,显示为命令行

# vim .vnc/xstartup                                  //将4和5行注释去掉即可
  4 unset SESSION_MANAGER
  5 exec /etc/X11/xinit/xinitrc
# vncserver
New 'localhost.localdomain:2 (root)' desktop is localhost.localdomain:2
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/localhost.localdomain:2.log
VNC客户端访问192.168.2.200:2                         //正常

1.图形工具(virt-manager)

按照图示进行操作,即可进入。

wKiom1QfxyHhlndXAAGiXkKUTeg400.jpg

点击New,新建虚拟机。

wKioL1Qfx0KzdFKfAAEaKxhPjMI405.jpg

提示配置虚拟机相关信息。

wKioL1Qfx0SQ_6HkAAHU1QPXILI995.jpg

输入虚拟机名称。

wKiom1QfxybBRZdwAADvtVKJnOU441.jpg

选择半虚拟化。

wKiom1QfxyfQ_RquAAIAx3NDSQY735.jpg

选择安装树(http),及系统版本。

wKiom1QfxyrTNXUGAAIRcO2yEpM319.jpg

填写安装树地址,最后的斜杠别忘记写。

wKioL1Qfx0zTNnd4AAHeYNWviSk411.jpg

虚拟机保存位置,及虚拟机大小,必须先创建存放目录。

# mkdir /data	                                    //存放虚拟机目录	

wKiom1Qfxy_RiXCmAAI66iIzNZ4298.jpg

网络选择默认即可。

wKioL1Qfx1Cyj6uxAAIBw5vbFNQ406.jpg

内存及cpu按需填写。

wKioL1Qfx1KjJWn4AAJAG62Utno815.jpg

预览整个配置信息。

wKiom1QfxzPDZl0FAAGLXTXu1L0995.jpg

开始提取文件。

wKioL1Qfx1PBLCrzAACe55DAMs4842.jpg

下面的操作和安装系统是一样的,不再截图,但是网卡那步选择默认,自动获得IP,否则,安装会失败。

wKiom1QfxzaRYZu5AAHKk0zuNeQ861.jpg

安装完成后,系统可能重启中断,可以手动运行VM01。如下图

wKioL1QfztGAqkQ1AAEmGdiWWfA381.jpg


# cd /data/                          //查看虚拟机文件
# ll -h
total 4.0G
-rwxr-xr-x 1 root root 4.0G Sep 21 00:55 VM01.img

2.命令行方式

# virt-install -h                    //查询各个命令含义 
# virt-install -n VM02 -f /data/vm02.img -s 4 -r 128 nographics -l http://192.168.2.30/centos 

也会出现图形安装方式,和安装操作系统一样。


五、管理xen虚拟机

1.字符管理

常用命令:

xm list       显示虚拟机运行状态

xm console    使用文本方式连接虚拟系统

xm create     开启虚拟系统

xm shutdown   关闭虚拟系统

注:虚拟机和宿主机之间切换使用ctrl+】(右方括号)


# xm create VM01                        //开启VM01虚拟机
Using config file "/etc/xen/VM01".
Started domain VM01
# xm console VM01                       //进入VM01虚拟机,使用ctrl+】退出虚拟机
# xm list 
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0     2549     1 r-----    940.6
VM01                                       5      511     1 -b----     22.5

2.图形管理

可以使用VNC客户端连接,选中虚拟机,点击Open进行操作。

wKiom1Qf4xOiXjwEAAF1yoBfvdI648.jpg

可以进入系统,查看硬件等一系列操作。

wKiom1Qf4taAmHyfAAEExBIBGVM988.jpg

六、xen虚拟机克隆

# virt-clone -h						
# virt-clone -o VM01 -n VM02 -f /data/VM02.img           //克隆,vm01必须关机
Cloning /data/VM01.img      | 3.9 GB     01:39     
Clone 'VM02' created successfully.

克隆脚本

# vim clonexen.sh
#!/bin/bash 
i=3 
while [ $i -le $1 ] 
do 
                /usr/bin/virt-clone -o vm01 -n vm$i -f /data/vm$i.img 
                echo "vm$i clone successfully" 
                i=$(($i+1)) 
done
# chmod a+x clonexen.sh
#./clonexen.sh 20             //克隆虚拟机名称从2-20


七、为xen增加硬备盘

# xm shutdown VM01            //关闭系统
# dd if=/dev/zero of=/data/00.img bs=1M count=100            //创建一个100M大小的文件
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 0.435551 seconds, 241 MB/s
# ll /data/
total 5157840
-rw-r--r-- 1 root root  104857600 Sep 21 01:47 00.img
-rwxr-xr-x 1 root root 4194304000 Sep 21 01:27 VM01.img
-rwxr-xr-x 1 root root 4194304000 Sep 21 01:38 VM02.img

# vim /etc/xen/VM01
name = "VM01"
uuid = "d8840067-5161-d89b-642b-5d2dd6f5b95c"
maxmem = 512
memory = 512
vcpus = 1
bootloader = "/usr/bin/pygrub"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
vfb = [ "type=vnc,vncunused=1,keymap=en-us" ]
disk = [ "tap:aio:/data/VM01.img,xvda,w","tap:aio:/data/00.img,xvdb,w" ]       
//将新增的文件添加即可,将xvda修改为xvdb
vif = [ "mac=00:16:36:09:2d:0d,bridge=virbr0,script=vif-bridge" ]


# xm create VM01                         //启动VM01
Using config file "/etc/xen/VM01".
Started domain VM01
# xm console VM01                        //进入VM01
# fdisk -l
Disk /dev/xvda: 4194 MB, 4194304000 bytes
255 heads, 63 sectors/track, 509 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
    Device Boot      Start         End      Blocks   Id  System
/dev/xvda1   *           1          25      200781   83  Linux
/dev/xvda2              26         152     1020127+  82  Linux swap / Solaris
/dev/xvda3             153         509     2867602+  83  Linux

Disk /dev/xvdb: 104 MB, 104857600 bytes
255 heads, 63 sectors/track, 12 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/xvdb doesn't contain a valid partition table

# fdisk /dev/xvdb                         //分区,格式化,挂载,测试
# mkfs.ext3 /dev/xvdb1
# mkdir /db
# mount /dev/xvdb1 /db
# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda3            2.7G  907M  1.7G  36% /
/dev/xvda1            190M   13M  168M   7% /boot
tmpfs                 257M     0  257M   0% /dev/shm
/dev/xvdb1             92M  5.6M   81M   7% /db
# echo '123'>/db/1.txt
# cat /db/1.txt 
123


八、xen虚拟机添加网卡

# vim /etc/xen/VM01          //在宿主机上修改VM01的配置文件,vif
name = "VM01"
uuid = "d8840067-5161-d89b-642b-5d2dd6f5b95c"
maxmem = 512
memory = 512
vcpus = 1
bootloader = "/usr/bin/pygrub"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
vfb = [ "type=vnc,vncunused=1,keymap=en-us" ]
disk = [ "tap:aio:/data/VM01.img,xvda,w","tap:aio:/data/00.img,xvdb,w" ]
vif = [ "mac=00:16:36:09:2d:0d,bridge=virbr0,script=vif-bridge","mac=00:16:36:09:2d:1e,bridge=virbr0,script=vif-bridge" ]   

//在vif中添加一条即可,MAC须不同

# xm reboot VM01 

# ifconfig 
eth0      Link encap:Ethernet  HWaddr 00:16:36:09:2D:0D  
          inet addr:192.168.122.90  Bcast:192.168.122.255  Mask:255.255.255.0
          inet6 addr: fe80::216:36ff:fe09:2d0d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:86 errors:0 dropped:0 overruns:0 frame:0
          TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:10605 (10.3 KiB)  TX bytes:7507 (7.3 KiB)

eth1      Link encap:Ethernet  HWaddr 00:16:36:09:2D:1E  
          inet addr:192.168.122.58  Bcast:192.168.122.255  Mask:255.255.255.0
          inet6 addr: fe80::216:36ff:fe09:2d1e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:90 errors:0 dropped:0 overruns:0 frame:0
          TX packets:39 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:10675 (10.4 KiB)  TX bytes:7047 (6.8 KiB)


九、物理机连接xen虚拟机(在vmware中测试)

xen宿主机:即在vmware中安装有xen的centos

xen虚拟机:即通过安装有xen的centos虚拟出来的系统


xen宿主机选择桥接模式,且物理机后端必须要有交换机或路由器。

必须保证物理机(win7)、vmware中的xen宿主机和xen虚机的IP均在同一网段,通过物理机连接交换机或路由器相互ping通。

且xen宿主机中的xen虚拟机配置文件中的网卡桥接类型修改为xenbr0

vif = [ "mac=00:16:36:29:b1:a6,bridge=xenbr0,script=vif-bridge" ]

wKiom1QihqnSttpmAAICPe91jW8789.jpg

你可能感兴趣的:(xen,半虚拟化)