向分佈式存儲系統的遷移-使用ZFS/Gluster 頂 原

我這用的Ubuntu 18.04系統(已經內置支持ZFS和Gluster文件系統了),原來磁盤存儲使用的Ext4格式和LVM,現在需要遷移到ZFS/Gluster支持的分佈式軟件定義存儲(SDS)和容器存儲體系(CSI),以充分利用分佈式架構的存儲虛擬化、多機容錯、水平擴容、網絡訪問的集羣環境下應用的需要。

方案:

  • 集羣節點既能提供存儲服務,也能執行高通量、非密集型計算任務。
  • 集羣存儲主機至少有兩個節點。
  • 每節點四核CPU,16G內存,512G高速SSD。
  • 每節點PCIE至少雙槽,一塊雙口萬兆網卡,一塊SATA擴展卡或SAS陣列卡。
  • 每節點至少4塊磁盤(達到400MB/s以上,磁盤越多越快;8塊盤可達到800MB/s左右)。
  • 節點的磁盤使用ZFS條帶卷以獲得最大磁盤IO速度,將SSD設爲緩存和log卷執行加速。
  • 多個節點存儲通過Gluster做網絡鏡像存儲,可以靈活地按照鏡像(可靠性高)或者條帶(容量大、性能高)來組織存儲方案。節點越多,可靠性、性能越好。

步驟:

中間需要有多個步驟,記錄如下:

  1. 先把新的存儲系統準備好。
    • 安裝ZFS,sudo apt install zfsutils-linux 。
    • 安裝Gluster,sudo apt install glusterfs-server 。
    • 在所有節點上,創建ZFS存儲池和文件系統。
    • 在所有節點上,互相添加爲gluster peer。
    • 在任一節點上,創建gluster volume存儲卷,可選鏡像或條帶模式。
    • 在需要訪問的工作節點掛載gluster存儲卷,映射爲本地卷,然後就可以直接訪問了。
      • 在Kubernetes上,每一個Node都需要能訪問網絡存儲卷,或者掛載爲本地卷、通過hostpah來使用。
  2. 把Ext4和原來磁盤陣列的數據複製到新的存儲系統。
    • 確認數據已經全部複製。
  3. 把原來的存儲系統重新格式化爲ZFS/Gluster。
    • 再次確認數據已經全部複製。
  4. 把原始數據複製回原來的存儲系統。
  5. 建立軟連接,連接到原來的捲到新的存儲系統主目錄。
    • ln -s 新的目錄 原來目錄的鏈接名
      • 如:ln -s /zpool/data /home/supermap/data
    • 恢復原來的服務。

注意:

  • ⚠️不要出錯,否則把原始數據搞丟了,就麻煩大了
  • 建議使用萬兆(10Gbps)網絡(存儲節點使用萬兆網卡,全萬兆交換機連接)。
    • 網絡存儲傳輸帶寬,理論上:
      • 百兆連接9MB/s。
      • 千兆連接90MB/s。
      • 萬兆連接900MB/s。
      • 雙萬兆連接1600MB/s以上。
    • 推薦:雙萬兆端口網卡,雙路互備、鏈路聚合。
  • 需要至少雙倍於現有數據的存儲空間。
    • 新的分佈式存儲啓用鏡像和副本,需要“數據容量X副本數量”的物理磁盤容量。

參考:

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