理解托管磁盤(pán)的原理與優(yōu)勢(shì)

簡(jiǎn)介

Azure 托管磁盤(pán),是指將虛擬機(jī)使用的虛擬磁盤(pán)文件(VHD)和存儲(chǔ)賬號(hào)交由 Azure 來(lái)規(guī)劃和控制的服務(wù)。

此功能的上線,意味著用戶(hù)能更方便地管理 Azure 虛擬機(jī)的存儲(chǔ)。Azure 托管磁盤(pán)將儲(chǔ)存在標(biāo)準(zhǔn)或高級(jí)存儲(chǔ)賬戶(hù)中的虛擬磁盤(pán)文件(VHD)抽象成 Azure 資源管理器中的頂級(jí)資源。用戶(hù)只需給定磁盤(pán)類(lèi)型(標(biāo)準(zhǔn)或高級(jí))與磁盤(pán)大小,Azure 便會(huì)替用戶(hù)創(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ǔ)賬戶(hù)也做到同樣的容錯(cuò)。如果用戶(hù)將虛擬磁盤(pán)文件都放到同一個(gè)存儲(chǔ)賬戶(hù)中,一旦存儲(chǔ)賬戶(hù)對(duì)應(yīng)的存儲(chǔ)單元發(fā)生故障導(dǎo)致磁盤(pán)無(wú)法訪問(wèn),會(huì)對(duì)用戶(hù)的應(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ǔ)賬戶(hù)的諸多限制

眾所周知,每個(gè)存儲(chǔ)賬戶(hù)存在最大 20000 IOPS 的限制,當(dāng)前的最佳實(shí)踐是每個(gè)標(biāo)準(zhǔn)存儲(chǔ)賬戶(hù)存放不超過(guò) 40 個(gè) VHD 文件,使得虛擬磁盤(pán)的性能不會(huì)因超出存儲(chǔ)賬戶(hù)的上限而收到影響。在使用高級(jí)存儲(chǔ)賬戶(hù)時(shí),更要考慮到高級(jí)存儲(chǔ)賬戶(hù)最多只能存放 35TB 頁(yè)面文件的限制。為使用高級(jí)存儲(chǔ)賬戶(hù)的虛擬機(jī)規(guī)劃備份時(shí),還得考慮到備份時(shí)高級(jí)存儲(chǔ)賬戶(hù)中生成的暫存位置。

在使用托管磁盤(pán)時(shí),由于存儲(chǔ)賬戶(hù)在后臺(tái)都交由 Azure 來(lái)管理,用戶(hù)無(wú)需考慮存儲(chǔ)賬戶(hù)的規(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í)靠攏。比如用戶(hù)部署了一塊 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í),用戶(hù)其實(shí)無(wú)法先創(chuàng)建一塊磁盤(pán),再將這塊磁盤(pán)附加到虛擬機(jī)上。用戶(hù)能做的只是在創(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í),用戶(hù)并不能找到任何 VHD 的 URL,資源模塊Microsoft.Compute會(huì)為用戶(hù)管理后臺(tái)實(shí)際的 VHD 文件。

當(dāng)用戶(hù)對(duì)托管磁盤(pán)或托管快照使用導(dǎo)出功能時(shí),會(huì)看到生成的 SAS Uri 中其實(shí)包含著后臺(tái)存放 VHD 文件的實(shí)際存儲(chǔ)賬戶(hù)名。

同時(shí),Azure 為托管磁盤(pán)提供了全套管理命令,用戶(hù)可以像管理虛擬機(jī)一樣對(duì)托管磁盤(pán)進(jìn)行創(chuàng)建、刪除和更新等動(dòng)作,更可以為其他賬戶(hù)設(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í),用戶(hù)必須先將作為鏡像的 VHD 文件拷貝至目標(biāo)存儲(chǔ)賬戶(hù),才能在賬戶(hù)中創(chuàng)建虛擬機(jī)磁盤(pán)并搭建虛擬機(jī)。在創(chuàng)建大量虛擬機(jī)時(shí),拷貝鏡像文件時(shí)常會(huì)讓人頭疼。

現(xiàn)在,用戶(hù)只需同一個(gè)區(qū)域/訂閱中保留一個(gè)托管鏡像,就能從這個(gè)鏡像中部署出多臺(tái)虛擬機(jī),無(wú)需考慮存儲(chǔ)賬戶(hù)的限制。而一個(gè)托管鏡像中可以包含系統(tǒng)硬盤(pán)和多塊數(shù)據(jù)硬盤(pán),可以一鍵部署出帶全套磁盤(pán)的虛擬機(jī),更省去了管理數(shù)據(jù)磁盤(pán)的麻煩。

雖然托管鏡像可以脫離原先的 VHD 文件,但是別急著把 VHD 文件刪除。一個(gè)托管鏡像只能在同一個(gè)訂閱或區(qū)域內(nèi)使用,如果需要跨訂閱或區(qū)域,用戶(hù)仍然需要將托管磁盤(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),用戶(hù)可以創(chuàng)建多個(gè)托管快照。以下是托管快照支持的操作:

從托管磁盤(pán)創(chuàng)建托管快照

從托管快照創(chuàng)建托管磁盤(pán)

從虛擬磁盤(pán)文件(VHD)創(chuàng)建托管快照

從托管快照創(chuàng)建托管鏡像

將托管快照復(fù)制成另一個(gè)托管快照

用戶(hù)可以做到將托管磁盤(pán)的級(jí)別(標(biāo)準(zhǔn)或高級(jí)磁盤(pán))自由轉(zhuǎn)換,只需為在用的托管磁盤(pán)創(chuàng)建快照,再通過(guò)快照創(chuàng)建不同級(jí)別的磁盤(pán)即可。用戶(hù)還可以將托管磁盤(pán)的大小縮小——同樣創(chuàng)建快照,再使用快照創(chuàng)建小一號(hào)的托管磁盤(pán)。

就像導(dǎo)出托管磁盤(pán)一樣,托管快照也支持對(duì)快照內(nèi)容的導(dǎo)出操作。

即刻拷貝

用戶(hù)可能會(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)。用戶(hù)需要將對(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)戶(hù)中的Azure 備份服務(wù)支持使用托管磁盤(pán)的虛擬機(jī)。

管理

請(qǐng)使用 2.6.0 以上版本的AzureRm.ComputePowerShell 模塊管理托管磁盤(pán)。

立即訪問(wèn)http://market.azure.cn

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容