【本文不讨论的】

想获得最高的虚拟机硬盘效率,是可以直通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的虚拟磁盘,虚拟万兆网卡

【待测试的方案】

  1. ESXi下的SCSI厚置备、置零硬盘
  2. ESXi下的SATA厚置备、置零硬盘
  3. ESXi下的SATA厚置备、延迟置零硬盘
  4. ESXi下的SATA精简置备硬盘
  5. 群晖提供的iSCSI磁盘
  6. 群晖提供的SMB共享
  7. 群晖提供的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下稳定性问题还请指点一下。

esxi 7.0 封装瑞昱网卡驱动_虚拟机(ESXi)下硬盘性能的探索相关推荐

  1. esxi 7.0 封装瑞昱网卡驱动_小科普 | 无线网卡怎么选?

    从电话线到光纤入户,有线网络的体验改变了我们的生活方式,但我们的行动空间也往往被这么一根线牵制,无线便给了我们更多自由.那么无线网卡,有什么讲究呢? ▌类型 从类型上来看,无线网卡大致可以分为三种:U ...

  2. 瑞昱网卡支持linux吗,Linux 上安装Realtek瑞昱网卡驱动

    新买了个笔记本,安装了Ubuntu 16.04,发现笔记本的Realtek瑞昱无线网卡不能自动被linux识别.上网查找原因为驱动问题,也有很多人抱怨过Realtek瑞昱网卡在linux上驱动难弄. ...

  3. 备份linux网卡驱动,瑞昱网卡驱动

    驱动说明: [驱动名称]Realtek瑞昱RTL8192SU/RTL8188SU/RTL8191SU无线网卡驱动2.6.6.0(20110401)版For Linux [驱动描述]Realtek网卡驱 ...

  4. mysqlyog mysql8.012_瑞昱网卡驱动-Realtek瑞昱RTL-81xx系列网卡驱动(Win8)8.012.0304.2013版-东坡下载...

    如果说Realtek靠着产品物美价廉以及提供公版驱动支持这两大法宝在集成音频芯片领域一枝独秀,大有一统江湖之势,那么在集成网卡芯片领域,可以说对手如云了. 像Marvell.Broadcom.Inte ...

  5. mysqlyog mysql8.012_瑞昱网卡驱动-Realtek瑞昱RTL-81xx系列网卡驱动(Win8)8.012.0304.2013版下载_东坡手机下载...

    如果说Realtek靠着产品物美价廉以及提供公版驱动支持这两大法宝在集成音频芯片领域一枝独秀,大有一统江湖之势,那么在集成网卡芯片领域,可以说对手如云了. 像Marvell.Broadcom.Inte ...

  6. 免驱无线网卡插到电脑上突然驱动变成瑞昱网卡了无法正常联网

    环境: 电脑:戴尔台式主机 系统:Windows 10 专业版 64位 网卡:S星UD6H(免驱版)高增益650M双频无线USB网卡 硬件版本:V2 问题描述: S星免驱无线网卡插到电脑上突然驱动变成 ...

  7. 修改Realtek瑞昱网卡硬件MAC地址突破路由器上网Mac地址绑定

    CG到CS这个地方已经有一个月的时间了,CS这里的学校跟YC学校上网方式有所不同因而很伤脑筋,主要是这里学习的网络是分配给每个人一个私有IP,但是这个IP是跟你的MAC地址绑定的,而且又与你的网络接入 ...

  8. centos7.x物理机升级lt内核后 因为Realtek,瑞昱网卡Realtek8169引发的惨剧,升级到ml后解决...

    centos7.x物理机升级lt内核后 因为Realtek,瑞昱网卡Realtek8169引发的惨剧,升级到ml后解决 这两天在一台物理机上安装centos7.5,主要是为了跑docker做一些测试环 ...

  9. 瑞昱网卡linux通用驱动下载,Realtek网卡驱动Win10-Realtek瑞昱通用网卡驱动Win10版下载 v10.003.0728.2015官方版--pc6下载站...

    Realtek瑞昱通用网卡驱动Win10版是瑞昱官方发布第一款官方Win10网卡驱动程序,版本号为10.003.0728.2015,支持32位和64位Windows10系统. 相关软件软件大小版本说明 ...

最新文章

  1. mysql 核心目录
  2. srsLTE源码学习:协议数据单元PDU:pdu.h
  3. [笔试面试题] 10-C和C++区别相关
  4. linux yum被占用
  5. 基于thinkphp6开放,免费开源可商用的兴趣社区论坛圈子小程序
  6. DB2数据库生成html巡检报告
  7. 2021-04-26 PNP三极管
  8. Pycharm 恢复到默认设置
  9. 偶尔也需要强烈的孤独
  10. Redis(八):zset/zadd/zrange/zrembyscore 命令源码解析
  11. T-S模糊模型与状态反馈控制及Matlab仿真 (附代码)
  12. Excel中IF函数的使用
  13. 什么样的女人适合嫁给男博士 ?
  14. 阿英讲算法的时间复杂度
  15. 服务器内存 知乎_服务器内存插法原则
  16. 斑马条码打印机GK888T打印标签是间隔的 ,不是连续的
  17. 全角转半角与半角转全角
  18. “揭开意识的奥秘:认知相对论”及作者李玉鑑简介 (公号发“李玉鑑AI”下载PDF资料,欢迎转发、赞赏支持科普)
  19. 九天鸟p2p网贷系统的架构设计
  20. 分享一些百度收录又快又好的平台,用好它们做推广有奇效!

热门文章

  1. 解析迅捷产品的八大特点
  2. 星巴克创始人第三次重出江湖
  3. hypermill后处理构造器安装_康明斯发动机尾气后处理系统常见故障及维修
  4. 2020-11-07 Mybatis
  5. html复习第六天 京东首页布局(导航栏/左侧)
  6. 有一台服务器可以做哪些很酷的事情
  7. android回收activity,Android系统回收activity行为
  8. 新年新故事 | Nice 兔 Meet U
  9. 从反人工智能到反无人机,谁在左右科技的进步?
  10. 2013“韩国小姐”选美20位佳丽的脸到底有多相似?20位佳丽的合成脸美若天仙。