首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Linux使用mkfs.xfs格式化盘很慢的解决办法

Linux使用mkfs.xfs格式化盘很慢的解决办法

作者头像
AiDBA宝典
发布2026-03-26 14:16:08
发布2026-03-26 14:16:08
100
举报

字数 706,阅读大约需 4 分钟

现象

使用命令mkfs.xfs /dev/sde直接格式化盘,该盘有20TB,特别慢,30分钟没有执行完。

但是,使用 mkfs.ext4 很快完事。

解决

最后改为如下的命令后,3秒完事:

代码语言:javascript
复制
mkfs.xfs -f -K -l size=128m,lazy-count=1 /dev/sde

或使用 mkfs.ext4 尝试。

解释

可能原因

解决方案

mkfs.xfs 进行全盘扫描

-l lazy-count=1

discard(TRIM)影响 SSD

-K 选项跳过

I/O 负载高

iostat -xm 1 检查

XFS 版本老旧

更新 xfsprogs

日志初始化慢

-l size=128m

文件系统特性影响

-n ftype=0

如果 mkfs.ext4 很快,而 mkfs.xfs 特别慢,说明问题可能与 XFS 文件系统初始化方式磁盘 I/O 特性 相关。可以从以下几个方面分析和优化:


1. mkfs.xfs 默认行为:全盘扫描 + 日志区初始化

mkfs.xfs 会执行以下操作,导致格式化比 mkfs.ext4 慢:

  • 全盘扫描并初始化数据结构
  • 为日志区域 (log) 预留空间并进行初始化
  • 可能执行 discard(TRIM)操作(如果是 SSD)
优化方案

尝试使用 -f -l lazy-count=1 加快格式化:

代码语言:javascript
复制
mkfs.xfs -f -l lazy-count=1 /dev/sde
  • -f:强制格式化,避免因已有分区导致的提示。
  • -l lazy-count=1:优化 XFS 的日志计数方式,加快格式化。

2. 跳过 discard 操作(特别适用于 SSD)

如果 mkfs.xfs 在 SSD 上特别慢,可能是 TRIM 操作导致:

代码语言:javascript
复制
mkfs.xfs -f -K /dev/sde
  • -K 选项会跳过 discard,提高格式化速度(适用于 SSD)。

可以手动检查 SSD 是否支持 discard

代码语言:javascript
复制
lsblk -D

如果 DISC-GRAN(discard granularity)值很大,说明 mkfs.xfs 可能因 discard 耗时过长。


3. 检查磁盘 I/O 瓶颈

虽然 mkfs.ext4 运行快,但 mkfs.xfs 可能触发了不同的 I/O 负载,可以用 iostatiotop 观察:

代码语言:javascript
复制
iostat -xm 1
iotop -o

如果磁盘 await 时间很高,可能是 I/O 繁忙导致。


4. 确保 xfsprogs 版本最新

旧版本 xfsprogs 可能存在性能问题,建议更新:

代码语言:javascript
复制
yum update xfsprogs  # RHEL/CentOS
apt update && apt install xfsprogs  # Debian/Ubuntu

检查当前 XFS 版本:

代码语言:javascript
复制
mkfs.xfs -V

5. 检查 dmesg 是否有错误

如果 mkfs.xfs 明显比 mkfs.ext4 慢,可能是磁盘错误或驱动问题:

代码语言:javascript
复制
dmesg | tail -50

如果发现 I/O errorsbuffer I/O error,可能是磁盘有问题,可以跑 badblocks 检测:

代码语言:javascript
复制
badblocks -sv /dev/sde

6. 变更日志模式

XFS 需要初始化日志区域,默认情况下可能会导致格式化较慢。可以尝试手动调整:

代码语言:javascript
复制
mkfs.xfs -f -l size=128m,lazy-count=1 /dev/sde
  • -l size=128m:减少日志空间大小,加快格式化。
  • lazy-count=1:避免频繁更新 superblock,提高效率。

7. 避免 -n ftype=1(小文件目录索引)

某些系统默认 mkfs.xfs 会使用 -n ftype=1,可能导致格式化慢。可以尝试手动关闭:

代码语言:javascript
复制
mkfs.xfs -f -n ftype=0 /dev/sde

说明

本文“解释” 部分来自于AI生成!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-03-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AIDB 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 现象
  • 解决
  • 解释
    • 1. mkfs.xfs 默认行为:全盘扫描 + 日志区初始化
      • 优化方案
    • 2. 跳过 discard 操作(特别适用于 SSD)
    • 3. 检查磁盘 I/O 瓶颈
    • 4. 确保 xfsprogs 版本最新
    • 5. 检查 dmesg 是否有错误
    • 6. 变更日志模式
    • 7. 避免 -n ftype=1(小文件目录索引)
  • 说明
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档