本文演示如何在CentOS7上安装,配置和使用GlusterFS。
1 准备工作
1.1 基础设施
编号 | IP | OS | 主机名 | 角色 | 说明 |
---|---|---|---|---|---|
A | 192.168.1.101 | CentOS7.4 | ddc_node01 | GFS Client | Gluster FS客户端节点 |
B | 192.168.1.102 | CentOS7.4 | ddc_node02 | GFS Client | Gluster FS客户端节点 |
C | 192.168.1.103 | CentOS7.4 | ddc_node03 | GFS Client | Gluster FS客户端节点 |
D | 192.168.1.104 | CentOS7.4 | ddc_node04 | GFS Server Master | Gluster FS服务器主节点 |
E | 192.168.1.105 | CentOS7.4 | ddc_node05 | GFS Server Slave | Gluster FS服务器从节点 |
1.2 关闭防火墙
$ systemctl stop firewalld.service && systemctl disable firewalld.service
1.3 关闭selinux
$ vi /etc/selinux/config
# 修改SELINUX=disabled
1.4 时间同步
保证时区和时间都要一致。
1.5 配置hosts文件
如果安装配置过程中要使用主机名,就需要配置每个节点的hosts文件。
2 安装Gluster FS Server
2.1 在D,E节点上安装Gluster FS Server
$ yum install -y centos-release-gluster
$ yum install -y glusterfs glusterfs-server
$ yum install -y glusterfs-fuse glusterfs-rdma
2.2 启动 gluster FS Server并设置开机启动
$ systemctl start glusterd.service && systemctl enable glusterd.service
3 配置Gluster FS Server集群
3.1 新节点加入集群
在GFS Server Maseter节点(192.168.1.104)上执行命令:
$ gluster peer probe ddc_node05 # 在Master节点上将Slave节点加入到集群中。
3.2 从集群中删除节点
在GFS Server Maseter节点(192.168.1.104)上执行命令:
$ gluster peer detach 192.168.1.105
可以从任意GFS Server节点上删除集群中的其它节点,但不能删除执行命令时的当前节点。
3.3 查看集群状态
在GFS Server任意节点上执行命令:
$ gluster peer status
会显示当前集群的slave节点数量:
Number of Peers: 1
4 配置GFS Volume
4.1 在所有GFS Server节点上创建数据存储目录
$ mkdir -p /data/gluster/app1-mysql
4.2 创建GFS volume
在任意GFS Server节点上执行命令:
$ gluster volume create app1-mysql-vol replica 2 A:/data/gluster/app1-mysql B:/data/gluster/app1-mysql force
创建成功后会显示:
volume create: mysql-vol: success: please start the volume to access data
4.3 启动 Volume:
$ gluster volume start app1-mysql-vol
启动成功后会显示
volume start: app1-mysql-vol: success
4.4 查看 Volume 状态
$ gluster volume info
会显示当前所有volume的信息:
Volume Name: app1-mysql-vol
Type: Replicate
Volume ID: e539ff3b-2278-4f3f-a594-1f101eabbf1e
Status: Created
Number of Bricks: 1 x 2 = 2
......
Options Reconfigured:
performance.readdir-ahead: on
4.5 删除 Volume
$ gluster volume stop app1-mysql-vol # 停止名为app1-mysql-vol的GFS Volume
$ gluster volume delete app1-mysql-vol # 删除名为app1-mysql-vol的GFS Volume
5 配置GFS Client
GFS 客户端节点必须能连通GFS服务器节点
5.1 安装客户端
$ yum install -y glusterfs glusterfs-fuse
5.2 将客户端目录挂载到GFS Volume
a, 在GFS Client节点上(例如192.168.1.102),创建一个本地目录:
$ mkdir -p /var/data/app1-mysql
b, 将本地目录挂载到GFS Volume:
$ mount.glusterfs 192.168.1.104:/app1-mysql-vol /var/data/app1-mysql
5.3 查看挂载情况
在GFS客户端节点上执行命令:
$ df -h
会显示当前挂载信息
文件系统 容量 已用 可用 已用%挂载点
/dev/mapper/ddc_node02-root 50G 1.2G50G 12% /
devtmpfs 32G 0 3.9G0% /dev
tmpfs3.9G0 3.9G0% /dev/shm
tmpfs3.9G 13M 3.9G1% /run
tmpfs3.9G0 3.9G0% /sys/fs/cgroup
......
tmpfs 783M 0 783M0% /run/user/1002
192.168.1.104:app1-mysql-vol 50G 0 3.9G 1% /var/data/app1-mysql # 挂载到GFS Volume的本地目录
5.4 取消挂载
$ umount /var/data/app1-mysql
以上介绍了最基本的GFS安装配置过程,更多GFS使用方法和优化方式,后续会继续整理。