GlusterFS部署


该文档是纯GlusterFS,而非红帽的GlusterFS,需注意!!!
声明:如需在单个节点上执行的都会有用户和主机名,如没有命令前没有用户名和主机名则为所有节点都执行
wiki
官网

硬件、环境介绍

node1/CentOS7.9/192.168.1.111/桥接/2G/2核/80G、20G
node2/CentOS7.9/192.168.1.112/桥接/2G/2核/80G、20G
注:2台机上的20G用来做GlusterFS使用

安装

2台机上都需要安装glusterfs,这里使用centos的源

systemctl stop firewalld && systemctl disable firewalld
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
setenforce 0
mount /dev/sr0 /mnt/usb1 ===>该步按需
yum -y install centos-release-gluster
yum clean all && yum makecache
yum -y install glusterfs-server
systemctl start glusterd && systemctl enable glusterd
glusterd --version
cat /usr/lib/firewalld/services/glusterfs.xml ===> 查看开启的规则信息
[root@node1 ~]# vim /etc/hosts
192.168.1.111 node1
192.168.1.112 node2
# 将node2添加到gluster中
[root@node1 ~]# gluster peer probe node2
[root@node1 ~]# gluster peer status
Number of Peers: 1
Hostname: node2
Uuid: 2543bce7-bb6a-4974-ad54-67d3d3f2d72d
State: Peer in Cluster (Connected)
# 查看池中的主机
[root@node1 ~]# gluster pool list
UUID Hostname State
2543bce7-bb6a-4974-ad54-67d3d3f2d72d node2 Connected
6b5efcf3-e34f-4fac-87bc-fda1ae6e4189 localhost Connected

配置LV

两个节点都在本地虚拟机先添加一块磁盘,用于当作存储,两个节点都要操作如下命令

# 创建pv
pvcreate /dev/sdb
vgcreate opop /dev/sdb
# 创建thin
lvcreate -L 5G -T opop/opop-thin-pool
注:-T表示创建的是thin pool
# 创建lv
lvcreate -V 2G -T opop/opop-thin-pool -n opop-brick
而后可用lvdisplay查看详细信息。
其实上述这些操作都可以不用做,直接对磁盘进行格式化就行。
mkfs.xfs -i size=512 /dev/opop/opop-brick
# 挂载
mkdir -p /data/brick1
mount /dev/opop/opop-brick /data/brick1
echo '/dev/opop/opop-brick /data/brick1 xfs defaults 1 2' >> /etc/fstab
注:已经被设置为共享卷的文件夹是不能再被挂载
df -h | grep data
/dev/mapper/opop-opop--brick 2.0G 33M 2.0G 2% /data/brick1
===================
如果selinux关闭的话,这个可不设置
# semanage fcontext -a -t glusterd_brick_t /data1/brick1
# restorecon -Rv /data/
# ll -Z /data
===================

创建分布式卷

这种默认创建出来的就是分布式卷

[root@node1 ~]# gluster volume create gv0 node1:/data/brick1/brick node2:/data/brick1/brick
[root@node1 ~]# gluster volume info gv0
Volume Name: gv0
Type: Distribute
Volume ID: 1b19e7ff-4608-4576-ab4f-fe8ef764102e
Status: Created ====>默认的状态是Create,需要启动
Snapshot Count: 0
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: node1:/data/brick1/brick
Brick2: node2:/data/brick1/brick
Options Reconfigured:
storage.fips-mode-rchecksum: on
transport.address-family: inet
nfs.disable: on
# 启动volume
gluster volume start gv0
# 查看状态
gluster volume status gv0

客户端挂载使用

这里就把node2当客户端来使用
[root@node2 ~]# yum -y install glusterfs-fuse
# 挂载
[root@node2 ~]# mkdir /gluster_client
[root@node2 ~]# mount -t glusterfs node1:/gv0 /gluster_client
[root@node2 ~]# echo 'node1:/gv0 /gluster_client glusterfs defaults,_netdev,backup-volfile-servers=node2 1 2' >> /etc/fstab
# 写文件
[root@node2 ~]# for i in `seq -w 1 100`; do cp -rp /var/log/messages /gluster_client/copy-test-$i; done
[root@node2 ~]# ls -lA /gluster_client/copy* | wc -l
# 查看客户端节点上面的brick下面的数据文件
[root@node2 ~]# ll -lA /data/brick1/brick/copy-test-0* | wc -l
# 删除分布式卷
# umount /gluster_client/
# gluster volume stop gv0 // 停止卷
# gluster volume delete gv0 // 删除卷
posted @   Linux大魔王  阅读(351)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示