前奏
该文档所有机器上的防火墙和selinux都为开启状态
| |
| # 服务器介绍 |
| node1:192.168.3.118/2U/2核/60G/30G/服务端 |
| node2:192.168.3.119/2U/2核/60G/30G/服务端 |
| node3:192.168.3.120/2U/2核/60G/客户端 |
| |
| |
| # 配置hosts(所有机器上执行) |
| [root@node1 ~]# vim /etc/hosts |
| 192.168.3.118 node1.lab.example.com node1 |
| 192.168.3.119 node2.lab.example.com node2 |
| 192.168.3.120 node3.lab.example.com node3 |
| |
| |
| 配置yum源(所有服务端机器上执行) |
| [root@node1 ~]# yum -y install epel-release centos-release-gluster |
| |
| |
| # 配置免密(这次我只在node1上执行) |
| [root@node1 ~]# ssh-keygen -t rsa -P '' |
| [root@node1 ~]# ssh-copy-id node2 |
在node1和node2上做LVM(两台机都操作)
| 这2台机器上做出来的lv,当做brick来用 |
| |
| 1、格式化并安装brick |
| [root@node1 ~]# fdisk /dev/sdb |
| 创建2个分区,一个14G,剩余的所有给另一个分区 |
| |
| 注: 在创建 XFS 文件系统时不要忘记将 inode 大小设置为 512 字节 |
| [root@node1 ~]# for i in 1 2;do mkfs.xfs -i size=512 /dev/sdb$i;done |
| |
| [root@node1 ~]# partprobe |
| [root@node1 ~]# mkdir -p /bricks/brick1 # 将sdb1挂载到这里 |
| [root@node1 ~]# blkid /dev/sdb{1..2} |
| /dev/sdb1: UUID="4909dfee-2cab-46f5-a0ba-0965757c2c06" TYPE="xfs" |
| /dev/sdb2: UUID="ea77ab92-551f-45ac-acb1-04b498b523ae" TYPE="xfs" |
| |
| [root@node1 ~]# vim /etc/fstab |
| UUID=4909dfee-2cab-46f5-a0ba-0965757c2c06 /bricks/brick1 xfs defaults 1 2 |
| |
| [root@node1 ~]# mount -a |
| [root@node1 ~]# df -h /dev/sdb1 |
| |
| |
| # 配置selinux(所有节点都操作) |
| yum -y install policycoreutils-python |
| semanage fcontext -a -t glusterd_brick_t /bricks/brick1/gv0/ |
| restorecon -Rv /bricks/ |
| |
安装gluster(两台机都操作)
| [root@node1 ~]# yum -y install glusterfs-server |
| [root@node1 ~]# systemctl start glusterd && systemctl enable glusterd && systemctl status glusterd |
| |
| |
| # 配置防火墙(两台机都操作) |
| [root@node1 ~]# firewall-cmd --add-service=glusterfs --permanent |
| [root@node1 ~]# firewall-cmd --reload |
| [root@node1 ~]# firewall-cmd --list-all |
| |
| |
| # 配置可信池(任意一台上执行) |
| > 在node1上 |
| [root@node1 ~]# gluster peer probe node2.lab.example.com |
| 注1: gluster peer detach node2 从池中删除主机,可强制 |
| 注2: 单台添加后可在2台上都能查看到 |
| |
| ============================================================= |
| [root@node1 ~]# gluster help | grep peer |
| volume sync <HOSTNAME> [all|<VOLNAME>] # 从对等点同步卷信息 |
| peer probe { <HOSTNAME> | <IP-address> } # 往池中添加主机 |
| peer detach { <HOSTNAME> | <IP-address> } [force] # 从池中删除主机,可强制 |
| peer status # 列出池的状态 |
| ============================================================= |
| |
| > 在node1上(在node1上能看到node2) |
| [root@node1 ~]# gluster peer status |
| Number of Peers: 1 |
| |
| Hostname: node2.lab.example.com |
| Uuid: 23836994-11e1-47c6-8ea2-01a41ff8407f |
| State: Peer in Cluster (Connected) |
| |
| |
| > 在node2上(在node2上能看到node1) |
| [root@node2 ~]# gluster peer status |
| Number of Peers: 1 |
| |
| Hostname: node1.lab.example.com |
| Uuid: 70e3b8fc-745a-46ff-b042-a7792296a5e2 |
| State: Peer in Cluster (Connected) |
| |
| |
| # 设置GlusterFS卷(两台机都操作) |
| [root@node1 ~]# mkdir /bricks/brick1/gv0 |
| [root@node1 ~]# gluster volume create gv0 replica 2 node1:/bricks/brick1/gv0 node2:/bricks/brick1/gv0 |
| [root@node1 ~]# gluster volume start gv0 |
| [root@node1 ~]# gluster volume info |
| |
| Volume Name: gv0 |
| Type: Replicate |
| Volume ID: e0494265-1a5b-4679-8c1f-ab6011501f5c |
| Status: Started |
| Snapshot Count: 0 |
| Number of Bricks: 1 x 2 = 2 |
| Transport-type: tcp |
| Bricks: |
| Brick1: node1:/bricks/brick1/gv0 |
| Brick2: node2:/bricks/brick1/gv0 |
| Options Reconfigured: |
| cluster.granular-entry-heal: on |
| storage.fips-mode-rchecksum: on |
| transport.address-family: inet |
| nfs.disable: on |
| performance.client-io-threads: off |
| |
| |
| # 在客户端挂载GlusterFS卷并测试 |
| [root@node3 ~]# mount -t glusterfs node1:/gv0 /mnt |
| [root@node3 ~]# for i in `seq -w 1 5`; do cp -rp /var/log/messages /mnt/copy-test-$i; done |
| |
| |
| # 检查每台服务端上的 GlusterFS 挂载点 |
| [root@node1 ~]# ls -lA /bricks/brick1/gv0/ |
| [root@node1 ~]# ssh node2 ls -lA /bricks/brick1/gv0/ |
| |
| 注: 如客户端删除文件则服务端所有节点上将相继被删除,如下图 |




RedHat Gluster Storage
| |
| 该部分为红帽RHCA中的部分,课程代码是RH236,需要考试环境或购买其服务后才能使用 |
| 国内购买:https://www.redhat.com/zh/technologies/storage/gluster |
| 国外购买:https://www.redhat.com/en/technologies/storage/gluster |
| |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
2019-04-11 CentOS7.4使用KVM