VMware 虚拟化编程(2) — 虚拟磁盘文件类型详解
来源:互联网 发布:如何查看淘宝等级 编辑:程序博客网 时间:2024/04/24 22:47
版权声明:转载请注明出处 JmilkFan_范桂飓:http://blog.csdn.net/jmilk
目录(?)[+]
目录
- 目录
- 前文列表
- 虚拟磁盘文件 VMDK
- 用户可以创建的虚拟磁盘类型
- VixDiskLib 中支持的虚拟磁盘类型
- 虚拟机文件类型
前文列表
VMware 虚拟化编程(1) — VMDK/VDDK/VixDiskLib/VADP 概念简析
虚拟磁盘文件 VMDK
虚拟磁盘文件(VMDK File) 后缀为 .vmdk,是虚拟机的存储卷,Guest OS File System 储存在 VMDK File,而 VMDK File 又会以文件的形式储存在物理磁盘设备上。VMDK File 支持两种物理磁盘类型:
托管磁盘(Managed Disk):托管磁盘通常指的是 File System Format 为 VMFS 的物理存储设备,能够支持使用光纤、iSCSI 或 SAS 来连接到 ESX/ESXi Host 的存储网络(SAN),也能够支持网络挂载存储(NAS),甚至能够直接挂载到 ESX/ESXi Host 上。在 vCenter 体系中,VMDK File 会被储存于共享的 Datastore 之上,再由 vCenter 管理着这些存储簇(Storage Clusters),这令 vCenter 能够支持在 ESX/ESXi Host 之间迁移虚拟机而不需要移动 VMDK 文件;在 ESX/ESXi Host 体系中,VMDK File 通常存放在物理存储设备的某个 /vmfs/volumes 目录中。
寄宿磁盘(Hosted Disk):寄宿磁盘没有特定的 File System Format 要求,所谓寄宿,即适应 Host 原生的磁盘类型。在 Worksation 体系中,寄宿磁盘会适应 Host File System,而将 VMDK File 储存于本地磁盘之上。
NOTE:需要注意的是 VDDK 对两种不同类型的磁盘设备的操作函数也是有所区别的,对于托管磁盘,VDDK 应用程序可以利用高级传输接口函数通过 SAN 而不是 LAN 来执行大多数 I/O 操作,以此来提高程序性能,并保护网络带宽。
用户可以创建的虚拟磁盘类型
在创建一个虚拟磁盘时,会进行两个操作:分配空间、置零。
厚置备延迟置零(Lazy Zeroed Thick):默认的磁盘创建格式,创建磁盘时会直接从磁盘分配所需空间,但不会即时擦除磁盘上保留的数据,而是在虚拟机执行 I/O 操作时按需要将其置零。简单来说,就是立即完全分配指定的磁盘空间给虚拟机,但延迟对该磁盘空间进行清零操作.
- 特性:磁盘性能较好,创建时间短,适合于做池模式的虚拟桌面。
厚置备置零(Eager Zeroed Thick):创建支持群集功能(E.G. FaultTolerance)的厚磁盘格式,创建磁盘时,直接从磁盘分配空间并立即对物理设备上保留的数据置零。所以当虚拟机有 I/O 操作时,就能够直接执行。简单来说,就是立即完全分配指定的磁盘空间给虚拟机, 并立即清零磁盘空间, 所需时间较长。
- 特性:磁盘性能最好,创建时间长,适合于做跑运行繁重应用业务的虚拟机。
精简置备(Thin):创建磁盘时,占用磁盘的空间大小根据实际使用量计算,即用多少分多少,提前不分配空间,对磁盘保留数据不置零,且最大不超过划分磁盘的大小。简单来说,就是按实际磁盘使用量动态增长分配磁盘空间,但最大不能超过指定的最大磁盘分配空间。
- 特性:当有 I/O 操作时,需要先分配空间,再将空间置零,最后才能执行 I/O 操作。当有频繁 I/O 操作时,磁盘性能会有所下降,I/O 不频繁时,磁盘性能较好;创建时间短,适合于对磁盘 I/O 不频繁的业务应用虚拟机。
VixDiskLib 中支持的虚拟磁盘类型
注:VixDiskLib,即虚拟磁盘库,提供了管理虚拟磁盘的系统调用接口。
虽然用户能够创建的虚拟磁盘类型只有 3 种,但在底层程序接口中会根据不同的应用场景(E.G. vCenter、ESX/ESXi) 提供多种磁盘类型参数,开发者可能按照实际情况选择相应的虚拟磁盘类型参数。
寄宿磁盘(Hosted Disk)
单片稀疏型
VIXDISKLIB_DISK_MONOLITHIC_SPARSE
:只包含一个虚拟磁盘文件并能够动态扩展的虚拟磁盘。单片平面型
VIXDISKLIB_DISK_MONOLITHIC_FLAT
:只包含一个虚拟磁盘文件,提前分配存储空间的虚拟磁盘。创建这种磁盘需要较多的时间,并占用大量空间,但是可能会提供比稀疏型磁盘更好的性能。分片稀疏型
VIXDISKLIB_DISK_SPLIT_SPARSE
:可扩展的虚拟磁盘,整个磁盘被分为多个2GB大小的关联文件。这些文件可以增大到2GB,然后在新的文件中继续扩展。这种类型可以在较老的文件系统上使用。分片平面型
VIXDISKLIB_DISK_SPLIT_FLAT
:提前分配空间的虚拟磁盘,并被分为多个大小为 2GB 的虚拟磁盘文件。这些从 2GB 开始,所以创建它们需要较长的时间,但是能够以 2GB 持续增长。
托管磁盘(Managed Disk)
VMFS 平面型
VIXDISKLIB_DISK_VMFS_FLAT
:提前分配空间的虚拟磁盘,在 ESX3 或更新的平台上可用,也叫做厚置备磁盘(Thick Disk)。VMFS 稀疏型
VIXDISKLIB_DISK_VMFS_SPARSE
:使用一种写时复制(Copy-on-Write, COW)机制来节省存储空间,这是虚拟机常用的快照磁盘类型。VMFS 精简型
VIXDISKLIB_DISK_VMFS_THIN
:这种类型假设需要尽可能多的空间,然后以此来扩展虚拟磁盘的大小。能够在 ESX3 以及更新的平台上使用,也叫做精简置备磁盘(Thin Disk)。。单片流优化
VIXDISKLIB_DISK_STREAM_OPTIMIZED
:单片、稀疏格式对数据流进行压缩。这种格式不支持随机读写。
虚拟机文件类型
一台 VMware 虚拟机除了包含上述提到的 VMDK File 之外,还包含了各式各样、针对各种场景的配置文件或描述文件,以及特殊文件在 API 中的参数项。
- VMware 虚拟化编程(2) — 虚拟磁盘文件类型详解
- VMware 虚拟化编程(2) — 虚拟磁盘文件类型详解
- VMware 虚拟化编程(5) — VixDiskLib 虚拟磁盘库详解之一
- VMware 虚拟化编程(6) — VixDiskLib 虚拟磁盘库详解之二
- VMware 虚拟化编程(7) — VixDiskLib 虚拟磁盘库详解之三
- VMware Workstation 虚拟磁盘(VMDK) 编程【抛砖引玉】
- VMware虚拟磁盘编程指导(一)
- VMware虚拟磁盘编程指导(二)
- VMware虚拟磁盘编程指导(三)
- VMware虚拟磁盘编程指导(一)
- VMware虚拟磁盘编程指导(五)
- vmware虚拟化故障虚拟磁盘丢失恢复办法
- VMware 虚拟化编程(9) — VMware 虚拟机的快照
- vmware 虚拟磁盘文件格式介绍
- VMware虚拟磁盘类型分析
- VMware 虚拟机的虚拟磁盘编程知识点扫盲之一
- VMware 虚拟机的虚拟磁盘编程知识点扫盲之二
- VMware使用2 ---虚拟磁盘管理工具vmware-vdiskmanager
- lightoj 1033
- 通过类的应用,实现对学生的属性定义
- Hive通过JavaAPI操作
- Windows XP下如何取消打印机与任务计划的共享
- highcharts报表开发 一:chart配置
- VMware 虚拟化编程(2) — 虚拟磁盘文件类型详解
- 分享一个我写的io序列化类IOPack
- Hadoop学习3:Hadoop核心组件-MapReduce
- angularJS实现查询/选择排序/添加/敏感字符过滤
- 计数
- [Leetcode] 417. Pacific Atlantic Water Flow 解题报告
- 【树莓派学习笔记】树莓派入坑笔记 一 系统安装
- GlusterFs分布式复本卷 服务器替换实践
- Python数据结构