分佈式存儲的系統架構

對一個大規模集羣的存儲系統而言,服務器宕機、交換機失效是常態,架構師必須爲這些故障發生時,保證系統依然可用而進行系統設計。在系統架構層面,保證高可用的主要手段是冗餘:服務器熱備,數據多份存儲。使整個集羣在部分機器故障的情況下可以進行靈活的失效轉移,保證系統整體依然可用,數據持久可靠。系統架構如下圖所示:
  系統整體上課分爲如下三個部分。
  應用程序服務器:它們是存儲系統的客戶,對系統發起數據操作請求。
  數據存儲服務器:它們是存儲系統的核心,負責存儲數據、響應應用服務器的數據操作請求。
  分佈式存儲的系統架構
  管理中心服務器:這是一個由兩臺機器組成的主-主熱備的小規模服務器集羣,主要負責集羣管理,對數據存儲集羣進行健康心跳檢測;集羣擴容、故障恢復管理;對應用程序服務器提供集羣地址配置信息服務等。
  其中,數據存儲服務器又根據應用的可用性級別設置數據複製份數,即每個數據實際物理存儲的副本數目,副本份數越多,可用性級別越高,當然需要的服務器也越多。爲了便於管理和訪問數據的多個副本,將存儲服務器劃分爲多個序列,數據的多個副本存儲在不同的序列中。例如SN74AHC74DR
  應用服務器寫入數據時,根據集羣配置和應用可用性級別使用路由算法在每個序列中計算得到一臺服務器,然後同時併發寫入這些服務器中;應用服務器讀取數據時,只需要隨機選擇一個序列,根據相同路由算法計算得到服務器編號和地址,即可讀取。通常情況下,系統最少寫入的副本份數是兩份。
  在正常狀態下,存儲服務器集羣中的服務器互不感知,不進行任何通信;應用服務器也只在啓動時從管理中心服務器獲取存儲服務器集羣信息,除非集羣信息發生變化(故障、擴容),否則應用服務器不會和管理中心服務器通信。一般而言,服務器之間通信越少,就越少依賴,發生故障時互相影響就越少,集羣的可用性就越高。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章