Centos5 XEN 半虚拟机安装
-----------------------200712
环境:
母系
统:centos5
子系统:centos5
注意:测试安装了centos4.3 debian3.1
openbsd4.1等子系统,都无法安装,提示RUL错误,即安装路径错误,实际上是正确的.GOOGLE后知道XEN支持的子系统有限,好像只能是包
含XEN内核的.待研.
1)安装CENTOS5母系统(选上XEN包),重启,默认即用XEN内核启动。
这里xen Dom0只是管理其他DomX,限制Dom0的内存512M,否则它贪婪。
#vi /etc/grub.conf
default=0
timeout=2
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-164.11.1.el5xen)
root (hd0,0)
kernel /xen.gz-2.6.9-164.11.1.el5 dom0_mem=512M
module /vmlinuz-2.6.9-164.11.1.el5xen ro root=LABEL=/
module /initrd-2.6.9-164.11.1.el5xen.img
2)建虚拟机步骤:
(这里是CLI,也可在XWINDOW下图形操作)
A:选XEN内核选项启动CENTOS5母系统到XWINDOWS下.
B:启动母系统的HTTPD服务(说明:我的CPU不支持VT,只能建立半虚拟机;半虚拟机只能通过网络途径安装;不支持光盘或ISO。)
#mount /dev/cdrom /mnt/cdrom
修改HTTPD.CONF里"DocumentRoot
/var/www/html"为"DocumentRoot /mnt/cdrom".(即HTTP://母系统IP 是网络安装路径)
注意:如果用NFS服务来装,则编辑/etc/exports并启动NFSD和PORTMAP服务。
#vi /etc/exports
/mnt/cdrom *(ro)
在安装指定盘目录时写:nfs:ip:/mnt/cdrom
C:建立磁盘文件(这里是完全分配硬盘)
#dd if=/dev/zero of=/var/xen/images/centos.img bs=1M
count=4096
D:建立虚拟机:
系统名字:system1
虚拟化方式:半虚拟
安装路径:http://母系统IP
存储空间:选centos.img (也可以选择磁盘分区)
内存:最大300M (注意不要太大,太大会失败;视实际内存来定)
开始100M
VCPUS:1
E:按"结束"按钮.
5)XEN自动启动子系统的安装程序,安装即可.
6)安装到最后,需要重启.
7)
重启后在XEN的管理器里找不到新安装的虚拟机.
#xm create system1
启动system1虚拟机后,系统自动显示虚拟机终端窗口.也可以把该命令写入"/etc/rc.d/rc.local"里让系统自动运行.
8)
子系统管理:类似其他主机管理,远程登陆管理即可.
XEN默认的DomX配置文件全放在/etc/xen下。拷贝到DomX磁盘目录下,归类,使其配置文件和数据盘全在一起。
9)快速建立其他DomX
拷贝建立好的DomX(包含配置文件和数据盘)到新的目录,修改配置文件和数据盘文件名字即可启动。
name = "guest-linux-00" #名字
uuid = "58a929a0-1c6f-2452-5f1f-a0667b6a8241" #UUID为系统中的存储设备提供唯一的标识字符串.用系统命令uuidgen得到。
maxmem = 256
memory = 256
vcpus = 1
bootloader = "/usr/bin/pygrub"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
vfb = [ "type=vnc,vncunused=1,keymap=en-us" ]
extra='independent_wallclock=1' #使DomX的ROOT可以设置时区时间
disk = [ "tap:aio:/data/guest-os-all/guest-linux-00/guest-linux-00,xvda,w" ] #数据盘路径
vif = [ "mac=00:16:36:19:d8:39,bridge=virbr0,script=vif-bridge" ] #网卡MAC,自己改,或用下面python脚本得到。
-------------分割线-------------
#!/usr/bin/python
# generates a MAC address for Xen domU
#
#
import random
mac = [ 0x00, 0x16, 0x3e, random.randint(0x00, 0x7f),
random.randint(0x00, 0xff), random.randint(0x00, 0xff) ]
s = []
for item in mac:
s.append(str("%02x" % item))
print ':'.join(s)