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