【Ansible】(二)存储
目录
Q1:fdisk 与 parted 工具的适用场景、核心差异是什么?
Q2:/etc/fstab 文件的作用是什么?配置后为何必须执行 mount -a?
Q5:df 与 du 命令有何区别?磁盘满载时如何配合排查?
一、磁盘与分区管理
磁盘与分区是 Linux 运维的基础操作,新增硬盘、空间异常排查、分区重构等场景均会高频用到。不同分区工具适配不同磁盘规格,选型错误易引发空间浪费、分区失败、数据损坏等问题,需严格按规范操作。
1. 磁盘信息查询
运维排查第一步优先读取磁盘整体架构、容量、分区、挂载状态,以下三条命令覆盖绝大多数工作场景:
lsblk:以树形结构展示整机块设备,清晰呈现磁盘、分区、挂载点层级关系,输出简洁直观,适合日常快速巡检。fdisk -l:查看磁盘、分区的详细参数,包含总容量、扇区、分区类型,主打 MBR 分区表设备。parted -l:兼容 MBR、GPT 两种分区格式,对大容量磁盘支持完善,优先用于 2TB 以上硬盘信息查询。
补充要点 三条命令普通用户即可执行,但部分底层信息会被隐藏;生产环境建议搭配 sudo 运行,获取完整设备参数。
2. 分区工具选型与实操
(1)fdisk(适配 MBR 分区表)
适用范围:磁盘容量 小于 2TB,仅支持 MBR 分区结构,单块磁盘最多划分 4 个主分区,是传统小容量服务器主流工具。
# 进入目标磁盘交互式分区界面,/dev/sdb 为待操作磁盘,根据实际设备名修改
fdisk /dev/sdb
常用交互指令:
m:查看全部帮助指令n:新建分区d:删除已有分区w:保存分区配置并退出(执行后分区生效)q:直接退出,不保存任何修改
(2)parted(适配 GPT 分区表)
适用范围:磁盘容量 大于 2TB,支持 GPT 分区表,无主分区数量限制(业界建议单磁盘分区不超过 128 个),是当前云服务器、大容量存储设备的标准选择。
重要提醒:parted 执行命令即时生效,无二次确认环节,操作前务必备份数据、核对设备路径。
# 1. 清空原有分区表,新建 GPT 分区表(清除全盘数据,谨慎执行)
parted /dev/sdb mklabel gpt
# 2. 创建主分区,文件系统格式 ext4,占用磁盘全部空间
parted /dev/sdb mkpart primary ext4 1MiB 100%
二、文件系统格式化
分区仅完成物理空间划分,必须格式化创建文件系统,操作系统才能正常读写数据。Linux 主流文件系统各有定位,需结合业务场景选择。
# 格式化为 ext4:稳定性强、兼容性广,Web 服务、通用服务器首选
mkfs.ext4 /dev/sdb1
# 格式化为 xfs:高并发、大文件读写性能优异,数据库、大数据集群首选
mkfs.xfs /dev/sdb2
# 格式化为 btrfs:支持快照、在线扩容等高级特性,适用于特殊业务场景
mkfs.btrfs /dev/sdb3
风险提示 格式化操作会清空分区内所有数据,上线操作前务必完成数据备份与分区确认。
三、挂载、卸载与开机自启
分区格式化后,需挂载至系统目录方可使用。分为临时挂载(重启失效)、永久挂载(开机自动生效)两类,生产环境以永久挂载为标准配置。
1. 临时挂载与卸载
# 临时挂载:将 /dev/sdb1 挂载至 /mnt/data 目录(挂载目录需提前创建)
mount /dev/sdb1 /mnt/data
# 卸载分区/挂载点
umount /mnt/data
排障补充 若卸载提示设备忙,代表目录被进程占用。执行以下命令定位占用进程,结束进程后再完成卸载:
fuser -m /mnt/data
2. 挂载状态查看
# 查看指定分区挂载详情、文件系统类型
mount | grep sdb1
# 全局查看所有已挂载分区、容量、使用率、文件系统类型(运维高频命令)
df -hT
3. 配置开机永久挂载(/etc/fstab)
临时挂载无法持久化,服务器重启后配置丢失。企业环境统一通过 /etc/fstab 配置开机自启,配置格式固定,写错会导致系统无法正常启动。
- 编辑配置文件
vim /etc/fstab
- 追加挂载规则(格式:
设备路径 挂载点 文件系统 挂载参数 备份标记 自检顺序)
/dev/sdb1 /mnt/data ext4 defaults 0 2
参数详解:
defaults:默认挂载参数,包含读写、执行等基础权限,满足绝大多数业务需求;- 第一个
0:dump 备份标记,0 = 不自动备份,常规服务器保持默认即可; - 第二个
2:磁盘自检顺序,根分区固定为 1,其余分区统一设为 2。
- 配置校验(必做步骤) 重载配置并检测语法错误,避免重启宕机:
mount -a
命令无报错即代表配置合法。
四、LVM 逻辑卷管理
传统分区容量固定,后期扩容、缩容操作繁琐且风险高。LVM(逻辑卷管理) 可实现存储空间灵活调度,支持在线扩容、离线缩容、数据快照,是生产环境存储管理的标准方案。
1. LVM 完整创建流程
遵循 物理卷(PV) → 卷组(VG) → 逻辑卷(LV) 三层结构依次创建:
# 1. 将分区初始化为物理卷(PV)
pvcreate /dev/sdb1
# 2. 创建卷组(VG),整合多块物理卷为统一存储池
vgcreate vg_data /dev/sdb1
# 3. 从卷组划分逻辑卷(LV),指定容量与名称
lvcreate -L 20G -n lv_data vg_data
# 4. 格式化 + 挂载,使用方式同普通分区
mkfs.ext4 /dev/vg_data/lv_data
mount /dev/vg_data/lv_data /mnt/lv
2. LVM 状态快速查看
pvs # 查看所有物理卷信息:容量、使用率、所属卷组
vgs # 查看卷组信息:总容量、剩余空间、包含物理卷
lvs # 查看逻辑卷信息:容量、归属、挂载状态
3. 逻辑卷在线扩容
卷组存在剩余空间时,可无需卸载分区,在线扩容,业务无中断:
# 给逻辑卷新增 10G 空间
lvextend -L +10G /dev/vg_data/lv_data
# 根据文件系统类型,同步扩容文件系统(二选一)
resize2fs /dev/vg_data/lv_data # ext4 格式使用
xfs_growfs /dev/vg_data/lv_data # xfs 格式使用
4. 逻辑卷缩减(高风险操作)
缩容极易引发数据丢失,生产环境非必要不执行。若必须操作,提前全量备份数据,且需离线操作:
# 1. 卸载逻辑卷
umount /mnt/lv
# 2. 检测并修复文件系统
e2fsck -f /dev/vg_data/lv_data
# 3. 先缩小文件系统(必须先缩文件系统,再缩逻辑卷)
resize2fs /dev/vg_data/lv_data 15G
# 4. 缩减逻辑卷容量
lvreduce -L 15G /dev/vg_data/lv_data
# 5. 重新挂载验证
mount /mnt/lv
补充:XFS 文件系统不支持缩容操作,仅 ext4、btrfs 可执行缩容。
五、磁盘配额配置
多用户共享服务器场景下,易出现单用户占用全部磁盘空间、导致整机业务异常的问题。磁盘配额可限制单用户 / 用户组的磁盘使用上限,保障资源合理分配。以下以 ext4 文件系统为例演示配置流程。
1. 开启配额功能
# 重新挂载分区,启用用户配额、组配额
mount -o usrquota,grpquota /dev/sdb1 /mnt/data
# 生成配额统计文件
quotacheck -cug /mnt/data
# 正式启用磁盘配额
quotaon /mnt/data
2. 配额管理与状态查看
# 编辑指定用户配额规则,配置软限制、硬限制
edquota -u alice
# 查看全部分区、所有用户的配额使用统计
repquota -a
参数说明:
- 软限制:告警阈值,超出后存在 7 天宽限期;
- 硬限制:绝对容量上限,用户无法突破该数值。
六、磁盘占用排查与分析
磁盘满载是运维高频故障,需结合命令分层定位问题,快速找到占用空间的目录与文件。
# 全局查看所有分区使用率,定位爆满分区
df -h
# 查看单个目录总占用大小
du -sh /home
# 查看目录下一级子目录大小,逐层定位占用源
du --max-depth=1 -h /var
# 进阶用法:根目录下目录按占用大小降序排序,快速锁定大目录
du --max-depth=1 -h / | sort -rh
七、问答题
Q1:fdisk 与 parted 工具的适用场景、核心差异是什么?
答:二者核心差异体现在分区表、磁盘容量与操作逻辑上。fdisk 仅支持 MBR 分区表,仅限 2TB 以内磁盘使用,单磁盘最多 4 个主分区,操作需手动执行 w 保存生效;parted 兼容 MBR、GPT 双分区表,专为 2TB 以上大容量磁盘设计,无主分区数量限制,命令执行即时生效,目前是企业服务器主流分区工具。
Q2:/etc/fstab 文件的作用是什么?配置后为何必须执行 mount -a?
答:/etc/fstab 用于配置磁盘分区开机永久挂载,保证服务器重启后分区正常使用。执行 mount -a 有两个核心目的:一是重载配置,让新挂载规则即时生效;二是语法校验,提前排查设备路径、文件系统、参数书写错误,避免因配置异常导致服务器开机失败。
Q3:对比传统分区,LVM 逻辑卷的核心优势是什么?
答:传统分区容量固定,后期调整容量需卸载、重新分区,操作复杂且数据风险高。LVM 支持存储空间动态调度:可多块磁盘合并为统一卷组,逻辑卷支持在线扩容,无需中断业务;同时支持离线缩容、数据快照等高级功能,灵活适配业务存储扩容需求,运维管理效率与安全性更高。
Q4:磁盘配额的应用场景与核心作用是什么?
答:磁盘配额主要应用于多用户共享服务器,核心作用是限制单个用户 / 用户组的磁盘使用上限,避免个别用户无意或恶意占满存储空间,引发整机服务异常,实现服务器存储资源的公平管控与风险防护。
Q5:df 与 du 命令有何区别?磁盘满载时如何配合排查?
答:df 统计整个分区的整体使用率,用于快速定位哪块分区空间爆满;du 统计目录 / 文件的实际占用大小,用于精准定位大体积文件与目录。 排查流程:先执行 df -h 确认高使用率分区,再进入对应分区,通过 du 命令逐层检索大目录,最终定位并清理冗余文件。
更多推荐


所有评论(0)