当前位置: > Linux服务器 >

如何快速创建 Xen 虚拟机镜像

时间:2014-07-11 00:30来源:linux.it.net.cn 作者:IT网

在 linux 上安装完 xen 服务器后接下来的工作就是如何创建和启动一个虚拟机。这个看似很简单的问题难住了不少人,vpsee 收到不少邮件关于如何快速创建和部署虚拟机镜像的。创建虚拟机的工具有很多,比如 virt-manager, virt-install, virsh, xen-create-image 等等,不过这些工具都要每次重头安装虚拟机的操作系统,需要人机交互、速度慢、不自动,不利于写成脚本。有什么快速的创建/部署/克隆虚拟机的办法呢?可以先做一个模版,然后通过拷贝模版的办法。我们只需要两个步骤:1、创建一个空白文件镜像;2、然后把一个打包好的 Linux 系统模版拷贝过去。通常一个打包好的最小 Linux 系统只要200MB 左右,在高配置的服务器上拷贝基本能瞬间完成,比起拷贝整个虚拟机镜像文件(比如 10GB)要快得多。具体步骤:

1、创建一个磁盘镜像文件:

# dd if=/dev/zero of=test.img bs=1 count=1 seek=10G

2、格式化磁盘:

# mkfs.ext3 test.img

3、挂载刚刚创建的磁盘镜像文件:

# mount -o loop test.img /mnt

4、找个现有 Linux 的文件系统拷贝过去:

# tar -zxSf centos.tar.gz -C /mnt/

需要说明的是,这里的 centos.tar.gz 是提前制作好的,可以在一个干净的虚拟机上手动安装好一个最小的 CentOS 系统,然后配置和优化好,这样就是一个模板,以后如果创建新的 CentOS 虚拟机就可以从这个模板直接拷贝。

5、卸载 /mnt:

# umount mnt

6、创建一个交换分区:

# dd if=/dev/zero of=test-swap.img bs=1M count=256

7、创建和编辑一个 Xen 虚拟机的启动文件:

# vi /etc/xen/test.conf
name            = 'test'
vcpus           = 1
memory          = '256'
disk            = [ 'tap:aio:/home/vpsee/test.img,sda1,w',
'tap:aio:/home/vpsee/test-swap.img,sda2,w',
]
vif             = [ 'bridge=eth0' ]
root            = '/dev/sda1 ro'
on_reboot       = 'restart'
on_crash        = 'restart'
kernel          = "/boot/vmlinuz-2.6.18-194.32.1.el5xen"
ramdisk         = "/boot/initrd-2.6.18-194.32.1.el5xen.img"

8、启动 Xen 虚拟机:

# xm create test

如果把上面的步骤综合起来写在一个脚本里并配上 Xen shell 控制面板就可以完成 VPS 客户自己快速重装系统的功能。如果把这个脚本加到客户的账单管理系统里(比如 WHMCS)就可以完成客户付款自动开通 VPS 的功能。不过我们的 VPS 不提供客户自助重装功能和自动开通功能,损失了一点方便性,但是换来了稳定和性能还是值得的。如果用 LVM, iSCSI 之类的存储方式的话原理也是一样的。

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容