關於 Azure Windows VM 的磁盤和 VHD

就像其餘任何計算機同樣,Azure 中的虛擬機將磁盤用做存儲操做系統、應用程序和數據的位置。 全部 Azure 虛擬機都至少有兩個磁盤,即 Windows 操做系統磁盤和臨時磁盤。 操做系統磁盤基於映像建立,操做系統磁盤和該映像都存儲在 Azure 存儲賬戶中的虛擬硬盤 (VHD) 內。 虛擬機還能夠有一個或多個數據磁盤,而這些磁盤也存儲爲 VHD。node

在本文中,咱們將討論磁盤的不一樣用法,並討論能夠建立和使用的不一樣磁盤類型。 本文也適用於 Linux 虛擬機linux

Notejson

Azure 具備用於建立和處理資源的兩個不一樣的部署模型:Resource Manager 和經典。 這篇文章介紹瞭如何使用這兩種模型,但 Azure 建議大多數最新部署使用 Resource Manager 模型。windows

VM 使用的磁盤

讓咱們來看看 VM 如何使用磁盤。api

操做系統磁盤

每一個虛擬機都附加了一個操做系統磁盤。 默認狀況下,它註冊爲 SATA 驅動器並標爲 C: 盤。 此磁盤的最大容量爲 2048 GB。app

臨時磁盤

每一個 VM 包含一個臨時磁盤。 臨時磁盤爲應用程序和進程提供短時間存儲存儲空間,僅用於存儲頁面或交換文件等數據。 在維護事件期間或從新部署 VM 時,臨時磁盤上的數據可能會丟失。 在 VM 標準重啓期間,臨時驅動器上的數據應會保留。佈局

臨時磁盤默認標記爲 D: 盤,用於存儲 pagefile.sys。 若要將此磁盤從新映射到其餘驅動器號,請參閱更改 Windows 臨時磁盤的驅動器號。 臨時磁盤的大小因虛擬機的大小而異。 有關詳細信息,請參閱 Windows 虛擬機的大小性能

有關 Azure 如何使用臨時磁盤的詳細信息,請參閱 Understanding the temporary drive on Azure Virtual Machines測試

數據磁盤

數據磁盤是附加到虛擬機的 VHD,用於存儲應用程序數據或其餘須要保留的數據。 數據磁盤註冊爲 SCSI 驅動器而且帶有所選擇的字母標記。 每一個數據磁盤的最大容量爲 4095 GB。 虛擬機的大小決定了可附加的磁盤數目,以及可用來託管磁盤的存儲類型。spa

Note

有關虛擬機容量的詳細信息,請參閱 Windows 虛擬機的大小

當你基於映像建立虛擬機時,Azure 會建立操做系統磁盤。 若是使用包含數據磁盤的映像,則 Azure 還會在建立虛擬機時建立數據磁盤。 )不然,須要在建立虛擬機後添加數據磁盤。

隨時能夠將數據磁盤添加到虛擬機,只需將該磁盤附加 到虛擬機便可。 可使用已上傳或複製到存儲賬戶的 VHD,也可讓 Azure 建立 VHD。 附加數據磁盤會將 VHD 文件與 VM 關聯,方法是在 VHD 上放置「租約」,所以在仍附加 VHD 時沒法從存儲中刪除它。

關於 VHD

Azure 中使用的 VHD 是在 Azure 的標準或高級存儲賬戶中做爲頁 Blob 存儲的 .vhd 文件。 有關頁 blob 的詳細信息,請參閱 瞭解塊 blob 和頁 blob。 有關高級存儲的詳細信息,請參閱高性能高級存儲和 Azure VM

Azure 支持固定的磁盤 VHD 格式。 固定格式在文件內對邏輯磁盤以線性方式佈局,使磁盤偏移量 X 存儲在 Blob 偏移量 X 的位置。在 Blob 末尾有一小段腳註,描述了 VHD 的屬性。 一般,因爲大多數磁盤中都有較大的未使用區域,所以固定格式會浪費空間。 不過,Azure 以稀疏格式存儲 .vhd 文件,所以可兼獲固定和動態格式磁盤的優勢。 有關更多詳細信息,請參閱虛擬硬盤入門

Azure 中全部要用做磁盤或映像建立來源的 .vhd 文件都是隻讀文件。 當你建立磁盤或映像時,Azure 會生成 .vhd 文件的副本。 這些副本能夠是隻讀文件,也能夠是讀寫文件,具體取決於使用 VHD 的方式。

在經過映像建立虛擬機時,Azure 爲虛擬機建立磁盤,該磁盤是源 .vhd 文件的副本。 爲避免被意外刪除,Azure 對任何用於建立映像、操做系統磁盤或數據磁盤的源 .vhd 文件設置了租約。

在刪除源 .vhd 文件以前,須要先經過刪除磁盤或映像來解除租約。 若要刪除當前由虛擬機用做操做系統磁盤的 .vhd 文件,能夠經過刪除虛擬機並刪除全部關聯的磁盤,一次性刪除虛擬機、操做系統磁盤和源 .vhd 文件。 可是,刪除用做數據磁盤來源的 .vhd 文件須要按必定順序執行幾個步驟。 首先從虛擬機分離該磁盤,再刪除該磁盤,才能刪除 .vhd 文件。

Warning

若是從存儲中刪除了源 .vhd 文件或刪除了存儲賬戶,Microsoft 則沒法爲用戶恢復數據。

磁盤類型

Azure 磁盤具有 99.999% 的可用性。 Azure 磁盤持續提供企業級持久性,年化故障率爲 0%,達到行業領先水平。

在建立磁盤時,有兩種適用於存儲的性能層可供選擇 -- 標準存儲和高級存儲。 另外還有兩類磁盤 -- 非託管磁盤和託管磁盤 -- 這兩類磁盤能夠駐留在任一性能層中。

標準存儲

標準存儲以 HDD 爲基礎,能夠在確保性能的同時提供經濟高效的存儲。 標準存儲可在一個數據中心進行本地複製,也能夠經過主要和輔助數據中心實現異地冗餘。 有關存儲複製的詳細信息,請參閱 Azure 存儲複製

要詳細瞭解如何將標準存儲與 VM 磁盤結合使用,請參閱標準存儲和磁盤

高級存儲

高級存儲以 SSD 爲基礎,爲運行 I/O 密集型工做負荷的 VM 提供高性能、低延遲的磁盤支持。 可將高級存儲與 DS、DSv2 或 FS 系列的 Azure VM 配合使用。 有關詳細信息,請參閱高級存儲

非託管磁盤

非託管磁盤是 VM 一直使用的傳統類型的磁盤。 有了這些之後,便可建立本身的存儲賬戶並在建立磁盤時指定該存儲賬戶。 必須確保不將太多磁盤置於同一存儲賬戶中,由於可能會超過存儲賬戶的可伸縮性目標(例如 20,000 IOPS),致使 VM 數受限。 使用非託管磁盤時,必須肯定如何最大程度地使用一個或多個存儲賬戶,以便充分利用 VM 的性能。

託管磁盤

託管磁盤爲用戶在後臺處理存儲賬戶的建立/管理,確保用戶無需擔憂存儲賬戶的可伸縮性限制。 用戶只需指定磁盤大小和性能層(標準/高級),Azure 就會自動建立和管理磁盤。 即便是添加磁盤或者擴展和縮減 VM,也無需考慮要使用哪一種存儲。

還能夠按 Azure 區域在一個存儲賬戶中管理自定義映像,並使用這些映像在同一訂閱中建立數百個 VM。 有關管理磁盤的詳細信息,請參閱託管磁盤概述

建議爲新 VM 使用 Azure 託管磁盤,並將之前的非託管磁盤轉換爲託管磁盤,以便充分利用託管磁盤中提供的多項功能。

磁盤比較

下表對託管磁盤與非託管磁盤的高級和標準性能層作了比較,方便用戶肯定要使用哪一個層。

  Azure 高級磁盤 Azure 標準磁盤
磁盤類型 固態硬盤 (SSD) 機械硬盤 (HDD)
概述 基於 SSD 的高性能、低延遲磁盤支持,適用於運行 IO 密集型工做負荷或託管任務關鍵型生產環境的 VM 基於 HDD 的經濟高效型磁盤支持,適用於開發/測試 VM 方案
方案 生產和性能敏感型工做負荷 開發/測試、非關鍵、 
不常常訪問的工做負荷
磁盤大小 P4:32 GB(僅託管磁盤)
P6:64 GB(僅託管磁盤)
P10:128 GB
P20:512 GB
P30:1024 GB
P40:2048 GB
P50:4095 GB
非託管磁盤:1 GB - 4 TB (4095 GB) 

託管磁盤:
S4:32 GB 
S6:64 GB 
S10:128 GB 
S20:512 GB 
S30:1024 GB 
S40:2048 GB
S50:4095 GB
每一個磁盤的最大吞吐量 250 MB/秒 60 MB/秒
每一個磁盤的最大 IOPS 7500 IOPS 500 IOPS

最後一個建議:對非託管標準磁盤使用 TRIM

若是使用非託管標準磁盤 (HDD),則應啓用 TRIM。 TRIM 會放棄磁盤上未使用的塊,以便僅對實際使用的存儲進行收費。 若是建立了較大的文件,並將其刪除,這樣能夠節省成本。

能夠運行此命令來檢查 TRIM 設置。 在 Windows VM 上打開命令提示符,並鍵入:

fsutil behavior query DisableDeleteNotify

若是該命令返回 0,則表示正確啓用了 TRIM。 若是返回 1,請運行如下命令啓用 TRIM:

fsutil behavior set DisableDeleteNotify 0

Note

注意:從 Windows Server 2012/Windows 8 及更高版本開始支持 Trim,請參閱New API allows apps to send "TRIM and Unmap" hints to storage media(新 API 容許應用向存儲媒體發發送「TRIM 和 Unmap」提示)。

後續步驟

相關文章
相關標籤/搜索