新磁盘必须先分区再格式化,顺序不可颠倒;直接对裸盘(如/dev/sdb)执行mkfs会失败或破坏后续分区。确认设备名需用lsblk或fdisk -l,重点核查MOUNTPOINT为空、无子分区、容量匹配且非系统盘(如避免误选/dev/sda)。

新磁盘必须先分区再格式化,顺序不能反;直接对裸盘(如 /dev/sdb)执行 mkfs 会失败或破坏后续分区操作。
怎么确认新磁盘设备名(避免误操作系统盘)
执行 lsblk 或 fdisk -l,重点看三类信息:
- 没挂载(
MOUNTPOINT列为空)且没分区(无sdb1、sdc1等子项)的disk行,比如sdb、nvm0n1、vdc - 容量是否匹配你刚加的硬盘(如你加了 1TB 盘,就排除显示 50G 的
sda) - 命名规则:SATA/SCSI 是
sdX,NVMe 是nvmeXnY,云平台常见vdX—— 不要凭感觉猜,必须核对
误选 /dev/sda 格式化会导致系统崩溃,不是警告,是事实。
分区前必须决定用 MBR 还是 GPT
选错分区表类型会导致无法使用全部空间,或未来扩容失败:
- 磁盘 ≤ 2TB:可用
fdisk(默认 MBR),但推荐统一用parted+ GPT,兼容性更好 - 磁盘 > 2TB:必须用 GPT,否则
fdisk会报错 “DOS partition table format cannot be used on drives for volumes larger than 2199023255040 bytes” - 新建 GPT 表命令:
parted /dev/sdb mklabel gpt—— 这步不可跳过,新盘默认无分区表
parted 创建分区后需运行 partprobe /dev/sdb 刷新内核识别,否则 mkfs 找不到 /dev/sdb1。
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
格式化时选 ext4 还是 xfs?
两者都可作为数据盘主力文件系统,但行为差异明显:
-
mkfs.ext4:默认启用日志,小文件多、随机读写频繁场景更稳;创建后可用tune2fs -o journal=ordered /dev/sdb1调优,但不建议关日志 -
mkfs.xfs:大文件连续读写性能略优,元数据操作快;但不支持在线 shrink(缩容),且某些旧内核(如 RHEL6)需额外装xfsprogs - 别用
mkfs.ext2或ext3:无日志或日志能力弱,意外断电易损坏
格式化命令示例:mkfs.xfs -f /dev/sdb1(-f 强制覆盖,避免“already has an existing filesystem”错误)。
挂载前必须验证分区和文件系统
格式化完别急着挂载,先做两件事:
- 运行
blkid /dev/sdb1,确认输出含TYPE="xfs"(或"ext4")和有效UUID字段 —— 如果没TYPE,说明格式化失败或设备名写错 - 临时挂载测试:
mkdir -p /mnt/test && mount /dev/sdb1 /mnt/test && touch /mnt/test/hello && umount /mnt/test—— 成功才进下一步
永久挂载写 /etc/fstab 时,务必用 UUID=xxx 而非 /dev/sdb1,否则热插拔或设备顺序变化会导致开机卡住。

















