昨天有同学问我关于这个方面的问题,我觉得非常有必要拉出来专门讲一讲,因为在我的折腾过程中就遇到过类似的疑问和困扰,相信对网心云感兴趣的同学会对这个话题非常感兴趣。我打算分两部分来说明这个问题。
1,对于跑物理机的同学来说,需要注意两个问题,其一,如果你跑定向业务,大部分都需要一个固态硬盘来单独做系统盘,剩余空间要求不能用来缓存数据。这种情况下,用大容量硬盘做系统盘无疑是一种浪费,网心云的系统盘大小不会超过40G,所以最有性价比的方案是使用小容量的性能不拉胯的固态,因为我发现在跑量过程中,系统盘会时常出现读写,而目前市场上能买到的小容量固态往往性能不足,特别是120G以及以下的固态,所以大家在选购时要注意,后续我会根据自己的实测来发给大家推荐。如果你依旧要使用容量较大的硬盘来做系统,那么也尽量不要让系统盘剩余空间做数据缓存。
2,对于跑虚拟机的同学来说,情况要略微复杂一点。有一个总体思路是无论跑物理机还是虚拟机都需要遵循的,那就是尽量提升存储系统的IO性能。我举例说明一下,比如说你想上20T机械硬盘来跑网盘业务,方案一是2块10T的硬盘,方案二是5块4T的硬盘,方案三是10块2T的硬盘,在以上三种方案里,方案三的性能是最佳的,其理论传输速度比方案一快5倍,在实际应用过程中,使用方案一基本上在跑量起来之后硬盘组会被直接卡死,导致非常高的iowait,进而出现丢包、延迟过高甚至死机的现象。在虚拟环境下,一台虚拟机至少应该对应一块物理硬盘,特别是机械硬盘,因为其工作原理决定,如果一块物理硬盘上存放了来自多个虚拟机的虚拟硬盘,那么非常容易出现跑量低、卡顿甚至死机的现象。如果你使用的是大容量且性能很好的SATA固态,可以尝试一个对应对个虚拟机。但是在这里我依然强烈建议你不要那么做,因为这么做虽然看起来能开更多虚拟机,但是最终的收益会受到很大影响。同理,NVME的硬盘也一样,鉴于目前市面上民用级别产品的写入寿命限制,加上网心云在跑量时有写入放大的现象,一块固态对应多个网心云虚拟机会严重加大设备的写入量,这就是为什么有些同学的固态很快跑坏的原因之一。
3,综上所述,说一下目前阶段比较合适的规划方式。
如果全部是机械硬盘,那么尽量做到系统盘与数据缓存盘分开,强烈推荐上小容量性能可靠的固态来单独做系统盘。
如果全部用固态硬盘跑物理机的话,尽量让系统盘独立运作,不参与数据缓存。
如果全部用固态硬盘跑虚拟环境的话,尽量让系统盘独立运作,不参与缓存数据,并强烈推荐使用相关工具用内存为所有硬盘组追加高速缓存,能很大程度上较小写入量,延长硬盘寿命并有很好的加速效果。
如果是机械和固态混用的话,在这里我强烈建议你使用虚拟环境,利用内存和固态配合相关软件来一起为机械硬盘加速,机械硬盘组可以单独运作,也可以考虑系统下组软RAID0来运作,用这个方案的话部署起来灵活,性能也能得到最大程度上的提升,能做到物尽其用。需要注意的是,如果跑量高的话,比如说带宽能跑满500-1000Mbps或者更大时,需要注意内存散热。用这种方案一般不会受到硬盘一对一的规则限制,当然,实际跑业务时还是需要关注后台数据,高速缓存方案不是万能的。
4,回答几个网友的问题。
Q:物理机系统盘用固态相对于物理机系统盘用机械盘,对虚拟机的跑量有影响吗?
A:是的,有影响,使用固态硬盘做系统盘跑量会提升,当然,跑量大部分程度上油混存盘速度决定,但是强烈推荐大家用固态做系统盘。
Q:1、我看你上面说开虚拟机最好一个X86对应一块硬盘,可我一般习惯是划分两个虚拟盘给X86(好象跑定向必须把系统盘与数据盘分开),一个虚拟盘用来装X86系统,一个虚拟盘做X86数据盘,那这两个虚拟盘我是都放在一个4T物理硬盘上,还是说把虚拟数据盘放在4T物理盘上,虚拟系统盘放在其他物理硬盘上?
A:将系统和混存数据分开放永远比混合放在一起好。两个硬盘两台虚拟机这种比较极端的情况下,我们也应该将系统盘和数据缓存分开存放,也就是说,其中一块硬盘专门存放2台虚拟机的系统虚拟硬盘,另一块硬盘存放2台虚拟机的缓存数据虚拟硬盘。最后还是那句话,为了收益更好,不建议硬盘一对多,加硬盘吧骚年!
Q:在配置PRIMOCACHE时,可以关闭一级缓存只用二级缓存吗?会造成什么影响吗?
A:可以!目前这么做还没有发现有问题,但是不建议这么做,除非不得已。Primocache最精华的部分恰恰是一级缓存的优秀算法以及一级缓存和二级缓存之间的协作。一级缓存我们一般使用内存,默认模式是读写共享,个人认为这个模式也是最佳的模式。二级缓存一般我们选择类似傲腾这样4K性能绝佳的设备来做,一般民用级别固态特别是M2,不太适合用来做二级缓存,原因不仅是普通固态写入量低下容易写到死,更因为一般民用级别固态其4K性能并不出色,导致最终加速效果不明显。总之,只要能压榨出一点内存,就应该尽量开启一级缓存,哪怕是1G哪怕是512M,开启一级缓存这个软件才能真正起飞。

Q:全部硬盘都用的是固态,甚至都是M2固态,还需要用Primocache么?
A:如果你不讨厌这个软件或者对此类软件过敏,那么我强烈建议你使用。Primocache开启一级缓存之后,不仅仅能提升速度,更重要的意义是能阻止写入放大,并减小写入总量。在保护硬盘的同时提速,何乐而不为?

今天就到这里吧,累了,近期事情依旧比较多,但我会尽量抽时间来贴吧的。最后祝大家收益天天增加,硬盘跑不死,哈哈。
1,对于跑物理机的同学来说,需要注意两个问题,其一,如果你跑定向业务,大部分都需要一个固态硬盘来单独做系统盘,剩余空间要求不能用来缓存数据。这种情况下,用大容量硬盘做系统盘无疑是一种浪费,网心云的系统盘大小不会超过40G,所以最有性价比的方案是使用小容量的性能不拉胯的固态,因为我发现在跑量过程中,系统盘会时常出现读写,而目前市场上能买到的小容量固态往往性能不足,特别是120G以及以下的固态,所以大家在选购时要注意,后续我会根据自己的实测来发给大家推荐。如果你依旧要使用容量较大的硬盘来做系统,那么也尽量不要让系统盘剩余空间做数据缓存。
2,对于跑虚拟机的同学来说,情况要略微复杂一点。有一个总体思路是无论跑物理机还是虚拟机都需要遵循的,那就是尽量提升存储系统的IO性能。我举例说明一下,比如说你想上20T机械硬盘来跑网盘业务,方案一是2块10T的硬盘,方案二是5块4T的硬盘,方案三是10块2T的硬盘,在以上三种方案里,方案三的性能是最佳的,其理论传输速度比方案一快5倍,在实际应用过程中,使用方案一基本上在跑量起来之后硬盘组会被直接卡死,导致非常高的iowait,进而出现丢包、延迟过高甚至死机的现象。在虚拟环境下,一台虚拟机至少应该对应一块物理硬盘,特别是机械硬盘,因为其工作原理决定,如果一块物理硬盘上存放了来自多个虚拟机的虚拟硬盘,那么非常容易出现跑量低、卡顿甚至死机的现象。如果你使用的是大容量且性能很好的SATA固态,可以尝试一个对应对个虚拟机。但是在这里我依然强烈建议你不要那么做,因为这么做虽然看起来能开更多虚拟机,但是最终的收益会受到很大影响。同理,NVME的硬盘也一样,鉴于目前市面上民用级别产品的写入寿命限制,加上网心云在跑量时有写入放大的现象,一块固态对应多个网心云虚拟机会严重加大设备的写入量,这就是为什么有些同学的固态很快跑坏的原因之一。
3,综上所述,说一下目前阶段比较合适的规划方式。
如果全部是机械硬盘,那么尽量做到系统盘与数据缓存盘分开,强烈推荐上小容量性能可靠的固态来单独做系统盘。
如果全部用固态硬盘跑物理机的话,尽量让系统盘独立运作,不参与数据缓存。
如果全部用固态硬盘跑虚拟环境的话,尽量让系统盘独立运作,不参与缓存数据,并强烈推荐使用相关工具用内存为所有硬盘组追加高速缓存,能很大程度上较小写入量,延长硬盘寿命并有很好的加速效果。
如果是机械和固态混用的话,在这里我强烈建议你使用虚拟环境,利用内存和固态配合相关软件来一起为机械硬盘加速,机械硬盘组可以单独运作,也可以考虑系统下组软RAID0来运作,用这个方案的话部署起来灵活,性能也能得到最大程度上的提升,能做到物尽其用。需要注意的是,如果跑量高的话,比如说带宽能跑满500-1000Mbps或者更大时,需要注意内存散热。用这种方案一般不会受到硬盘一对一的规则限制,当然,实际跑业务时还是需要关注后台数据,高速缓存方案不是万能的。
4,回答几个网友的问题。
Q:物理机系统盘用固态相对于物理机系统盘用机械盘,对虚拟机的跑量有影响吗?
A:是的,有影响,使用固态硬盘做系统盘跑量会提升,当然,跑量大部分程度上油混存盘速度决定,但是强烈推荐大家用固态做系统盘。
Q:1、我看你上面说开虚拟机最好一个X86对应一块硬盘,可我一般习惯是划分两个虚拟盘给X86(好象跑定向必须把系统盘与数据盘分开),一个虚拟盘用来装X86系统,一个虚拟盘做X86数据盘,那这两个虚拟盘我是都放在一个4T物理硬盘上,还是说把虚拟数据盘放在4T物理盘上,虚拟系统盘放在其他物理硬盘上?
A:将系统和混存数据分开放永远比混合放在一起好。两个硬盘两台虚拟机这种比较极端的情况下,我们也应该将系统盘和数据缓存分开存放,也就是说,其中一块硬盘专门存放2台虚拟机的系统虚拟硬盘,另一块硬盘存放2台虚拟机的缓存数据虚拟硬盘。最后还是那句话,为了收益更好,不建议硬盘一对多,加硬盘吧骚年!
Q:在配置PRIMOCACHE时,可以关闭一级缓存只用二级缓存吗?会造成什么影响吗?
A:可以!目前这么做还没有发现有问题,但是不建议这么做,除非不得已。Primocache最精华的部分恰恰是一级缓存的优秀算法以及一级缓存和二级缓存之间的协作。一级缓存我们一般使用内存,默认模式是读写共享,个人认为这个模式也是最佳的模式。二级缓存一般我们选择类似傲腾这样4K性能绝佳的设备来做,一般民用级别固态特别是M2,不太适合用来做二级缓存,原因不仅是普通固态写入量低下容易写到死,更因为一般民用级别固态其4K性能并不出色,导致最终加速效果不明显。总之,只要能压榨出一点内存,就应该尽量开启一级缓存,哪怕是1G哪怕是512M,开启一级缓存这个软件才能真正起飞。

Q:全部硬盘都用的是固态,甚至都是M2固态,还需要用Primocache么?
A:如果你不讨厌这个软件或者对此类软件过敏,那么我强烈建议你使用。Primocache开启一级缓存之后,不仅仅能提升速度,更重要的意义是能阻止写入放大,并减小写入总量。在保护硬盘的同时提速,何乐而不为?

今天就到这里吧,累了,近期事情依旧比较多,但我会尽量抽时间来贴吧的。最后祝大家收益天天增加,硬盘跑不死,哈哈。