0引言
云计算浪潮席卷全球,推动着社会信息基础设施的重大变革。以虚拟化为代表的新技术已经成为数据中心的基本组织方式,商业产品如VMware和开源产品如KVM、Xen已得到普及使用。统计数据显示,至2012年底已有超过一半的x86服务器使用了虚拟化,至2014年这一比例将扩大到700%。
虽然虚拟化技术获得快速发展,但在面向云计算数据中心的存储系统设计仍然而临诸多挑战和困惑。人们目前对虚拟机环境下的文件系统I/O特征还缺乏深入认识和理解,在虚拟机环境下存储技术路线的选择方而缺乏理论与实验数据支撑的有效指导。在云计算数据中心中,一类重要的存储需求是为每个虚拟机提供一个虚拟磁盘映像。该应用需要存储系统具有良好的可扩展性,支持为任意数量的虚拟机提供磁盘映像,并支持高性能访问;可以支持磁盘映像的快照与克隆、迁移、动态扩展等高级特性。
NAS和SAN是目前数据中心所使用的主要存储设备形式,NAS存储可以支持数据共享,具有更好的可扩展性、可管理性和可用性;SAN在大多数传统应用场景中具有更好的性能,但配置和管理较为复杂。在功能上,NAS和SAN都可以作为虚拟机的磁盘映像存储设备,虚拟磁盘映像既可以对应到SAN设备的一个逻辑卷,也可以映射到NAS的一个或多个文件。
本文将简要分析NAS和SAN的工作原理,探讨虚拟化环境下的存储系统架构和I/O访问路径,然后模拟数据中心的虚拟化环境对NAS和SAN的性能进行测试,对测试的结果进行分析探讨,在此基础上提出而向数据中心的存储方案实施建议。
1网络存储系统的类型
NAS和SAN是目前云计算数据中心所使用的两类主要存储设备,本节简要分析其工作原理并比较其差异。
1.1 NAS
NAS(Network Attachment Storage)存储系统上运行有文件系统,对外部提供文件和目录、元数据的数据视图。其中目录和文件的内容称为文件系统的数据,而把用于描述和实现文件系统所用到的数据称为元数据(Metadata),如文件大小、修改日期、以及访问控制等。目前使用比较广泛的NAS访问协议有NFSv3, NFSv4和CIFS。其中UNIX/Linux环境使用NFS协议,而windows系统使用CIFS协议。
NAS可以支持多个程序对文件的共享和并发访问,并采取较为严格的一致性语义。如NFSv3规定对元数据的访问使用同步操作;客户端在打开文件时根据文件的最后修改时间对已缓冲文件数据的有效性进行检查;对写入的'文件数据的缓存也有时间限制。
1.2 SAN
SAN (Storage Area Network)提供的数据视图和磁盘完全相同。根据通信网络的不同,SAN分为光纤通道( FC-SAN)和基于TCP/IP网络的IP-SAN(通信协议为iSCSI)。总体来看,FC-SAN性能表现更加稳定,但iSCSI具有显著性价比优势,iSCSI在应用普及程度方而已经远远超过FC-SAN;随着万兆以太网的普及,有理由相信iSCSI将会在性能方而追赶上FC-SAN。
需要指出的是,在功能上SAN设备只提供了最基本的块存储功能,只能被动的接受读写命令;由于SAN设备上无文件系统,因此,不具有存储空间和数据管理能力;其配置和管理也更加复杂。
2虚拟机环境下的存储架构
虚拟机上运行有文件系统,当应用程序访问文件时,文件系统将其转换为对磁盘设备的请求,这些请求以模拟磁盘方式或准虚拟化方式发送到虚拟机监视器(Hypervisor)。虚拟机监视器判断后端存储设备的类型,如果为NAS,则将对磁盘的请求转换为文件操作,发送请求给NAS服务器;如果后端存储设备为SAN,则将磁盘块访问请求发送给SAN设备。
如果后端存储设备为NAS, VM所访问的虚拟磁盘实际为NAS存储系统中的文件。这种模式下Hypervisor访问存储设备的I/O模式与传统应用自接访问NAS设备有很大不同。在传统应用中,元数据操作高达I/O操作总数的70%,而在虚拟化环境下,所有元数据操作都转换为对文件数据的操作,因此,元数据操作数量将显著减少,与此同时,文件数据访问呈现出更多的随机访问特征。
3虚拟机环境下NAS与SAN的性能测试
本节将测试虚拟机环境下NAS和SAN的性能。使用一个计算机作为存储服务器,其CPU为Pentium(R) Dual-CoreE5300 2.60GHz,配置有8GB内存和2块2TB SATA硬盘,配置有1块千兆以太网卡,操作系统为CentOS6.4;在其上运行有NFS服务器和ISCSI软件,可同时作为NAS和SAN存储设备;另有一台计算机作为虚拟机服务器,CPU为Pentium(R) Dual-Core E5300 2.60GHz,内存为8GB ,配置有1个千兆以太网卡,操作系统均为Ubuntu 12.04;创建2个虚拟机,每个虚拟机内存大小限制为2GB,虚拟机磁盘大小为30GB 。
测试文件设定为4GB,为虚拟机内存大小的2倍,以尽量消除虚拟机内存cache对读写性能的影响。
从测试结果可以看出,NAS的read. reread性能稍高于SAN,其原因在于NAS端的文件系统执行了预读策略;而在random-read测试中,NAS的性能要低于SAN,则是由于在随机读情况下,NAS的预读策略失效;在虚拟机环境下NAS和SAN的write . rewrite性能基本持平,而在randrom-write测试中,NAS的性能要稍高于SAN,这是由于NAS端的文件系统具有缓冲功能,可以将随机写入的数据进行缓冲,并在此基础上进行I/O的优化。
虚拟机数量对测试性能有显著影响。虚拟机数量增加时,性能有明显下降。这是由于当只有一个虚拟机访问存储设备时,读写操作均为顺序访问;而当多个虚拟机并发访问存储系统时,不同虚拟机的请求交替到达,总体上在存储设备端表现为随机访问,造成额外的磁头移动,从而导致性能下降。
上述测试显示了与传统非虚拟化环境完全不同的结果。在传统非虚拟化环境中,SAN的性能要显著高于NAS,尤其在元数据密集型操作中SAN的性能高达NAS的3倍,究其原因,在于SAN的客户端可以采取有效的缓冲策略,减少与存储设备端的交互;而NAS由于数据一致性的要求客户端需要及时将新的数据提交到存储服务器,从而导致大量通信开销。在虚拟机应用环境中,虚拟机上运行有文件系统,可以对数据采取有效的缓存策略,有效减少了和后端存储设备的通信开销;与此同时,所有在虚拟机上的文件系统中产生的元数据操作,都被转换为针对NAS存储系统中文件数据的操作,因此可以采用异步方式写入NAS存储设备,也进一步有效减少了通信开销。
4总结
现代云计算数据中心需要为虚拟机提供可扩展、易于管理、支持快照和克隆等高级特性、并具有高性能的虚拟机映像存储方案。本文的研究结果揭示出,虽然在传统应用场景中SAN和NAS的性能有显著差异,但这一性能差异已在虚拟机应用环境中得以消除。由于NAS存储具有更好的可扩展性和易管理性,我们有理由相信NAS存储是数据中心虚拟机映象存储的更好选择。
【探析网络存储技术研究论文】相关文章:
网络存储技术论文03-29
网络存储技术比较研究论文11-07
云计算环境下的分布存储技术研究论文11-06
网络安全技术研究论文03-29
网络层的安全技术研究的论文11-07
网络技术的发展与安全探析论文05-24
网络信息理入侵检测技术研究论文11-07
网络可靠性优化设计探析论文11-15
关于语言模因与网络语言的探析论文04-24