VMware下 iSAN 服务器 iSCSI磁盘性能对比测试
最近一直在虚拟机上研究NextenaStor NAS iSAN 服务器的安装配置,初衷是为了给自己接去的一系列实验准备一台共享存储!
昨天在与几位版主交流时,提及NextenaStor 和Openfiler 这两套存储服务器软件默认得将安装系统使用磁盘排除在可用的共享存储介质之外(即不能在系统盘上创建共享目录和iSCSI虚拟卷)的设计。
这种设计从保护系统盘数据的角度看固然是好的设计,但是通常我们都会被建议至少使用两块硬盘制作一个mirror(Raid1)卷来安装系统,这样势必在物理主机上部署 NextenaStor 和Openfiler 存储服务器时,会造成比较大的磁盘存储空间的浪费。所以我觉得NextenaStor 和Openfiler 这类通过软件模拟iSCSI 控制器的共享存储服务器,或许更适合部署在虚拟主机中!
在虚拟主机内部署共享存储服务器,服务器的实际存储性能必然得会受到一些影响!
我们知道,虽然CPU的辅助虚拟化技术可以让虚拟主机的CPU效能达到接近物理CPU的效能,但是虚拟网络、虚拟磁盘控制器和虚拟iSCSI控制器的I/O操作都会耗费一定的CPU运算时间片,导致一定的I/O 延时和效率损耗,特别是磁盘存取的效能!
说到虚拟主机的磁盘效能,我们就不得不谈到虚拟主机的虚拟磁盘控制器的工作机制。
按照我对多款虚拟机软件的使用经验来看,虚拟磁盘控制器就是一个软件阵列卡,并且附带了比较大容量的数据缓冲内存(通过共享物理内存)。所以通常虚拟磁盘会表现出高过物理磁盘的突发传输性能,特别是在间断得进行磁盘读写的情况下,因为读写的间隔时间较长,系统在下一次物理读写前有足够的时间将缓冲中的内容写入磁盘,所以在磁盘读写不是很频繁的情况下,虚拟主机的磁盘效能反而会高过物理磁盘!
另外,在与IXPUB几位版主讨论的过程中,还谈到了物理主机具有多块物理磁盘的情况下,虚拟主机的虚拟磁盘分布方式对最终虚拟主机磁盘效能的影响!
基本上,我会利用宿主操作系统的卷管理功能将数据盘做成Raid 5 卷(solaris 上是ZFS Raidz1),所以我的意见是主张对虚拟磁盘文件在多个物理磁盘的上进行分布,然后而版主ccfxny提出把多个虚拟磁盘文件放到一个磁盘上效率更高!
那么,存储服务器在虚拟主机上部署和在真实硬件上部署的性能差异到底有多大呢?虚拟磁盘文件在物理磁盘上分别的不同方式造成的虚拟主机磁盘性能差异又有多大呢?
于是我利用自己的PC ,在Windows Server 2008 R2 宿主系统下,使用VMware Workstation 6.5.2 分别部署了3部iSAN 服务器,对挂载到宿主系统的iSCSI共享磁盘进行了一系列的磁盘读写性能测试,以验证在我所在部门的生产系统中,在虚拟化环境下部署一台iSAN /NAS 服务器的可行性!
这3部iSAN 服务器分别为:
1.基于opensolaris 内核 和 ZFS 文件系统的 NextenaStor 1.9.0 ,其iSCSI Target软件为COMSTAR(开源);
2.基于Windows Server 2008 内核和NTFS文件系统的Windows Storage Server 2008 (wSS08) ,其iSCSI Target 软件为微软自己的 Software iSCSI Target;
3.基于Linux 内核 和EXT3 文件系统的 Openfiler 2.3 ,其iSCSI Target 软件为 IET (iSCSI Enterprise Target )(开源);
以下为测试数据汇总和分析。
硬件环境说明
CPU Intel Q9400 (开启了Intel-VTx 和VTd)
3块日立 单碟250G 7200rpm 8M缓存的SATA
G35 ICH9 磁盘控制器在BIOS中已设置为RAID模式
8G (4*2) DDR2-800
对3台iSAN 服务器的iSCSI共享磁盘进行的性能对比测试,实际上是对目前3大类主流X86硬件平台操作系统各自主流的文件系统、逻辑卷管理效能、iSCSI Target 软件效能进行的一次综合效能测试!
虽然由于我测试所用宿主主机硬件本身的效能限制,测试所获得的数据可能不够说服力,但是在VMware虚拟机这样一个相对公平的环境里进行这样的一次测试,至少足以说明某些性能问题和差异的存在!
综合得来看,基于现有宿主操作系统的虚拟主机环境下,虚拟主机CPU 子系统的性能损耗在5%左右,内存子系统的性能损耗可以忽略。
在我们最关在的磁盘子系统方面,VMware 虚拟磁盘控制器的大规模缓存,为虚拟磁盘带来了高达1GB/s 的瞬间(2~3秒)突发传输速率,并且对提高虚拟磁盘的平均数据写入速率有明显的帮助,
但是和宿主系统下的物理磁盘(Windows 逻辑卷)的性能相比,虚拟磁盘的效能损耗是相当严重的。
根据虚拟主机虚拟磁盘(文件)在宿主主机磁盘(逻辑卷)上分别方式的不同、以及虚拟主机下磁盘逻辑卷模式的不同(Simple/RAID-5)不同,服务器上虚拟出来了iSCSI磁盘挂载到宿主主机后,最终的磁盘效能损耗也有所差异。这种差异很有可能是宿主主机和虚拟主机间网络传输的性能损耗造成的。所以,在比较测试数据时,iSCSI磁盘的效能损耗,是包括虚拟磁盘和虚拟网卡在内的一个综合的性能损耗,但是因为测试是在将iSCSI共享磁盘挂载到宿主机本机上进行测试的,虚机和宿主机直接是通过虚拟网络通信的,所以网络传输方面的性能损耗可以暂且忽略不计!
另外为了更好得分析VMware 虚拟主机和宿主主机的性能差异,在测试Windows Storage Server iSCSI 的过程中,特别使用了多款软件进行了两个系统下CPU 和磁盘性能的对比测
Morpho 发表于: 2009-08-08
我要回答相关推荐
-
如何使用虚拟化里的高级NAS功能?
-
大家好,请教vdr备份到nas的问题
请教vdr备份到nas的问题,原来用Windows2003共享文件夹可以给vdr访问。 现在买了个nas,创建 […]
-
最近买了个NAS,想给3台ESXI 主机同时访问,但用ISCSI好像只能同时1台……
小白求指点!我原来有个SAN存储,划了一块空间给3台ESXI主机访问,使用没问题,3台主机都能用这块空间。 因 […]
-
请教关于NAS做共享存储的问题
我是用群晖的2台NAS做的高可用存储,意思是1台NAS坏掉,可以切换到另外1台接管工作。同时通过ISCSI L […]
-
合理选择磁盘 提升虚拟机性能(下)
我们在《合理选择磁盘 提升虚拟机性能(上)》中介绍了如何提升虚拟机性能的磁盘选项。但是要知道磁盘空间分配不存在唯一的标准,如何合理分配磁盘空间呢?