天天看點

Gluster部署及ganesha導出實踐1.   基礎環境2.   安裝ganesha3.   安裝gluster4.   gluster環境配置4.1.  添加節點到gluster叢集5.   建立gluster volume6.   本地挂載gluster volume7.   通過ganesha導出8.   挂載方式差別

1.   基礎環境

機器:騰訊雲CVM

OS:centos7.4x86——64

IP位址:

      10.154.14.207

10.154.51.185

10.105.17.180

10.105.73.90

         注意:為了挂載和ganesha導出友善,沒有進行hosts配置,直接使用ip操作。同時這裡采用直接在gluster機器上面直接安裝nfs-ganesha導出

2.   安裝ganesha

這裡我們在10.154.14.207上安裝ganesha,來測試功能。

#安裝ganesha
yum install -y nfs-ganesha*
           

3.   安裝gluster

yum install -y centos-release-gluster
yum install -y glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma
systemctl start glusterd.service
systemctl enable glusterd.service
           

4.   gluster環境配置

4.1.  添加節點到gluster叢集

在10.154.14.207機器上面執行probe指令将其他節點添加進來:

gluster peer probe 10.154.51.185
gluster peer probe 10.105.17.180
gluster peer probe 10.105.73.90
           

4.2.  檢視叢集狀态

檢視叢集狀态指令:

gluster peer status
           
Gluster部署及ganesha導出實踐1.   基礎環境2.   安裝ganesha3.   安裝gluster4.   gluster環境配置4.1.  添加節點到gluster叢集5.   建立gluster volume6.   本地挂載gluster volume7.   通過ganesha導出8.   挂載方式差別

可見其他三個節點都被成功的添加進來了。

5.   建立gluster volume

Gluster volume可分為基本卷和複合卷,基本卷包括:distributed volume, replicated volume,striped volume; 複合卷包括: distributed replicated volume, distributed striped volume, replicated striped volume, distributed replicated striped volume。Distributed volume(哈希卷)為預設的卷。這裡我們建立一個哈希卷和哈希複制卷。

5.1.  建立brick目錄

為了友善,我們直接在/data目錄下建立我們所需要的brick。

分别在四台機器上面建立如下目錄:

mkdir –p /data/dht_volume1
mkdir –p /data/replica_volume1
           

5.2.  建立volume

#建立哈希卷:dht-volume1
gluster volume create dht-volume1 10.105.73.90:/data/dht_volume1 10.105.17.180:/data/dht_volume1 10.154.14.207:/data/dht_volume1 10.154.51.185:/data/dht_volume1 force
#建立哈希複制卷:dht-rep-volume1
gluster volume create dht-rep-volume1 replica 2 10.105.73.90:/data/replica_volume1 10.105.17.180:/data/replica_volume1 10.154.14.207:/data/replica_volume1 10.154.51.185:/data/replica_volume1 force
           
Gluster部署及ganesha導出實踐1.   基礎環境2.   安裝ganesha3.   安裝gluster4.   gluster環境配置4.1.  添加節點到gluster叢集5.   建立gluster volume6.   本地挂載gluster volume7.   通過ganesha導出8.   挂載方式差別

         注意:由于我們直接在data目錄下建立的brick,故需要在建立volume的時候增加force參數。不然會報錯,如“volume create: dht-volume1: failed: The brick 10.154.14.207:/data/dht_volume1 is being created in the root partition. It is recommended that you don't use the system's root partition for storage backend. Or use 'force' at the end of the command if you want to override this behavior.”

5.3.  啟動volume

#啟動卷指令
gluster volume start volume-name
gluster volume start dht-volume1
gluster volume start dht-rep-volume1
           
Gluster部署及ganesha導出實踐1.   基礎環境2.   安裝ganesha3.   安裝gluster4.   gluster環境配置4.1.  添加節點到gluster叢集5.   建立gluster volume6.   本地挂載gluster volume7.   通過ganesha導出8.   挂載方式差別

5.4.  檢視volume

#檢視volume資訊指令:
gluster volume info [volume_name]
#檢視volume狀态指令:
gluster volume status [volume_name]
           
Gluster部署及ganesha導出實踐1.   基礎環境2.   安裝ganesha3.   安裝gluster4.   gluster環境配置4.1.  添加節點到gluster叢集5.   建立gluster volume6.   本地挂載gluster volume7.   通過ganesha導出8.   挂載方式差別
Gluster部署及ganesha導出實踐1.   基礎環境2.   安裝ganesha3.   安裝gluster4.   gluster環境配置4.1.  添加節點到gluster叢集5.   建立gluster volume6.   本地挂載gluster volume7.   通過ganesha導出8.   挂載方式差別
Gluster部署及ganesha導出實踐1.   基礎環境2.   安裝ganesha3.   安裝gluster4.   gluster環境配置4.1.  添加節點到gluster叢集5.   建立gluster volume6.   本地挂載gluster volume7.   通過ganesha導出8.   挂載方式差別

6.   本地挂載gluster volume

在任意一台gluster機器上面執行挂載指令,如:

mount -t glusterfs localhost:/dht-volume1 /mnt/dht_volume1
           
Gluster部署及ganesha導出實踐1.   基礎環境2.   安裝ganesha3.   安裝gluster4.   gluster環境配置4.1.  添加節點到gluster叢集5.   建立gluster volume6.   本地挂載gluster volume7.   通過ganesha導出8.   挂載方式差別

從df可以發現,每台機器上面的”/”容量為50G,4台機器總容量為200G,哈希卷的總容量等于各個brick的容量相加。

同時,由于我們客戶機器屬于gluster機器,故直接挂載localhost即可。否則localhost位置需要更改為volume包含的brick所在的任何一台機器的ip即可。

7.   通過ganesha導出

7.1.  編輯配置檔案

在安裝了ganesha的機器10.154.14.207上,編輯配置檔案/etc/ganesha/ganesha.conf

Gluster部署及ganesha導出實踐1.   基礎環境2.   安裝ganesha3.   安裝gluster4.   gluster環境配置4.1.  添加節點到gluster叢集5.   建立gluster volume6.   本地挂載gluster volume7.   通過ganesha導出8.   挂載方式差別

決定volume導出目錄的是FSAl block中的volpath,和path以及pseudo無關。

7.2.  啟動ganesha

#啟動ganesha指令
systemctl start nfs-ganesha
           

7.3.  檢視導出點

showmount -e localhost      
           
Gluster部署及ganesha導出實踐1.   基礎環境2.   安裝ganesha3.   安裝gluster4.   gluster環境配置4.1.  添加節點到gluster叢集5.   建立gluster volume6.   本地挂載gluster volume7.   通過ganesha導出8.   挂載方式差別

可見兩個卷已經被導出

7.4.  挂載檔案系統

我們在10.105.17.180上面挂載ganesha導出的檔案系統。

7.4.1.   安裝nfs用戶端

#安裝nfs用戶端
yum install –y nfs-utils
           

7.4.2.   挂載

#挂載nfs檔案系統
mount -t nfs4 10.154.14.207:/dht-volume1-seudo /mnt/dht_volume1
mount -t nfs4 10.154.14.207:/dht-rep-volume1-seudo /mnt/dht_rep_volume1
           
Gluster部署及ganesha導出實踐1.   基礎環境2.   安裝ganesha3.   安裝gluster4.   gluster環境配置4.1.  添加節點到gluster叢集5.   建立gluster volume6.   本地挂載gluster volume7.   通過ganesha導出8.   挂載方式差別

容量按照原理也是正确的。

8.   挂載方式差別

gluster-fuse本地挂載,走的是fuse,路徑較長;

ganesha導出,走的為libglusterfs庫,路徑較短。

原理上,ganesha導出的性能會更好。

繼續閱讀