raw格式镜像导入Xen


导读

1. qemu-kvm disk format
  • raw
  • qcow2
  • tips
2. import raw disk from qemu-kvm to Xen

1. qemu-kvm disk format

在qemu-kvm环境中,rawqcow2格式是最常见的选择。

  • raw镜像格式是原始镜像格式,直接当作一个块设备给虚拟机使用。在使用qemu-img创建时指定raw格式来预先分配磁盘大小,也支持一定程度的扩容。对于ext4系统,会自动生成稀疏的raw格式,磁盘占用得到优化
  • qcow2镜像格式是由cowqcow演进而来的镜像格式,与raw相比,它占用更少的空间,支持写时拷贝,而且支持快照

稀疏格式:通常创建raw格式的磁盘文件时会指定大小,如10G。此时用ls查看会显示文件为10G,但使用du -s查看会发现文件并不占用硬盘空间。具有这种特点的文件就是稀疏文件格式

raw
  1. raw格式是所有qemu-kvm支持的镜像格式中IO效率最高的格式,而且与其他格式相比可以认为是“无格式”。这种特点使得raw格式的虚拟机非常适合从一个虚拟化平台迁移到另一个虚拟化平台,如从qemu-kvm迁移到xen。
  2. raw格式有两个比较大的弊端:
    • 一个问题是不支持快照。这个问题可以通过使用LVM来解决

    • 另一个问题是raw格式通常比较大。如果需要迁移的raw格式超过10G,此时网络IO以及dd的时延就比较难以接受,建议考虑其他办法。反之,如果raw格式分配空间使用率很低时,如分配了40G仅仅使用5G。这时使用raw来迁移虚拟机就比较合适。

      注意 因为事先分配给raw的空间可能很大,用ls看起来也很大,但实际上并不占用太多的磁盘空间。正是可以利用这个特性,能让我们尽可能的减少网络IO的延迟。但是,如果使用tarscp等命令传输raw会导致稀疏格式的空洞被自动填充,直接导致raw镜像文件过大

qcow2
  1. qcow2是qemu-kvm中主流的一种格式,IO速率比raw差一点,但是支持快照,而且磁盘占用比较小
  2. qcow2还支持zlib的磁盘压缩,AES的加密等
tips
  1. qcow2格式的虚拟机中如果存在大量的IO,也会导致qcow2磁盘实际占用空间远比虚拟机磁盘占用空间大的情况。此时可以用dd将虚拟机内部剩余空间用全0的块文件填满,然后删除该文件,最后用qemu-img convert重新转换成新的qcow2文件,此时就会使qcow2文件大小与实际占用保持一致

        # -------------虚拟机内部-----------------
        # 将虚拟机剩余空间用0填满。该操作需要一段时间,长短取决于分配的磁盘大小
        $ dd if=/dev/zero of=/tmp/tmpfile
        # 删除临时文件
        $ rm -f /tmp/tmpfile
        # 关机
        $ shutdown -h now
    
        # --------------宿主机--------------------
        # 根据原有虚拟机镜像文件<qcow2_image>创建一个新的镜像文件<new_image>
        # 转换之后,就会发现qcow2_image实际大小与虚拟机内部df -h大小相近
        $ qemu-img convert -f qcow2 <qcow2_image> <new_image>
    
  2. raw格式的镜像文件在传输时要特别注意,否则会导致空洞被填满,直接导致文件逼近raw的原始大小。不管是本地拷贝还是向远程主机传输,对推荐使用rsync,可以保留raw的稀疏特性

        # 将<raw_image>传输到本地<path>或<host>的<path>
        rsync -av --sparse --progress <raw_image> <host>:<path>
    

2. import raw disk from qemu-kvm to Xen

  1. 首先,想尽一切办法做一个很小的raw格式虚拟机。这里需要注意的是,不建议使用qcow2raw,会导致raw文件的大小直逼虚拟机磁盘大小

  2. 使用rsyncraw磁盘传输到Xen平台上一个可用的虚拟机中

  3. 关机,并克隆虚拟机的主硬盘,然后将克隆盘也挂载到虚拟机上

  4. 重启,修改bootloader,使得虚拟机下一次从第二块盘启动

        # 以grub2为例
        menuentry '...' ... {
            # 假设root分区位于第2分区,两块盘卷标分别为xvda和xvdb,则只需做如下修改
            # linux /vmlinuz... root=/dev/xvda2 ...
            linux /vmlinuz... root=/dev/xvdb2 ...
            initrd initrd...
        }
    
  5. 重启,此时进入第二块盘的系统。然后使用ddraw的内容拷贝到第一块盘中

        # 等待一段时间,取决于<raw_image>大小
        $ dd if=<raw_image> of=/dev/xvda
    
  6. 拷贝成功之后,简单实验第一块盘的所有分区能否成功挂载。

  7. 正确配置第一块盘的bootloader和initrd。主要是因为qemu-kvm平台的块设备文件卷标一般为vdasda,而Xen平台的块设备清一色都是xvda

  8. 确保第一块盘中的Linux kernel支持Xen平台的PVHVM,也即CONFIG_XEN及相关的内核编译选项已经打开

    注意

    1. 利用现有qcow2制作raw镜像时,一个可行的思路是新创建一块raw磁盘,挂载在原先虚拟机上;然后将原虚拟机磁盘的根目录全盘拷贝到新添加的raw磁盘中。这种办法几乎可以保证raw实际占用大小与虚拟机实际使用的空间相近
    2. raw镜像中虚拟机的kernel, initrd和bootloader非常重要,一定要在迁移Xen平台之前做好适配。这几个引起的问题就是开机时出现Kernel Panic
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容