上一篇里我们已经对GFS进行了介绍和环境准备的介绍。在此基础上,现在我们开始安装配置GlusterFS。
安装 GlusterFS:
1,在两个Gluster节点上执行以下命令安装并启动GlusterFS:
yum install -y glusterfs-server
systemctl start glusterd
systemctl enable glusterd
确认Gluster服务已经启动并运行正常
systemctl status glusterd
配置防火墙
默认情况下,glusterd将监听tcp/24007,但是只打开该端口是不够的。因为每添加一块brick,它就会打
开一个新的端口。所以这里我们需要禁用防火墙或者配置防火墙规则以允许集群中的所有连接。 在所有
节点上执行!
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
或
firewall-cmd –permanent –zone=public –add-rich-rule=’rule family=”ipv4” source address=”ipaddress” accept’
firewall-cmd –reload
添加存储
这里我们将使用/dev/sdb来配置GFS,分别在两个节点上对/dev/sdb创建分区并进行格式化
fdisk /dev/sdb
mkfs.ext4 /dev/sdb1
创建一个名为/data/gluster的目录,并将磁盘挂载到此目录中。并在/etc/fstab中添加一个条目,
以便在系统重启后可自动挂载。在两个节点上执行!
mkdir -p /data/gluster
mount /dev/sdb1 /data/gluster
echo “/dev/sdb1 /data/gluster ext4 defaults 0 0” tee –append /etc/fstab
配置 GlusterFS
在创建GFS卷之前,我们需要先创建可信存储池。这里我们通过在节点1上添加节点2来实现。可以在集
群中的任何一台服务器上运行GlusterFS配置命令,并在所有其他服务器上执行相同的命令。
gluster peer probe gfs2.cluster.local
验证可信存储池的状态
gluster peer status
gluster pool list
创建GFS卷
在两个节点上挂载的文件系统中创建一个名为“gv0”的brick(目录)。因为我们将使用复制卷,所以这里
我们使用两个副本创建名为“gv0”的卷。
mkdir -p /data/gluster/gv0
gluster volume create gv0 replica 2 gfs1.cluster.local:/data/gluster/gv0 gfs2.cluster.local:/data/gluster/gv0
启用GFS卷并检查状态
gluster volume start gv0
gluster volume info gv0
配置GlusterFS Client
以下操作在Client节点上执行
安装GFS client包
yum install -y glusterfs-client
创建一个目录来挂载GlusterFS文件系统,将GlusterFS文件系统挂载到/mnt/GlusterFS。
mkdir -p /mnt/glusterfs
mount -t glusterfs gluster1.itzgeek.local:/gv0 /mnt/glusterfs
验证挂载的GlusterFS文件系统
df -hP /mnt/glusterfs
cat /proc/mounts
在/etc/fstab中添加以下条目,以便系统重启可以自动挂载。
echo “gfs1.cluster.local:/gv0 /mnt/glusterfs glusterfs defaults,_netdev 0 0” tee –append /etc/fstab
验证GlusterFS复制卷
验证复制功能,在两台节点上将创建的GlusterFS卷挂载到同一个存储节点上,两个节点/mnt目录中的
数据总是相同的(复制)。
[root@gfs1 ~]# mount -t glusterfs gfs2.cluster.local:/gv0 /mnt
[root@gfs2 ~]# mount -t glusterfs gfs1.cluster.local:/gv0 /mnt
在Client节点上执行以下命令生成三个文件
touch /mnt/glusterfs/file-verify-1
touch /mnt/glusterfs/file-verify-2
touch /mnt/glusterfs/file-verify-3
确认两个GlusterFS节点上/mnt中的数据相同
ls -l /mnt/
验证高可用性
现在我们将节点1关机,验证GFS是否仍然可用,关闭节点1后,在节点2查看集群GFS状态
gluster peer status
可以看于是节点一的状态为“断开”
在客户节点上再向GFS卷新建3个文件,文件可以正常创建,说明GFS仍然再工作,并且可以看到一共6个文
件均可以正常访问。
将节点1开机,并检查/mnt目录里的文件是否与节点2相同。如果相同,说明复制卷工作正常
测试同步是否正常,执行以下命令将前面新建的6个文件删除,然后新建3个新文件,再用dd命令建
两个大文件,然后查看两个节点上的数据是否相同