專有宿主機如何實現“資源池”管理——叢集管理能力升級
專有宿主機是一臺使用者獨享的部署了阿里雲虛擬化平臺的物理伺服器,可以直接建立ECS例項,開箱即用。同時物理機可用資源對使用者完全透明,使用者可以自主的部署不同規格的ECS例項,對部署有絕對的自主權。
在專有宿主機上建立ECS例項時,使用者獲得了指定宿主機建立例項的自由。但是當具有多臺宿主機的時候,每次建立例項都需要輸入宿主機ID,也給資源部署造成了不必要的麻煩。為了解決這個困擾,便於宿主機資源池的叢集化管理,阿里云為專有宿主機使用者提供了兩個提升管理自由度的新特性:
- 專有宿主機提供:“允許自動部署”(AutoPlacement)屬性
- 專有宿主機上建立的ECS例項提供:“主機親和性”(Affinity)屬性
那麼這兩個屬性如何使用?
舉例說明:
阿里雲使用者小王管理著公司3臺專有宿主機資源,宿主機A、宿主機B和宿主機C。
其中:
- 宿主機A、B為專案間共用資源,允許自動部署(AutoPlacement=yes)
- 宿主機C為某重點專案保留資源,為了避免受到其他業務影響,不允許自動部署(AutoPlacement=no);
- ECS例項1需要固定在宿主機A上,哪怕重啟後也不允許飄逸至其他宿主機(Affinity=yes)
- ECS例項2不限制宿主機部署(Affinity=no)。
這樣設定的效果:
- 在不指定宿主機建立新例項的情況下,ECS例項8可能會被建立在宿主機A,或者B上,但不會被部署在宿主機C上;
- 按圖例所示資源情況,由於宿主機B上可用資源多餘宿主機A,例項8會被優先建立在宿主機B上;
- ECS例項1在重啟後依然處於宿主機A;
- ECS例項2在重啟後有可能可能依然處於宿主機A,也會遷移至宿主機B,但不會被遷移至宿主機C上。
涉及的API介面:
- AllocateDedicatedHosts
- CreateInstance
- RunInstances
此次一起釋出的還有另外一個新功能——ECS停機後不佔用宿主機資源
如果使用者開啟了停機不收費:
則宿主機上建立的ECS例項在停機的時候,將不佔用宿主機的資源,重新啟動例項則再次分配資源。該功能在使用宿主機部署測試環境的時候非常有幫助,理論上可以保有無限個停機的測試伺服器,只在需要的時候啟動某臺伺服器,這樣就避免了重複建立和部署環境的痛苦:
在具備了“允許自動部署”和“主機親和性”兩個屬性之後,對於資源池的管理複雜度將會有大幅的下降,宿主機叢集的運維更加的智慧和方便,而“ECS停機後不佔用宿主機資源”也將提高宿主機資源的利用率,提高運維的效率。
目前“允許自動部署”和“主機親和性”兩個特性的Open API已經發布,可以參照文件進行操作。通過控制檯管理的能力也會在不久後向使用者開放。
如果您有對ECS雲伺服器和DDH專有宿主機產品的建議,歡迎告訴我們。
專有宿主機API文件:https://help.aliyun.com/document_detail/94570.html
本文作者:雲樟
本文為雲棲社群原創內容,未經