《一种HA预警方法及虚拟资源管理器.pdf》由会员分享,可在线阅读,更多相关《一种HA预警方法及虚拟资源管理器.pdf(16页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103593249 A (43)申请公布日 2014.02.19 CN 103593249 A (21)申请号 201310571736.X (22)申请日 2013.11.13 G06F 11/00(2006.01) G06F 9/455(2006.01) (71)申请人 华为技术有限公司 地址 518129 广东省深圳市龙岗区坂田华为 总部办公楼 (72)发明人 刘宝起 (74)专利代理机构 北京中博世达专利商标代理 有限公司 11274 代理人 申健 (54) 发明名称 一种 HA 预警方法及虚拟资源管理器 (57) 摘要 本发明实施例提供的 HA 预警方法及虚。
2、拟资 源管理器, 涉及通信领域, 可以在产生 HA 预警时 减少误差, 提高HA预警准确度。 所述方法包括 : 将 服务器集群中同一规格个数最多的虚拟机的 CPU 资源和内存资源作为虚拟机标准规格 ; 选择 N 个 CPU 资源最大的服务器为预设故障服务器, 剩余 服务器为预设正常服务器 ; 针对每一台预设正常 服务器, 计算预设正常服务器的状态值并将各个 预设正常服务器的状态值相加, 获得服务器状态 值总和 ; 针对服务器集群中的每一台虚拟机, 计 算虚拟机的状态值, 并将各个虚拟机的状态值相 加, 获得虚拟机状态值总和 ; 比较虚拟机状态值 总和是否大于服务器状态值总和 ; 若大于, 则发。
3、 出 HA 预警, 若小于等于, 则不发出 HA 预警。 (51)Int.Cl. 权利要求书 3 页 说明书 10 页 附图 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书3页 说明书10页 附图2页 (10)申请公布号 CN 103593249 A CN 103593249 A 1/3 页 2 1. 一种 HA 预警方法, 应用于一个服务器集群, 其特征在于, 包括 : 确定虚拟机标准规格, 其中, 所述虚拟机标准规格为所述服务器集群中同一规格个数 最多的虚拟机的 CPU 资源和内存资源 ; 选择所述服务器集群中的 N 个 CPU 资源最大的服务器为预设故障服。
4、务器, 剩余服务器 为预设正常服务器, 所述 N 为大于 0 的整数, 所述资源包括 CPU 资源和内存资源 ; 针对每一台所述预设正常服务器, 计算所述预设正常服务器的状态值, 所述预设正常 服务器的状态值为所述预设正常服务器的资源与所述虚拟机标准规格中的资源的比值中 的最小值 ; 将各个所述预设正常服务器的所述状态值相加, 获得服务器状态值总和 ; 针对所述服务器集群中的每一台虚拟机, 计算所述虚拟机的状态值, 所述虚拟机的状 态值为所述虚拟机的资源与所述虚拟机标准规格中的资源的比值中的最大值 ; 将各个所述虚拟机的状态值相加, 获得虚拟机状态值总和 ; 比较所述虚拟机状态值总和是否大于所。
5、述服务器状态值总和 ; 若大于, 则发出 HA 预警, 若小于等于, 则不发出 HA 预警。 2.根据权利要求1所述的方法, 其特征在于, 所述选择所述服务器集群中的N个CPU资 源最大的服务器为预设故障服务器, 包括 : 将所有所述服务器按照CPU资源从大到小的顺序排序, 若所述服务器的CPU资源相同, 则按照内存资源从大到小的顺序排序, 获得服务器资源顺序表 ; 选择所述服务器资源顺序表中的前 N 台服务器为预设故障服务器。 3. 根据权利要求 2 所述的方法, 其特征在于, 在获得所述服务器资源顺序表时, 若所述 服务器的 CPU 资源和内存资源均相同, 则按照服务器的索引号从小到大排序。
6、。 4. 根据权利要求 1-3 任意一项所述的方法, 其特征在于, 若所述服务器集群承载的业务为普通业务, 则所述 N 为 1 或 2 ; 若所述服务器集群承载 的业务为重要业务, 则所述 N 为所述服务器集群中服务器的个数的 50%。 5. 根据权利要求 1-4 任意一项所述的方法, 其特征在于, 所述预设正常服务器的状态 值为 : 所述预设正常服务器的 CPU 资源除以所述虚拟机标准规格中的 CPU 资源后向下取整 得到的值, 以及所述预设正常服务器的内存资源除以所述虚拟机标准规格中的内存资源后 向下取整得到的值, 中的最小值。 6. 根据权利要求 1-4 任意一项所述的方法, 其特征在于。
7、, 在所述虚拟机的 CPU 资源和 内存资源均小于等于所述虚拟机标准规格中的 CPU 资源和内存资源时, 所述虚拟机的状态 值为 1 ; 在所述虚拟机的 CPU 资源大于所述虚拟机标准规格中的 CPU 资源, 或所述虚拟机的 内存资源大于所述虚拟机标准规格中的内存资源时, 所述虚拟机的状态值为 : 所述虚拟机 的 CPU 资源除以所述虚拟机标准规格中的 CPU 资源后向上取整得到的值, 以及所述虚拟机 的内存资源除以所述虚拟机标准规格中的内存资源后向上取整得到的值, 中的最大值。 7. 根据权利要求 1 所述的方法, 其特征在于, 所述针对每一台所述预设正常服务器, 计 算所述预设正常服务器的。
8、状态值, 还包括 : 若所述预设正常服务器出现异常, 则将出现异常的预设正常服务器的状态值设置为 0。 8. 根据权利要求 1 所述的方法, 其特征在于, 所述针对每一台所述虚拟机, 计算所述虚 拟机的状态值, 还包括 : 权 利 要 求 书 CN 103593249 A 2 2/3 页 3 若所述虚拟机出现异常, 则将出现异常的虚拟机的状态值设置为 0。 9. 一种虚拟资源管理器, 其特征在于, 包括 : 确定单元, 用于确定虚拟机标准规格, 其中, 所述虚拟机标准规格为所述服务器集群中 同一规格个数最多的虚拟机的 CPU 资源和内存资源 ; 选择单元, 用于选择所述服务器集群中的 N 个 。
9、CPU 资源最大的服务器为预设故障服务 器, 剩余服务器为预设正常服务器, 所述 N 为大于 0 的整数, 所述资源包括 CPU 资源和内存 资源 ; 计算单元, 用于针对每一台所述预设正常服务器, 计算所述预设正常服务器的状态值, 所述预设正常服务器的状态值为所述预设正常服务器的资源与所述虚拟机标准规格中的 资源的比值中的最小值 ; 所述计算单元还用于, 将各个所述预设正常服务器的所述状态值相加, 获得服务器状 态值总和 ; 所述计算单元还用于, 针对所述服务器集群中的每一台虚拟机, 计算所述虚拟机的状 态值, 所述虚拟机的状态值为所述虚拟机的资源与所述虚拟机标准规格中的资源的比值中 的最大。
10、值 ; 所述计算单元还用于, 将各个所述虚拟机的状态值相加, 获得虚拟机状态值总和 ; 比较单元, 用于比较所述计算单元获得的所述虚拟机状态值总和是否大于所述计算单 元获得的所述服务器状态值总和 ; 预警单元, 用于在所述比较单元比较出所述虚拟机状态值总和大于所述服务器状态值 总和时发出 HA 预警 ; 在所述比较单元比较出所述虚拟机状态值总和小于等于所述服务器 状态值总和时不发出 HA 预警。 10. 根据权利要求 9 所述的虚拟资源管理器, 其特征在于, 所述选择单元具体用于, 将 所有所述服务器按照CPU资源从大到小的顺序排序, 若所述服务器的CPU资源相同, 则按照 内存资源从大到小的。
11、顺序排序, 获得服务器资源顺序表 ; 并选择所述服务器资源顺序表中 的前 N 台服务器为预设故障服务器。 11. 根据权利要求 10 所述的虚拟资源管理器, 其特征在于, 所述选择单元还用于, 在获 得所述服务器资源顺序表时, 若所述服务器的 CPU 资源和内存资源均相同, 则按照服务器 的索引号从小到大排序。 12. 根据权利要求 9-11 任意一项所述的虚拟资源管理器, 其特征在于, 若所述服务器 集群承载的业务为普通业务, 则所述 N 为 1 或 2 ; 若所述服务器集群承载的业务为重要业 务, 则所述 N 为所述服务器集群中服务器的个数的 50%。 13. 根据权利要求 9-12 任意。
12、一项所述的虚拟资源管理器, 其特征在于, 所述预设正常 服务器的CPU资源除以所述确定单元确定的所述虚拟机标准规格中的CPU资源后向下取整 得到的值, 以及所述预设正常服务器的内存资源除以所述确定单元确定的所述虚拟机标准 规格中的内存资源后向下取整得到的值, 中的最小值。 14. 根据权利要求 9-12 任意一项所述的虚拟资源管理器, 其特征在于, 在所述虚拟机 的CPU资源和内存资源均小于等于所述确定单元确定的所述虚拟机标准规格中的CPU资源 和内存资源时, 所述虚拟机的状态值为 1 ; 在所述虚拟机的 CPU 资源大于所述确定单元确定 的所述虚拟机标准规格中的 CPU 资源, 或所述虚拟机。
13、的内存资源大于所述虚拟机标准规格 权 利 要 求 书 CN 103593249 A 3 3/3 页 4 中的内存资源时, 所述虚拟机的状态值为 : 所述虚拟机的 CPU 资源除以所述虚拟机标准规 格中的 CPU 资源后向上取整得到的值, 以及所述虚拟机的内存资源除以所述虚拟机标准规 格中的内存资源后向上取整得到的值, 中的最大值。 15. 根据权利要求 9 所述的虚拟资源管理器, 其特征在于, 所述计算单元还用于, 在所 述预设正常服务器出现异常时, 将出现异常的预设正常服务器的状态值设置为 0。 16. 根据权利要求 9 所述的虚拟资源管理器, 其特征在于, 所述计算单元还用于, 在所 述虚。
14、拟机出现异常时, 将出现异常的虚拟机的状态值设置为 0。 权 利 要 求 书 CN 103593249 A 4 1/10 页 5 一种 HA 预警方法及虚拟资源管理器 技术领域 0001 本发明涉及通信领域, 尤其涉及一种 HA(high availability, 高可用性) 预警方 法及虚拟资源管理器。 背景技术 0002 在云计算中采用虚拟化技术, 可以允许一个服务器可以同时为多个虚拟机提供服 务, 并且每一个虚拟机都可以独立运行而互不影响, 从而显著提高工作效率。 针对某一个有 多台服务器的集群, 管理员可以提前假定该集群中会有任意 N 台服务器 (N 为大于零的正整 数) 出现故障,。
15、 系统会进行 HA 预警计算, 即计算剩余的正常服务器的资源, 并检测剩余的正 常服务器的资源是否可以承载集群下所有虚拟机的正常运行, 如果不能承载集群下所有虚 拟机的正常运行则产生 HA 预警。这样管理员就可以据 HA 预警对集群进行扩容或者减容操 作。 0003 现有技术中的一种 HA 预警方法是, 假定资源最多的 N 台服务器出现故障, 统计剩 余的预设正常服务器的 CPU 资源总和及内存资源总和, 统计集群中的虚拟机的 CPU 资源总 和及内存资源总和。 如果剩余的预设正常服务器的CPU资源总和小于虚拟机CPU资源总和, 或剩余的预设正常服务器的内存总和小于虚拟机的内存总和, 就会产生。
16、 HA 预警。示例的, 可以用 aUbG 的形式表示服务器和虚拟机的规格, 其中 U 代表 CPU,G 代表内存, 假设一个集 群中有三台规格都为 1U1G 服务器和一个规格为 2U2G 的虚拟机, 预设 N 等于 1, 这时剩余的 预设正常服务器的 CPU 资源总和及内存资源总和为 2U2G, 根据上述算法是可以承载该集群 下规格为 2U2G 的虚拟机的正常运行, 不应产生 HA 预警 ; 但事实上一个规格为 2U2G 的虚拟 机是不能被两个规格为 1U1G 的服务器承载的, 即此时集群中正常服务器是不能够承载集 群下所有虚拟机的正常运行的, 应该产生 HA 预警。故按照上述的 HA 预警方。
17、法存在误差。 0004 还存在一种 HA 预警方法, 检测集群下虚拟机 CPU 资源和内存资源的最大值, 将这 两个最大值预设为虚拟机标准规格, 假定资源最多的 N 台服务器出现故障, 然后统计剩余 的预设正常服务器中 CPU 资源、 内存资源均大于或等于虚拟机标准规格中的 CPU 资源和内 存资源的服务器数量 X, 统计集群中虚拟机的总数量 Y。当 X 小于 Y 时产生 HA 预警。示例 的, 假设集群中有三台服务器且规格分别为 3U3G, 各服务器下的虚拟机规格分别为 2U1G、 1U2G、 1U1G, 预设N等于1 ; 根据上述算法确定出的虚拟机标准规格为2U2G, 这时剩余的2台 服务。
18、器均有 3U 大于 2U、 3G 大于 2G, 所以 X 等于 2, 而 Y 等于 3, 由于 2 小于 3 所以产生 HA 预 警。事实上剩余的 2 台规格为 3U3G 的服务器可以承载上述三种规格的虚拟机的正常运行, 不需要产生 HA 预警, 所以这种 HA 预警方法也存在误差。 发明内容 0005 本发明的实施例提供的一种 HA 预警方法及虚拟资源管理器, 可以在产生 HA 预警 时减少误差, 提高 HA 预警准确度。 0006 第一方面, 公开了一种 HA 预警方法, 包括 : 说 明 书 CN 103593249 A 5 2/10 页 6 0007 确定虚拟机标准规格, 其中, 所述。
19、虚拟机标准规格为所述服务器集群中同一规格 个数最多的虚拟机的 CPU 资源和内存资源 ; 0008 选择所述服务器集群中的 N 个 CPU 资源最大的服务器为预设故障服务器, 剩余服 务器为预设正常服务器, 所述 N 为大于 0 的整数, 所述资源包括 CPU 资源和内存资源 ; 0009 针对每一台所述预设正常服务器, 计算所述预设正常服务器的状态值, 所述预设 正常服务器的状态值为所述预设正常服务器的资源与所述虚拟机标准规格中的资源的比 值中的最小值 ; 0010 将各个所述预设正常服务器的所述状态值相加, 获得服务器状态值总和 ; 0011 针对所述服务器集群中的每一台虚拟机, 计算所述。
20、虚拟机的状态值, 所述虚拟机 的状态值为所述虚拟机的资源与所述虚拟机标准规格中的资源的比值中的最大值 ; 0012 将各个所述虚拟机的状态值相加, 获得虚拟机状态值总和 ; 0013 比较所述虚拟机状态值总和是否大于所述服务器状态值总和 ; 0014 若大于, 则发出 HA 预警, 若小于等于, 则不发出 HA 预警。 0015 结合第一方面, 在第一种可能的实现方式中, 所述选择所述服务器集群中的 N 个 CPU 资源最大的服务器为预设故障服务器, 包括 : 0016 将所有所述服务器按照 CPU 资源从大到小的顺序排序, 若所述服务器的 CPU 资源 相同, 则按照内存资源从大到小的顺序排。
21、序, 获得服务器资源顺序表 ; 0017 选择所述服务器资源顺序表中的前 N 台服务器为预设故障服务器。 0018 结合第一方面的第一种可能的实现方式, 在第二种可能的实现方式中, 在获得所 述服务器资源顺序表时, 若所述服务器的 CPU 资源和内存资源均相同, 则按照服务器的索 引号从小到大排序。 0019 结合第一方面、 第一方面的第一种可能的实现方式或第一方面的第二种可能的实 现方式, 在第三种可能的实现方式中, 若所述服务器集群承载的业务为普通业务, 则所述 N 为 1 或 2 ; 若所述服务器集群承载的业务为重要业务, 则所述 N 为所述服务器集群中服务器 的个数的 50%。 002。
22、0 结合第一方面、 第一方面的第一种可能的实现方式、 第一方面的第二种可能的实 现方式和第一方面的第三种可能的实现方式, 在第四种可能的实现方式中, 所述预设正常 服务器的状态值为 : 所述预设正常服务器的 CPU 资源除以所述虚拟机标准规格中的 CPU 资 源后向下取整得到的值, 以及所述预设正常服务器的内存资源除以所述虚拟机标准规格中 的内存资源后向下取整得到的值, 中的最小值。 0021 结合第一方面、 第一方面的第一种可能的实现方式、 第一方面的第二种可能的实 现方式和第一方面的第三种可能的实现方式, 在第四种可能的实现方式中, 在所述虚拟机 的 CPU 资源和内存资源均小于等于所述虚。
23、拟机标准规格中的 CPU 资源和内存资源时, 所述 虚拟机的状态值为 1 ; 在所述虚拟机的 CPU 资源大于所述虚拟机标准规格中的 CPU 资源, 或所述虚拟机的内存资源大于所述虚拟机标准规格中的内存资源时, 所述虚拟机的状态值 为 : 所述虚拟机的CPU资源除以所述虚拟机标准规格中的CPU资源后向上取整得到的值, 以 及所述虚拟机的内存资源除以所述虚拟机标准规格中的内存资源后向上取整得到的值, 中 的最大值。 0022 结合第一方面, 在第六种可能的实现方式中, 所述针对每一台所述预设正常服务 说 明 书 CN 103593249 A 6 3/10 页 7 器, 计算所述预设正常服务器的状。
24、态值, 还包括 : 0023 若所述预设正常服务器出现异常, 则将出现异常的预设正常服务器的状态值设置 为 0。 0024 结合第一方面, 在第七种可能的实现方式中, 所述针对每一台所述虚拟机, 计算所 述虚拟机的状态值, 还包括 : 0025 若所述虚拟机出现异常, 则将出现异常的虚拟机的状态值设置为 0。 0026 第二方面, 公开了一种虚拟资源管理器, 包括 : 0027 确定单元, 用于确定虚拟机标准规格, 其中, 所述虚拟机标准规格为所述服务器集 群中同一规格个数最多的虚拟机的 CPU 资源和内存资源 ; 0028 选择单元, 用于选择所述服务器集群中的 N 个 CPU 资源最大的服。
25、务器为预设故障 服务器, 剩余服务器为预设正常服务器, 所述 N 为大于 0 的整数, 所述资源包括 CPU 资源和 内存资源 ; 0029 计算单元, 用于针对每一台所述预设正常服务器, 计算所述预设正常服务器的状 态值, 所述预设正常服务器的状态值为所述预设正常服务器的资源与所述虚拟机标准规格 中的资源的比值中的最小值 ; 0030 所述计算单元还用于, 将各个所述预设正常服务器的所述状态值相加, 获得服务 器状态值总和 ; 0031 所述计算单元还用于, 针对所述服务器集群中的每一台虚拟机, 计算所述虚拟机 的状态值, 所述虚拟机的状态值为所述虚拟机的资源与所述虚拟机标准规格中的资源的比。
26、 值中的最大值 ; 0032 所述计算单元还用于, 将各个所述虚拟机的状态值相加, 获得虚拟机状态值总 和 ; 0033 比较单元, 用于比较所述计算单元获得的所述虚拟机状态值总和是否大于所述计 算单元获得的所述服务器状态值总和 ; 0034 预警单元, 用于在所述比较单元比较出所述虚拟机状态值总和大于所述服务器状 态值总和时发出 HA 预警 ; 在所述比较单元比较出所述虚拟机状态值总和小于等于所述服 务器状态值总和时不发出 HA 预警。 0035 结合第二方面, 在第一种可能的实现方式中, 所述选择单元具体用于, 将所有所述 服务器按照CPU资源从大到小的顺序排序, 若所述服务器的CPU资源。
27、相同, 则按照内存资源 从大到小的顺序排序, 获得服务器资源顺序表 ; 并选择所述服务器资源顺序表中的前 N 台 服务器为预设故障服务器。 0036 结合第二方面的第一种可能的实现方式, 在第二种可能的实现方式中, 所述选择 单元还用于, 在获得所述服务器资源顺序表时, 若所述服务器的 CPU 资源和内存资源均相 同, 则按照服务器的索引号从小到大排序。 0037 结合第二方面、 第二方面的第一种可能的实现方式或第二方面的第二种可能的实 现方式, 在第三种可能的实现方式中, 若所述服务器集群承载的业务为普通业务, 则所述 N 为 1 或 2 ; 若所述服务器集群承载的业务为重要业务, 则所述 。
28、N 为所述服务器集群中服务器 的个数的 50%。 0038 结合第二方面、 第二方的第一种可能的实现方式、 第二方面的第二种可能的实现 说 明 书 CN 103593249 A 7 4/10 页 8 方式和第二方的第三种可能的实现方式, 在第四种可能的实现方式中, 所述预设正常服务 器的状态值为 : 所述预设正常服务器的 CPU 资源除以所述虚拟机标准规格中的 CPU 资源后 向下取整得到的值, 以及所述预设正常服务器的内存资源除以所述虚拟机标准规格中的内 存资源后向下取整得到的值, 中的最小值。 0039 结合第二方面、 第二方面的第一种可能的实现方式、 第二方面的第二种可能的实 现方式和第。
29、二方面的第三种可能的实现方式, 在第五种可能的实现方式中, 在所述虚拟机 的 CPU 资源和内存资源均小于等于所述虚拟机标准规格中的 CPU 资源和内存资源时, 所述 虚拟机的状态值为 1 ; 在所述虚拟机的 CPU 资源大于所述虚拟机标准规格中的 CPU 资源, 或所述虚拟机的内存资源大于所述虚拟机标准规格中的内存资源时, 所述虚拟机的状态值 为 : 所述虚拟机的CPU资源除以所述虚拟机标准规格中的CPU资源后向上取整得到的值, 以 及所述虚拟机的内存资源除以所述虚拟机标准规格中的内存资源后向上取整得到的值, 中 的最大值。 0040 结合第二方面, 在第六种可能的实现方式中, 所述计算单元。
30、还用于, 在所述预设正 常服务器出现异常时, 将出现异常的预设正常服务器的状态值设置为 0。 0041 结合第二方面, 在第七种可能的实现方式中, 所述计算单元还用于, 在所述虚拟机 出现异常时, 将出现异常的虚拟机的状态值设置为 0。 0042 本发明实施例提供的 HA 预警方法及虚拟资源管理器, 将服务器集群中同一规格 个数最多的虚拟机的 CPU 资源和内存资源, 作为虚拟机标准规格, 计算集群中各个预设正 常服务器的状态值和各个虚拟机的状态值, 然后将各个预设正常服务器的状态值相加获得 预设正常服务器状态值总和, 将各个虚拟机的状态值相加获得, 比较所述虚拟机状态值总 和是否大于所述预设。
31、正常服务器状态值总和, 若大于, 则产生 HA 预警。与现有技术中仅比 较预设正常服务器总资源和虚拟机总资源, 或将所有虚拟机中 CPU 资源和内存资源的最大 值作为虚拟机标准规格的 CPU 资源和内存资源, 导致 HA 预警出现误差相比, 本发明提供的 HA 预警方法, 将虚拟机的标准规格修订为众数, 代表了数据的一般水平, 故可以在产生 HA 预警时减少误差, 提高 HA 预警准确度。 附图说明 0043 图 1 为本发明实施例 1 提供的一种 HA 预警方法的流程示意图 ; 0044 图 2 为本发明实施例 2 提供的一种虚拟资源管理器的结构框图 ; 0045 图 3 为本发明实施例 3。
32、 提供的一种虚拟资源管理器的结构框图。 具体实施方式 0046 下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完 整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。基于 本发明中的实施例, 本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例, 都属于本发明保护的范围。 0047 实施例 1 : 0048 本发明实施例提供了一种HA预警方法, 应用于一个服务器集群, 如图1所示, 所述 方法包括以下步骤 : 说 明 书 CN 103593249 A 8 5/10 页 9 0049 101、 确定虚拟机标准规格。 0050。
33、 其中, 所述虚拟机标准规格为所述服务器集群中同一规格个数最多的虚拟机的规 格, 所述虚拟机的规格包括 CPU 资源和内存资源。 0051 众数是一组数据中出现次数最多的数值, 代表数据的一般水平。将所述服务器集 群中同一规格个数最多的虚拟机的CPU资源和内存资源作为虚拟机标准规格中的CPU资源 和内存资源, 可以表示集群中虚拟机规格的普遍情况, 进而提高 HA 预警的准确性。 0052 示例的, 若集群 A 中有 1 台 2U1G 虚拟机、 1 台 1U2G 虚拟机、 2 台 1U1G 虚拟机, 其中 1U1G 虚拟机是个数最多的虚拟机, 所以在该集群中, 确定的虚拟机标准规格为 1U1G。。
34、 0053 102、 选择所述服务器集群中的 N 个 CPU 资源最大的服务器为预设故障服务器, 剩 余服务器为预设正常服务器, 所述 N 为大于 0 的整数。 0054 针对某一个有多台服务器的集群, 管理员可以提前假定该集群中会有任意 N 台服 务器 (N 为大于零的正整数) 出现故障, 系统会进行 HA 预警计算, 即计算剩余的正常服务器 的资源, 并检测剩余的正常服务器的资源是否可以承载集群下所有虚拟机的正常运行, 如 果不能承载集群下所有虚拟机的正常运行则产生 HA 预警。这样管理员就可以据 HA 预警对 集群进行扩容或者减容操作。 0055 这里, 选择所述服务器集群中的 N 个资。
35、源最大的服务器为预设故障服务器的方法 主要包括 : 将所有所述服务器按照 CPU 资源从大到小的顺序排序, , 若所述服务器的 CPU 资 源相同, 则按照内存资源从大到小的顺序排序, 获得服务器资源顺序表, 其中若所述服务器 的 CPU 资源和内存资源均相同, 则按照服务器的索引号从小到大排序。选择所述服务器资 源顺序表中的前 N 台服务器为预设故障服务器。 0056 若服务器集群当前承载的业务为普通业务, 在进行 HA 预警时, 首先将所述 N 设置 为1-2台。 若服务器集群当前承载的业务为重要业务, 则将N设置为集群中服务器个数50%。 示例的, 在集群 A 中有 2 台 2U1G 服。
36、务器、 1 台 3U3G 服务器、 1 台 4U2G。若当前业务为普通 业务, 则将 N 设置为 1(或 2) , 这时在集群 A 中, 获得的服务器资源顺序表中的前 1 台为规 格为 4U2G 的服务器, 故将这台服务器设置为预设故障服务器, 则剩余的 2 台 2U1G 服务器、 1 台 3U3G 服务器均为预设正常服务器。 0057 103、 针对每一台所述预设正常服务器, 计算所述预设正常服务器的状态值。 0058 其中, 所述预设正常服务器的状态值为所述预设正常服务器的资源与所述虚拟机 标准规格中的资源的比值中的最小值。所述预设正常服务器的状态值的具体为 : 所述预设 正常服务器的 C。
37、PU 资源除以所述虚拟机标准规格中的 CPU 资源后向下取整得到的值, 以及 所述预设正常服务器的内存资源除以所述虚拟机标准规格中的内存资源后向下取整得到 的值, 中的最小值。 0059 计算所述预设正常服务器的状态值, 在所述预设正常服务器出现异常时, 针对该 预设正常服务器进行上述计算步骤, 可以获得准确的 HA 预警结果。 0060 或者, 在所述预设正常服务器出现异常时, 将该预设正常服务器的状态值设置为 0, 可以得到更为准确的 HA 预警结果。这里所述预设正常服务器出现异常包括 : 如果某一 台服务器下电后, 该服务器的管理节点会将该服务器属性设置为 False, 进而在计算所述预。
38、 设正常服务器的状态值时, 若该服务器属性为 False, 则不计算该服务器的状态值。在进行 HA 预警之前, 会将集群下的服务器的属性设置为 Ture, 并将所述服务器资源顺序表中的前 说 明 书 CN 103593249 A 9 6/10 页 10 N 台服务器的属性设置为 False, 通常剩余的服务器的属性应均为 Ture, 但如果某服务器出 现异常, 例如某一台服务器下电, 则剩余的服务器中就会出现属性为 False 的预设正常服 务器。 0061 示例的, 有步骤 101 可知, 集群 A 中虚拟机标准规格为 1U1G。针对集群 A 中的所 有预设正常服务器, 计算所述预设正常服务。
39、器的状态值。对于 2 台 2U1G 服务器均有 round down(2U/1U) =2, round down(1G/1G) =1, 即 CPU 资源 2U 除以虚拟机标准规格中的 CPU 资 源 1U, 得到 2 向下取整得到 2。内存资源 1G 除以虚拟机标准规格中的 CPU 资源 1G, 得到 1 向下取整得到 1。由于 1 小于 2, 所以 2 台 2U1G 服务器的状态值均为 1。这里 round down 在数学公式中表示向下取整, 在计算过程中, 如果得到的结果不是整数, 如 1.6, 向下取整得 到的结果就是 1。 0062 同理, 对于 1 台 3U3G 服务器均有, ro。
40、und down(3U/1U) =3, round down(3G/1G) =3, 所以 3 台 3U3G 服务器的状态值为 3。 0063 104、 将各个所述预设正常服务器的所述状态值相加, 获得服务器状态值总和。 0064 示例的, 在集群 A 中计算获得 2U1G 服务器和 3U3G 服务器的所述预设正常服务器 的状态值分别为 1、 3, 由于集群 A 所述预设正常服务器有 2 台 2U1G 服务器和 1 台 3U3G 服务 器和, 12+31=5, 得到所述服务器状态值总和为 5。 0065 105、 针对所述服务器集群中的每一台虚拟机, 计算所述虚拟机的状态值。 0066 其中, 。
41、所述虚拟机的状态值为所述虚拟机的资源与所述虚拟机标准规格中的资源 的比值中的最大值。所述虚拟机的状态值具体包括 : 在所述虚拟机的 CPU 资源和内存资源 均小于等于所述虚拟机标准规格中的 CPU 资源和内存资源时, 所述虚拟机的状态值为 1 ; 在 所述虚拟机的 CPU 资源大于所述虚拟机标准规格中的 CPU 资源, 或所述虚拟机的内存资源 大于所述虚拟机标准规格中的内存资源时, 所述虚拟机的状态值为 : 所述虚拟机的 CPU 资 源除以所述虚拟机标准规格中的 CPU 资源后向上取整得到的值, 以及所述虚拟机的内存资 源除以所述虚拟机标准规格中的内存资源后向上取整得到的值, 中的最大值。 0。
42、067 计算所述虚拟机的状态值, 在所述虚拟机出现异常时, 针对该虚拟机进行上述计 算步骤, 可以获得准确的 HA 预警结果。 0068 或者, 在所述虚拟机出现异常时, 将该虚拟机的状态值设置为 0, 可以得到更为准 确的 HA 预警结果。这里, 所述虚拟机出现异常包括 : 虚拟机时 HA 属性为 False, 进而在计 算所述虚拟机的状态值时, 不计算该虚拟机的状态值。在进行 HA 预警之前, 会将集群下虚 拟机的 HA 属性设置为 True 或 False, 不设置的虚拟机 HA 属性默认为 False。 0069 示例的, 有步骤 101 可知, 集群 A 中虚拟机标准规格为 1U1G。
43、。针对集群 A 中的所有 虚拟机, 计算所述虚拟机的状态值。对于 1 台 2U1G 虚拟机有 round up(2U/1U) =2, round up (1G/1G) =1, 即 CPU 资源 2U 除以虚拟机标准规格中的 CPU 资源 1U, 得到 2 向上取整得到 2。内存资源 1G 除以虚拟机标准规格中的 CPU 资源 1G, 得到 1 向上取整得到 1。由于 2 大 于 1, 所以这台 2U1G 虚拟机的状态值为 2。round up, 在数学公式中表示向上取整, 在计算 过程中, 如果得到的结果不是整数, 如 1.4, 向上取整得到的结果就是 2。 0070 同理, 对于 1 台 1。
44、U2G 虚拟机均有 round up(1U/1U) =1, round up(2G/1G) =2,2 大于 1, 所以这台 1U2G 虚拟机的状态值为 2。对于 2 台 1U1G 虚拟机均有 round up (1U/1U) =1, round up(1G/1G) =1, 所以这 3 台 1U1G 虚拟机的状态值均为 1。 说 明 书 CN 103593249 A 10 7/10 页 11 0071 106、 将各个所述虚拟机的状态值相加, 获得虚拟机状态值总和。 0072 示例的, 在集群A中计算获得2U1G虚拟机、 1U2G虚拟机和1U1G虚拟机的所述虚拟 机的状态值分别为 2、 2、 1。
45、, 由于集群 A 中有 1 台 2U1G 虚拟机、 1 台 1U2G 虚拟机和 2 台 1U1G 虚拟机, 21+21+12=6 得到所述服务器状态值总和为 6。 0073 107、 比较所述虚拟机状态值总和是否大于所述服务器状态值总和。 0074 若大于, 则进行步骤 108。 0075 示例的, 集群A中, 所述虚拟机状态值总和为6, 所述服务器状态值总和为5,5小于 6, 所以进行步骤108。 这里, 若步骤106获得的所述虚拟机状态值总和不大于步骤104获得 的所述服务器状态值总和, 则不会进行步骤 108。 0076 108、 发出 HA 预警。 0077 发出所述 HA 预警后, 。
46、管理员就可以根据所述 HA 预警对集群进行扩容或减容的操 作。 0078 若一个集群中有 3 台 1U1G 服务器和 1 台 2U2G 虚拟机, 预设 N 等于 1, 则应用现 有技术中的第一种方法, 最终的结果是不产生 HA 预警, 但事实上此时集群中正常服务器是 不能够承载集群下所有虚拟机的正常运行的, 应该产生 HA 预警。而应用本发明提供的方 法, 首先将 2U2G 确定为所述虚拟机标准规格。对于 2 台预设正常服务器, 均有 round down (1U/2U) =0, round down(1G/2G) =0, 所以 2 台 1U1G 服务器的状态值为 0, 因此所述正常服 务器状。
47、态值总和为 0。对于 1 台 2U2G 虚拟机有 round up(2U/2U) =1, round up(2G/2G) =1, 所以这台 2U2G 虚拟机的状态值均为 1, 所以所述虚拟机状态值总和为 1。又因为, 1 大 于 0, 最终产生 HA 预警, 故, 本发明提供的方法与现有技术的第一种方法相比更加准确。 0079 若集群中有 3 台 3U3G 服务器, 各服务器下的虚拟机规格分别为 2U1G、 1U2G、 1U1G, 预设 N 等于 1, 则应用现有技术中的第二种方法, 最终的结果是产生 HA 预警, 但事实上此时 集群中正常服务器是能够承载集群下所有虚拟机的正常运行的, 不应该。
48、产生 HA 预警。而 应用本发明提供的方法, 这三种规格的虚拟机均有一台, 将任意一台的规格作为虚拟机的 标准规格, 可确定所述虚拟机标准规格为 1U1G。排除 1 台 3U3G 服务器, 对于剩余的 2 台 3U3G 服务器均有 round down(3U/1U) =3, round down(3G/1G) =3, 所以 2 台 3U3G 服务器 的状态值均为 3, 所述正常服务器状态总值为 6。对于 2U1G 虚拟机, round up(2U/1U) =2, round up(1G/1G) =1,2 大于 1, 所以 2U1G 虚拟机的状态值为 2。对于 1U2G 虚拟机, round u。
49、p(1U/1U) =1, round up(2G/1G) =2,2 大于 1, 所以 1U2G 虚拟机的状态值为 2。对于 1U1G 虚拟机, round up(1U/1U) =1, round up(1G/1G) =1, 所以 1U1G 虚拟机的状态值为 1。故 所述虚拟机状态值总和为 2+2+1=5。又因为 5 不大于 6, 最终不产生 HA 预警, 故, 本发明提 供的方法与现有技术的第二种方法相比更加准确。 0080 本发明实施例提供的 HA 预警方法, 将服务器集群中同一规格个数最多的虚拟机 的 CPU 资源和内存资源, 作为虚拟机标准规格, 计算集群中各个预设正常服务器的状态值 和各个虚拟机的状态值, 然后将各个预设正常服务器的状态值相加获得预设正常服务器状 态值总和, 将各个虚拟机的状态值相加获得, 比较所述虚拟机状态值总和是否大于所述预 设正常服务器状态值总和, 若大于, 则产生 HA 预警。与现有技术中仅比较预设正常服务器 总资源和虚拟机总。