在现代企业IT架构中,RockyLinux集群文件系统 是实现高可用性、数据冗余和负载均衡的关键技术之一。本文将手把手教你如何在 Rocky Linux 8 系统上部署一个基于 GFS2(Global File System 2)的集群文件系统,适合刚接触 Linux 集群的小白用户。

一、准备工作
在开始之前,请确保你有以下环境:
至少两台 Rocky Linux 8 服务器(例如 node1 和 node2) 所有节点之间网络互通,且能通过主机名互相解析(建议配置 /etc/hosts) 一块共享存储设备(如 iSCSI、FC SAN 或虚拟机中的共享磁盘) root 权限或具有 sudo 权限的用户二、安装必要软件包
在所有节点上执行以下命令,安装集群和 GFS2 所需的软件:
启动并启用 pcsd 服务(用于集群管理): 在任意一个节点(如 node1)上执行以下命令,认证所有节点: 创建名为 假设你已有一台 iSCSI 目标服务器,IP 为 192.168.1.100,目标名称为 iqn.2024-01.com.example:sharedisk。 在所有节点上安装 iscsi-initiator-utils 并连接共享磁盘: 确认所有节点都能看到同一块设备(如 /dev/sdb): ⚠️ 注意:GFS2 必须构建在 CLVM(集群 LVM)之上。 首先,在所有节点上启用集群 LVM 支持: 在其中一个节点上创建物理卷、卷组和逻辑卷: 格式化为 GFS2 文件系统(集群名为 mycluster,挂载点为 /shared): 参数说明: 在所有节点上创建挂载点并挂载: 设置开机自动挂载(可选,但建议配合 Pacemaker 资源管理): 现在,你可以在 node1 上创建文件,然后在 node2 上查看,验证 共享存储集群 是否正常工作: 通过本教程,你已经成功部署了一个基于 Rocky Linux 的 高可用文件系统。这种架构非常适合需要多节点同时读写同一份数据的场景,如 Web 集群、数据库共享存储等。 记住,生产环境中建议结合 Pacemaker 配置资源监控和故障转移,以实现真正的 Linux集群部署 高可用性。 希望这篇教程对你有所帮助!如有疑问,欢迎在评论区交流。sudo dnf install -y pcs pacemaker corosync gfs2-utils lvm2-clustersudo systemctl enable --now pcsdsudo passwd hacluster # 设置 hacluster 用户密码(所有节点必须一致)三、配置集群通信
sudo pcs host auth node1 node2 -u hacluster -p your_passwordmycluster
的集群:sudo pcs cluster setup mycluster node1 node2sudo pcs cluster start --allsudo pcs cluster enable --all四、配置共享存储(以 iSCSI 为例)
sudo dnf install -y iscsi-initiator-utilssudo iscsiadm -m discovery -t st -p 192.168.1.100sudo iscsiadm -m node -T iqn.2024-01.com.example:sharedisk -p 192.168.1.100 --loginlsblk五、创建 GFS2 文件系统
sudo sed -i 's/use_lvmetad = 1/use_lvmetad = 0/g' /etc/lvm/lvm.confsudo sed -i 's/locking_type = 1/locking_type = 3/g' /etc/lvm/lvm.confsudo pvcreate /dev/sdbsudo vgcreate --clustered y shared_vg /dev/sdbsudo lvcreate -L 10G -n shared_lv shared_vgsudo mkfs.gfs2 -p lock_dlm -t mycluster:shared_fs -j 2 /dev/shared_vg/shared_lv-p lock_dlm
:使用 DLM(分布式锁管理器) -t mycluster:shared_fs
:集群名:文件系统名 -j 2
:为两个节点预留日志(每个节点一个)六、挂载并测试
sudo mkdir -p /sharedsudo mount -t gfs2 /dev/shared_vg/shared_lv /sharedecho "/dev/shared_vg/shared_lv /shared gfs2 defaults 0 0" | sudo tee -a /etc/fstab# 在 node1echo "Hello from node1" > /shared/test.txt# 在 node2cat /shared/test.txt # 应输出 Hello from node1七、总结
