VAAI 工作原理及存储阵列支持

简介:

在虚拟服务器环境中,其存储硬件和Hypervisor管理程序的通讯非常复杂。VMware为简化其通讯并提高效率,研发了vStorage阵列集成应用接口(VAAI)。该应用接口为Hypervisor管理程序和存储设备规范了不同的职责,使其各自关注工作效能最大化,即Hypervisor致力于虚拟化相关的工作而存储相关的工作则留给存储阵列。

通过VAAI,存储阵列厂商可以直接将其存储硬件及应用程序和vSphere进行集成。VAAI使得某些存储层的工作,诸如克隆等,可以在存储阵列上离线运行,这较在主机端完成更为高效。主机端可以简单地将相关工作转到存储阵列上完成,而主机端只负责过程监控,而非使用主机端的资源来完成(在VAAI之前的产品即是如此)。存储阵列更擅长此类数据工作,可以较主机端更为快速的完成相关服务请求。

vStorage阵列集成应用接口工作原理

VAAI目前使得vSphere对于某些存储相关操作更为高效,主要体现在以下三个领域:

离线拷贝。拷贝虚拟磁盘文件的操作,比如虚拟机克隆或通过模板部署新的虚拟机,可以通过阵列离线进行的方式实现硬件加速,而不是在ESX服务器端进行文件级的拷贝操作。这种技术同样可以应用于Storage vMotion功能,将一个虚拟机的数据从一台存储移动到另一台。VMware的Fully Copy可以极大程度上提升如何拷贝相关的操作,这可以非常快速地部署新虚拟机。这对于虚拟机频繁创建提供或在同一时刻需创建大量虚拟机的应用场合尤其有用。

离线并发写。在所有虚拟磁盘初始写入之前,必须进行清零操作(一个没有如何数据的磁盘数据块里有空值;这时要在该磁盘数据块中写入零,以清除所有可能从之前删除的虚拟机中遗留的数据。默认的“慢速清零”虚拟磁盘(具体数据块根据是否需要初始写入,进行清零)直到有首次写入操作请求时才对该磁盘数据块进行清零操作。这造成了极大的性能影响,而且陈旧的数据可能会遗留给其它客户端操作系统。“提前清零”虚拟磁盘(所有的磁盘数据块在创建时一次性清零)可以用于取代原有方式以取消原首次写入磁盘数据块时的性能影响,并消除任何原有虚拟机数据保存在其它磁盘数据块上的可能性。在该格式化过程中,大量的零数据从ESX/ESXi主机发送到要清零的阵列上的磁盘数据块(因此也叫“并发写”),这可能是一项耗时且耗资源的过程。通过VMware Block Zeroing操作,阵列可以处理所有的清零过程,更为高效。磁盘阵列无需让主机端等待操作完成,其立刻提示操作完成,然后处理清零操作,这期间不涉及到主机端的任何操作。

硬件辅助锁定。VMFS文件系统允许多主机对同一共享逻辑卷的并发访问,这是vMotion运行的必要条件。VMFS有一个内置的安全机制,防止虚拟机被超过一台的主机同时运行或修改。vSphere采用“SCSI预留”作为其传统文件锁定机制,这种方式在某项存储相关的指令操作期间,比如增量快照增长或发生时,均使用“RESERVE SCSI”命令锁定整个逻辑卷。这有助于防止冲突,不过也拖延了存储工作的完成,因为主机必须等待逻辑卷的解锁命令“RELEASE SCSI”才能继续写入。使用Atomic Test and Set(ATS)命令是一种硬件辅助的锁定机制,可以离线地对存储阵列加锁,这样就可以对个别磁盘数据块而非整个逻辑卷。这样可以使得余下的逻辑卷在锁定期间继续被主机访问,十分有助于避免性能下降。该功能同时通过VMFS数据存储,允许同一集群中部署更多的主机,以及更多的虚拟主机部署在同一个逻辑卷上。

VAAI的厂商支持

目前,vStorage阵列集成应用接口只针对基于数据块的存储阵列(光纤存储或iSCSI)有效,并不支持NFS存储。厂商对于VAAI的支持一更不相同,某些厂商,诸如EMC,很快地支持了这些功能,而另一些厂商花费了很长的时间将其整合到他们的所有存储阵列型号中。你可以通过查看VMware对光纤存储的兼容列表来了解哪些存储阵列支持特定的vStorage应用接口特性。

通过VMware光纤存储兼容列表,你可以搜索你的存储阵列是否可以支持VAAI,如果这样,其它的应用接口也是支持的。

该列表易于搜索,并告知各存储阵列是否支持多路径插件,以及支持何种VAAI特性等信息。如果你的存储阵列目前尚不支持VAAI,可以和供应商确认其是否有这方面的规划。你也可能要升级更新发布的vSphere或更新的存储阵列型号来支持VAAI。

关闭VAAI

vStorage阵列集成应用接口在vSphere 4.1版中默认激活(不过在vSphere 4.0版中并不支持),并且只要存储阵列支持,该功能就会被激活。不过你也可能希望关闭VAAI功能,比方说你发现你的存储阵列无法兼容或出于测试的需要,你要比较VAAI打开和关闭的性能比较。你可以使用如下高级主机设置功能逐个关闭这些功能:配置->软件->vSphere客户端中高级设置菜单。

关闭离线拷贝,设置DataMover.HardwareAcceleratedMove为0。

关闭离线并发写,设置DataMover.HardwareAcceleratedInit为0。

关闭硬件辅助锁定,设置VMFS3.HardwareAssistedLocking为0。

你可以通过“配置->软件->vSphere中的高级设置菜单关闭VAAI设置

VAAI为特定的存储操作提供了极大的性能改善,并且已有大量存储厂商使用了这种应用接口。VMware将在每次发布新的vSphere时持续改善vStorage应用接口;我们期待在新版本中可以看到更多应用接口集成在NFS增强的领域,离线快照领域以及阵列管理领域。










本文转自 qq8658868 51CTO博客,原文链接:http://blog.51cto.com/hujizhou/954323,如需转载请自行联系原作者
目录
相关文章
|
4月前
|
存储 缓存 固态存储
存储性能软件加速库(SPDK)
存储性能软件加速库(SPDK)
|
10月前
|
Linux Anolis 异构计算
关于远程直接内存访问技术 RDMA 的高性能架构设计介绍
本文介绍 RDMA 技术的基本原理及交流在工程上的设计思路。
|
27天前
|
安全 网络安全 网络虚拟化
虚拟网络设备的网络隔离机制:原理、意义与应用场景深度分析
虚拟网络设备在现代网络架构中扮演着重要角色🌐,尤其是在实现网络隔离方面🛡️。网络隔离是网络安全🔒和多租户环境管理的关键组成部分,它能够确保不同网络流量的分离🚦,保护敏感数据💾,减少攻击面。虚拟网络设备通过在软件层面上模拟物理网络设备的行为,提供了一种灵活且成本效益高的方式来实现这些目标。本文将从多个维度深入分析虚拟网络设备是如何隔离网络的,这种隔离有什么实际意义,为什么需要虚拟网络设备来隔离网络,以及在什么场景下比较适合使用虚拟网络设备隔离网络。
|
2月前
|
负载均衡 网络协议 中间件
掌握 SOME/IP :访问进程数据 构建高效通信系统的关键技术
掌握 SOME/IP :访问进程数据 构建高效通信系统的关键技术
67 1
|
4月前
|
存储 网络协议 文件存储
存储硬件与协议
存储硬件与协议
|
6月前
|
存储 缓存 算法
解密Linux中的通用块层:加速存储系统,提升系统性能
本文探讨了Linux操作系统中的通用块层和存储系统I/O软件分层的优化策略。通用块层作为文件系统和磁盘驱动之间的接口,通过排队和调度I/O请求,提高磁盘的读写效率和可靠性。存储系统的I/O软件分层包括文件系统层、通用块层和设备层,它们相互协作,实现对存储系统的高效管理和操作。本文旨在深入了解通用块层和其他I/O软件层的功能和作用,分析优化存储系统的管理和操作,提升系统性能和可靠性。
解密Linux中的通用块层:加速存储系统,提升系统性能
|
6月前
|
存储 Linux 调度
Linux C/C++开发(后端/音视频/游戏/嵌入式/高性能网络/存储/基础架构/安全)(上)
Linux C/C++开发(后端/音视频/游戏/嵌入式/高性能网络/存储/基础架构/安全)
|
6月前
|
Web App开发 存储 Linux
Linux C/C++开发(后端/音视频/游戏/嵌入式/高性能网络/存储/基础架构/安全)(下)
Linux C/C++开发(后端/音视频/游戏/嵌入式/高性能网络/存储/基础架构/安全)
|
9月前
|
存储 编解码 Linux
解析高性能、可横向扩展的共享存储文件系统昆腾StorNext
全球的大型传媒机构、工作室和后期制作公司,正在使用StorNext系统构建自身的协同合作式视频工作流程;世界各地的政府机构、科研机构等等,也在通过StorNext系统,存储、保护并归档海量的珍贵研究数据。
322 0
解析高性能、可横向扩展的共享存储文件系统昆腾StorNext
|
存储 运维 监控
性能透明提升 50%!SMC + ERDMA 云上超大规模高性能网络协议栈
新的协议栈是不是重新发明轮子?一个协议栈能否解决所有问题?适配所有场景?
性能透明提升 50%!SMC + ERDMA 云上超大规模高性能网络协议栈