1958年2月6日,英国欧洲航空公司609次航班在西德慕尼黑机场第三度尝试起飞时失败撞毁,机上44名乘客及机组人员当中23人遇难,遇难者中包括著名的英超球队曼联的8名球员及3名职员,这场空难给曼联造成了毁灭性的的打击,使得曼联队在很多年内都无法翻身。这场空难后,很多球队有了不成文的规定,乘坐飞机时不要所有队员乘坐同一架飞机。
那么这个故事和本篇文章的主题有什么关系呢?
在公有云资源池里,云主机被创建出来时在分配在哪台宿主机上是随机的,这在绝大多数场景下是没有问题的,但对于高用性集群或者负载均衡集群里的云主机就可能有潜在的风险了。如果集群内的云主机被随机分配到同一台宿主机上,一旦云主机所在宿主机出现故障,则整个集群将发生故障,就像一支足球队坐上了同一架飞机。
那怎么让云主机不放到同一个篮子里呢?这就要用到我们天翼云的云主机组功能了。
什么是云主机组
云主机组是对云主机的一种逻辑划分,加入云主机组中的弹性云主机需要遵从同一策略。
当前天翼云支持的云主机组策略有:
强制亲和策略:此组中的云主机必须安排在同一台物理机;(云主机置放层级为宿主机层级)
强制反亲和策略:此组中的云主机必须安排在不同的物理机上;(云主机置放层级为宿主机层级)
亲和策略:如果可能的话,这个组中的云主机应该被安排到同一台物理机上,但是如果不可能的话,它们应该仍然被调度,而不是导致创建失败;(云主机置放层级为宿主机层级)
反亲和策略:如果可能的话,这个组中的云主机应该被安排到不同的物理机上,但是如果不可能的话,它们应该仍然被调度,而不是导致创建失败。(云主机置放层级为宿主机层级)
如何使用云主机组
假设我们有一个web集群,希望集群中的云主机可以创建在不同宿主机上,防止因宿主机故障导致同一集群内的多台云主机同时故障,使业务有着更高的稳定性。
创建云主机组
用户进入云主机控制台,点击【创建云主机组】,设置名称webservers,策略为强制反亲和性。
添加云主机
创建完云主机组之后,用户可以将已有的云主机添加到云主机组中,也可以在创建新的云主机时将其加入到该组中。
我们创建Web集群的云主机,在【高级配置】这一步选择webservers这个主机组,按照流程完成云主机的创建。
Web集群的所有云主机都成功创建后,webservers云主机组内的任意两台云主机都不会在同一台宿主机上,可以很好地避免出现把“所有鸡蛋放在同一个篮子里”的风险。