raw data raw格式照片处理


云计算工作确实有些艰难,仿佛一直在为可能永远不会发生的事情做预备。就像我在这个行业的角色,虽说是从事云计算,但其实常常感觉像是身处在虚拟化的漩涡中。这确实没有别的办法,因为我选择了这条道路。

在我对于虚拟化技术的探索过程中,镜像格式的选择一直是件令人头疼的事情。刚开始我采用了raw文件格式,但随着对LVM特性的深入了解,我发现它对于虚拟化具有出色的能力,性能也很不错。之后又被VMware吸引,接触了VMDK格式。最近在研究openstack时,qcow2格式引起了我的注意,如今它似乎非常流行。

在虚拟机的镜像格式中,主要有哪些选项呢?

(default) 原始格式就像是一个纯二进制的镜像,其优势在于非常通用且便于携带。若文件系统支持稀疏文件,采用此格式的镜像仅占用实际使用的数据空间。

谈到裸格式,可以说它直接、简单。仅通过简单的“dd”命令即可模拟一个raw格式的镜像。在性能方面,它的表现相当不错。目前来看,KVM和XEN似乎仍偏爱这种默认的格式。由于其原始性,它具有许多原生的特性,例如方便挂载。这种格式还有一个优点是易于转换其他虚拟机镜像格式(当其他格式需要转换时,它常被用作中间格式)。就空间使用而言,它与磁盘类似,使用多少就算多少。

好东西往往伴随着一些问题。由于raw格式的原始性,它不支持snapshot功能。虽然有传闻称某些版本管理软件可对raw格式的文件进行版本管理以实现snapshot功能,但具体效果如何尚待验证。

谈及LVM,它无疑是一个强大的选择。使用LVM作为虚拟机的镜像,其性能表现卓越。许多同行在虚拟化方面都选择采用LVM。LVM在许多方面都进行了优化,听说在LVM增量备份方面也有不少研究工作。在snapshot、性能和可扩展性方面,LVM都有出色的表现。尽管在虚拟机迁移方面存在一些限制,但考虑到当前虚拟化的需求,这种限制尚不是迫切的问题。

还有一种copy-on-write格式。尽管由于历史原因该格式目前不支持Windows环境下的QEMU,但它曾是qemu的一种镜像格式。它在某种程度上被视为一个未成熟即夭折的弃婴,后来被qcow2所取代。

现在主流的虚拟化镜像格式是qcow2。经过一代又一代的优化,qcow2的性能已接近raw裸格式。qcow2还具有许多突出的特点,如支持多个snapshot、更小的存储空间、copy-on-write支持、zlib磁盘压缩和AES加密等。

至于VMware的VMDK格式和Oracle VirtualBox的VDI格式,它们各自具有独特的优势和功能。VMware的VMDK格式结合了VMware的众多能力,表现优秀但KVM和XEN使用较少;而VDI虽然在VirtualBox上表现良好,但背后的公司SUN和Oracle的历史与现状为其带来了一些争议。