关注于系统高可用、网站架构
分类: 系统运维
2010-08-27 14:00:40
-n 后面跟的是虚拟机的名字 -f 后面是映像文件的位置 --nographics 不需要图型支持 -r 2048 分配给虚拟机2048M 的内存空间 -l 后面跟的是安将文件的位置 -p 是半虚拟化
当我们安装完虚拟机以后,系统会自动的创建一个关于虚拟机的配置文件,
在/etc/xen下面就有关于虚拟机的配置文件,
dd if=Centos5.2Base of=/dev/sda5
cat >/etc/xen/auto/Centos5.2 <
name = "BC-1"
memory = 1024
cpus = "2,3"
vcpus = 2
bootloader = "/usr/bin/pygrub"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
vfb = [ ]
disk = [ "tap:aio:/dev/sda7,xvda,w" ]
vif = [ "","bridge=xenbr0" ]
EOF
进入虚拟机
xm console Centos5.2 -c
新建扩展分区和逻辑分区
fdisk /dev/xvda
然后修改分区为lvm
Command (m for help): t
Partition number (1-5): 5
Hex code (type L to list codes): 8e
Changed system type of partition 5 to 8e (Linux LVM)
Command (m for help): p
Disk /dev/xvda: 13.3 GB, 13349597184 bytes
255 heads, 63 sectors/track, 1622 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/xvda1 * 1 13 104391 83 Linux
/dev/xvda2 14 652 5132767+ 8e Linux LVM
/dev/xvda4 653 1622 7791525 5 Extended
/dev/xvda5 653 1622 7791493+ 8e Linux LVM
Command (m for help): w
The partition table has been altered!
然后输入#partprobe
新建扩展分区和逻辑分区
pvcreate /dev/xvda5
vgextend VolGroup00 /dev/xvda5
lvextend -L
lvextend -L +14384 /dev/VolGroup00/LogVol00
ext2online /dev/VolGroup00/LogVol00 (注:centos5用的是resize2fs)
到此分区扩展完成,如果空间还不够用,最好的做法是在物理机上新建一个分区,比如sda6,然后加入到启动文件中的disk栏。
参考语法:
disk = [ "tap:aio:/xen/node1,xvda,w",
"phy:/dev/sdb,ioemu:sdb,w",
"phy:/dev/sdc,ioemu:sdc,w",
]
远程拷贝分区
dd if=/dev/sda7 |ssh 192.168.3.23 'dd of=/dev/sda7'
但是dd命令拷太慢了,可以把/dev/sda7 mount 起来,用rsync拷文件
当主系统启动时,虚拟机启动,自己有几个 虚拟机设置几个
如果不在创建 Xen 虚拟机(domU)的时候指定 MAC 地址的话,Xen 就会随机生成一个 MAC 地址给虚拟机,这样管理员就没办法知道虚拟机的 MAC 地址了,不利于以后带宽的统计和虚拟机的管理,所以最好就在 Xen 虚拟机配置文件中直接指明虚拟机的 MAC 地址,比如:
# vi /etc/xen/vpsuser1 vif = [ "mac=00:16:3e:0c:11:53,ip=172.16.16.200,bridge=xenbr0" ]IEEE OUI 为 Xen domU 保留了一段 MAC 地址,前3段是 “00-16-3e”,后3段是随机的,其中第1个随机段的第1个 bit 是0(IEEE OUI 给 VMware 保留的前3段地址是 “00-0c-29”,后3段随机)。我们在为用户分配 MAC 地址时候不想有规律的分配(虽然也不会有什么安全问题),所以 VPSee 写了一个简单的 Python 脚本用来随机生成符合 Xen 虚拟机标准的 MAC 地址:
[root@sjyd1 ~]# more mac.py
#!/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)