干货:虚拟机兼容性和文件格式详解

如果想要在多hypervisor环境当中实现良好的虚拟机兼容性,那么深入理解虚拟机文件和磁盘格式是十分重要的。

如果管理员在工作当中只需要管理一种虚拟化平台,那么就没有必要使用多种虚拟化文件格式。相同厂商hypervisor能够支持现有文件格式,即便将hypervisor升级到新版本,之前的文件依然能够正常工作。

但是如果管理员需要在一种hypervisor环境当中使用另外一种hypervisor平台创建的虚拟机,那么情况就完全不同了。不同hypervisor创建的虚拟化文件格式是完全不兼容的。为了实现跨hypervisor的虚拟机兼容性,首先需要了解不同格式之间的区别,之后对比不同虚拟化文件和磁盘格式之间的缺点和优点。

不同文件类型和文件格式

为了存储虚拟机,管理员必须至少使用两种不同类型的文件。硬盘文件用来存储虚拟机需要使用的所有文件以及虚拟机描述文件。为了将虚拟机从一个hypervisor平台顺利迁移到另外一个平台当中,必须确保目标hypervisor能够同时支持两种文件格式。但是实际操作过程并没有这么简单,因为不同hypervisor所支持的特性也不相同。因此,如果你是一名希望最大程度上确保虚拟机兼容性的管理员,那么必须使用两种平台都能够支持的特性。

磁盘文件和描述文件格式

在制定虚拟机兼容性策略的时候,首先需要决定的就是希望实现哪些功能。当然,源磁盘格式在目标hypervisor平台上应该是可用的。对于hypervisor来说,有很多种磁盘格式可供选择,每种磁盘格式都能够提供相应特性,这种情况使得保持兼容性十分困难。比如,管理员想要为虚拟机制作快照,那么最好虚拟机原生就支持这种特性。

常见的磁盘格式包括:

RAW::这并非是一种真正的磁盘格式,而是代表虚拟机所使用的原始镜像。它并不存储元数据,因此可以作为保证虚拟机兼容性的候选方案。然而,也正因为它不存储元数据,因此不能支持某些高级特性,比如快照和压缩等。

VMDK(Virtual Machine Disk)文件:它是VMware环境当中默认使用的磁盘格式。它支持多种不同特性,包括thin provisioning和thick provisioning,还有一些高级特性,比如支持集群环境。

VHD(Virtual Hard Disk):这是微软默认采用的文件格式,和VMDK类似,它也支持多种不同特性,能够在数据中心环境当中实现高效存储和使用。

Qcow2:这是QEMU所采用的默认磁盘格式,QEMU是一种开源hypervisor。由于Linux KVM也使用QEMU,因此qcow2格式经常被用在KVM环境当中。它能够高效使用存储,允许管理员在需要磁盘空间的时候按需进行分配,也就是所谓的copy on write(CoW)。

除了不同的磁盘格式之外,还需要考虑多种虚拟机描述文件格式。一些常用的格式包括KVM环境当中使用的XML文件以及VMware环境当中用来描述虚拟机的VMX文件。从兼容性角度来说,这些描述文件类型并没有虚拟磁盘格式那么重要。如果能够顺利读取虚拟磁盘,那么就能够完成大部分重要目标,也就是使用虚拟机。即便不能读取虚拟机描述文件,通常还能够在目标磁盘上重新创建虚拟机,因为通常描述文件当中只包含一些为虚拟机分配的硬件信息。

OVF和OVA的作用

2007年,主要虚拟化厂商同意使用一种通用格式来封装虚拟机,也就是OVF(Open Virtualization Format)。使用OVF的目的在于提供一套通用标准,保证虚拟机文件能够在不同虚拟化平台之间顺利迁移。一个OVF文件当中包含用于描述虚拟机内容的XML文件以及VMDK文件。即便OVF并不是所有hypervisor采用的默认格式,但是它已经获得了主要虚拟化厂商的支持,因此能够确保虚拟机在不同平台间的可移植性。

而OVA(Open Virtualization Application)格式在OVF文件的基础上又增加了一些功能性。这是一种归档文件,允许使用虚拟机压缩存储。和OVF文件一样,OVA文件也已经获得主要虚拟化平台的支持。使用VOA文件迁移虚拟机的好处在于它使用的压缩算法已经得到所有虚拟化平台的支持。在使用OVA文件之前需要注意的是他们通常必须被导入到虚拟化平台当中。

在处理虚拟机兼容性问题的时候,可能会涉及多种文件格式。比如磁盘文件格式、虚拟机描述文件格式以及OVA格式,OVA文件能够用来存储压缩虚拟机文件。

本文转自d1net(转载)

时间: 2024-09-01 10:09:06

干货:虚拟机兼容性和文件格式详解的相关文章

avi文件格式详解

AVI是音频视频交错(Audio Video Interleaved)的英文缩写,它是Microsoft公司开发的一种符合RIFF文件规范的数字音频与视频文件格式,原先用于Microsoft Video for Windows (简称VFW)环境,现在已被Windows 95/98.OS/2等多数操作系统直接支持.AVI格式允许视频和音频交错在一起同步播放,支持256色和RLE压缩,但AVI文件并未限定压缩标准,因此,AVI文件格式只是作为控制界面上的标准,不具有兼容性,用不同压缩算法生成的AV

java虚拟机启动参数分类详解

HotSpot是较新的Java虚拟机技术,用来代替JIT(Just in Time)技术,可以大大提高Java运行的性能.Java原先是把源代码编译为字节码在虚拟机执行,这样执行速度较慢.而该技术将常用的部分代码编译为本地(原生,native)代码,这样显著提高了性能.用于服务器版和标准版的HotSpot有所不同. java启动参数共分为三类: 其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容: 其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有

Javascript常用的兼容性写法处理详解

访问一个给定CSS 值的最基本句法是:object.style.property,如:object.style.backgroundColor= "#ccc"; 不过要是访问float属性,可就不一样了,因为float本身就是js的保留关键字,则需要这样写: IE:object.style.styleFloat = "left"; FF:object.style.cssFloat = "left"; class同样也是一个保留关键字,可以这样写:

BMP格式结构详解

前段时间搞了一段时间图像采集,对BMP格式和JPG格式的图片又进一步深入的研究了一番,这篇博文就先介绍BMP格式文件的结构,在网上翻阅了很多资料,发现有很多大牛在这一点的研究颇深...下面就借鉴下他们的东西了... 首先,整个bmp文件的内容可以分为3到4块.之所以分为3到4块而不是固定的值,是因为,对于bmp来说可能存在调色板或者一些掩码.具体稍候讨论.  第一块是bmp的文件头用于描述整个bmp文件的情况.结构如下: typedefstruct tagBITMAPFILEHEADER { W

linux ffmpeg编译配置安装详解

关于ffmpeg FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件).它提供了录制.转换以及流化音视频的完整解决方案.它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多codec都是从头开发的.  ffmpeg配置 Ubuntu 12.04 在安装ffmpeg之前,首先要安装yasm 1.安装yasm 我用的yasm是yasm-1.2.0.tar.gz这个版本的  代码

Java虚拟机详解----JVM常见问题总结

[正文] 声明:本文只是做一个总结,有关jvm的详细知识可以参考本人之前的系列文章,尤其是那篇:Java虚拟机详解04----GC算法和种类.那篇文章和本文是面试时的重点. 面试必问关键词:JVM垃圾回收.类加载机制.   先把本文的目录画一个思维导图:(图的源文件在本文末尾)   一.Java引用的四种状态: 强引用: 用的最广.我们平时写代码时,new一个Object存放在堆内存,然后用一个引用指向它,这就是强引用. 如果一个对象具有强引用,那垃圾回收器绝不会回收它.当内存空间不足,Java

Java虚拟机详解04----GC算法和种类【重要】

本文主要内容: GC的概念 GC算法  引用计数法(无法解决循环引用的问题,不被java采纳)     根搜索算法     现代虚拟机中的垃圾搜集算法: 标记-清除 复制算法(新生代) 标记-压缩(老年代)     分代收集 Stop-The-World   一.GC的概念: GC:Garbage Collection 垃圾收集 1960年 Lisp使用了GC Java中,GC的对象是Java堆和方法区(即永久区) 我们接下来对上面的三句话进行一一的解释: (1)GC:Garbage Colle

Java虚拟机详解02----JVM内存结构

主要内容如下: JVM启动流程 JVM基本结构 内存模型 编译和解释运行的概念   一.JVM启动流程: JVM启动时,是由java命令/javaw命令来启动的. 二.JVM基本结构: JVM基本结构图: <深入理解Java虚拟机(第二版)>中的描述是下面这个样子的:   Java中的内存分配: Java程序在运行时,需要在内存中的分配空间.为了提高运算效率,就对数据进行了不同空间的划分,因为每一片区域都有特定的处理数据方式和内存管理方式. 具体划分为如下5个内存空间:(非常重要) 栈:存放局

请教:朋友跟我想写一本关于JAVA虚拟机详解方面的书。

问题描述 朋友跟我想写一本关于JAVA虚拟机详解方面的书.书的内容主要包括JVM的原理,JVM源码分析等方面的问题.书本身内容清晰,层次很分明,也很通俗易懂.目前书已经写了一半,大概6章的内容..不知道怎么联系出版社,如果出版以后销路会如何.也不知道有没有多少读者会关注JAVA虚拟机方面的知识..大家给点意见,或者渠道..谢谢. 解决方案 解决方案二:顶,一直有个小理想,自己写本jvm分析的书,不过未能实现.感觉这种书很小众.jvm原理的书还可以,但代码分析的未必对大部分java程序员有多大价值