raw格式的镜像,如何在网络传输、备份时减少拷贝

     raw 格式的镜像,不带matadata,就像一块空白的磁盘,读写效率比qcow2快近10~30%。

     本文探讨下,在将这个镜像进行网络传输备份时,如何减少数据拷贝。如果一个近50G大小的文件在网络中进行传输的话,即占用带宽,拷贝花的时间也是比较漫长的。

1. 看看创建raw镜像的一些参数

root@test:~# qemu-img create -f raw  a.img -o ?
Supported options:
size             Virtual disk size
nocow            Turn off copy-on-write (valid only on btrfs)
preallocation    Preallocation mode (allowed values: off, falloc, full)

An image with preallocated metadata is initially larger but can improve performance when the image needs to grow. Full preallocation additionally writes zeros to the whole image in order to preallocate lower layers

为了提高读写效率,通常会打开这个preallocation开关。

 

2. 创建raw镜像      

     1). 创建raw格式的镜像
            qemu-img create -f raw a.img 10M
            qemu-img create -f raw b.img -o size=10M -preallocation=full

     2). qemu-img info查看信息

1). 创建raw格式的镜像
    qemu-img create -f raw a.img 10M
    qemu-img create -f raw b.img -o size=10M -preallocation=full

2). qemu-img info查看信息

     image: a.img
     file format: raw
     virtual size: 10M (10485760 bytes)
     disk size: 0

     image: b.img
     file format: raw
     virtual size: 10M (10485760 bytes)
     disk size: 10M

3). ls -l 和 du -sh 查看信息

     ls -l
     -rw-r--r--. 1 root root 10485760 Oct 17 10:59 a.img
     -rw-r--r--. 1 root root 10485760 Oct 17 10:59 b.img

     du -sh a.img       du -sh b.imb
     0    a.img         10M    b.img

4). 通过ftp download分别下载a.img和b.img到本地
     本地生成文件的文件都是10M

3.  通过将镜像raw格式转换成qcow2格式,将生成的qcow2通过ftp传输到本地,然后再重新将转换回raw格式


1). qemu-img转换成qcow格式

    qemu-img convert -p -f raw -t writethrough -O qcow2 a.img a1.img
    qemu-img convert -p -f raw -t writethrough -O qcow2 b.img b1.img

2). qemu-img info查看信息

    image: a1.img
    file format: qcow2
    virtual size: 10M (10485760 bytes)
    disk size: 196K

    image: b1.img
    file format: qcow2
    virtual size: 10M (10485760 bytes)
    disk size: 196K

3). ls -l 和 du -sh 查看信息
    -rw-r--r--. 1 root root 197120 Oct 17 11:12 a1.img
    -rw-r--r--. 1 root root 197120 Oct 17 11:12 b1.img

     du -sh a1.img       du -sh b1.imb
     196k  a1.img        196k  b1.img

4). 通过ftp download分别下载a1.img和b1.img到本地
     本地生成文件的文件都是196k

5). qemu-img重新转换成raw格式
    qemu-img convert -p -f qcow2 -t writethrough -O raw a1.img a2.img
    qemu-img convert -p -f qcow2 -t writethrough -O raw b1.img b2.img

6). qemu-img info查看信息

     image: a2.img
     file format: raw
     virtual size: 10M (10485760 bytes)
     disk size: 0

     image: b2.img
     file format: raw
     virtual size: 10M (10485760 bytes)
     disk size: 0

7). ls -l 和 du -sh 查看信息

     ls -l
     -rw-r--r--. 1 root root 10485760 Oct 17 10:59 a2.imgr
     -rw-r--r--. 1 root root 10485760 Oct 17 10:59 b2.img

     du -sh a.img       du -sh b.imb
     0    a.img         0    b.img

4. 结论:
  raw格式的镜像文件,如果文件系统支持文件空洞,镜像文件里的空洞不占分配磁盘空间,
不过网络传输并不会这样处理,还是按照virtual的大小进行传输。
  可以通过将raw格式转换成qcow格式,再通过网络传输这个qcow镜像,这样就避免了传输
这些空洞,最后再转换回raw格式即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值