什么是三副本技術
云硬盤的存儲系統采用三副本機制來保證數據的可靠性,即針對某份數據,默認將數據分為1 MB大小的數據塊,每一個數據塊被復制為3個副本,然后按照一定的分布式存儲算法將這些副本保存在集群中的不同節點上,數據可靠性高達9個9。
云硬盤三副本技術的主要特點如下:
● 存儲系統自動確保3個數據副本分布在不同服務器的不同物理磁盤上,單個硬件設備的故障不會影響業務。
● 存儲系統確保3個數據副本之間的數據強一致性。
例如,對于服務器A的物理磁盤A上的數據塊P1,系統將它的數據備份為服務器B的物理磁盤B上的P1''和服務器C的物理磁盤C上的P1',P1、P1'和P1''共同構成了同一個數據塊的三個副本。若P1所在的物理磁盤發生故障,則P1'和P1''可以繼續提供存儲服務,確保業務不受影響。
圖 數據塊存儲示意圖

三副本技術怎樣確保數據一致性?
數據一致性表示當應用成功寫入一份數據到存儲系統時,存儲系統中的3個數據副本必須一致。當應用無論通過哪個副本再次讀取這些數據時,該副本上的數據和之前寫入的數據都是一致的。
云硬盤三副本技術主要通過以下機制確保數據一致性:
● 寫入數據時,同時在3個副本執行寫入操作
當應用寫入數據時,存儲系統會同步對3個副本執行寫入數據的操作,并且只有當多個副本的數據都寫入完成時,才會向應用返回數據寫入成功的響應。
● 讀取數據失敗時,自動修復損壞的副本
當應用讀數據失敗時,存儲系統會判斷錯誤類型。如果是物理磁盤扇區讀取錯誤,則存儲系統會自動從其他節點保存的副本中讀取數據,然后在物理磁盤扇區錯誤的節點上重新寫入數據,從而保證數據副本總數不減少以及副本數據一致性。
三副本技術怎樣實現數據快速重建?
存儲系統的每個物理磁盤上都保存了多個數據塊,這些數據塊的副本按照一定的策略分散存儲在集群中的不同節點上。當存儲系統檢測到硬件(服務器或者物理磁盤)發生故障時,會自動啟動數據修復。由于數據塊的副本分散存儲在不同的節點上,數據修復時,將會在不同的節點上同時啟動數據重建,每個節點上只需重建一小部分數據,多個節點并行工作,有效避免了單個節點重建大量數據所產生的性能瓶頸,將對上層業務的影響做到最小化。
數據重建流程如下圖所示。
圖 數據自動重建流程

數據重建原理如下圖所示,例如當集群中的服務器F硬件發生故障時,物理磁盤上的數據塊會在其他節點的磁盤上并行重建恢復。
圖 數據重建原理

三副本技術和云硬盤備份、快照有什么區別?
三副本技術是云硬盤存儲系統為了確保數據高可靠性提供的技術,主要用來應對硬件設備故障導致的數據丟失或不一致的情況。
云硬盤備份、快照不同于三副本技術,主要應對人為誤操作、病毒以及黑客攻擊等導致數據丟失或不一致的情況。我們建議您在日常操作中,采用云硬盤備份、快照功能,定期備份云硬盤中數據。