Gluster Storage System

Gluster - Brick 設定

Gluster 的最小單位是 Brick,當您的新的節點加入到 Gluster Pool 時,需要將 Brick 設定好後才可以開始將可用空間加入到 Volume 以供 Client 使用。

設定 Brick 的過程較為麻煩,需要經過磁碟分割、設定 LVM、格式化、設定掛載等作業,但這些動作只需要一次設定就可以了,偶後只要使用 gluster 指令進行 volume 的相關設定即可。

假設本文的環境為 2 個節點,每個節點設計了分享 2 個 Volume 做為 Brick,一共有 4 個 Brick,其配置如下:

節點名稱 Brick Path Size Disk VG Path
S1 lv_01 10GB /dev/sda1 vg_group /bricks/brick_01
S1 lv_02 10GB /dev/sda1 vg_group /bricks/brick_02
S2 lv_01 10GB /dev/sda1 vg_group /bricks/brick_01
S2 lv_02 10GB /dev/sda1 vg_group /bricks/brick_02

LVM 設定

LVM

當您將硬碟配置完成後(不論是 RAID 或是單一硬碟),在作業系統會看到一個空的硬碟空間,該空間要先將他設定為 LVM 可用的標記,然後再開始將它切出要使用的邏輯磁碟區。

在每個節點以上表完成設定流程:

  1. 分割硬碟

     root # fdisk /dev/sda
    
  2. 設定 /dev/sda 啟用 LVM

     root # pvcreate /dev/sda1
    
  3. 建立 Volume Group

     root # vgcreate vg_group /dev/sda1
    
  4. 設定 Logical Volume 的 Thin Pool

     root # lvcreate -L 50G -T vg_group/brick_spool
    
  5. 設定 lv_01 Logical Volume 邏輯磁區

     root # lvcreate -L 10G -T vg_group/brick_spool -n lv_01
    
  6. 設定 lv_02 Logical Volume 邏輯磁區

     root # lvcreate -L 10G -T vg_group/brick_spool -n lv_02
    

格式化 Logical Volume

Gluster 會在 Brick 的分割區中使用較多的 inode 空間以記錄每個檔案的狀態,因此在格式化的時候要將 inode size 設定為 512。

root # mkfs.xfs -i size=512 /dev/vg_group/lv_01
root # mkfs.xfs -i size=512 /dev/vg_group/lv_02

如果該 LV 已經格式過,那麼要重新格式化該 LV 的話,可以使用 -f 參數強迫格式化。

設定掛載與可用路徑

在節點 S1 與 S2 分別設定好目錄掛載,並且在開機的時候一併生效。

  1. 建立 brick 掛載目錄

     root # mkdir -p /bricks/{brick_01,brick_02}
    
  2. 編輯 /etc/fstab 檔案讓開機時也自動掛載 LV

     /dev/vg_group/lv_01 /bricks/brick_01 xfs rw,noatime,nouuid,inode64 0 0
     /dev/vg_group/lv_02 /bricks/brick_02 xfs rw,noatime,nouuid,inode64 0 0
    
  3. 掛載目錄

     root # mount -a
    

    如果在這個步驟發生錯誤,請檢查 /etc/fstab 檔案是否設定正確。

  4. 建立 brick 資料目錄

     root # mkdir /bricks/{brick_01,brick_02}/brick