分佈式存儲系統GlusterFS安裝配置

一、前言

前段時間我同事玩GlusterFS,下午總算有點時間了,也玩玩,GlusterFS是一個開源的分佈式文件系統,於2011年被紅帽收購.它具有高擴展性、高性能、高可用性、可橫向擴展的彈性特點,無元數據服務器設計使glusterfs沒有單點故障隱患,詳細介紹請查看官網:www.gluster.org 。

二、環境

1、系統:

1
Centos 6.4

2、部署說明

1
2
3
4
5
6
7
服務端:
172.28.26.101
172.28.26.102
172.28.26.188
172.28.26.189
客戶端:
172.28.26.103

三、部署

1、服務端安裝:

1
2
3
yum -y install glusterfs glusterfs-server
chkconfig glusterd on
service glusterd start

2、服務端配置:

將4個存儲節點組成一集羣,本文在第一個節點執行,只需要在任意節點執行就OK。

1
2
3
4
5
6
[root@db1 ~]# gluster peer probe 172.28.26.102
Probe successful
[root@db1 ~]# gluster peer probe 172.28.26.188
Probe successful
[root@db1 ~]# gluster peer probe 172.28.26.189
Probe successful

查看集羣的節點信息:

1
2
3
4
5
6
7
8
9
10
11
[root@db1 ~]# gluster peer status
Number of Peers: 3
Hostname: 172.28.26.102
Uuid: b9437089-b2a1-4848-af2a-395f702adce8
State: Peer in Cluster (Connected)
Hostname: 172.28.26.188
Uuid: ce51e66f-7509-4995-9531-4c1a7dbc2893
State: Peer in Cluster (Connected)
Hostname: 172.28.26.189
Uuid: 66d7fd67-e667-4f9b-a456-4f37bcecab29
State: Peer in Cluster (Connected)

以/data/gluster爲共享目錄,創建名爲img的卷,副本數爲2:

1
2
3
mkdir /data/gluster
[root@db1 ~]#  gluster volume create img replica 2 172.28.26.101:/data/gluster 172.28.26.102:/data/gluster 172.28.26.188:/data/gluster 172.28.26.189:/data/gluster
Creation of volume img has been successful. Please start the volume to access data.

啓動卷:

1
2
[root@db1 ~]# gluster volume start img
Starting volume img has been successful

查看卷狀態:

1
2
3
4
5
6
7
8
9
10
11
[root@db1 ~]# gluster volume info
Volume Name: img
Type: Distributed-Replicate
Status: Started
Number of Bricks: 2 x 2 = 4
Transport-type: tcp
Bricks:
Brick1: 172.28.26.101:/data/gluster
Brick2: 172.28.26.102:/data/gluster
Brick3: 172.28.26.188:/data/gluster
Brick4: 172.28.26.189:/data/gluster

3、客戶端安裝配置:

安裝:

1
yum -y installglusterfs glusterfs-fuse

掛載:

1
2
3
mount -t glusterfs 172.28.26.102:/img /mnt/ (掛載任意一個節點即可)
mount -t nfs -o mountproto=tcp,vers=3 172.28.26.102:/img /log/mnt/ (使用NFS掛載,注意遠端的rpcbind服務必須開啓)
echo "172.28.26.102:/img /mnt/ glusterfs defaults,_netdev 0 0" >> /etc/fstab (開機自動掛載)

四、測試

1、檢查文件正確性

1
2
3
4
dd if=/dev/urandom of=/data/navy bs=1M count=100 # 在掛載客戶端生成測試文件
cp /data/navy /mnt/  # 文件拷貝到存儲上
md5sum /data/navy /mnt/navy # 在查看客戶端檢查文件哈希
md5sum /data/gluster/navy # 存儲集羣的某2個節點上會有此文件,檢查其哈希

2、宕機測試。使用glusterfs-fuse掛載,即使目標服務器故障,也完全不影響使用。用NFS則要注意掛載選項,否則服務端故障容易導致文件系統halt住而影響服務!

1
2
3
# 將其中一個節點停止存儲服務service glusterd stop
service glusterfsd stop# 在掛載客戶端刪除測試文件
rm -fv /mnt/navy# 此時在服務端查看,服務被停止的節點上navy並未被刪除。此時啓動服務:service glusterd start# 數秒後,navy就被自動刪除了。新增文件效果相同!

五、運維常用命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
刪除卷
gluster volume stop img
gluster volume delete img
將機器移出集羣
gluster peer detach 172.28.26.102
只允許172.28.0.0的網絡訪問glusterfs
gluster volume set img auth.allow 172.28.26.*
加入新的機器並添加到卷裏(由於副本數設置爲2,至少要添加2(4、6、8..)臺機器)
gluster peer probe 172.28.26.105
gluster peer probe 172.28.26.106
gluster volume add-brick img 172.28.26.105:/data/gluster 172.28.26.106:/data/gluster
收縮卷
# 收縮卷前gluster需要先移動數據到其他位置
gluster volume remove-brick img 172.28.26.101:/data/gluster/img 172.28.26.102:/data/gluster/img start
# 查看遷移狀態
gluster volume remove-brick img 172.28.26.101:/data/gluster/img 172.28.26.102:/data/gluster/img status
# 遷移完成後提交
gluster volume remove-brick img 172.28.26.101:/data/gluster/img 172.28.26.102:/data/gluster/img commit
遷移卷
# 將172.28.26.101的數據遷移到,先將172.28.26.107加入集羣
gluster peer probe 172.28.26.107
gluster volume replace-brick img 172.28.26.101:/data/gluster/img 172.28.26.107:/data/gluster/img start
# 查看遷移狀態gluster volume replace-brick img 172.28.26.101:/data/gluster/img 172.28.26.107:/data/gluster/img status
# 數據遷移完畢後提交gluster volume replace-brick img 172.28.26.101:/data/gluster/img 172.28.26.107:/data/gluster/img commit
# 如果機器172.28.26.101出現故障已經不能運行,執行強制提交然後要求gluster馬上執行一次同步
gluster volume replace-brick img 172.28.26.101:/data/gluster/img 172.28.26.102:/data/gluster/img commit -force
gluster volume heal imgs full

本文出自 “屌絲運維男” 博客,請務必保留此出處http://navyaijm.blog.51cto.com/4647068/1258250

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章