用glusterfs搭建分布式集群

2021-05-25 10:55:22 字數 2962 閱讀 1637

在前面已經安裝好的glusterfs基礎上,用兩台虛擬機器test1,test2來分布式儲存測試,ip分別為:192.168.30.6,192.168.30.7

1.首先確保這兩台虛擬機器執行sudo /etc/init.d/glusterd start啟動正常

2.用其中一台來執行gluster命令,形式分布式集群,例如本人用的是test1(192.168.30.6)這台機器來

3.在test1這台機器上,首先執行sudo gluster peer probe 192.168.30.7,首先將test2這台機器加入到受信任的儲存池中(簡單地說,一台機器上的乙個目錄,可以看作是乙個儲存池),test2的glusterd start要啟動,才能連線上,可以使用sudo gluster peer status命令檢視儲存池資訊。一旦這個儲存池加進來,以前在這個儲存池上做的一些操作,也會相應出來,比如,以前這個儲存池做過複製式儲存集群中的其中一台機器,這時用sudo gluster volume info命令檢視就會顯示出相應資訊。這時可以直接在這個卷(gluster volume)上使用gluster volume命令擴充套件儲存池和刪減儲存池。( gluster volume,簡單地說,就是將多台機器上的資源(比如某個目錄)整合到一起,形成乙個volume,對多台機器統一管理,並按照配置命令形成相應操作,比如:將這多台機器形成分布式卷或備份式(即複製式)的卷)

4.這裡只對分布式集群作說明,備份式的集群類似,詳見官方文件。當test2成功peer probe後,在test1機器上,使用命令sudo gluster volume create test-volume transport tcp 192.168.30.6:/home/dir1 192.168.30.7:/home/dir1,這裡有沒有dir1這個目錄無關緊要,如果沒有這個目錄,這個命令後會自動建立這個目錄。(注意:因為本機預設已經在pool裡,所以不用peer probe)

5.通過第4步,test1:/home/dir1和test2:/home/dir2就形成了乙個簡單的分布式集群。下面在客戶端上做測試

客戶端可以使用三種方式來掛載服務端的卷:1.nfs;2.cifs;3.gluster native client(這個是glusterfs自己的客戶端),這裡對後兩種進行說明

1.gluster native client。

(a).這個需要客戶端(test3:192.168.30.8)上裝glusterfs,詳見前面"glusterfs安裝配置"。在裝好後,使用命令sudo mount -t  glusterfs 192.168.30.6:/test-volume /mnt/gluster(這個目錄需要自己先建好)

(b).在掛載成功後,切換到test3的/mnt/gluster目錄中,使用touch ,然後回到test1的/home/dir1目錄下檢視,發現有1,5,7,在test2的/home/dir1目錄中有2,3,4,6,說明已經將檔案成功分布儲存在不同機器上

2.cifs(這個是windows上的網路檔案傳輸協議,網路上的芳鄰就是採用這種協議)

原理:首先和gluster native client一樣,將服務端的卷掛載到某個目錄下,用samba將這個掛載目錄export出去,這樣在windows的網路上的芳鄰中就可以訪問了

(a).在test1中,sudo mkdir /mnt/gluster,建立掛載目錄

(b).sudo vim /etc/samba/smb.conf,將下面的內容新增到最後

[glustertest]

comment = for testing a gluster volume exported through cifs

path = /mnt/gluster

read only = no

guest ok = yes

(c).在test1中,使用命令sudo mount -t glusterfs 192.168.30.6:/test-volume /mnt/gluster,這樣windows主機的網路上的芳鄰中,就可以直接訪問這個卷了。(其實test1的卷只是個虛擬的,必須掛載到物理目錄上,才可以對映到網路中)

補充說明:

1.glusterfs通過掛載volume到乙個目錄下的乙個資料夾下,增刪改查都像本地一樣,對使用者是透明的

2.sudo /etc/init.d/gluster start啟動後,用sudo gluster peer status檢視節點狀態,可以看到如果節點機器上沒有啟動sudo /etc/init.d/gluster start的話,此時顯示的是未連線,如果啟動後,會自動連線上,用sudo gluster  volume info檢視volume資訊時,可以看到,無論節點機器有沒有啟動,它狀態顯示的都是started,也就是說預設是啟動狀態,此時只需要節點機器啟動gluster守護程序,便可掛載volume了

3.samba是linux系統上實現smb協議的乙個免費軟體,smb協議通常是被windows系列用來實現磁碟和印表機共享

4.解除安裝掛載點:sudo umount /mnt/gluster

5.glusterfs最好用同一版本,我乙個用3.1,乙個用3.2,結果在peer probe的時候,顯示的是probe failed,但去檢視狀態peer status時,發現其中顯示的是已連線上

6.當使用配置檔案來做分布式檔案儲存時,glusterfsd.vol是服務端配置模板檔案,glusterfs.vol是客戶端模板配置檔案,服務端在啟動時或客戶端在掛載目錄時,可以指定用哪個配置檔案啟動,組成不用的應用

7.glusterfsd.vol這個配置檔案有沒有,並不影響守護程序sudo /etc/init.d/glusterd start啟動,/home/dir目錄有沒有,也不影響守護程序啟動,就是當有目錄且還將此目錄exoirt的時候設了1777許可權後,守護程序啟動才會報錯,剛開始受網上影響,因為先按配置檔案來使用gluster的,導致在使用守護程序去管理glusterfs時,一直在啟動守護程序這裡出錯

注:如果要直接在網路上的芳鄰中,對掛載的卷做新增檔案和刪除檔案操作,必須對掛載的目錄/mnt/gluster賦予許可權,sudo chmod 777 /mnt/gluster,如果是1777的話,不能刪除檔案,只能新增

GlusterFS分布式檔案部署

fuse安裝 yum install zlib devel util linux tar zxvf fuse 2.9.2.tar.gz cd fuse configure make make install export pkg config path usr local fuse lib pkgc...

GlusterFS 分布式檔案系統

官方文件 glusterfs是乙個開源的分布式檔案系統,是scale儲存的核心,能夠處理千數量級的客戶端。是整合了許多儲存塊 server 通過infiniband rdma或者 tcp ip方式互聯的乙個並行的網路檔案系統。特徵 一般在企業中,採用的是分布式複製卷,因為有資料備份,資料相對安全。網...

GlusterFS分布式檔案系統原理

glusterfs概述 glusterfs gluster file system 是乙個開源的分布式檔案系統,主要由z research公司負責開發 是scale out儲存解決方案gluster的核心,它是乙個開源的分布式檔案系統,在儲存方面具有強大的橫向擴充套件能力,通過擴充套件不同的節點可以...