glusterFS安装维护文档

# 安装 glusterfs 组件
yum install -y glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma glusterfs-geo-replication glusterfs-devel

## 创建 glusterfs 目录
mkdir /data/glusterd

## 修改 glusterd 目录
$ sed -i 's/var/lib/export/g' /etc/glusterfs/glusterd.vol

# 启动 glusterfs,设置开机启动,查看状态 
systemctl start glusterd.service
systemctl enable glusterd.service
systemctl status glusterd.service

配置 glusterfs

[root@node1 glusterd]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.20.171        master1    etcd1
192.168.20.172        master2 etcd2
192.168.20.173        master3    etcd3
192.168.20.174        node1
192.168.20.175        node2
192.168.20.176        node3
192.168.20.177        node4
192.168.20.178        node5
# 添加节点到 集群, 执行操作的本机不需要probe 本机执行
[root@node1  ~]#
gluster peer probe  node2
gluster peer probe  node3
gluster peer probe  node4
gluster peer probe  node5
查看集群状态

[root@node1 glusterd]# gluster peer status
Number of Peers: 4

Hostname: node2
Uuid: 58fe4710-3539-4f18-8ae7-92d0130efbb7
State: Peer in Cluster (Connected)

Hostname: node3
Uuid: af0985bd-2f85-4110-9ac6-5712cd35b148
State: Peer in Cluster (Connected)

Hostname: node4
Uuid: 917cb471-1895-48b5-95ad-454395f3f1f4
State: Peer in Cluster (Connected)

Hostname: node5
Uuid: a73078df-13a5-4b2c-b3bb-9a63f25f77fa
State: Peer in Cluster (Connected)
创建存储目录
mkdir /export/gfs_data

配置 volume

GlusterFS中的volume的模式有很多中,包括以下几种:

  • 分布卷(默认模式):即DHT, 也叫 分布卷: 将文件已hash算法随机分布到 一台服务器节点中存储。
  • 复制模式:即AFR, 创建volume 时带 replica x 数量: 将文件复制到 replica x 个节点中。
  • 条带模式:即Striped, 创建volume 时带 stripe x 数量: 将文件切割成数据块,分别存储到 stripe x 个节点中 ( 类似raid 0 )。
  • 分布式条带模式:最少需要4台服务器才能创建。 创建volume 时 stripe 2 server = 4 个节点: 是DHT 与 Striped 的组合型。
  • 分布式复制模式:最少需要4台服务器才能创建。 创建volume 时 replica 2 server = 4 个节点:是DHT 与 AFR 的组合型。
  • 条带复制卷模式:最少需要4台服务器才能创建。 创建volume 时 stripe 2 replica 2 server = 4 个节点: 是 Striped 与 AFR 的组合型。
  • 三种模式混合: 至少需要8台 服务器才能创建。 stripe 2 replica 2 , 每4个节点 组成一个 组。

创建分布式卷

gluster volume create senyintvolume  stripe 2 replica 2 transport tcp node1:/export/gfs_data/ node2:/export/gfs_data/ node3:/export/gfs_data/ node4:/export/gfs_data/  node5:/export/gfs_data/  node1:/data/gfs_data/  node2:/data/gfs_data/ node3:/data/gfs_data/ force

查看卷

[root@node1 glusterd]#  gluster volume info
 
Volume Name: senyintvolume
Type: Distributed-Striped-Replicate
Volume ID: d11a39c5-65c8-415a-ac28-a698554a2b77
Status: Created
Snapshot Count: 0
Number of Bricks: 2 x 2 x 2 = 8
Transport-type: tcp
Bricks:
Brick1: node1:/export/gfs_data
Brick2: node2:/export/gfs_data
Brick3: node3:/export/gfs_data
Brick4: node4:/export/gfs_data
Brick5: node5:/export/gfs_data
Brick6: node1:/data/gfs_data
Brick7: node2:/data/gfs_data
Brick8: node3:/data/gfs_data
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
performance.client-io-threads: off
 启动 分布卷
gluster volume start senyintvolume

再次查看

[root@node1 glusterd]#  gluster volume info
 
Volume Name: senyintvolume
Type: Distributed-Striped-Replicate
Volume ID: d11a39c5-65c8-415a-ac28-a698554a2b77
Status: Started
Snapshot Count: 0
Number of Bricks: 2 x 2 x 2 = 8
Transport-type: tcp
Bricks:
Brick1: node1:/export/gfs_data
Brick2: node2:/export/gfs_data
Brick3: node3:/export/gfs_data
Brick4: node4:/export/gfs_data
Brick5: node5:/export/gfs_data
Brick6: node1:/data/gfs_data
Brick7: node2:/data/gfs_data
Brick8: node3:/data/gfs_data
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
performance.client-io-threads: off

Glusterfs调优

# 设置 cache 大小, 默认32MB
$ gluster volume set senyintvolume  performance.cache-size 4GB

# 设置 io 线程, 太大会导致进程崩溃
$ gluster volume set senyintvolume performance.io-thread-count 16

# 设置 网络检测时间, 默认42s
$ gluster volume set senyintvolume network.ping-timeout 10

# 设置 写缓冲区的大小, 默认1M
$ gluster volume set senyintvolume performance.write-behind-window-size 1024MB
# 开启 指定 volume 的配额,不使用 # gluster volume quota k8s
-volume enable # 限制 指定 volume 的配额,不使用 # gluster volume quota k8s-volume limit-usage / 1TB

 挂载使用

master1:

yum install glusterfs-client mount -t glusterfs node1:/senyintvolume /data/1111/



GlusterFS 几种volume 模式说明:

一、 默认模式,既DHT, 也叫 分布卷: 将文件已hash算法随机分布到 一台服务器节点中存储。
gluster volume create test-volume server1:/exp1 server2:/exp2


二、 复制模式,既AFR, 创建volume 时带 replica x 数量: 将文件复制到 replica x 个节点中。
gluster volume create test-volume replica 2 transport tcp server1:/exp1 server2:/exp2


三、 条带模式,既Striped, 创建volume 时带 stripe x 数量: 将文件切割成数据块,分别存储到 stripe x 个节点中 ( 类似raid 0 )。
gluster volume create test-volume stripe 2 transport tcp server1:/exp1 server2:/exp2


四、 分布式条带模式(组合型),最少需要4台服务器才能创建。 创建volume 时 stripe 2 server = 4 个节点: 是DHT 与 Striped 的组合型。
gluster volume create test-volume stripe 2 transport tcp server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4


五、 分布式复制模式(组合型), 最少需要4台服务器才能创建。 创建volume 时 replica 2 server = 4 个节点:是DHT 与 AFR 的组合型。
gluster volume create test-volume replica 2 transport tcp server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4


六、 条带复制卷模式(组合型), 最少需要4台服务器才能创建。 创建volume 时 stripe 2 replica 2 server = 4 个节点: 是 Striped 与 AFR 的组合型。
gluster volume create test-volume stripe 2 replica 2 transport tcp server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4

七、 三种模式混合, 至少需要8台 服务器才能创建。 stripe 2 replica 2 , 每4个节点 组成一个 组。
gluster volume create test-volume stripe 2 replica 2 transport tcp server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4 server5:/exp5 server6:/exp6 server7:/exp7 server8:/exp8

原文地址:https://www.cnblogs.com/fengjian2016/p/5250829.html