飞牛NAS安装在Windows系统中的VM虚拟机上,磁盘扩容记录

飞牛NAS在线扩容(LVM+RAID架构)

本教程记录了在飞牛NAS(Windows系统上用VM虚拟机安装的飞牛NAS,底层采用 LVM + RAID 架构)上,将系统盘从 180G 在线扩容至 280G 的完整操作流程。该方案支持在线操作,无需停机,数据安全可靠(那也得先备份)。

1. 背景与前提:理解底层架构

飞牛NAS的存储架构通常包含三层,理解这一点对扩容至关重要:

  1. 物理分区层:如 /dev/sda3,这是最底层的物理空间。
  2. RAID 阵列层:如 /dev/md0,由物理分区组成,负责数据冗余。
  3. LVM 逻辑卷层:如 /dev/mapper/...,建立在 RAID 之上,是最终挂载到系统(如 /vol1)的文件系统。

⚠️ 核心原则:扩容必须自底向上逐层进行。直接对物理分区执行 resize2fs 会因找不到文件系统超级块而报错。

2. 操作步骤

第一步:修改物理分区表

使用 fdisk 工具调整物理分区大小,释放新空间。

fdisk /dev/sda

交互操作指引: 1. 输入 p 查看当前分区表。 2. 输入 d 删除原有数据分区(例如分区 3),注意:此操作仅删除分区表记录,不擦除数据。 3. 输入 n 新建分区,起始扇区保持默认(与原分区一致)。 4. 结束扇区选择默认(即使用全部剩余空间)。 5. 若提示 contains a linux_raid_member signature,选择 n (No) 保留签名。 6. 输入 w 保存并退出。

第二步:扩容 RAID 阵列

让底层 RAID 识别物理分区的新增空间。

mdadm --grow /dev/md0 --size=max

预期输出:mdadm: component size of /dev/md0 has been set to ...K

第三步:扩容 LVM 物理卷 (PV)

让 LVM 识别 RAID 阵列的新增空间。

pvresize /dev/md0

预期输出:1 physical volume(s) resized or updated

第四步:扩容 LVM 逻辑卷 (LV)

将逻辑卷扩展到最大可用空间。

# 请将路径替换为你实际的逻辑卷路径
lvextend -l +100%FREE /dev/mapper/trim_1b5a53dd_577b_4092_828a_0ea0f8db03eb-0

预期输出:Logical volume ... successfully resized.

第五步:刷新文件系统

这是最关键的一步,让文件系统真正“吃下”新空间。

如果是 EXT4 文件系统:

resize2fs /dev/mapper/trim_1b5a53dd_577b_4092_828a_0ea0f8db03eb-0

如果是 XFS 文件系统:

xfs_growfs /dev/mapper/trim_1b5a53dd_577b_4092_828a_0ea0f8db03eb-0

预期输出(EXT4):The filesystem on ... is now ... (4k) blocks long.

3. 验证方法

执行以下命令检查挂载点容量是否已更新:

df -h

检查重点: - 找到挂载在 /vol1 的文件系统。 - 确认 Size 列是否已变为扩容后的目标大小(如 278G/280G)。 - 确认 Avail 可用空间是否相应增加。

4. 关键注意事项

  • 严禁直接操作底层:不要对 /dev/sda3 直接执行 resize2fs,必须对最外层的 /dev/mapper/... 逻辑卷操作。
  • 保留 RAID 签名:在 fdisk 重建分区时,务必选择保留 linux_raid_member 签名,否则阵列可能无法识别。
  • 在线扩容:飞牛NAS支持在线扩容,操作期间无需停止服务或重启系统。
  • 路径确认:执行 lvextend 和 resize2fs 前,请务必通过 df -h 或 lvs 确认准确的逻辑卷路径。
  • 数据安全:虽然是在线扩容,但涉及底层存储结构变更,建议操作前确保有重要数据的备份。

发表评论