GlusterFS 部署
环境准备
| 系统类型 | 配置 | 磁盘 | IP地址 | 主机名 | 所需软件 |
|---|---|---|---|---|---|
| openEuler 24.03(LTS) | 2C4G | 500GB | 192.168.148.120 | gfs-data01 | glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma |
| openEuler 24.03(LTS) | 2C4G | 500GB | 192.168.148.121 | gfs-data02 | glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma |
| openEuler 24.03(LTS) | 2C4G | 500GB | 192.168.148.122 | gfs-data03 | glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma |
| openEuler 24.03(LTS) | 1C2G | - | 192.168.148.123 | gfs-client | glusterfs glusterfs-fuse |
部署步骤
- 配置主机之间的解析(在此所有主机配置相同,在此只列举data1节点的配置);
- 在所有data节点上安装GlusterFS(在此所有主机配置相同,在此只列举data1节点的配置);
- 在data1节点上进行创建集群,其他节点会同步配置;
- 在多个data节点创建数据存储的位置;
- 在data1节点创建数据存储的卷(复制卷),其他节点会同步配置;
- 在client客户端节点上安装gluster客户端工具并测试挂载;
- client客户端节点测试存放文件;
- 扩展:Gluster的管理命令;
配置主机之间的解析(所有主机)
bash
cat >> /etc/hosts << EOF
192.168.148.120 gfs-data01
192.168.148.121 gfs-data02
192.168.148.122 gfs-data03
192.168.148.123 gfs-client
EOF
# 测试
ping gfs-data01 -c 2磁盘格式化
所有data节点执行
bash
# XFS格式化
parted
# 为每个节点添加存储磁盘(如 /dev/sda、/dev/sdb),分区并格式化为 XFS 文件系统:
mkfs.xfs /dev/sdb1
# 创建挂载目录并配置永久挂载(编辑 /etc/fstab)
mkdir -p /data
echo "/dev/sdb1 /data xfs defaults 0 0" >> /etc/fstab
mount -a安装GlusterFS
所有data节点执行
bash
dnf -y install glusterfs glusterfs-server glusterfs-fuse
# 启动服务
systemctl start glusterd
# 开机自启
systemctl enable glusterd
# 检测进程
ps -aux | grep glusterd创建集群
在data1节点上进行创建集群
bash
# 添加节点1
gluster peer probe gfs-data01
# 添加节点2
gluster peer probe gfs-data02
# 添加节点3
gluster peer probe gfs-data03
# 查看集群状态
gluster peer status存储卷配置
bash
# 所有data节点执行
mkdir -p /data/gfs-volume
# 查看存储卷信息
gluster volume info
# 创建存储卷(任意data节点执行)
gluster volume create gfs-volume replica 3 \
gfs-data01:/data/gfs-volume \
gfs-data02:/data/gfs-volume \
gfs-data03:/data/gfs-volume \
force
# 启动卷
gluster volume start gfs-volume客户端测试
安装软件
bash
dnf install glusterfs-client -y挂载gfs
bash
mkdir /data
echo 'gfs-data01:/rep-volume /data glusterfs defaults,_netdev 0 0' >> /etc/fstab
mount -a验证挂载
bash
df -Th
touch /data/{1..10}.txt
# 到data节点查看是否生成