GFS分佈式文件系統集羣(理論篇)

GlusterFS概述

GlusterFS簡介

  • 開源的分佈式文件系統
  • 由存儲服務器,客戶端以及NFS/Samba存儲網關組成
  • 無元數據服務器

GlusterFS的特點

  • 擴展性和高性能
  • 高可用性
  • 全局統一的命名空間
  • 彈性卷管理
  • 基於標準協議

GlusterFS術語

  • Brick : 存儲節點
  • Volume : 卷
  • FUSE : 內核模塊,用戶端的交互模塊
  • VFS : 虛擬端口
  • Glusterd : 服務

模塊化堆棧架構

  • 模塊化、堆棧式的架構
  • 通過對模塊的組合,實現負責的功能

GlusterFS工作模式

GlusterFS工作流程

GFS分佈式文件系統集羣(理論篇)

  • Application:客戶端或應用程序通過GlusterFSync的掛載點訪問數據
  • VFS:linux系統內核通過VFS API收到請求並處理
  • FUSE : VFS 將數據遞交給FUSE內核文件系統,fuse文件系統則是將數據通過/dev/fuse設備文件遞交給了GlusterFS client端
  • GlusterFS Client ; 通過網絡將數據傳遞至遠端的GlusterFS Server,並且寫入到服務器存儲設備上

彈性HASH算法

  • 通過HASH算法得到一個32位的整數
  • 劃分爲N個連續的子空間,每個空間對應一個Brick
  • 彈性HASH算法的優點
    • 保證數據平均分佈在每一個Brink中
    • 解決了對元數據服務器的依懶,進而解決了單點故障以及訪問瓶頸

GlusterFS的卷類型

分佈式卷

  • 沒有對文件進行分塊處理
  • 通過擴展文件屬性保存HASH值
  • 支持底層文件系統有ext3、ext4、ZFS、XFS等

分佈式卷的特點

  • 文件分佈在不同的服務器。不具備冗餘性
  • 更容易和廉價地擴展卷的大小
  • 單點故障會造成數據丟失
  • 依懶底層的數據保護

創建分佈式卷

  • 創建一個名爲dis-volume的分佈式卷,文件將根據HASH分佈在server1:/dir1、server2:/dir2和server3:/dir3中
    gluster volume create dis-volume server1:/dir1 server2:/dir2

條帶卷

  • 根據偏移量將文件分爲N塊(N個條帶節點),輪詢的存儲在每個Brick Server節點
  • 存儲大文件時,性能尤爲突出
  • 不具備冗餘性,類似Raid0

特點

  • 數據被分割成更小塊分佈到塊服務器羣中的不同條帶區
  • 分佈減少負載且更小的文件加速了存取的速度
  • 沒有數據冗餘

創建條帶卷

  • 創建一個名爲Stripe-volume的條帶卷,文件將被分塊輪詢的存儲在Server1:/dir1和Server2:dir2兩個Brick中
    gluster volume create stripe-volume stripe 2 transport tcp server1:/dir1 server2:/dir2

複製卷

  • 同一個文件保存一份或多分副本
  • 複製模式因爲保存副本,所以磁盤利用率較低
  • 多個節點的存儲空間不一致,那麼將按照木桶效應取最低節點的容量作爲該卷的總容量

特點

  • 卷中所有的服務器均保存一個完整的副本
  • 卷的副本數量可以有客戶創建的時候決定
  • 至少由兩個塊服務器或更多服務器
  • 具備冗餘性

創建複製卷

  • 創建名爲rep-volume的複製卷、文件將同時存儲兩個副本
    gluster volume create rep-volume replica 2 transport tcp server1:/dir1 server2:/dir2

分佈式條帶卷

  • 兼顧分佈式卷和條帶卷的功能
  • 主要用於大文件訪問處理
  • 至少最少需要4臺服務器

創建分佈式條帶卷

  • 創建一個名爲dis-stripe的分佈式條帶卷,配置分佈式的條帶卷時,卷中Brink所包含 的存儲服務器數必須是條帶數的倍數(>=2倍)
    gluster volume create rep-volume stripe 2 transport tcp server1:/dir1 server2:/dir2 server3:/dir1 server4:/dir2

分佈式複製卷

  • 兼顧分佈式卷和複製卷的功能
  • 用於需要冗餘的情況下

創建分佈式複製卷

  • 創建一個名爲dis-rep的分佈式條帶卷,配置分佈式條帶卷的複製卷時,卷中Brink所包含的存儲服務器必須是條帶數的倍數(>=2倍)
    gluster volume create rep-volume replica 2 transport tcp server1:/dir1 server2:/dir2 server3:/dir1 server4:/dir2
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章