esxi 虚拟机性能问题?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了esxi 虚拟机性能问题?相关的知识,希望对你有一定的参考价值。
不知道这样的该如何改善,从哪几个方面着手。主机信息
已知 虚拟机系统都是通过 workstation上传的,且esxi虚拟机运行比workstation虚拟机运行慢50%。
想获得最高的虚拟机硬盘效率,是可以直通sata控制器的,这样阵列、休眠、smart信息等特性都可以直接使用。其次,直通硬盘也不错,单盘的效率基本接近原生。
这两种直通在ESXi、PVE、unRaid下性能都很好,虚拟机做nas强烈推荐这两种方式。但本文不会讨论这块,因为没什么研究空间了。。。
【本文讨论的】
如果你无法使用直通(比如说硬盘数量不够),那就必须创建虚拟磁盘了。如何创建一个适合自己的虚拟磁盘?尤其是虚拟机玩NAS或Windows等系统,占用磁盘空间大且有一定性能需求,该如何权衡?
本文只是想给出一些我尝试过的方法和结论,希望能够提供帮助。
【大致想法】
首先最简单的方法肯定是虚拟机下直接创建虚拟磁盘,那么虚拟磁盘的硬盘控制器、精简置备、置零这些选项对磁盘的性能到底有多大影响?精力有限,本文只研究了ESXi,其它虚拟系统情形大体相似。
如果你的虚拟机中有一个NAS(比如说群晖),你可能已经把最大最快的硬盘直通给它了。其它次要的系统可否从NAS中分一部分硬盘空间使用,性能如何?是否实用?
【测试的环境】
主机(ESXi系统):
CPU:E3-1265L v3 主硬盘:WDC WD5000BPVT(读取速度72MB/s)
群晖(虚拟机):
直通了sata控制器,两块4T酷狼组raid0,虚拟万兆网卡
Win10(虚拟机):
除系统盘外,对下面1、2、3、4情况各自建立了2G的虚拟磁盘,虚拟万兆网卡
【待测试的方案】
ESXi下的SCSI厚置备、置零硬盘
ESXi下的SATA厚置备、置零硬盘
ESXi下的SATA厚置备、延迟置零硬盘
ESXi下的SATA精简置备硬盘
群晖提供的iSCSI磁盘
群晖提供的SMB共享
群晖提供的NFS共享
接下来,我们按照解决疑问的方式一步步给出测试数据。
【SCSI有必要吗?】(方案1、2对比)
ESXi创建Windows虚拟机,会默认采用SCSI控制器。而我们一般家用主机,基本都是用SATA控制器的,SCSI一般只会在服务器上见到。是不是SCSI比SATA更高级呢?
理论上,SCSI会占用较少的CPU、有更好的扩展性,但硬件要求较高,所以家用很少用到。我们还是看看实测数据:
SATA(厚置备,置零)硬盘读取
SATA(厚置备,置零)硬盘写入
SCSI(厚置备,置零)硬盘读取
SCSI(厚置备,置零)硬盘写入
SATA(厚置备,置零)硬盘:读取58.9MB/s 写入47.8MB/s cpu平均2.8%
SCSI(厚置备,置零,半虚拟)硬盘:读取57.6MB/s 写入44.9MB/s cpu平均2.5%
(主机硬盘直接读取测试72MB/s)
为了方便对比,两块硬盘全都是厚置备、置零的配置。测得的速度相差不大,甚至SCSI还略低一丢丢。CPU占用SCSI略低一丢丢。考虑到测试有误差,可以认为两者的性能数据几乎一样。看来软件模拟出来的SCSI、SATA性能差别不大,跟硬件SCSI、SATA的情况可能不一样。我个人偏向于使用SATA,因为平时主机就是SATA,兼容问题少(半虚拟的SCSI安装Windows需要额外驱动)。
【延迟置零有什么效果?】(方案2、3对比)
顾名思义,延迟置零可以把磁盘的置零操作延后,节省了创建虚拟机的时候卡住的那几秒或几分钟时间。实测在我这个烂硬盘上创建一个2G的置零磁盘差不多要1分多钟。我们来看看设置了延迟置零的硬盘的测试数据:
SATA(厚置备,延迟置零)硬盘第一次读取
SATA(厚置备,延迟置零)硬盘第一次写入
SATA(厚置备,延迟置零)硬盘第二次读取
SATA(厚置备,延迟置零)硬盘第二次写入
SATA(厚置备,延迟置零)硬盘第一次:读取1517.5MB/s 写入11.7MB/s
SATA(厚置备,延迟置零)硬盘第二次:读取58.5MB/s 写入48.8MB/s
SATA(厚置备,置零)硬盘:读取58.9MB/s 写入47.8MB/s (前面有数据截图)
第一次读取速度简直逆天!细想一下,很正常嘛,未置零的部分直接返回0就可以了,根本不需要真正的磁盘IO。再想一下,这个速度快有用吗?正常软件根本就不应该去读取硬盘的未初始化区域,总要先写入数据再读取才对。而第一次的写入速度就会比较悲剧了,因为写入的同时又要处理延迟置零,所以写入速度成倍下降。第二次读取、写入速度才是长期使用后磁盘的速度。
结论:延迟置零会降低初次写入磁盘的性能,长期使用影响不大。从我个人而言,无所谓建立虚拟机的时候等几分钟,所以我还是不会选择延迟置零。
【精简置备划算吗?】(方案2、4对比)
精简置备是一个省硬盘空间的好办法,初期建立的虚拟磁盘文件会很小,随着写入数据而逐渐变大。(这里有人可能会疑惑,为什么精简置备没有区分置零和延迟置零?因为精简备至只能延迟置零了。换个角度:如果做了置零,也就不是精简置备了。)我们看看精简置备的性能数据:
SATA(精简置备)硬盘第一次读取
SATA(精简置备)硬盘第一次写入
SATA(精简置备)硬盘第二次读取
SATA(精简置备)硬盘第二次写入
SATA(精简置备)硬盘第一次:读取1639.6MB/s 写入12.2MB/s
SATA(精简置备)硬盘第二次:读取58.9MB/s 写入47.9MB/s
SATA(厚置备,置零)硬盘:读取58.9MB/s 写入47.8MB/s (前面有数据截图)
同样,第一次读取的速度是逆天的,第一次写入的数据是悲催的,原因跟延迟置零一样。结论似乎也是一样:是否精简置备对长期使用的性能影响较小。但是我的实际使用经验是,拿Windows这种操作系统跑精简置备的话,精简备至后期的实际性能要低于测试值。猜测原因可能是杂乱的磁盘使用导致虚拟磁盘文件出现大量碎片。
【iSCSI能有多快?】(方案5)
如果你的虚拟系统中包含一个nas虚拟机,比如群晖,那么让nas提供一个iSCSI网络硬盘给目标虚拟机用也是个不错的选择。看看测试数据:
群晖iSCSI(厚置备)读取
群晖iSCSI(厚置备)写入
群晖iSCSI(厚置备)网络硬盘:读取177.0MB/s 写入191.5MB/s
(单个原生盘的读取速度180MB/s,这里是双盘组了软raid 0)
这组数据已经跟之前的方案没有可比性了,因为基于的物理硬盘不一样。不过从这个数据可以看出,iSCSI的读写速度已经比较令人满意了。实际长期使用较稳定,没有任何问题。有点遗憾的是理论上组了raid 0可以速度达到单盘的2倍,但这个才勉强1倍,不确定是软raid不太行还是什么原因(iperf3测试网络5G多速率)。有知道的老哥还请不惜赐教。
【SMB共享能做磁盘吗?】(方案5、6对比)
iSCSI的方案我用了厚置备以提升性能,但是这会带来很大的磁盘空间浪费。而且iSCSI一般不方便同时共享给多方使用。所以,我试了试把SMB(Samba)共享映射为驱动器。对比方案5测得的性能数据如下:
iSCSI磁盘读写
SMB共享读写
iSCSI磁盘:读取713MB/s 写入267MB/s
SMB共享:读取1143MB/s 写入297MB/s
因为HD Tune无法测试网络共享,所以只能换了CrystalDiskMark来测试,但后者的测试不那么准确,受缓存等影响较大。看起来SMB的读取速度会高于iSCSI,有点超出我认知。可能主要还是缓存影响了这部分数据。SMB共享因为是文件级的,可能受到了更多的缓存加速?
不过SMB在实际使用中并不稳定,而且还有两个问题:
一是不能做系统盘。因为SMB共享是在系统启动后加载的,而iSCSI磁盘的加载甚至可以从Bios引导开始(设置有点麻烦,我没实验了)。
二是碎文件读写非常慢。
【NFS共享更快吗?】(方案6、7对比)
简单测试看不出差异,就不献丑了。直接借用别人的结论:
NFS在碎文件多的时候性能显著高于SMB,大文件速度跟SMB不相上下。想看详细对比数据直接看老外的研究(也是基于群晖): Network share: Performance differences between NFS & SMB
但这个测试结果不是在Windows上得出的。我在Windows上的实际使用速度还远不及SMB,而且有不稳定的状况,经常卡住。
【结论】
需要稳定高性能的话,可以采用虚拟SATA、厚置备、置零硬盘。
如果需要节省空间,则考虑虚拟精简置备硬盘。
如果有NAS,可以用NAS做一个iSCSI硬盘,稳定度和速度都较好。
爱折腾的也可以试试SMB或NFS共享,如果能解决Windows下稳定性问题还请指点一下。 参考技术A 【本文不讨论的】
想获得最高的虚拟机硬盘效率,是可以直通sata控制器的,这样阵列、休眠、smart信息等特性都可以直接使用。其次,直通硬盘也不错,单盘的效率基本接近原生。
这两种直通在ESXi、PVE、unRaid下性能都很好,虚拟机做nas强烈推荐这两种方式。但本文不会讨论这块,因为没什么研究空间了。。。
【本文讨论的】
如果你无法使用直通(比如说硬盘数量不够),那就必须创建虚拟磁盘了。如何创建一个适合自己的虚拟磁盘?尤其是虚拟机玩NAS或Windows等系统,占用磁盘空间大且有一定性能需求,该如何权衡?
本文只是想给出一些我尝试过的方法和结论,希望能够提供帮助。
【大致想法】
首先最简单的方法肯定是虚拟机下直接创建虚拟磁盘,那么虚拟磁盘的硬盘控制器、精简置备、置零这些选项对磁盘的性能到底有多大影响?精力有限,本文只研究了ESXi,其它虚拟系统情形大体相似。
如果你的虚拟机中有一个NAS(比如说群晖),你可能已经把最大最快的硬盘直通给它了。其它次要的系统可否从NAS中分一部分硬盘空间使用,性能如何?是否实用? 参考技术B 虚拟服务器磁盘读写慢,解决VMware Workstation虚拟机运行缓慢问题之修改硬盘参数及其虚拟硬盘的两种模式;
建议,用外置服务器磁盘柜,isci磁盘用光纤跳线接入主机,让硬盘读写快,
raid-z中的一些开销 – > zfs – > zvolume – > iSCSI – > VMFS – > VM
raid-z中的一些开销 – > zfs – > zvolume – > iSCSI – > VMFS – > VM 参考技术C esxi已经实现于Virtual的直接结合 性能没有问题 参考技术D 性能还是不错的。
Vmware Esxi在线管理虚拟机
目录
What is ESXI? | Bare Metal Hypervisor | ESX | VMware
特征
通过将多台服务器整合到更少的物理设备上,ESXi 降低了空间、电力和 IT 管理要求,同时提高了高速性能。
占地面积小
ESXi 占用空间仅为 150MB,让您可以事半功倍,同时最大限度地减少对虚拟机管理程序的安全威胁。
可靠的性能
容纳任何大小的应用程序。配置多达 128 个虚拟 CPU、6 TB RAM 和 120 台设备的虚拟机,以满足您的所有应用程序需求。请查阅各个解决方案限制,以确保您不会超出您的环境支持的配置。了解有关最高配置的更多信息。
增强的安全性
使用强大的加密功能保护敏感的虚拟机数据。基于角色的访问简化了管理,广泛的日志记录和审计确保了更大的责任感和更容易的取证分析。
生态系统卓越
获得对硬件 OEM 供应商、技术服务合作伙伴、应用程序和来宾操作系统的广泛生态系统的支持。
用户友好的体验
使用基于 HTML5 标准的内置现代 UI 管理日常管理操作。对于需要自动化操作的客户,VMware 提供了 vSphere 命令行界面和开发人员友好的基于 REST 的 API。
管理截图
登录系统
浏览器输入地址,填写账号和密码,即可登录。
主机虚拟机
虚拟机操作
以上是关于esxi 虚拟机性能问题?的主要内容,如果未能解决你的问题,请参考以下文章