首页 > 代码库 > xen通过配置文件新建虚拟机

xen通过配置文件新建虚拟机

作为新手初学xen,兴致冲冲地在centos上源码安装了xen(安装过程可参见我的另一篇文章),现在到了新建虚拟机的过程了。

我搜了好些资料也没理出头绪,因为我觉得新建虚拟机不应该像这些资料里这么麻烦。。。于是各种google,大体总结出来一个步骤,与大家分享一下

当然,对于这种方式我也没有自信,有什么纠正的地方请各位大神斧正。

1,说明

    首先,我在这里做一点说明,我希望创建的方式是通过xm create <配置文件>的半虚拟化的方式来新建虚拟机。主要考量是,感觉这种方式比较简便,而用图形工具显得有点low的感觉。。。(勿喷T_T),guest系统是linux,windows的一边呵呵去~~。

2.新建虚拟机的原理

    所谓虚拟机,顾名思义,即虚拟出来的机器。一个机器能够投入使用,就需要具备硬件和软件。在新建虚拟机的过程中硬件就是虚拟镜像,包括作用上代替硬盘和内存的两个部分,用来承载数据。而软件主要是文件系统。所以,我们要新建一个虚拟机就要虚拟出这两个东西。

3.步骤

  1)创建xen虚拟机文件路径:

#/root/xen-image是我们新建虚拟机所需数据的路径,当然,你可以自定义你的路径mkdir /root/xen-imagecd /root/xen-image

 2)创建硬盘镜像(disk)用来存放文件系统:

cd /root/xen-image
#of后面是镜像的名字,可以自定义 bs是块大小,count是块数,count*bs就是这个虚拟硬盘的大小,更多信息可以具体查下这个命令的用法。dd if=/dev/zero of=centos-root.img bs=1M count=1999#格式化mkfs.ext3 centos-root.img

 3)创建内存镜像(ramdisk):

#此处的3.0.94 是你的内核版本,这个名字需要和你/lib/modules下的几个文件夹之一完全相同,为什么?当然是要用到这个文件夹下的内容了
mkinitrd /root/xen-image/centos-ramdisk.img 3.0.94

 4)创建文件系统:

    创建文件系统就像装系统一样,这里最简便的方式就是将你自己系统上的文件拷贝到硬盘镜像(disk)下。

cd /root/xen-image
mkdir rootdisk#创建挂载点mount -o loop centos-root.img /root/xen-image/rootdisk/cd rootdisk
mkdir etc#你可以把你系统行/etc下的内容复制到这里面,非必要
mkdir dev
for i in console null zero; do /sbin/MAKEDEV -d /root/xen-image/rootdisk/dev -x $i; done#必要
mkdir -p lib/modules
cp -a /lib/modules/2.6.18-128.1.6.el5xen/ /root/xen-image/rootdisk/lib/modules/#必要
mkdir -p etc/sysconfig/network-scripts#将你系统这个文件夹下东西放到这里
mkdir -p var/lock/rpm#同样,你的系统下的文件考进来

  5)编辑配置文件:

    在xen-image目录下新建配置文件:centos-root.cfg

    编辑内容如下:

#配置文件内容大致如下kernel = "/boot/vmlinuz-2.6.18-128.1.6.el5xen"#这个你到你自己的/boot目录下查一下ramdisk = "/root/xen-image/centos-ramdisk.img"name = "centos52"memory = "256"disk = [ ‘file:/root/xen-image/centos-root.img,sda1,w‘ ]root = ‘/dev/sda1 ro‘vif = [ ‘bridge=xenbr0‘, ‘‘]#这个可以通过brctl addbr命令添加一个eg:brctl addbr xenbr0vcpus=1on_reboot = ‘destroy‘on_crash = ‘destroy‘

 6) 创建虚拟机:

/usr/sbin/xm create centos-root.cfg

  

xen通过配置文件新建虚拟机