Microsoft發布了兩個新功能,力圖簡化Azure中虛擬機的存儲和擴展能力。其中托管磁盤(Managed Disks)使得不必配置“存儲賬戶”就能保持虛擬機磁盤,擴展集合(Scale Sets)使得上百個同樣的虛擬機可以一次性部署。
Microsoft的Corey Sanders在一個博客帖子中指出:“你可以使用托管磁盤為每個實例添加磁盤,并創建多達1,000個虛擬機的擴展集合,這在規模上增加了10倍。”在推出托管磁盤功能之前,Microsoft要求使用存儲賬戶去保存虛擬機的磁盤。這些存儲賬戶有存儲容量和吞吐量上的限制。因此Azure客戶要對存儲賬戶的使用做認真的規劃。
你必須要確保沒有在同一存儲賬戶中放置過多的磁盤,因為這會超出存儲賬戶的擴展目標(例如20,000 IOPS),導致虛擬機被截流。使用非托管磁盤時,為得到虛擬機的最優性能,必須知道如何最大化利用存儲賬戶。
考慮到IOPS限制,用戶必須精確計算每個存儲賬戶中所能使用的虛擬機數量。
根據所請求的速率限制,你可以粗略地估算一個標準存儲賬戶所支持的高可用磁盤的數量。例如,對于基礎級(Basic Tier)虛擬機,高可用磁盤的最大數量大約是66個(20,000除以每個磁盤的IOPS值300);對于標準級(Standard Tier)虛擬機,這個數量大約是40個(20,000除以每個磁盤的IOPS值500)。
托管磁盤抽象了存儲賬戶概念。用戶僅需指定虛擬機的磁盤大小和“類型”,所有的存儲賬戶由Azure去“管理”。磁盤有兩種類型:標準(standard)和高級(premium)。標準磁盤使用硬盤驅動器(HDD,Hard Disk Driver)介質,容量可達1TB。高級磁盤基于SSD,容量也可達1TB。所有被管理的磁盤都使用具有三份獨立備份的持久存儲。
Microsoft推薦所有新的虛擬機使用托管磁盤,也推薦將所有現有的虛擬機都遷移到該模式。據Sanders介紹,遷移到托管磁盤或是在標準和高級磁盤服務間做遷移是十分容易實現的。
使用托管磁盤,從現有非受控Azure Resource Manager虛擬機移植到托管磁盤虛擬機是十分容易實現的,這無需重建虛擬機,并保留了虛擬機的配置和安全性。啟動遷移后,虛擬機在重啟后就立刻可用。你可完全控制遷移過程,并且可以選擇是每次遷移一個虛擬機,還是通過腳本一次性地遷移所有的虛擬機。
現在你還可以方便地將托管磁盤從標準磁盤遷移到高級磁盤。使用托管磁盤后,通過關閉虛擬機就可以更改磁盤的賬戶類型,無需刪除或重新配置虛擬機。在虛擬機重啟后,更改的磁盤就立刻可用。
托管磁盤的另一個特性是細粒度的安全。不同于訪問一個磁盤就意味著要訪問所有的磁盤的舊“存儲賬戶”模型,托管磁盤使得磁盤權限可管理。
Azure虛擬機的擴展集合允許用戶構建和管理一組相同的虛擬機資源。按照Microsoft的說法,用戶必須使用托管磁盤構建具有100個以上虛擬機的擴展集合。如果不使用托管磁盤,每20個虛擬機就要使用一個傳統的存儲賬戶。使用托管磁盤后,擴展集合中可包含1,000個虛擬機,但是這僅針對基于Azure提供的基礎鏡像。如果使用基于用戶定制的鏡像,擴展集合最多可包含100個虛擬機。
為使構建擴展集合盡可能快,Microsoft使用了一種預留分配(over-provisioning)策略 。
默認虛擬機擴展集合為“預留分配”的。當打開預留分配選項后,擴展集合實際運行的虛擬機數量要多于所需的數量。一旦成功分配了所需數量的虛擬機,就會刪除多余的虛擬機。預留分配在提高分配成功率的同時,還降低了部署時間。你無需為額外的虛擬機付費,他們也不占用你的磁盤空間限額。
Sanders指出,Microsoft IaaS平臺還規劃了一些其它功能。
我期待今年能發布更多的功能,包括對操作系統補丁的支持、應用生命周期集成、應用健康情況監控和負載均衡器的健康情況的集成。
查看英文原文: Microsoft Releases Managed Disks, Scale Sets