当前位置:首页>Linux>Linux mkfs命令实战全指南|服务器磁盘格式化必备运维干货

Linux mkfs命令实战全指南|服务器磁盘格式化必备运维干货

  • 2026-08-25 04:33:44
Linux mkfs命令实战全指南|服务器磁盘格式化必备运维干货
服务器新增硬盘、扩容数据盘、重装存储分区,mkfs是绕不开的核心命令。mkfs全称make filesystem,作用是给磁盘分区创建文件系统(俗称格式化)。
本文从基础语法、主流文件系统选型、高频参数、完整实操流程、避坑指南全覆盖,看完直接落地生产环境。

警告:mkfs 格式化会永久清空分区全部数据,操作前务必备份数据、核对分区名称!硬盘有价,数据无价

一、mkfs的基础语法
1. 通用标准写法
mkfs [-t 文件系统类型] [可选参数] 磁盘分区路径
如:
mkfs -t ext4 /dev/sdb
2. 简写专用命令(日常使用最多)
mkfs会封装对应文件系统的独立工具,可直接mkfs.文件系统,更简洁:
#ext4简写mkfs.ext4 /dev/sdb1#XF简写mkfs.xfs /dev/sdb2#U盘FAT32mkfs.vfat /dev/sdc1
3. 查看磁盘分区
在进行格式化前,我们需要查看的分区类型,可以使用以下命令:
lsblk    #树形查看所有磁盘分区df -h    #查看已挂载分区(已挂载不能格式化)blkid    #查看分区UUID、文件系统类型
二、主流文件系统选型:ext4/ XFS/vfat场景区分
一般生产环境使用下面这三种磁盘格式:
文件系统
适用场景
核心优缺点
发行版默认
ext4
通用服务器、系统盘、中小数据盘、需要扩容 / 缩容
兼容性强、支持离线缩容、稳定;超大文件并发性能弱
ubuntu、debian、centos7
XFS
大容量数据盘、数据库、视频存储、高并发io、单文件超大
大文件读写性能强、支持eb级磁盘;不支持离线缩容
centos8/9、rhel、rocky linux
vfat(FAT32)
u盘、移动硬盘、windows/linux 双平台互通
跨系统兼容;单文件最大4g,不支持权限
移动存储设备
三、mkfs的核心参数
1. -L 自定义分区卷标
给分区设置名字,/etc/fstab管理、blkid 查看更直观,卷标不超过16字符。
#ext4设置卷标data_diskmkfs.ext4 -L data_disk /dev/sdb1#xfs设置卷标storagemkfs.xfs -L storage /dev/sdb2
2. -m调整root预留空间(ext4专属优化)
ext4默认预留5%磁盘空间给root用户,防止普通用户占满磁盘导致系统崩溃;大容量数据盘可降低预留比例节省空间。
#数据盘仅预留1%空间mkfs.ext4 -m 1 -L data /dev/sdb#系统盘保留默认5%(不写-m即可)mkfs.ext4 -L system /dev/sda2
3. -b指定块大小(性能调优)
块大小可选1024/2048/4096 字节,默认4K;数据库、大文件场景保持4K,小文件密集场景可调整。
#指定4K块大小(默认,可省略)mkfs.ext4 -b 4096 /dev/sdb1
4. -f 强制格式化(XFS 必用参数)
xfs分区已有文件系统时,直接mkfs.xfs会报错,必须加-f强制覆盖;ext4无需强制,会弹窗确认。
#xfs强制格式化已有数据分区mkfs.xfs -f -L storage /dev/sdb2
5. -c 格式化时检测坏块(老旧硬盘专用)
老旧机械硬盘格式化时扫描坏道,标记损坏扇区避免写入数据;新盘无需使用,会大幅延长格式化时间。
mkfs.ext4 -c -L old_disk /dev/sdc1
6. -q 静默模式,不输出格式化日志
脚本批量格式化磁盘时使用,简化输出:
mkfs.ext4 -q /dev/sdb1
四、格式操作常规:新硬盘分区→格式化→挂载
步骤 1:使用 fdisk 给新硬盘分区(以 /dev/sdb 为例)
#进入磁盘分区工具fdisk /dev/sdb#交互命令依次输入:n       #新建分区p       #主分区回车    #默认分区号回车    #默认起始扇区回车    #占用全部磁盘空间w       #保存分区表
步骤 2:卸载分区(已挂载必须执行,否则格式化失败)
#若分区已挂载,先卸载umount /dev/sdb#或umount  /disk2  实际挂载点名称 
步骤 3:mkfs 格式化
A:格式化为ext4格式
mkfs.ext4 -L data_disk  /dev/sdb
B:格式化为xfs格式
mkfs.xfs -f -L db_storage /dev/sdb1
步骤 4:创建挂载目录
#创建挂载点mkdir /data#临时挂载分区mount /dev/sdb1 /data#验证挂载成功df -h
步骤 5:永久开机自动挂载(修改 /etc/fstab)
1.获取分区 UUID(推荐用 UUID 挂载,避免磁盘名称变动失效)
blkid /dev/sdb
2.编辑 fstab 文件
vim /etc/fstab
3.文件末尾添加配置示例
#ext分区挂载示例UUID=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /data ext4 defaults 0 2#xfs分区挂载示例UUID=yyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy /db xfs defaults 0 2#当然也可以使用逻辑盘进行挂载/dev/sdb1   /data    ext4   defaults 0 1
根据实际情况选择uuid或者物理盘进行挂载。
4.校验fstab配置
mount -a
五、常用组合命令
组合 1:通用ext4数据盘最优配置
mkfs.ext4 -L data -m 1 /dev/sdb1
组合 2:xfs大容量数据库盘强制格式化
mkfs.xfs -f -L database /dev/sdb2
组合 3:老旧机械硬盘,格式化 + 坏块检测
mkfs.ext4 -c -L old_hdd /dev/sdc1
组合 4:u盘格式化为fat32,windows/linux 通用
mkfs.vfat -F32 -n USB-DISK /dev/sdd1
六、mkfs使用注意事项

注意1:格式化已挂载分区,导致文件系统损坏

正确操作:格式化前执行umount /dev/sdX1卸载分区。

注意2:混淆/dev/sda系统盘和数据盘,误格式化系统

正确操作:格式化前lsblk确认磁盘,系统盘一般是 sda,数据盘为 sdb/sdc。

注意3:xfs格式化已有分区不加-f,命令执行失败

正确操作:XFS 覆盖格式化必须携带-f强制参数,ext4 无需。

注意4:大容量 ext4 磁盘不调整-m预留比例,浪费大量空间

ext4 默认预留 5%,1T硬盘会占用50G空间;纯数据盘设置-m 1仅预留1%即可。

注意5:直接用/dev/sdX 整块磁盘格式化,不分区

不推荐,规范运维必须分区后格式化/dev/sdX1,方便后期磁盘管理。

注意6:fstab 使用磁盘名 /dev/sdb1 挂载,磁盘顺序变动后挂载失效

最佳实践:使用blkid获取uuid写入fstab,不受磁盘名称变化影响。

七、总结

  • mkfs核心作用:为磁盘分区创建文件系统,格式化清空所有数据,操作前务必核对分区;
  • 文件系统选型:系统盘优先选ext4,大容量数据库或高并发存储选xfs,移动u 盘选vfat;
  • 高频参数记忆:-L设置卷标、-m调整预留空间、-fXFS强制格式化、-c检测硬盘坏块;
  • 完整流程:分区→卸载→mkfs 格式化→临时挂载→fstab 永久挂载;
  • 安全红线:禁止格式化已挂载分区、禁止随意格式化 sda 系统盘,优先使用 uuid永久挂载。

如果你觉得本文对你运维有帮助,欢迎点赞收藏

#运维#linux运维#linux实战#mkfs#磁盘格式化命令

最新文章

随机文章