专有宿主机如何实现“资源池”管理——集群管理能力升级

专有宿主机是一台用户独享的部署了阿里云虚拟化平台的物理服务器,可以直接创建ECS实例,开箱即用。同时物理机可用资源对用户完全透明,用户可以自主的部署不同规格的ECS实例,对部署有绝对的自主权。

在专有宿主机上创建ECS实例时,用户获得了指定宿主机创建实例的自由。但是当具有多台宿主机的时候,每次创建实例都需要输入宿主机ID,也给资源部署造成了不必要的麻烦。为了解决这个困扰,便于宿主机资源池的集群化管理,阿里云为专有宿主机用户提供了两个提升管理自由度的新特性:

  • 专有宿主机提供:“允许自动部署”(AutoPlacement)属性
  • 专有宿主机上创建的ECS实例提供:“主机亲和性”(Affinity)属性

那么这两个属性如何使用?


举例说明:

image

阿里云用户小王管理着公司3台专有宿主机资源,宿主机A、宿主机B和宿主机C。
其中:

  1. 宿主机A、B为项目间共用资源,允许自动部署(AutoPlacement=yes)
  2. 宿主机C为某重点项目保留资源,为了避免受到其他业务影响,不允许自动部署(AutoPlacement=no);
  3. ECS实例1需要固定在宿主机A上,哪怕重启后也不允许飘逸至其他宿主机(Affinity=yes)
  4. ECS实例2不限制宿主机部署(Affinity=no)。

这样设置的效果:

  1. 在不指定宿主机创建新实例的情况下,ECS实例8可能会被创建在宿主机A,或者B上,但不会被部署在宿主机C上;
  2. 按图例所示资源情况,由于宿主机B上可用资源多余宿主机A,实例8会被优先创建在宿主机B上;
  3. ECS实例1在重启后依然处于宿主机A;
  4. ECS实例2在重启后有可能可能依然处于宿主机A,也会迁移至宿主机B,但不会被迁移至宿主机C上。

涉及的API接口:

  • AllocateDedicatedHosts

image

  • CreateInstance
  • RunInstances

image


此次一起发布的还有另外一个新功能——ECS停机后不占用宿主机资源
如果用户开启了停机不收费:

image

则宿主机上创建的ECS实例在停机的时候,将不占用宿主机的资源,重新启动实例则再次分配资源。该功能在使用宿主机部署测试环境的时候非常有帮助,理论上可以保有无限个停机的测试服务器,只在需要的时候启动某台服务器,这样就避免了重复创建和部署环境的痛苦:

image

在具备了“允许自动部署”和“主机亲和性”两个属性之后,对于资源池的管理复杂度将会有大幅的下降,宿主机集群的运维更加的智能和方便,而“ECS停机后不占用宿主机资源”也将提高宿主机资源的利用率,提高运维的效率。
目前“允许自动部署”和“主机亲和性”两个特性的Open API已经发布,可以参照文档进行操作。通过控制台管理的能力也会在不久后向用户开放。

如果您有对ECS云服务器和DDH专有宿主机产品的建议,欢迎告诉我们。

专有宿主机API文档:https://help.aliyun.com/document_detail/94570.html

猜你喜欢

转载自yq.aliyun.com/articles/702641