Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1351385
  • 博文数量: 370
  • 博客积分: 10654
  • 博客等级: 中将
  • 技术积分: 4396
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-07 15:44
文章分类

全部博文(370)

文章存档

2012年(36)

2011年(195)

2010年(139)

分类: 虚拟化

2011-10-12 01:16:14

xen镜像快速迁移  

一,概述

         在Linux安装好Xen后接下来的工作就是如何创建和启动一个虚拟机。这个看似很简单的问题难住了不少人。

创建虚拟机的工具有很多,比如 :

virt-manager,      virt-install,       virsh,       xen-create-image

      不过这些工具都要每次重头安装虚拟机的操作系统,需要人机交互、速度慢、不自动,不利于写成脚本。

有什么快速的创建/部署/克隆虚拟机的办法呢?

         可以先做一个模版,然后通过拷贝模版的办法。我们只需要两个步骤:

1、创建一个空白文件镜像;

2、然后把一个打包好的 Linux 系统模版拷贝过去。通常一个打包好的最小 Linux 系统只要200MB 左右,

     在高配置的服务器上拷贝基本能瞬间完成,比起拷贝整个虚拟机镜像文件(比如 10GB)要快得多。

二,配置步骤

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

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

2、格式化磁盘:

# mkfs.ext3 vpsee.img

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

# mount -o loop vpsee.img /mnt

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

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

需要说明的是,这里的 centos.tar.gz  是提前制作好的,方法是:

可以在一个干净的虚拟机上手动安装好一个最小的 CentOS 系统,然后配置和优化好,这样就是一个模板,

以后如果创建新的 CentOS 虚拟机就可以从这个模板直接拷贝。

打包存为模版,命令如下:

# tar -zcvpf  centos.tar.gz  --exclude=/centos.tar.gz --exclude=/proc --exclude=/lost+found --exclude=/sys --exclude=/mnt --exclude=/media --exclude=/dev   /

#上面命令是打包整个 /  根目录,但用--exclude 选项来排除 /  根目录 下某些文件 !

5、卸载 /mnt:

# umount mnt

6、创建一个交换分区

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

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

# vi /etc/xen/vpsee.conf
name = 'vpsee'
 vcpus = 1
 memory = '256'
 disk = [ 'tap:aio:/home/vpsee/vpsee.img,sda1,w', 'tap:aio:/home/vpsee/vpseeswap.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 vpsee
阅读(2208) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~