高手对话:有关ESXi的主机缓存问题,值得收藏!
2015-02-09 22:05
691 查看
JAR提问:
大家都知道esxi 5支持用ssd盘做主机缓存,今天简单实验了一下,我用一块三星830 ssd盘,发现能够识别出驱动器类型为SSD。
并且用这块盘顺利启用了SSD主机缓存。
我的理解是,当Host内存不够,需要动用vm交换文件的时候,会先使用SSD主机缓存,当SSD主机缓存空间也不够用的时候再使用虚拟机的交换文件。
SSD缓存一旦设置后,使用的时候完全透明,不影响vm或host的交换文件设置。
由于我的生产环境目前还是4.1, 所以无法实际验证效果。
欢迎各位达人指正。
TiGi回答:
我当初买第三台R710的时候,曾经打算尝试一下主机缓存的,为此专门配置了SSD硬盘,但是接在H700卡上,VMware ESXi认不出这是SSD,.........。
不过按照VMware的KB,可以强行指定某块硬盘是SSD。
winxp2000回答:
能不用缓存尽量不用,速度不会提高;
当然,如果你内存总是溢出的情况,还是配备一个比较安全
另外要注意的是,默认情况下,虚拟机的缓存=你配备给你这个虚拟机的内存
而且默认情况下也会放在虚拟机的文件目录,需要手工指定
TiGi回答:
是的,后来我曾经考虑过,买新机的时候64GB内存和128GB内存,差价不到1万,而买个企业级SSD,价格也不便宜 —— 如果出于数据可靠性考虑,一旦需要买两个做镜像的话........。
还是CacheCade比较合算。
JAR回答:
我测试这台机器是台式机,ssd直接接主板,没有raid卡。
我估计ssd如果接在raid卡上,主机就无法获得ssd的硬件信息而判断不出是ssd了。
jar补充回答:
我这里有些esxi不是跑关键应用,是用来给很多项目跑测试应用的,数量比较多,内存溢出经常能到10G, 这个时候能明显看到cpu负荷和存储io都比较高。
如果把ssd作为交换文件的存储指定,其实很浪费,需要的容量至少得是所有vm的指定虚拟内存的总和。而且因为这些vm都是分散管理的,管起来很麻烦。
SSD主机缓存可以避免上面的问题,设置上去后就不用管了,swap文件基本仍然还建立在原来的存储上,但只要内存溢出不超过SSD的容量,比如128G, 实际硬盘或共享存储上的swap文件永远也不会用到。
比如我的服务器现在最大溢出内存基本不超过10G, 如果用个64G SLC SSD做主机缓存应该能改善很多
hokings回复winxp2000:
为什么说尽量不用呢?ESXi5中会有两个地方涉及到缓存问题:
1)ESXi的主机缓存(在Host Cache Configuration 中设置)
2)每个虚机的交换文件缓存(虚机设置-Option-Swapfile Location中设置),台湾虚拟先生网站建议把Swapfile放到SSD上去,说会提高速度。
把1)和2)同时都放到SSD上好吗?
TiGi回答:
如果内存不大,SSD一般 —— 例如32GB内存、120GB SSD,因为主机内存不太大,因此上面的VM总内存不会太多,这时候,主机缓存以及将交换文件一起放到SSD上有意思/意义。
如果内存很大,SSD不大 —— 例如128GB内存、100GB SSD,怎样使用,那时候就要综合考评一下了(估计还是作为主机缓存更有利)。
——————————————
总体而言,有SSD总是好事。
jar回复hokings:
我认为如果启用了主机交换缓存,就没有太大必要再把交换文件再放在ssd上了。
拿我这里运行中的一台服务器为例,物理内存是96G, 上面有81个vm, 合计置备内存总和差不多190G, 也就是说,如果这些vm都开启的话至少需要190G的交换文件。
目前运行中的vm有47个,合计置备内存为110G, 此时可以从性能图上看到虚拟增长大约在10G, 交换操作占用内存大概是3.5G, 也就是说,有个32G SSD做主机缓存就可以吸收掉原本所有需要动用交换文件的IO, 交换文件几乎根本不需要使用。
如果把交换文件建在SSD上,这个SSD至少要有190G空间,而且几乎没有任何IO, 完全成摆设了。
对于不支持主机缓存的ESXi 4.1, 把交换文件建在SSD上就是唯一的选择了。
sifeng回答jar:
你提到的47个vm,置备110G内存,虚拟增长10G,交换文件3.5G,我的理解就是:物理内存+虚拟增长+交换文件=置备内存,那其中的虚拟增长是否就是内存溢出,这10G的大小目前应该就是占用的SSD盘的主机缓存吧,那如果没有配置主机缓存的话,这个10G是占用的哪里的资源呢,是交换文件的么?
mengduo提问:
我设置了主机缓存,然后虚拟机的交换文件没有改变位置,还在原存储上。两个问题请教:
1。 按上面dx的解释,虚拟机会自动使用主机缓存做交换,只有内存溢出的时候才会使用虚拟机在原存储上的交换文件。没溢出就不会用,是否这样理解?? 但通过观察虚拟机目录里面文件日期,发现实际每次虚拟机目录里面的交换文件日期都是最新日期的,这是否可以证明还是在使用这些交换文件??
2。设置主机缓存大小实际就应该大致等于主机物理内存大小??? 再大也基本没啥用? 考虑虚拟机内存设置基本也不会超出物理机内存大小太多?
回答:
1. 交换文件的日期被更新不能代表是否被使用了,vmware有可能会自动更新交换文件的一些记录信息。比较可靠的判断,应该从存储性能图里观察用于保存交换文件的存储上面是否有发生IO, 如果指定一个专用LUN来保存交换文件比较容易说明问题。
2. 主机缓存的大小和物理内存大小没啥关系,最好大于所有VM的置备内存总和,这样基本某个vm的虚拟内存即便全部swap out, 也够保存在主机缓存里,就可以保证不会动用到iop低的交换文件存储了。
本对话整理自 http://bbs.vmsky.com/thread-39499-1-1.html
另外 http://bbs.vmsky.com/thread-39869-1-1.html
大家都知道esxi 5支持用ssd盘做主机缓存,今天简单实验了一下,我用一块三星830 ssd盘,发现能够识别出驱动器类型为SSD。
并且用这块盘顺利启用了SSD主机缓存。
我的理解是,当Host内存不够,需要动用vm交换文件的时候,会先使用SSD主机缓存,当SSD主机缓存空间也不够用的时候再使用虚拟机的交换文件。
SSD缓存一旦设置后,使用的时候完全透明,不影响vm或host的交换文件设置。
由于我的生产环境目前还是4.1, 所以无法实际验证效果。
欢迎各位达人指正。
TiGi回答:
我当初买第三台R710的时候,曾经打算尝试一下主机缓存的,为此专门配置了SSD硬盘,但是接在H700卡上,VMware ESXi认不出这是SSD,.........。
不过按照VMware的KB,可以强行指定某块硬盘是SSD。
winxp2000回答:
能不用缓存尽量不用,速度不会提高;
当然,如果你内存总是溢出的情况,还是配备一个比较安全
另外要注意的是,默认情况下,虚拟机的缓存=你配备给你这个虚拟机的内存
而且默认情况下也会放在虚拟机的文件目录,需要手工指定
TiGi回答:
是的,后来我曾经考虑过,买新机的时候64GB内存和128GB内存,差价不到1万,而买个企业级SSD,价格也不便宜 —— 如果出于数据可靠性考虑,一旦需要买两个做镜像的话........。
还是CacheCade比较合算。
JAR回答:
我测试这台机器是台式机,ssd直接接主板,没有raid卡。
我估计ssd如果接在raid卡上,主机就无法获得ssd的硬件信息而判断不出是ssd了。
jar补充回答:
我这里有些esxi不是跑关键应用,是用来给很多项目跑测试应用的,数量比较多,内存溢出经常能到10G, 这个时候能明显看到cpu负荷和存储io都比较高。
如果把ssd作为交换文件的存储指定,其实很浪费,需要的容量至少得是所有vm的指定虚拟内存的总和。而且因为这些vm都是分散管理的,管起来很麻烦。
SSD主机缓存可以避免上面的问题,设置上去后就不用管了,swap文件基本仍然还建立在原来的存储上,但只要内存溢出不超过SSD的容量,比如128G, 实际硬盘或共享存储上的swap文件永远也不会用到。
比如我的服务器现在最大溢出内存基本不超过10G, 如果用个64G SLC SSD做主机缓存应该能改善很多
hokings回复winxp2000:
为什么说尽量不用呢?ESXi5中会有两个地方涉及到缓存问题:
1)ESXi的主机缓存(在Host Cache Configuration 中设置)
2)每个虚机的交换文件缓存(虚机设置-Option-Swapfile Location中设置),台湾虚拟先生网站建议把Swapfile放到SSD上去,说会提高速度。
把1)和2)同时都放到SSD上好吗?
TiGi回答:
如果内存不大,SSD一般 —— 例如32GB内存、120GB SSD,因为主机内存不太大,因此上面的VM总内存不会太多,这时候,主机缓存以及将交换文件一起放到SSD上有意思/意义。
如果内存很大,SSD不大 —— 例如128GB内存、100GB SSD,怎样使用,那时候就要综合考评一下了(估计还是作为主机缓存更有利)。
——————————————
总体而言,有SSD总是好事。
jar回复hokings:
我认为如果启用了主机交换缓存,就没有太大必要再把交换文件再放在ssd上了。
拿我这里运行中的一台服务器为例,物理内存是96G, 上面有81个vm, 合计置备内存总和差不多190G, 也就是说,如果这些vm都开启的话至少需要190G的交换文件。
目前运行中的vm有47个,合计置备内存为110G, 此时可以从性能图上看到虚拟增长大约在10G, 交换操作占用内存大概是3.5G, 也就是说,有个32G SSD做主机缓存就可以吸收掉原本所有需要动用交换文件的IO, 交换文件几乎根本不需要使用。
如果把交换文件建在SSD上,这个SSD至少要有190G空间,而且几乎没有任何IO, 完全成摆设了。
对于不支持主机缓存的ESXi 4.1, 把交换文件建在SSD上就是唯一的选择了。
sifeng回答jar:
你提到的47个vm,置备110G内存,虚拟增长10G,交换文件3.5G,我的理解就是:物理内存+虚拟增长+交换文件=置备内存,那其中的虚拟增长是否就是内存溢出,这10G的大小目前应该就是占用的SSD盘的主机缓存吧,那如果没有配置主机缓存的话,这个10G是占用的哪里的资源呢,是交换文件的么?
mengduo提问:
我设置了主机缓存,然后虚拟机的交换文件没有改变位置,还在原存储上。两个问题请教:
1。 按上面dx的解释,虚拟机会自动使用主机缓存做交换,只有内存溢出的时候才会使用虚拟机在原存储上的交换文件。没溢出就不会用,是否这样理解?? 但通过观察虚拟机目录里面文件日期,发现实际每次虚拟机目录里面的交换文件日期都是最新日期的,这是否可以证明还是在使用这些交换文件??
2。设置主机缓存大小实际就应该大致等于主机物理内存大小??? 再大也基本没啥用? 考虑虚拟机内存设置基本也不会超出物理机内存大小太多?
回答:
1. 交换文件的日期被更新不能代表是否被使用了,vmware有可能会自动更新交换文件的一些记录信息。比较可靠的判断,应该从存储性能图里观察用于保存交换文件的存储上面是否有发生IO, 如果指定一个专用LUN来保存交换文件比较容易说明问题。
2. 主机缓存的大小和物理内存大小没啥关系,最好大于所有VM的置备内存总和,这样基本某个vm的虚拟内存即便全部swap out, 也够保存在主机缓存里,就可以保证不会动用到iop低的交换文件存储了。
本对话整理自 http://bbs.vmsky.com/thread-39499-1-1.html
另外 http://bbs.vmsky.com/thread-39869-1-1.html
相关文章推荐
- ps教程系列 有关灯光炫彩系列的。 值得收藏
- 有关C语言的数据统计和编程问题 高手请进
- 重写ViewPager实施单一交有关切换到这个问题,并没有缓存
- 干货丨人工智能、大数据领域从菜鸟到高手的晋级指南(经典长文,值得收藏)
- 有关SQLServer内存问题(收藏)
- 求高手帮忙解决有关mysql5.6.10安装初始化数据库问题
- 百分求解一个可能涉及比较多的一个有关问题,求熟悉javascript或者ASP无组件上传或者AJAX等等的高手帮忙解答,非常感谢!
- IE cache缓存 所带来的问题收藏
- java乱码问题详解-值得收藏
- [sql server] 问题总结10---SQL 日期转换 日期推算 增加或是减少一年或是一天 非常值得收藏
- 有关webview缓存问题
- 在vCenter Server中添加ESXi 主机失败的问题
- 有关SQLServer内存问题(收藏)
- 收藏:墨菲定律、二八法则、马太效应、手表定理、“不值得”定律、彼得原理、零和游戏、华盛顿合作规律、酒与污水定律、水桶定律、蘑菇管理原理、钱的问题、奥卡姆剃刀等13条是左右人生的金科玉律
- ESXi 主机的摘要选项卡报告以下错误:配置问题:XXX esx.problem.syslog.nonpersistent.formatOnHost 未找到 XXX
- iosAFN框架(二)的使用和有关序列化器的问题--缓存机制------
- 引用静态资源的url添加版本号,解决版本发布后的浏览器缓存有关问题
- 【面试攻略】化繁为简,把HR的上百道问题汇总成七大类(值得收藏)
- IE cache缓存 所带来的问题收藏
- 请教一个有关反射和缓存的高难度问题