如何在Linux上配置高可用的磁盘配额

来源:建站教程作者:印尼程序员头衔:程序员
导读:本期聚焦于小伙伴创作的《如何在Linux上配置高可用的磁盘配额》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《如何在Linux上配置高可用的磁盘配额》有用,将其分享出去将是对创作者最好的鼓励。

在Linux系统中,磁盘配额是限制用户或用户组磁盘使用量的有效手段,在多用户共享存储、云服务器等场景下应用广泛。而高可用配置可以避免单节点故障导致配额服务失效,确保磁盘使用限制持续生效。本文将基于CentOS系统,结合Pacemaker高可用集群和XFS文件系统的配额功能,讲解完整的配置流程。

如何在Linux上配置高可用的磁盘配额

环境准备

本次配置需要两台配置相同的Linux服务器,假设主机名分别为node1和node2,系统版本为CentOS 7,使用XFS文件系统的共享存储设备/dev/sdb,需要提前完成以下准备工作:

  • 两台节点配置好主机名解析,确保可以通过主机名互相访问
  • 关闭防火墙和SELinux,或者配置对应的放行规则
  • 配置好共享存储,确保两个节点都能正常识别/dev/sdb设备
  • 安装Pacemaker、Corosync高可用集群组件和quota相关工具

安装依赖组件的命令如下:

# 两台节点都执行
yum install -y pacemaker corosync pcs quota xfsprogs

基础磁盘配额配置

首先需要在单个节点上完成XFS文件系统的磁盘配额基础配置,再将其同步到高可用集群中。

格式化并挂载支持配额的XFS文件系统

在node1节点执行以下操作,对共享存储设备进行格式化并挂载:

# 格式化/dev/sdb为XFS文件系统,开启用户配额和组配额
mkfs.xfs -i usrquota,grpquota /dev/sdb

# 创建挂载目录
mkdir -p /data

# 挂载设备,指定配额相关挂载选项
mount -o usrquota,grpquota /dev/sdb /data

# 查看挂载是否生效
mount | grep /data

如果需要开机自动挂载,需要修改/etc/fstab文件,添加如下内容:

/dev/sdb /data xfs defaults,usrquota,grpquota 0 0

配置用户磁盘配额

使用xfs_quota工具为用户配置磁盘配额,以下示例为用户testuser设置软限制10G、硬限制12G,文件数量软限制1000个、硬限制1200个:

# 创建测试用户
useradd testuser

# 初始化配额数据库
xfs_quota -x -c "report -ug" /data

# 设置用户配额
xfs_quota -x -c "limit -u bsoft=10g bhard=12g isoft=1000 ihard=1200 testuser" /data

# 查看配额配置是否生效
xfs_quota -x -c "report -u" /data

高可用集群配置

接下来配置Pacemaker+Corosync高可用集群,确保配额服务在节点故障时可以自动切换。

集群初始化

在node1节点执行以下命令初始化集群:

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

# 设置hacluster用户密码,两个节点密码需要一致
passwd hacluster

# 认证集群节点
pcs cluster auth node1 node2 -u hacluster -p 设置的密码

# 创建集群,名称为quota_cluster
pcs cluster setup --name quota_cluster node1 node2

# 启动集群
pcs cluster start --all
pcs cluster enable --all

配置集群资源

需要配置三个核心资源:存储挂载资源、配额服务资源、虚拟IP资源,同时配置资源约束确保资源运行在同一节点。

# 配置存储挂载资源,设备为/dev/sdb,挂载点为/data
pcs resource create fs_quota ocf:heartbeat:Filesystem device="/dev/sdb" directory="/data" fstype="xfs" options="usrquota,grpquota" --group quota_group

# 配置配额服务资源,确保xfs_quota服务正常运行
pcs resource create quota_service ocf:heartbeat:quota --group quota_group

# 配置虚拟IP资源,用户通过虚拟IP访问存储服务
pcs resource create vip_quota ocf:heartbeat:IPaddr2 ip=192.168.0.100 cidr_netmask=24 --group quota_group

# 配置资源粘性,避免资源频繁切换
pcs resource meta quota_group resource-stickiness=100

故障切换验证

完成配置后,可以验证高可用功能是否生效:

  • 查看当前集群资源运行状态,确认所有资源都运行在node1节点
  • 模拟node1节点故障,执行pcs cluster stop node1停止node1的集群服务
  • 查看资源是否自动切换到node2节点,检查/data目录是否正常挂载,配额配置是否生效
  • 恢复node1节点后,资源不会自动回切,除非node2节点出现故障

验证配额是否生效的测试命令如下:

# 切换到testuser用户
su - testuser

# 尝试写入超过12G的文件,会被限制
dd if=/dev/zero of=/data/testfile bs=1G count=13

注意事项

  • 共享存储需要支持多节点同时识别,建议使用iSCSI、FC等共享存储方案
  • 配额配置数据保存在XFS文件系统的元数据中,共享存储下配额配置会自动同步到所有节点
  • 生产环境中建议开启SELinux的配额相关策略,而不是直接关闭SELinux
  • 定期使用xfs_quota -x -c "report -ug" /data命令检查配额使用情况,避免用户磁盘使用量超过限制

Linux磁盘配额高可用quotaxfs_quota修改时间:2026-06-10 18:27:26

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