簡(jiǎn)介
Azure 托管磁盤(pán),是指將虛擬機(jī)使用的虛擬磁盤(pán)文件(VHD)和存儲(chǔ)賬號(hào)交由 Azure 來(lái)規(guī)劃和控制的服務(wù)。
此功能的上線渤涌,意味著用戶能更方便地管理 Azure 虛擬機(jī)的存儲(chǔ)斩郎。Azure 托管磁盤(pán)將儲(chǔ)存在標(biāo)準(zhǔn)或高級(jí)存儲(chǔ)賬戶中的虛擬磁盤(pán)文件(VHD)抽象成 Azure 資源管理器中的頂級(jí)資源眠砾。用戶只需給定磁盤(pán)類型(標(biāo)準(zhǔn)或高級(jí))與磁盤(pán)大小鸳玩,Azure 便會(huì)替用戶創(chuàng)建并管理磁盤(pán)阅虫。
更高的虛擬機(jī)可用性
在使用搭建在非托管磁盤(pán)上的虛擬機(jī)時(shí),通常我們會(huì)把多臺(tái)虛擬機(jī)放到同一個(gè)可用性集中不跟,以得到99.95% 的可用性颓帝。Azure 會(huì)把在同一個(gè)可用性集中的虛擬機(jī)放到不同的容錯(cuò)域(FD)內(nèi),以保證后臺(tái)單個(gè)節(jié)點(diǎn)的故障不會(huì)影響可用性集中的所有虛擬機(jī)窝革。
但是在這種情況下购城,Azure 無(wú)法保證對(duì)存放虛擬磁盤(pán)文件的存儲(chǔ)賬戶也做到同樣的容錯(cuò)。如果用戶將虛擬磁盤(pán)文件都放到同一個(gè)存儲(chǔ)賬戶中虐译,一旦存儲(chǔ)賬戶對(duì)應(yīng)的存儲(chǔ)單元發(fā)生故障導(dǎo)致磁盤(pán)無(wú)法訪問(wèn)瘪板,會(huì)對(duì)用戶的應(yīng)用造成毀滅性的影響。
現(xiàn)在漆诽,在可用性集中使用托管磁盤(pán)時(shí)侮攀,可用性集會(huì)負(fù)責(zé)將每臺(tái)虛擬機(jī)使用的磁盤(pán)分配到不同的存儲(chǔ)容錯(cuò)域中,以保證單個(gè)存儲(chǔ)單元故障不會(huì)影響可用性集內(nèi)的所有虛擬機(jī)拴泌。Azure 為可用性集添加了一個(gè)新的性能層魏身,叫做 “Aligned”。這個(gè)性能層只支持使用托管磁盤(pán)的虛擬機(jī)蚪腐,會(huì)自動(dòng)分配虛擬機(jī)的托管磁盤(pán)到不同的存儲(chǔ)容錯(cuò)域中,以達(dá)到容錯(cuò)的目的税朴。
這一優(yōu)勢(shì)對(duì)托管數(shù)據(jù)磁盤(pán)也同樣有效回季。
擺脫存儲(chǔ)賬戶的諸多限制
眾所周知,每個(gè)存儲(chǔ)賬戶存在最大 20000 IOPS 的限制正林,當(dāng)前的最佳實(shí)踐是每個(gè)標(biāo)準(zhǔn)存儲(chǔ)賬戶存放不超過(guò) 40 個(gè) VHD 文件泡一,使得虛擬磁盤(pán)的性能不會(huì)因超出存儲(chǔ)賬戶的上限而收到影響。在使用高級(jí)存儲(chǔ)賬戶時(shí)觅廓,更要考慮到高級(jí)存儲(chǔ)賬戶最多只能存放 35TB 頁(yè)面文件的限制鼻忠。為使用高級(jí)存儲(chǔ)賬戶的虛擬機(jī)規(guī)劃備份時(shí),還得考慮到備份時(shí)高級(jí)存儲(chǔ)賬戶中生成的暫存位置杈绸。
在使用托管磁盤(pán)時(shí)帖蔓,由于存儲(chǔ)賬戶在后臺(tái)都交由 Azure 來(lái)管理,用戶無(wú)需考慮存儲(chǔ)賬戶的規(guī)劃瞳脓,即可享受托管磁盤(pán)帶來(lái)的高性能與簡(jiǎn)便性塑娇。當(dāng)然,托管磁盤(pán)也有如下的限制:
單臺(tái)虛擬機(jī)可附加的硬盤(pán)數(shù)劫侧、IOPS 和吞吐量保持不變埋酬,這僅與虛擬機(jī)的大小有關(guān)哨啃。
單塊磁盤(pán)最高容量可達(dá) 4095GB,包括托管與非托管磁盤(pán)写妥。
每個(gè)訂閱和地區(qū)拳球,默認(rèn)最多可以部署 2000 個(gè)托管磁盤(pán)、托管鏡像或托管快照珍特。這個(gè)上限最高可以提升到 10000 個(gè)醇坝。
托管磁盤(pán)的性能與收費(fèi)是根據(jù)磁盤(pán)的大小,向上一級(jí)靠攏次坡。比如用戶部署了一塊 200GB 的高級(jí)托管磁盤(pán)呼猪,獲得的性能為 P20 的 2300 IOPS 和 150MB/s 的吞吐量,而費(fèi)用也會(huì)按照 P20 的標(biāo)準(zhǔn)來(lái)收取砸琅。與標(biāo)準(zhǔn)非托管磁盤(pán)的按用量收費(fèi)不同宋距,標(biāo)準(zhǔn)托管磁盤(pán)也同樣按磁盤(pán)大小收費(fèi)。
將磁盤(pán)作為頂級(jí)資源
在 Azure 資源管理器模式中使用非托管磁盤(pán)時(shí)症脂,用戶其實(shí)無(wú)法先創(chuàng)建一塊磁盤(pán)谚赎,再將這塊磁盤(pán)附加到虛擬機(jī)上。用戶能做的只是在創(chuàng)建虛擬機(jī)或附加磁盤(pán)時(shí)诱篷,指定某個(gè)頁(yè)面文件并將其作為系統(tǒng)磁盤(pán)或數(shù)據(jù)磁盤(pán)附加到虛擬機(jī)上壶唤。
現(xiàn)在,與托管磁盤(pán)相關(guān)的 PowerShell 命令已經(jīng)被加到AzureRm.Compute模塊中(v2.6.0以上)棕所,而非AzureRm.Storage模塊中闸盔,因?yàn)橥泄艽疟P(pán)本質(zhì)上是對(duì) Azure 存儲(chǔ)中虛擬磁盤(pán)文件的抽象。在使用托管磁盤(pán)時(shí)琳省,用戶并不能找到任何 VHD 的 URL迎吵,資源模塊Microsoft.Compute會(huì)為用戶管理后臺(tái)實(shí)際的 VHD 文件。
當(dāng)用戶對(duì)托管磁盤(pán)或托管快照使用導(dǎo)出功能時(shí)针贬,會(huì)看到生成的 SAS Uri 中其實(shí)包含著后臺(tái)存放 VHD 文件的實(shí)際存儲(chǔ)賬戶名击费。
同時(shí),Azure 為托管磁盤(pán)提供了全套管理命令桦他,用戶可以像管理虛擬機(jī)一樣對(duì)托管磁盤(pán)進(jìn)行創(chuàng)建蔫巩、刪除和更新等動(dòng)作,更可以為其他賬戶設(shè)置基于角色的權(quán)限控制(Role-based Authorization Control)來(lái)控制對(duì)托管磁盤(pán)的管理權(quán)限快压。
下圖羅列了托管磁盤(pán)功能引入的三個(gè)頂級(jí)資源之間的關(guān)系圆仔,其中托管鏡像和托管快照我們會(huì)在后文詳細(xì)講述。
更簡(jiǎn)便的鏡像管理
在部署使用非托管磁盤(pán)的虛擬機(jī)時(shí)嗓节,用戶必須先將作為鏡像的 VHD 文件拷貝至目標(biāo)存儲(chǔ)賬戶荧缘,才能在賬戶中創(chuàng)建虛擬機(jī)磁盤(pán)并搭建虛擬機(jī)。在創(chuàng)建大量虛擬機(jī)時(shí)拦宣,拷貝鏡像文件時(shí)常會(huì)讓人頭疼截粗。
現(xiàn)在信姓,用戶只需同一個(gè)區(qū)域/訂閱中保留一個(gè)托管鏡像,就能從這個(gè)鏡像中部署出多臺(tái)虛擬機(jī)绸罗,無(wú)需考慮存儲(chǔ)賬戶的限制意推。而一個(gè)托管鏡像中可以包含系統(tǒng)硬盤(pán)和多塊數(shù)據(jù)硬盤(pán),可以一鍵部署出帶全套磁盤(pán)的虛擬機(jī)珊蟀,更省去了管理數(shù)據(jù)磁盤(pán)的麻煩菊值。
雖然托管鏡像可以脫離原先的 VHD 文件,但是別急著把 VHD 文件刪除育灸。一個(gè)托管鏡像只能在同一個(gè)訂閱或區(qū)域內(nèi)使用腻窒,如果需要跨訂閱或區(qū)域,用戶仍然需要將托管磁盤(pán)或快照導(dǎo)出成 VHD 文件磅崭,拷貝至其他訂閱或區(qū)域儿子,再重新創(chuàng)建一個(gè)托管鏡像。
Note
托管鏡像中的系統(tǒng)硬盤(pán)仍然像非托管磁盤(pán)時(shí)的鏡像文件一般砸喻,需要進(jìn)行一般化后才可以部署成多臺(tái)虛擬機(jī)柔逼。
獨(dú)立的托管快照
托管磁盤(pán)的快照是單個(gè)磁盤(pán)在當(dāng)前時(shí)間點(diǎn)的只讀拷貝。托管快照不依存于托管磁盤(pán)割岛,即使將托管磁盤(pán)刪除愉适,托管快照仍然存在。針對(duì)單個(gè)托管磁盤(pán)癣漆,用戶可以創(chuàng)建多個(gè)托管快照维咸。以下是托管快照支持的操作:
從托管磁盤(pán)創(chuàng)建托管快照
從托管快照創(chuàng)建托管磁盤(pán)
從虛擬磁盤(pán)文件(VHD)創(chuàng)建托管快照
從托管快照創(chuàng)建托管鏡像
將托管快照復(fù)制成另一個(gè)托管快照
用戶可以做到將托管磁盤(pán)的級(jí)別(標(biāo)準(zhǔn)或高級(jí)磁盤(pán))自由轉(zhuǎn)換,只需為在用的托管磁盤(pán)創(chuàng)建快照扑媚,再通過(guò)快照創(chuàng)建不同級(jí)別的磁盤(pán)即可腰湾。用戶還可以將托管磁盤(pán)的大小縮小——同樣創(chuàng)建快照,再使用快照創(chuàng)建小一號(hào)的托管磁盤(pán)疆股。
就像導(dǎo)出托管磁盤(pán)一樣,托管快照也支持對(duì)快照內(nèi)容的導(dǎo)出操作倒槐。
即刻拷貝
用戶可能會(huì)注意到旬痹,不像之前的非托管磁盤(pán),幾乎所有針對(duì)托管磁盤(pán)和托管快照的拷貝操作都非程衷剑快两残。這得益于 Azure 團(tuán)隊(duì)最近開(kāi)發(fā)的 “讀時(shí)拷貝” 功能。此功能會(huì)即刻對(duì)拷貝操作返回 Success把跨,然后在后臺(tái)異步拷貝數(shù)據(jù)人弓。目前此功能唯一的限制,是它只能應(yīng)用于同一地區(qū)內(nèi)的拷貝操作着逐。
以下內(nèi)容需要注意:
遷移
虛擬機(jī)在從非托管磁盤(pán)遷移至托管磁盤(pán)時(shí)崔赌,會(huì)給在同一個(gè)可用性集內(nèi)的所有虛擬機(jī)帶來(lái)有短暫的停機(jī)時(shí)間意蛀。因?yàn)榭捎眯约枰獜钠胀ㄐ阅軐由?jí)為 “Aligned” 性能層。
PowerShell 提供了ConvertTo-AzureRmVMManagedDisk命令健芭,使得 ARM 模式下的虛擬機(jī)可以直接從非托管磁盤(pán)遷移至托管磁盤(pán)县钥。
Note
如果虛擬機(jī)的非托管磁盤(pán)處于開(kāi)啟了存儲(chǔ)服務(wù)加密功能(SSE)的存儲(chǔ)賬號(hào)下,則無(wú)法通過(guò)此命令遷移到托管磁盤(pán)慈迈。用戶需要將對(duì)應(yīng)虛擬磁盤(pán)文件拷貝至未開(kāi)啟存儲(chǔ)服務(wù)加密的存儲(chǔ)賬號(hào)下若贮,再將其轉(zhuǎn)換成托管磁盤(pán)。
安全性
托管磁盤(pán)痒留、托管快照與托管鏡像的后臺(tái)存儲(chǔ)賬號(hào)均默認(rèn)開(kāi)啟存儲(chǔ)服務(wù)加密功能谴麦。
使用托管磁盤(pán)的虛擬機(jī)也可以開(kāi)啟Azure磁盤(pán)加密功能。
備份
Azure 門(mén)戶中的Azure 備份服務(wù)支持使用托管磁盤(pán)的虛擬機(jī)伸头。
管理
請(qǐng)使用 2.6.0 以上版本的AzureRm.ComputePowerShell 模塊管理托管磁盤(pán)匾效。
立即訪問(wèn)http://market.azure.cn