雲硬盤(Elastic Volume Service,EVS)能夠爲裸金屬服務器提供高可靠、高性能、規格豐富而且可彈性擴展的塊存儲服務,知足不一樣場景的業務需求,適用於分佈式文件系統、開發測試、數據倉庫以及高性能計算等場景。git
裸金屬服務器支持掛載雲硬盤,解決了傳統物理服務器受限於本地硬盤容量的問題。支持共享雲硬盤,由多臺服務器併發讀寫訪問,知足您企業核心系統集羣部署的需求。github
雲硬盤(Elastic Volume Service, EVS)能夠爲 雲服務器 提供高可靠、高性能、規格豐富而且可彈性擴展的塊存儲服務,可知足不一樣場景的業務需求,適用於分佈式文件系統、開發測試、數據倉庫以及高性能計算等場景。雲服務器包括彈性雲服務器和裸金屬服務器。算法
雲硬盤簡稱爲磁盤。數據庫
圖1 雲硬盤架構 緩存
雲硬盤爲 雲服務器 提供規格豐富、安全可靠、可彈性擴展的硬盤資源,具體功能特性以下:安全
EVS提供多種規格的雲硬盤,可掛載至 雲服務器 用做數據盤和系統盤,您能夠根據應用程序及費用預算選擇適合業務場景的雲硬盤。服務器
您能夠建立的單個雲硬盤最小容量爲10 GB,最大容量爲 32 TB,即,10 GB ≤ 雲硬盤容量 ≤ 32 TB。若您已有的雲硬盤容量不足以知足業務增加對數據存儲空間的需求,您能夠根據需求進行擴容,最小擴容步長爲1GB,單個雲硬盤最大可擴容至32 TB。同時支持平滑擴容,無需暫停業務。架構
擴容雲硬盤時還會受容量總配額影響,系統會顯示您當前的剩餘容量配額,新擴容的容量不能超過剩餘容量配額。您能夠申請足夠的配額知足業務需求。併發
配合雲監控( Cloud Eye),幫助您隨時掌握雲硬盤健康狀態,瞭解雲硬盤運行情況。分佈式
目前可供您選擇的有三種數據存儲服務,分別是雲硬盤,彈性文件服務(Scalable File Service, SFS)以及對象存儲服務(Object Storage Service, OBS),這三種數據存儲的區別主要以下:
服務名稱 |
整體介紹 |
典型應用場景 |
存儲容量 |
---|---|---|---|
雲硬盤 |
雲硬盤能夠爲雲服務器提供高可靠、高性能、規格豐富而且可彈性擴展的塊存儲服務。 |
|
雲硬盤支持按需擴容,最小擴容步長爲1GB,單個雲硬盤可由10 GB擴展至32 TB。 |
彈性文件服務 |
彈性文件服務能夠爲您的雲服務器提供一個徹底託管的共享文件存儲,它提供標準文件協議,可以彈性伸縮至PB規模,具有可擴展的性能,爲海量數據、高帶寬型應用提供有力支持。 |
|
彈性文件服務可隨業務動態擴展或縮小,容量最高可達10 PB。 |
對象存儲服務 |
對象存儲是一種可存儲文檔、圖片、影音視頻等非結構化數據的雲存儲服務。支持多種上雲方式,爲海量的雲端數據提供低成本、高可靠訪問存儲。 |
|
對象存儲服務沒有容量限制,存儲資源可無限擴展。 |
裸金屬服務器使用的雲硬盤類型有以下幾種:
雲硬盤性能的主要指標有IO讀寫時延、IOPS和吞吐量。
雲硬盤性能指標的詳細介紹請參見《 雲硬盤產品介紹 》。
裸金屬服務器當前僅支持SCSI(小型計算機系統接口,Small Computer System Interface)磁盤模式的雲硬盤。
您能夠經過管理控制檯建立SCSI類型的雲硬盤,該類型的雲硬盤支持SCSI指令透傳,容許裸金屬服務器操做系統直接訪問底層存儲介質。除了簡單的SCSI讀寫命令,SCSI類型的雲硬盤還能夠支持更高級的SCSI命令。
說明:
裸金屬服務器公共鏡像的操做系統中已經預安裝了使用SCSI類型雲硬盤所需的驅動,無需再安裝。您也能夠參考《裸金屬服務器私有鏡像製做指南》的「 安裝SDI卡驅動 」章節瞭解驅動安裝的詳細操做。
雲硬盤的存儲系統採用三副本機制來保證數據的可靠性,即針對某份數據,默認將數據分爲1 MB大小的數據塊,每個數據塊被複製爲3個副本,而後按照必定的分佈式存儲算法將這些副本保存在集羣中的不一樣節點上。
雲硬盤三副本技術的主要特色以下:
例如,對於服務器A的物理磁盤A上的數據塊P1,系統將它的數據備份爲服務器B的物理磁盤B上的P1''和服務器C的物理磁盤C上的P1',P一、P1'和P1''共同構成了同一個數據塊的三個副本。若P1所在的物理磁盤發生故障,則P1'和P1''能夠繼續提供存儲服務,確保業務不受影響。
圖1 數據塊存儲示意圖
數據一致性表示當應用成功寫入一份數據到存儲系統時,存儲系統中的3個數據副本必須一致。當應用不管經過哪一個副本再次讀取這些數據時,該副本上的數據和以前寫入的數據都是一致的。
雲硬盤三副本技術主要經過如下機制確保數據一致性:
當應用寫入數據時,存儲系統會同步對3個副本執行寫入數據的操做,而且只有當多個副本的數據都寫入完成時,纔會嚮應用返回數據寫入成功的響應。
當應用讀數據失敗時,存儲系統會判斷錯誤類型。若是是物理磁盤扇區讀取錯誤,則存儲系統會自動從其餘節點保存的副本中讀取數據,而後在物理磁盤扇區錯誤的節點上從新寫入數據,從而保證數據副本總數不減小以及副本數據一致性。
存儲系統的每一個物理磁盤上都保存了多個數據塊,這些數據塊的副本按照必定的策略分散存儲在集羣中的不一樣節點上。當存儲系檢測到硬件(服務器或者物理磁盤)發生故障時,會自動啓動數據修復。因爲數據塊的副本分散存儲在不一樣的節點上,數據修復時,將會在不一樣的節點上同時啓動數據重建,每一個節點上只需重建一小部分數據,多個節點並行工做,有效避免了單個節點重建大量數據所產生的性能瓶頸,將對上層業務的影響作到最小化。
數據重建流程如 圖2 所示。
圖2 數據自動重建流程
數據重建原理如 圖3 所示,例如當集羣中的服務器F硬件發生故障時,物理磁盤上的數據塊會在其餘節點的磁盤上並行重建恢復。
圖3 數據重建原理
三副本技術是雲硬盤存儲系統爲了確保數據高可靠性提供的技術,主要用來應對硬件設備故障致使的數據丟失或不一致的狀況。
雲硬盤備份、快照不一樣於三副本技術,主要應對人爲誤操做、病毒以及******等致使數據丟失或不一致的狀況。咱們建議您在平常操做中,採用雲硬盤備份、快照功能,按期備份雲硬盤中數據。
更新時間: 2019/05/22 11:59
查看PDF
分享
根據IO性能劃分雲硬盤的磁盤類型,各類類型的雲硬盤具體介紹以下。不一樣類型雲硬盤的性能和價格有所不一樣,您可根據應用程序要求選擇您所需的雲硬盤。
雲硬盤性能的主要指標有IO讀寫時延、IOPS和吞吐量。
不一樣類型雲硬盤的單隊列訪問時延以下:
參數 |
普通IO |
高IO |
超高IO |
---|---|---|---|
雲硬盤最大容量 |
|
|
|
最大IOPS |
2200 |
5000 |
33000 |
最大吞吐量 |
90 MB/s |
150 MB/s |
350 MB/s |
IOPS突發上限 |
2200 |
5000 |
16000 |
雲硬盤IOPS性能計算公式 |
IOPS = min (2200, 500 +2 × 容量) |
IOPS = min (5000, 1200 + 6 × 容量) |
IOPS = min (33000, 1500 + 50 × 容量) |
API名稱 說明: 此處API名稱爲雲硬盤API接口中「volume_type」參數的取值,不表明底層存儲設備的硬件類型。 |
SATA |
SAS |
SSD |
典型應用場景 |
適用於大容量、讀寫速率中等、事務性處理較少的應用場景,例如企業的平常辦公應用或者小型測試等。 若是應用須要更高的IO性能,建議您選擇超高IO或高IO雲硬盤。 |
適用於主流的高性能、高可靠應用場景,例如大型開發測試、Web服務器日誌以及企業應用。典型的企業應用有SAP、Microsoft Exchange 和 Microsoft SharePoint等。 |
適用於超高IO,超大帶寬的讀寫密集型應用場景,例如高性能計算應用場景,用來部署分佈式文件系統,或者I/O密集型應用場景,用來部署各種NoSQL/關係型數據庫。典型的數據庫有MongoDB、Oracle、SQL Server、MySQL 和PostgreSQL等。 |
單個雲硬盤IOPS性能 =「最大IOPS」與「基線IOPS + 每GB雲硬盤的IOPS × 雲硬盤容量」的最小值。
以超高IO雲硬盤爲例,單個超高IO雲硬盤的最大IOPS爲33000。
突發能力是指小容量雲硬盤能夠在必定時間內達到IOPS突發上限,超過IOPS上限的能力。此處IOPS上限爲單個雲硬盤的性能。
突發能力適用於 雲服務器 啓動場景,通常系統盤容量較小,以50 GB的超高IO雲硬盤爲例,若是沒有突發能力,雲硬盤IOPS上限只能達到4000(1500 + 50 × 50),但使用突發能力後,IOPS可高達16000,從而提高雲服務器的啓動速度。
以超高IO雲硬盤爲例,單個超高IO雲硬盤的IOPS突發上限爲16000。
如下介紹雲硬盤突發IOPS的消耗原理和儲蓄原理。
突發的實現基於令牌桶,令牌桶中的初始令牌數量 = 突發時間 × IOPS突發上限,此處突發時間固定爲1800 s。
以100 GB的超高IO雲硬盤爲例,令牌桶容量爲28800000個令牌(1800 s × 16000 )。
消耗原理
當令牌消耗速度大於令牌的生成速度時,令牌數量會逐漸減小,最後IOPS會維持跟桶生成令牌的速度一致,即雲硬盤的IOPS上限。本示例中,能夠維持突發IOPS的時間爲3032 s ≈ 28800000 / (16000 - 6500) 。
儲蓄原理
當令牌的消耗速度小於令牌的生成速度時,桶中的令牌會逐漸增長,以後又能夠擁有突發能力。本示例中,若是雲硬盤暫停使用4431 s ≈ 28800000 / 6500,令牌桶就能夠存滿。
說明:
桶中的令牌數量只要大於零,雲硬盤就具備突發能力。
本示例中令牌的消耗和儲蓄原理如 圖1 所示。藍色柱狀表示雲硬盤IOPS的使用狀況,綠色虛線爲IOPS上限,紅色虛線爲IOPS突發上限,黑色曲線表示令牌數量的變化趨勢。
圖1 突發能力原理圖
測試雲硬盤性能參數的具體測試方法請參見「 怎樣測試雲硬盤的性能 」。
根據是否支持高級的SCSI命令來劃分雲硬盤的磁盤模式,分爲VBD(虛擬塊存儲設備 , Virtual Block Device)類型和SCSI (小型計算機系統接口, Small Computer System Interface) 類型。
若是將SCSI共享雲硬盤掛載至ECS時,須要結合雲服務器組的反親和性一同使用,SCSI鎖纔會生效,關於更多共享雲硬盤的內容,請參見 共享雲硬盤及使用方法 。
使用SCSI的雲硬盤時,須要爲某些 雲服務器 操做系統安裝驅動,具體以下:
BMS的Windows和Linux鏡像操做系統中已經預安裝了使用SCSI雲硬盤所需的驅動,即SDI卡驅動,所以無需再安裝。
當您使用SCSI雲硬盤時,推薦您配合虛擬化類型爲KVM的ECS一同使用。由於KVM ECS的Linux操做系統內核中已經包含了驅動,Windows操做系統中也包含了驅動,無需您再額外安裝驅動,使用便捷。
說明:
ECS的虛擬化類型分爲KVM和XEN,想了解您所使用的ECS虛擬化類型,請參見 規格清單 。
因爲驅動和操做系統支持的限制,不建議您一同使用SCSI雲硬盤與虛擬化類型爲XEN的ECS。
然而,當前有一部分Windows和Linux操做系統支持SCSI雲硬盤,詳情請參見 表1 。
說明:
當XEN ECS的操做系統已知足SCSI雲硬盤的要求時,須要根據如下狀況判斷是否安裝SCSI驅動。
虛擬機化類型 |
操做系統 |
|
---|---|---|
XEN |
Windows |
請參見「公共鏡像」中的Window操做系統。 查看方法:登陸管理控制檯,選擇「鏡像服務 > 公共鏡像 > ECS 系統盤鏡像 > Windows」,便可查看操做系統列表。 |
Linux |
具體方法請參見「鏡像服務用戶指南」中的「優化Windows私有鏡像(可選)」小節。
更新時間: 2019/06/03 16:47
查看PDF
分享
根據是否支持掛載至多臺 雲服務器 能夠將雲硬盤分爲非共享雲硬盤和共享雲硬盤。一個非共享雲硬盤只能掛載至一臺 雲服務器 ,而一個共享雲硬盤能夠同時掛載至多臺 雲服務器 。
共享雲硬盤是一種支持多個 雲服務器 併發讀寫訪問的數據塊級存儲設備,具有多掛載點、高併發性、高性能、高可靠性等特色。
說明:
共享雲硬盤首次同時掛載至多臺Windows 雲服務器 ,則卸載後,也不能掛載至Linux 雲服務器 。由於Windows和Linux支持的文件系統不一樣,沒法識別雲硬盤原有文件系統,若是操做不當會致使原有文件系統被破壞。
圖1 共享雲硬盤使用場景
共享雲硬盤主要應用於須要支持集羣、HA(High Available,指高可用集羣)能力的關鍵企業應用場景,須要多個 雲服務器 可同時訪問一個雲硬盤。若是您將共享雲硬盤掛載到多個 雲服務器 ,首先請根據應用場景選擇不一樣的磁盤模式,包括VBD和SCSI。因爲多數常見集羣須要使用SCSI鎖,例如Windows MSCS集羣、Veritas VCS集羣和CFS集羣,所以建議您結合SCSI模式使用共享雲硬盤。使用SCSI雲硬盤,您可能須要爲某些 雲服務器 安裝驅動,具體請參見 磁盤模式及使用方法 。
您能夠建立VBD類型的共享雲硬盤和SCSI類型的共享雲硬盤。建議將共享雲硬盤掛載至位於同一個反親和性雲服務器組內的ECS,以提升業務可靠。
注意:
反親和性和SCSI鎖的相關概念:
關於雲服務器組,更多詳情請參見 管理雲服務器組 。
雲硬盤性能的主要指標有IO讀寫時延、IOPS和吞吐量。
不一樣類型雲硬盤的單隊列訪問時延以下:
參數 |
普通IO |
高IO |
超高IO |
---|---|---|---|
雲硬盤最大容量 |
|
|
|
最大IOPS |
2200 |
5000 |
33000 |
最大吞吐量 |
90 MB/s |
150 MB/s |
350 MB/s |
IOPS突發上限 |
2200 |
5000 |
16000 |
雲硬盤IOPS性能計算公式 說明: 以單塊超高IO雲硬盤爲例,基線爲1500 IOPS,每GB增長50 IOPS,最高爲33000 IOPS。 |
IOPS = min (2200, 500 +2 × 容量) |
IOPS = min (5000, 1200 + 6 × 容量) |
IOPS = min (33000, 1500 + 50 × 容量) |
API名稱 說明: 此處API名稱爲雲硬盤API接口中「volume_type」參數的取值,不表明底層存儲設備的硬件類型。 |
SATA |
SAS |
SSD |
數據持久性 |
99.9999999% |
||
掛載 雲服務器 數量 |
最大可同時掛載至16臺 雲服務器 |
說明:
測試共享雲硬盤性能時,必須知足如下要求:
若是彈性雲服務器不知足反親和性,則共享雲硬盤性能沒法達到最優。
共享雲硬盤本質是將同一塊雲硬盤掛載給多個 雲服務器 使用,相似於將一塊物理硬盤掛載給多臺物理服務器,每一臺服務器都可以對該硬盤任意區域的數據進行讀取和寫入。若是這些服務器之間沒有相互約定讀寫數據的規則,好比讀寫次序和讀寫意義,將會致使這些服務器讀寫數據時相互干擾或者出現其餘不可預知的錯誤。
共享雲硬盤爲 雲服務器 提供共享訪問的塊存儲設備,但其自己並不具有集羣管理能力,所以須要您自行部署集羣系統來管理共享雲硬盤,如企業應用中常見的Windows MSCS集羣、Linux RHCS集羣、Veritas VCS集羣和CFS集羣應用等。
若是在使用共享雲硬盤過程當中未經過集羣系統進行管理,可能會致使如下問題:
當一個共享雲硬盤同時掛載給兩臺 雲服務器 時, 雲服務器 A和 雲服務器 B相互之間沒法感知另外一個 雲服務器 已使用的存儲空間, 雲服務器 A可能會對該雲硬盤上已被 雲服務器 B使用的空間進行重複分配,從而發生空間分配衝突致使數據出錯的狀況。
好比,將一塊共享雲硬盤格式化爲ext3文件系統後掛載給 雲服務器 A和 雲服務器 B, 雲服務器 A在某一時刻向雲硬盤上的區域 R和區域 G寫了文件系統的元數據,下一時刻 雲服務器 B又向區域 E和區域 G寫了本身的元數據,則 雲服務器 A寫入的數據將會被替換,隨後讀取區域 G的元數據時即會出現錯誤。
當一個共享雲硬盤同時掛載給兩臺 雲服務器 時,若 雲服務器 A上的應用讀取區域 R和區域 G的數據後將數據記錄在緩存中,此時 雲服務器 A上的其餘進程或線程訪問該部分數據時,直接訪問緩存中的數據便可。若是此時 雲服務器 B上的應用修改區域 R和區域 G中的數據,則 雲服務器 A上的應用沒法感知該部分數據已被修改,依舊從緩存中讀取數據,用戶經過 雲服務器 A沒法看到已修改的新數據。
好比,將一塊共享雲硬盤格式化爲ext3文件系統後掛載給 雲服務器 A和 雲服務器 B,兩臺 雲服務器 均將文件系統的元數據進行了緩存,此後用戶在 雲服務器 A中建立了一個新的文件 F,但 雲服務器 B並沒有法感知該修改,依舊從緩存中讀取數據,致使用戶在 雲服務器 B中沒法看到文件F。
若是您將共享雲硬盤掛載到多個 雲服務器 ,首先請根據不一樣的應用選擇不一樣的磁盤模式,包括VBD和SCSI。SCSI類型的共享雲硬盤支持SCSI鎖,可是須要在 雲服務器 系統中安裝驅動並保證鏡像在兼容性列表中。
注意:
直接將共享雲硬盤掛載給多臺 雲服務器 沒法實現文件共享功能,如需在多臺 雲服務器 之間共享文件,須要搭建共享文件系統或相似的集羣管理系統。搭建集羣的方法,具體請參見 共享雲硬盤最佳實踐 。