一些背景

  • 我有一个主机跑 PVE , 我本来有一块 8T 的机械硬盘,分了 4T 给飞牛。
  • 后来感觉 4T 可能不够,就又买了一个 8T 的盘,又从新盘分了 4T 给飞牛,在里面用的是 lvm + btrfs.
  • 最近想着我本来就两块磁盘,而且 lvm 还是 stripe 的,没有 mirror, 没有 raid, 用两块磁盘纯属徒增故障率,就想把其中一块直通得了,总容量还是 8t 左右。

开始操作

操作的步骤如下:

  1. 因为我的数据是 5t 多,直接 pvmove 的话搞不定,于是先从 pve 上创建一个 2T 的磁盘给飞牛,用于周转。

         # 备份数据,删除了一部分没用的,保证文件系统用量在去除一个pv 后不会爆掉
         # 在pve 上加盘,在飞牛上加入新pv, 用于周转
         pvcreate /dev/sde
         vgextend vg-name /dev/sde
    

    我怕出故障丢数据,就把飞牛上的一些数据往移动硬盘上备份了一份,结果这速度实在是太感人了,1.8T 的数据备份了 4 个多小时。

  2. 缩文件系统

         # 停掉fnos 上的占用服务磁盘的服务,卸载 /vol1
         umount -l /vol1
         btrfs filesystem resize -4t /vol1
    

    差不多用了 5 个小时!