集群规模控制在多少节点可以取得比较好的表现,也就是即可以发挥分布式多节点IO的性能优势,又可以防止集群过大造成维护复杂甚至是性能下降?
分布式存储增加容量有两种方式,一就是增加节点数量,只要保证是奇数个,没有上限,但数量太多
(据说是500个,没有试过)性能会下降;二是增加每个节点的容量。
现在服务器容量都是很大的,一个节点可以有几十个T的盘整,500个节点,你可以想象是都大的规模,几百个p都是可以的,相信阿里都没有这么大的规模,当然不可能全存满,存个60%,几十个p是没有问题的。
所以,500个的“效率”上限,一般也是达不到的。需要空间时,你可以增加磁盘,加满了,就再加节点。
分布式存储的性能和存储系统的数据的切片粒度、分发机制、负载均衡策略、索引机制均有一定的关联,任意一点做不好都有可能影响到存储的性能以及扩展规模,所以集群最优节点数还是需要根据各厂商具体实现而定。
个人感官,分布式存储节点规格需支持在百台以上且性能可以随着规模的不断扩展呈近线性增长,才能符合现在的业务要求,但是规模越大确实会因为数据的重平衡带来一系列的问题,如:恢复数据占用资源过多影响业务访问等情况,这就需要厂商合理化的运维策略以及数据恢复机制来降低此类影响,从而屏蔽或最小化大规模对业务的影响。
另外,因为分布式存储的性能和前端业务系统的关联性也是非常强的,前端业务访问量、并发量越大,分布式存储的性能优势也就越容易体现,但是所有业务统一共用后端的硬件资源,或多或少都会存在一定的干扰以及影响,所以现在比较推荐的做法是资源的池化,即硬件设备可以通过不同的存储介质混搭构建,然后基于业务特点将存储资源池化,与业务系统进行相应的绑定,这样可以屏蔽干扰,让业务资源合理划分。