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 // 删除卷
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 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 热点速览」