测试环境:
系统:rhel5.1
xen版本:xen3.1
1.建映像文件
# dd if=/dev/zero of=rhel5.img bs=2k seek=2048k count=1
上面的例子是创建了大小为4.1G ,名为 rhel5.img的映像文件;您可以调整上面命令参数的大小来创建您想要的体积大小的映像文件。
2.格式化映像为linux文件系统
# /sbin/mkfs.ext3 rhel5,img
提示Proceed anyway? (y,n) 输入y回车就可以了
3.挂载映像
# mkdir /mnt/rhel5
# mount -o loop rhel5.img /mnt/rhel5
这样我们向/mnt/rhel5中存放文件,就相当于将文件存到了映像文件中。
4.拷贝系统文件到虚拟磁盘中
将物理机里面的文件拷贝到/mnt/rhel5中。如下:
# cp -ax /{root,dev,var,etc,usr,bin,sbin,lib} /mnt/rhel5
# mkdir /mnt/rhel/{proc,sys,home,tmp}
如果是64位的系统,还有一个lib64的包要拷贝,如下:
# cp -rf /lib64 /mnt/rhel5
5.修改/mnt/rhel5/etc/fstab文件,命令如下:
#echo "/dev/hda1 / ext3 defaults 1 1" > /mnt/rhel5/etc/fstab
修改/mnt/rhel5/etc/selinux/config文件,将selinux设置成disabled
6.卸载/mnt/rhel5:
#umount /mnt/rhel5
到此半虚拟的镜像就制作好了
7.修改配置文件
#cp /etc/xen/xmexample2 ./rhel5.cfg
#vim rhel5.cfg
修改完成后内容如下,括号里面为注释:
kernel = "/boot/vmlinuz-2.6.18-xen" (虚拟机内核)
ramdisk = "/boot/initrd-2.6.18-xen.img" (虚拟机的内存虚拟磁盘)
memory = 256 (指定虚拟机的内存大小为256M)
name = ”rhel5“ (虚拟机的名字)
vcpus = 2 (指定虚拟机的cpu个数为2个)
vif = [ '' ] (网卡参数)
ip="192.168.63.88" (虚拟机ip)
netmask="255.255.255.0" (虚拟机掩码)
gateway="192.168.63.1" (虚拟机网关)
disk = [ 'file:/root/rhel5.img,hda1,w' ] (虚拟机磁盘,将文件rhel5.img映射成hda1)
root = "/dev/hda1 ro" (虚拟机从hda1启动)
这里的root="/dev/hda1 ro"要和第5步中修改的fstab里面写的一模一样,否则就启动不起来
8.启动虚拟机:
# xm create rhel5.cfg
再用以下命令就可以进入虚拟机了:
# xm console 19 (把19替换成你的虚拟机ID)