飞牛挂载 iSCSI 远程磁盘扩容

文章目录

背景是 rueNAS 后端创建 ZVOL,以 iSCSI 方式共享给飞牛 fnOS 挂载使用。
后端 TrueNAS 已经成功把 ZVOL 容量从 2TB 扩容至 3TB。
飞牛重启后,网页后台硬盘容量已经正确识别为 3TB 但是存储空间容量依旧锁定在旧 2TB。
这个的原因是 fnOS 内置一套固定多层嵌套存储栈,每一层都需要手动逐层扩容:

iSCSI 磁盘 → GPT 分区 → 单成员 RAID1 (md0) → LVM 逻辑卷 → 文件系统挂载 /vol1

⚠️重要提醒:操作前务必备份全部重要数据;全程 SSH 登录执行,不要中途断电、强制重启。

本文场景:单盘单成员 RAID‑1(不是 ZFS 存储池,不是双盘镜像 RAID1),飞牛新建存储空间默认就是这套架构。

一、先理清磁盘层级(执行 lsblk 查看)

$: lsblk
输出结构示例:
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb      8:16   0    3T  0 disk
└─sdb1   8:17   0    3T  0 part
  └─md0  9:0    0    2T  0 raid1
    └─trim_xxxx‑0 253:0 0 2T lvm   /vol1

层级拆解:

  1. /dev/sdb:iSCSI 远程磁盘,后端扩容后已经识别为 3T
  2. /dev/sdb1:磁盘 GPT 分区(初始 2T,需要先扩满整块磁盘)
  3. /dev/md0:fnOS 强制创建单盘占位 RAID1 阵列(预留后续添加第二块盘做镜像)
  4. LVM 逻辑卷:trim_xxx‑0
  5. /vol1:最终挂载目录(btrfs /ext4 /xfs 三种文件系统可选)

二、确认 iSCSI 客户端刷新磁盘容量(必须先做)

如果 sdb 体积不是底层扩容完的体积需要先刷新,直接重启飞牛,如果重启完还不生效检查 iSCSI 服务端设置。

三、扩容磁盘 GPT 分区 sdb1

parted /dev/sdb resizepart 1 100%

执行后弹出 GPT 表头位置警告:

Warning: Not all of the space available to /dev/sdb appears to be used
Fix/Ignore?

输入 Fix,之后输入分区序号 1 回车,完成分区扩容。
校验分区容量:

parted /dev/sdb print

确认 sdb1 容量等于整块磁盘大小。

四、RAID 扩容

常规扩容命令:

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

这一步有可能报错:

mdadm: Cannot set device size for /dev/md0: Operation not supported

报错原因是开启了 Intent Bitmap(内部写入位图),此时先关闭 RAID 内部位图,再扩容,扩容完最后再把 bitmap 打开

关闭内部位图再扩容

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

成功输出示例:

mdadm: component size of /dev/md0 has been set to 3221092335K

校验 RAID 容量:

mdadm -D /dev/md0

扩容完成之后,可以按需重新打开位图

mdadm --grow /dev/md0 --bitmap=internal

五、扩容 LVM 层

  1. 扩容物理卷 PV(读取 md0 新增空闲空间)
    pvresize /dev/md0
  2. 把全部空闲空间分配给逻辑卷
    注意:设备名称从 lsblk 输出复制,每台机器 trim 后面字符串不一样
lvextend -l +100%FREE /dev/mapper/trim_37eefadc_39eb_47f8_b3f7_6ca633ae2fe9‑0

六、扩容文件系统,需要区分不同文件系统

先查询本机文件系统类型

df -hT /vol1

根据 Type 字段选择对应命令:

  1. btrfs
btrfs filesystem resize max /dev/mapper/trim_xxxx‑0
  1. ext4 文件系统
resize2fs /dev/mapper/trim_xxxx‑0
  1. XFS 文件系统
xfs_growfs /vol1

验证扩容结果

df -h /vol1

命令行输出容量 3TB 即扩容完成。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注