glusterFS的部署流程 G lusterFS簡單配置

轉自:http://www.cnblogs.com/terrycy/p/5915263.htmlhtml

GlusterFS簡單配置linux

 

1.準備工做centos

準備三臺機器(物理機或者虛擬機都可)用於安裝和測試GlusterFS,其中兩臺用做服務器,一臺用做客戶端,主機名分別爲:服務器

Server1.zhaogang.int  10.0.21.241
Server2.zhaogang.int  10.0.21.242
Clinet.zhaogang.int

關閉iptablesselinuxsocket

  

2.安裝glusterFS服務器tcp

yum install centos-release-gluster -y
yum install glusterfs-server  glusterfs glusterfs-fuse -y

啓動glusterFS服務:ide

/etc/init.d/glusterd  start

 

設置glusterFS服務開機啓動post

chkconfig glusterd on

GlusterFS服務器設置測試

加入可信任存儲池ui

server1上運行一下命令:

[root@server1 ~]# gluster peer probe 10.0.21.242
peer probe: success.

 

查看狀態:

複製代碼
[root@server1 ~]# gluster peer status
Number of Peers: 1
Hostname: 10.0.21.242
Uuid: ab640ab2-76ba-47a5-a868-be5514b70258
State: Peer in Cluster (Connected)
複製代碼

 

移除節點:

gluster peer detach  10.0.21.242

 

B.建立GlusterFS邏輯卷(Volume)

 

server1server2分別創建/data/gfsdata目錄:

mkdir -p /data/gfsdata

 

而後執行如下命令(只須要在其中一臺服務器上執行便可,本例使用server1):

[root@server1 ~]# gluster volume create gv0 replica 2 10.0.21.241:/data/gfsdata 10.0.21.242:/data/gfsdata
volume create: gv0: success: please start the volume to access data

這條命令的意思是使用Replicated的方式,創建一個名爲gv0的卷(Volume),存儲塊(Brick)2個,分別爲server1:/data/gfsdataserver2:/data/gfsdata

 

volume create: testglustervol: failed: The brick 192.168.21.19:/data0/gluster1/brick1 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.

發現報錯了,這是由於咱們建立的brick在系統盤,這個在gluster的默認狀況下是不容許的,生產環境下也儘量的與系統盤分開,若是必須這樣請使用force 

 

[root@server1 ~]# gluster volume create gv0 replica 2 10.0.21.241:/data/gfsdata 10.0.21.242:/data/gfsdata force
volume create: gv0: success: please start the volume to access data

 

 

啓用GlusterFS邏輯卷:

[root@server1 ~]# gluster volume start gv0
volume start: gv0: success

 

查看邏輯卷狀態:

複製代碼
[root@server1 ~]# gluster volume info
Volume Name: gv0
Type: Replicate
Volume ID: da0f4439-824b-4606-bc18-4bdbdc93d09d
Status: Started
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: 10.0.21.241:/data/gfsdata
Brick2: 10.0.21.242:/data/gfsdata
Options Reconfigured:
performance.readdir-ahead: on
複製代碼

 

清除glusterfs配置

經過查看/etc/glusterfs/glusterd.vol能夠得知glusterfs的工做目錄是在/var/lib/glusterd中

複製代碼
[root@localhost ~]# cat /etc/glusterfs/glusterd.vol 
volume management
    type mgmt/glusterd
    option working-directory /var/lib/glusterd
    option transport-type socket,rdma
    option transport.socket.keepalive-time 10
    option transport.socket.keepalive-interval 2
    option transport.socket.read-fail-log off
    option ping-timeout 0
    option event-threads 1
#   option transport.address-family inet6
#   option base-port 49152
end-volume
複製代碼

若是須要清除glusterfs配置,將工做目錄刪除後重啓服務便可

[root@localhost ~]# rm -rf /var/lib/glusterd/
[root@localhost ~]# /etc/init.d/glusterd restart

刪除卷

gluster volume stop gv0 
gluster volume delete gv0

# 卷擴容(因爲副本數設置爲2,至少要添加2(四、六、8..)臺機器)

gluster peer probe 10.0.21.243 # 加節點 
gluster peer probe 10.0.21.244 # 加節點 
gluster volume add-brick gv0 10.0.21.243:/data/glusterfs 10.0.21.244:/data/glusterfs # 合併卷

# 收縮卷(收縮卷前gluster須要先移動數據到其餘位置)

gluster volume remove-brick gv0 10.0.21.243:/data/glusterfs 10.0.21.244:/data/glusterfs start # 開始遷移 
gluster volume remove-brick gv0 10.0.21.243:/data/glusterfs 10.0.21.244:/data/glusterfs status # 查看遷移狀態 
gluster volume remove-brick gv0 10.0.21.243:/data/glusterfs 10.0.21.244:/data/glusterfs commit # 遷移完成後提交

# 遷移卷

複製代碼
gluster peer probe 10.0.21.245 # 將10.0.21.246數據遷移到10.0.21.245先將10.0.21.245加入集羣 
gluster volume replace-brick gv0 10.0.21.246:/data/glusterfs 10.0.21.245:/data/glusterfs start # 開始遷移 
gluster volume replace-brick gv0 10.0.21.246:/data/glusterfs 10.0.21.245:/data/glusterfs status # 查看遷移狀態 
gluster volume replace-brick gv0 10.0.21.246:/data/glusterfs 10.0.21.245:/data/glusterfs commit # 數據遷移完畢後提交 
gluster volume replace-brick gv0 10.0.21.246:/data/glusterfs 10.0.21.245:/data/glusterfs commit -force # 若是機器10.0.21.246出現故障已經不能運行,執行強制提交 
gluster volume heal gv0 full # 同步整個卷
複製代碼

  本文介紹的是GlusterFS基礎的用法,感受它的最大優勢就是文件使用哈希散列,而不須要單獨去維護MetaData以避開單點問題,而目錄則是全部節點都一致的。節點信息會在變化過程當中自動同步!不過增刪節點,須要作Rebalance數據纔會從新分佈。

 

 

C.clinet上安裝客戶端軟件:

 

#yum -y install glusterfs glusterfs-fuse

 

GlusterFS客戶端鏈接

在客戶端client.zhaogang.int上使用mount命令,把服務器上新建的GlusterFS邏輯卷gv0掛載到本地目錄/mnt/glusterfs上:

 

[root@localhost ~]# mkdir /mnt/glusterfs
[root@localhost ~]# mount -t glusterfs 10.0.21.241:/gv0 /mnt/glusterfs
[root@localhost ~]# 

 

確認掛載結果:

[root@localhost ~]# mount -t fuse.glusterfs
10.0.21.241:/gv0 on /mnt/glusterfs type fuse.glusterfs (rw,default_permissions,allow_other,max_read=131072)

 

若是但願系統重啓後能夠自動掛載,在/etc/fstab文件中加入此行:

 

 

10.0.0.241:/data/gfsdata      /mnt/glusterfs    glusterfs  defaults        0 0

 

 

客戶端測試鏈接

client端成功掛載邏輯卷以後,在掛載目錄/mnt/glusterfs創建文件以測試GlusterFS是否正常工做。

 

[root@localhost glusterfs]# cd /mnt/glusterfs/
[root@localhost glusterfs]# touch file1 file2 file3
[root@localhost glusterfs]# ls -l
total 0
-rw-r--r--. 1 root root 0 Aug 29 21:07 file1
-rw-r--r--. 1 root root 0 Aug 29 21:07 file2
-rw-r--r--. 1 root root 0 Aug 29 21:07 file3

 

由於建立卷gv0的時候使用的是鏡像存儲(Replicated),因此在gv0上寫入的文件應該同時出如今兩個服務器的/data/gfsdata目錄上。
server1server2查看/data/gfsdata/目錄,能夠看到兩個服務器均出現這三個文件:

 

[root@server1 ~]# cd /data/gfsdata/
[root@server1 gfsdata]# ls -l
total 0
-rw-r--r--. 2 root root 0 Aug 29 21:07 file1
-rw-r--r--. 2 root root 0 Aug 29 21:07 file2
-rw-r--r--. 2 root root 0 Aug 29 21:07 file3
[root@server2 ~]# cd /data/gfsdata/
[root@server2 gfsdata]# ls -l
total 0
-rw-r--r--. 2 root root 0 Aug 29 21:07 file1
-rw-r--r--. 2 root root 0 Aug 29 21:07 file2
-rw-r--r--. 2 root root 0 Aug 29 21:07 file3

 

 

自此GlusterFS快速安裝過程結束。

相關文章
相關標籤/搜索