如何在Linux上配置集群文件系统

来源:建站技术作者:美园和花头衔:网络博主
导读:本期聚焦于小伙伴创作的《如何在Linux上配置集群文件系统》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《如何在Linux上配置集群文件系统》有用,将其分享出去将是对创作者最好的鼓励。

集群文件系统是一种允许多个节点同时挂载并读写同一存储设备的文件系统,在Linux高可用集群、负载均衡集群场景中应用广泛,能够保障多节点访问时的数据一致性,避免单点存储故障影响业务运行。

如何在Linux上配置集群文件系统

主流集群文件系统方案对比

Linux生态下常用的集群文件系统主要有GFS2和OCFS2两种,两者适用场景略有差异,具体对比如下:

对比项GFS2OCFS2
所属项目Red Hat主导开发Oracle主导开发
适用系统主要适配RHEL、CentOS等Red Hat系发行版适配多数主流Linux发行版
依赖组件需要corosync、pacemaker集群框架支持自带集群栈,也可对接外部集群框架
典型场景高可用数据库、虚拟化存储共享Oracle RAC、Web集群共享存储

配置前环境准备

在开始配置前,需要完成以下准备工作:

  • 至少2台Linux节点,节点之间网络互通,建议配置专用心跳网络
  • 共享存储设备,如SAN存储、iSCSI共享磁盘,所有节点都能识别到同一块共享磁盘
  • 所有节点配置好hosts解析,确保节点之间可以通过主机名互相访问
  • 关闭所有节点的防火墙和SELinux,或者配置对应放通规则

基于GFS2的集群文件系统配置步骤

1. 安装依赖组件

所有节点执行以下命令安装集群和GFS2相关软件包,以CentOS 7为例:

# 安装集群基础组件和GFS2工具
yum install -y corosync pacemaker pcs gfs2-utils lvm2-cluster

# 设置pcs服务开机自启
systemctl enable pcsd
systemctl start pcsd

# 为hacluster用户设置密码,所有节点密码保持一致
echo "your_password" | passwd --stdin hacluster

2. 组建集群

在其中一个节点执行以下命令完成集群认证和组建:

# 认证所有集群节点,输入hacluster用户的密码
pcs cluster auth node1 node2

# 创建名为my_cluster的集群,包含node1和node2两个节点
pcs cluster setup --name my_cluster node1 node2

# 启动集群服务
pcs cluster start --all

# 设置集群服务开机自启
pcs cluster enable --all

3. 配置共享存储和集群LVM

所有节点执行以下命令启用集群LVM功能:

# 修改lvm配置文件,启用集群锁
echo "locking_type = 3" >> /etc/lvm/lvm.conf
echo "system_id_source = "uname"" >> /etc/lvm/lvm.conf

# 在共享磁盘上创建物理卷,假设共享磁盘为/dev/sdb
pvcreate /dev/sdb

# 创建卷组
vgcreate cluster_vg /dev/sdb

# 创建逻辑卷
lvcreate -L 10G -n cluster_lv cluster_vg

4. 格式化和挂载GFS2文件系统

执行以下命令完成文件系统创建和挂载:

# 格式化逻辑卷为GFS2文件系统,指定集群名称为my_cluster
mkfs.gfs2 -p lock_dlm -t my_cluster:gfs2_fs -j 2 /dev/cluster_vg/cluster_lv

# 创建挂载目录
mkdir -p /mnt/cluster_fs

# 挂载文件系统
mount /dev/cluster_vg/cluster_lv /mnt/cluster_fs

# 设置开机自动挂载,编辑/etc/fstab添加以下内容
echo "/dev/cluster_vg/cluster_lv /mnt/cluster_fs gfs2 defaults 0 0" >> /etc/fstab

基于OCFS2的集群文件系统配置步骤

1. 安装OCFS2相关组件

所有节点执行安装命令:

# 安装OCFS2工具和集群组件
yum install -y ocfs2-tools corosync

# 启动corosync服务
systemctl start corosync
systemctl enable corosync

2. 配置OCFS2集群

编辑所有节点的OCFS2配置文件/etc/ocfs2/cluster.conf,内容如下:

node:
    ip_port = 7777
    ip_address = 192.168.0.1
    number = 0
    name = node1
    cluster = ocfs2_cluster

node:
    ip_port = 7777
    ip_address = 192.168.0.2
    number = 1
    name = node2
    cluster = ocfs2_cluster

cluster:
    node_count = 2
    name = ocfs2_cluster

3. 格式化和挂载OCFS2文件系统

执行以下命令完成配置:

# 在共享磁盘上创建OCFS2文件系统,假设共享磁盘为/dev/sdb
mkfs.ocfs2 /dev/sdb

# 所有节点启动OCFS2服务
systemctl start o2cb
systemctl enable o2cb

# 创建挂载目录
mkdir -p /mnt/ocfs2_fs

# 挂载文件系统
mount /dev/sdb /mnt/ocfs2_fs

# 设置开机自动挂载,编辑/etc/fstab添加以下内容
echo "/dev/sdb /mnt/ocfs2_fs ocfs2 defaults 0 0" >> /etc/fstab

配置注意事项

  • 共享存储必须保证所有节点识别到的设备路径一致,避免因为设备名不同导致挂载失败
  • 集群节点时间必须同步,建议配置NTP服务,避免因为时间偏差导致集群锁异常
  • GFS2的日志数量(-j参数)不能少于集群节点数量,否则部分节点无法挂载
  • 生产环境建议为集群配置 fence设备,避免节点异常时出现脑裂问题导致数据损坏

验证配置结果

可以在一个节点上创建测试文件,在另一个节点查看文件是否存在,验证多节点共享读写功能:

# 节点1执行
echo "cluster fs test" > /mnt/cluster_fs/test.txt

# 节点2执行
cat /mnt/cluster_fs/test.txt
# 如果输出cluster fs test则表示配置成功

Linux集群文件系统GFS2OCFS2LVML修改时间:2026-06-19 05:30:24

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。