容量管理一直是个难点,对于CPU我们的做法是不同的环境制定不同的超分比来控制。
对于存储,通过容量动态趋势分析来对未来一定阶段存储容量做预估,从而实现业务需求。
对于最大化共享、最高效利用,目前也是在追求中。
先要对资源池制定容量指标。例如,X86虚拟机资源池一般会对CPU、内存和磁盘容量制定容量指标。制定相关指标好,要设置好扩容水位线。扩容水位线的设定与扩容周期相关,如果扩容周期要长达数月,那么扩容水位线的阈值最好低一些,如果扩容周期很短,则可以低一些,目标是在扩容周期内资源使用率不会达到100%。除了设置扩容水位线外,还要设置扩容目标线,也就是在扩容后,容量使用率应该下降到的百分比,以便在相对一个容量评估周期内容量使用率不会触及扩容水位线。
日常运营除了需要时时监控容量是否达到扩容水位线外,还需要定期进行容量评估,容量评估主要有三个数据来源,一个是用户的资源需求预估、一个是历史趋势分析、一个是资源现状,目标是在一个容量评估周期内,容量使用率不会触及扩容水位线,这样就可以计算出需要扩容的资源数量。
通过这些方法,就可以使得资源既不会因为不足而影响到服务供应,也不会因为设置过多buffer导致资源浪费、成本居高不下。
首先这个问题应该从资源池规划的角度去看待,应该做好容量规划、设好阈值和水位线,由粗到细。
不同种类资源池(计算、网络、存储)管理技术手段不同,但是容量管理本质上是一个运维优化的问题。可以选用容量水位(集群流量 / 集群性能 x 100%)作为容量管理规划模型,集群流量测定主要通过线上监控手段,而集群性能主要借助线上压测等手段。通过预定义安全水位、加机器水位等水位线,当集群负荷达到特定水位线时采取相应的措施。
最关键的还是最好前期规划。
资源池管理这些期望和系统分布冗余、隔离等管理需求还是有一些冲突的,这些方面需要规划上求取一个平衡。不可能面面俱到。从管理措施看,一开始宜粗不宜细。在实践中逐步加强。一开始管得过细,会引发较多的矛盾冲突,对系统的推广应用造成阻碍。
收起要实现资源的最大化利用,首先要对资源进行抽象,比如抽象出存储资源等,然后还需要对资源根据其特性进行资源分类,比如SSD的资源池和SAS组建的资源池肯定性能不同,光口和电口的网络资源肯定性能不同,通过分类后可以根据应用的特点去选择合适的资源。
收起资源池容量管理包含计算资源、存储资源、网络资源甚至还有安全资源。实现资源最大化共享通过资源虚拟化技术是最好的解决办法,通过虚拟化后的资源池化,可以依据底层资源的不同特点和性能优势划分不同的资源池,能够最大发挥资源的利用率,同时起到节约成本,管理优化的目的
收起