安装debian domU
在CentOS(dom0)安装debian/ubuntu有多种方式:
- debootstrap
- virt-manager
- cowboy
在这里给大家演示后两种
dom0环境为:CentOS5.7,xen的版本是3.1.2,redhat在该版本中增加了对grub2的支持
{: class=“info” }
一、virt-manager
通过 virt-manager安装linux(hvm)很简单,就像在平常在物理机上安装linux一样,准备好iso镜像文件,再根据安装程序的提示,一步步操作就可以了。在安装的过程中,硬盘选择file backend,文件名为deb6-template,后面的步骤需要用到该镜像文件。
从官方网站下载的iso文件名为:debian-6.0.2.1-amd64-xfce+lxde-cd-1.iso,文件名太长了,在virt-manager中无法识别,因此需要修改文件名,譬如debian6-amd64.iso
{: class=“note” }
二、cowboy
cowboy这个词来自《the book of xen》,我估计是因为这种方式比较粗野,所以作者用了cowboy这个词。这种方式的思路是直接打包一台domU的系统文件,然后解压到另一台domU的硬盘中。虽说办法是糙了一点,但是非常适合于命令行下操作,可以实现大规模部署。
2.1 创建模版
上面我们已经使用virt-manager安装了一台debian 6.0.2的源domU,接下来通过这个源domU先创建模版
假如没有chroot的话,命令应该是:
# tar -cvpzf deb6.0.2-template.tar.gz --exclude=./deb6.0.2-template.tar.gz --exclude=./tmp --exclude=./lost+found --exclude=./media --exclude=./mnt /
网上很多文档都说在创建模版的时候要exclude掉/sys
和/proc
这两个目录,因为在系统运行的状态下,这两个目录含有一些临时文件,但是这些文档只说了一半,解压后到domU存储后,还要记得创建这两个目录,否则,系统运行会出错。另外,也可以将源domU关机,然后打包,因为关机后,domU中这两个目录是空的。
{: class=“note” }
2.2 准备目标domU存储
在这里,我们选择镜像文件作为参考,读者也可以选择lvm作为目标domU的存储。
以上命令是创建一个镜像文件,然后对其分区,先创建主分区,接着是扩展,然后是逻辑分区,swap分区位于逻辑分区。
这个步骤是为了将主分区置为boot,实际上这个步骤是多余的,即使primary不是boot flag也能启动。
2.3 转换分区文件系统
大家有没有注意到上面的步骤中,分区类型是ext2,这是因为CentOS5.7的parted版本为1.8.1,只支持ext2,最新的parted版本是3.03倒是支持ext3,然而没有for centos5.7的rpm,所以我们还需要将ext2手工转换成ext3。
{: class=“info” }
# kpartx -p "" -av /staff/domU/deb6-1.img
将在/dev/mapper/下生成loopX1和loopX5两个device map,其中loopX1是primary分区,loopX5是swap分区
# tune2fs -j /dev/mapper/loopX1
这样就将ext2转换成了ext3。
2.4 克隆
将文件拷贝到新的domU中之后,要记得卸载分区
2.5 创建配置文件
需要注意的是,disk选项必须是:
disk = ["file:/staff/domU/deb6-hvm.img,sda,w"]
不能是
disk = ["tap:aio:/staff/domU/deb6-hvm.img,xvda,w"]
因为xen3.1.2不支持tap/xvda。
virt-manager是一种通用的安装方法,适合于安装全系列的linux/windows操作系统,不过不利于大规模部署,而cowboy的方式则适合于大规模、快速部署,跟virt-manager形成互补。