Linux初始化磁盘

注意事项

  • 分区和格式化会清空目标盘数据,请提前做好快照或备份
  • 以下示例默认目标盘为 /dev/vdb,请先确认盘符,避免误操作系统盘

文件系统类型特点

文件系统 特点 适用场景
ext4 稳定性高、兼容性好、工具链完善 大多数通用业务场景,维护成本低
xfs 大文件和高并发写入表现较好,在线扩容能力强,不支持直接缩容 日志、归档、大吞吐数据场景
btrfs 支持快照、校验、子卷等高级特性 需要快照和高级卷管理能力的场景

本文操作步骤采用 ext4,优先保证通用性与稳定性

操作步骤

1. 识别目标磁盘

lsblk -f

确认目标磁盘为未使用状态(通常 FSTYPE 为空)

2. 创建 GPT 分区(单分区占满整盘)

sudo parted /dev/vdb

示例会话:

(parted) mklabel gpt
(parted) mkpart primary 1MiB 100%
(parted) print
(parted) quit
sudo partprobe /dev/vdb
lsblk

执行后应看到新分区 /dev/vdb1

3. 创建文件系统

sudo mkfs.ext4 -F /dev/vdb1

查看文件系统结果:

lsblk -f

4. 挂载到目录

sudo mkdir -p /data
sudo mount /dev/vdb1 /data

验证:

lsblk
df -h | grep /data

5. 配置开机自动挂载

先备份 fstab

sudo cp /etc/fstab /etc/fstab.bak

获取分区 UUID:

sudo blkid /dev/vdb1

编辑 /etc/fstab,追加一行(ext4 示例):

UUID=xxxx-xxxx-xxxx-xxxx /data ext4 defaults,nofail 0 2

6. 校验挂载配置

sudo umount /data
sudo mount -a
lsblk
df -h | grep /data

mount -a 无报错且 /data 已挂载,即表示配置成功

磁盘大于 2TiB 的处理

当磁盘容量大于 2TiB 时,流程与上文基本一致,但必须确认分区表为 GPT

1. 检查分区表类型

sudo parted /dev/vdb

示例会话:

(parted) print
(parted) quit

若看到 Partition Table: msdos,则需改成 gpt(会清空现有分区数据)

2. 手动重建为 GPT 分区

sudo parted /dev/vdb

示例会话:

(parted) mklabel gpt
(parted) mkpart primary 1MiB 100%
(parted) print
(parted) quit
sudo partprobe /dev/vdb

3. 格式化和挂载

sudo mkfs.ext4 -F /dev/vdb1
sudo mkdir -p /data
sudo mount /dev/vdb1 /data

4. 扩容后超过 2TiB 的情况

如果是磁盘扩容后超过 2TiB,通常还需要扩展分区与文件系统:

sudo growpart /dev/vdb 1
sudo resize2fs /dev/vdb1
lsblk
df -h