什么是共享云硬盤?
共享云硬盤允許多個云主機并發訪問同一個云硬盤,實現多個實例之間的數據共享和協作。對云硬盤的共享訪問通常應用于數據集群應用系統、分布式文件系統和高可用性架構等場景。
一塊共享云硬盤支持同時掛載到最多16臺云主機,其中云主機包括彈性云主機和物理機兩種,目前共享云硬盤只支持共享數據盤,不支持共享系統盤。
注意
開啟多重掛載功能的云盤并掛載至多臺云主機后,如果使用ext4、xfs等單節點文件系統,多個云主機之間數據無法同步,會導致數據不一致等問題,建議您自行創建適用于業務的集群文件系統。集群文件系統能確保寫入的數據、創建的文件、修改的元數據能夠實時同步到所有掛載節點,從而在文件系統層保證數據的一致性,常用的集群文件系統包括OCFS2、GFS2、Veritas CFS、Oracle ACFS和DBFS等。
直接將共享云硬盤掛載給多臺云主機無法實現文件共享功能,如需在多臺云主機之間共享文件,需要搭建共享文件系統或類似的集群管理系統。
具體架構見圖:

說明
當前支持云硬盤共享功能的資源池為:重慶2/南寧2/成都4/蕪湖2/九江/西寧2/拉薩3/海口2/佛山3/貴州3/福州3/上海7/杭州2/北京5/南京3/南京4/西安4/內蒙6/晉中/郴州2/武漢4/福州4/昆明2/西安5/南京5/華東1/南寧23/上海36/石家莊20/遼陽1/青島20/武漢41/福州25/烏魯木齊27/華北2/西南1/長沙42/中衛5/南昌5/華南2/西安7/太原4/鄭州5/西南2-貴州/杭州7/西安3/慶陽2/烏魯木齊7。
共享云硬盤的優點
多掛載點:單個共享云硬盤最多可同時掛載給16臺云主機,既可以掛載至天翼云云主機,也可以掛載至天翼云物理機,靈活部署不同類型的工作負載。
高性能:高IOPS (Input/Output Operations Per Second),低時延,滿足現代應用的需求。
共享云硬盤的規格性能
共享云硬盤的規格性能與普通云硬盤規格性能一致,詳情請參見產品規格。
共享云硬盤的數據共享原理
共享云硬盤本質上就是將同一塊云硬盤掛載到多臺云主機上。由于每一臺云主機均可以在任意時刻對該云硬盤任意區域的數據進行讀寫,如果這些云主機之間沒有相互約定讀寫數據的規則,將會導致這些云主機讀寫數據時相互干擾,以致出現不可預知的錯誤。
想要確保云主機在訪問過程中不互相干擾,確保讀寫次序和讀寫意義,必須通過一個集群來對讀寫進行集中管理與調度,因此用戶在實際使用過程中務必確保自行部署集群系統,如企業應用中常見的Windows MSCS集群、Linux RHCS集群和CFS集群應用等。
如果使用共享云硬盤的過程中并沒有通過集群進行管理,有可能導致以下問題:
讀寫沖突導致數據不一致
當兩臺彈性云主機同時掛載了同一塊共享云硬盤卻沒有在一個集群系統中進行管理時,這兩臺云主機無法感知對方的具體存儲空間是否已被使用,可能導致存儲空間的重復分配,最終導致空間分配沖突使得數據出錯的情況。
比如,將一塊共享云硬盤格式化為ext3文件系統后掛載給云主機A和云主機B,云主機A在某一時刻向云硬盤上的區域C和區域D寫了文件系統的元數據,下一時刻云主機B又向區域E和區域D寫了自己的元數據,則云主機A寫入的數據將會被替換,隨后讀取區域D的元數據時即會出現錯誤。數據緩存導致數據不一致
當兩臺彈性云主機同時掛載了同一塊共享云硬盤卻沒有在一個集群系統中進行管理時,其中一臺假定為云主機A,另一臺為云主機B,云主機A將讀取來的數據記錄在緩存區域中,云主機A上的其他進程讀取數據時,可直接去讀緩存區域的數據提高效率,而云主機B若修改了緩存區域的數據,云主機A是無法感知數據變化的,此時若繼續讀取緩存,則會導致讀取的數據不一致情況。比如,將一塊共享云硬盤格式化為ext3文件系統后掛載給云主機A和云主機B,兩臺云主機均將文件系統的元數據進行了緩存,此后用戶在云主機A中創建了一個新的文件File,但云主機B并無法感知該修改,依舊從緩存中讀取數據,導致用戶在云主機B中無法看到文件File。
除此之外,還可能會導致存儲性能下降,讀寫速度變慢,響應時間延長等問題。
共享云硬盤的使用方法
登錄天翼云云硬盤控制臺,進行創建云硬盤的操作,直接在“創建云硬盤”頁面中創建。
在“創建云硬盤”窗口中,在高級配置中,勾選共享盤勾選框,來創建支持共享的云硬盤。

創建成功后,在云硬盤列表中為剛創建的共享盤來選擇彈性云主機實例或物理機實例并單擊掛載,可將該云硬盤掛載至同一可用區的多臺彈性云主機或物理機。
在多臺云主機或物理機實例上構建共享文件系統或其他集群系統實現數據共享。