在 LVM 之上扩展 GlusterFS

Extend GlusterFS on top of LVM

我需要向我们的一个 gluster 卷中添加更多 space。卷是副本 2,位于 LVM 之上。文件系统是XFS。当前大小为 4TB,我想调整为 6TB。 LVM 在两个副本服务器上都有足够的空闲 PE。

  --- Physical volume ---
  PV Name               /dev/sdb
  VG Name               gluster
  PV Size               10,91 TiB / not usable 4,00 MiB
  Allocatable           yes
  PE Size               4,00 MiB
  Total PE              2861183
  Free PE               1633407
  Allocated PE          1227776
  PV UUID               F3CwNm-dceK-ezPY-7w12-OYT5-FLAH-U0a239

-

  --- Physical volume ---
  PV Name               /dev/sdb
  VG Name               gluster
  PV Size               10,91 TiB / not usable 4,00 MiB
  Allocatable           yes
  PE Size               4,00 MiB
  Total PE              2861183
  Free PE               1618047
  Allocated PE          1243136
  PV UUID               dWDEgF-0brq-9e6r-eqpO-jTeK-GJfb-c3MGbE

我在某处读到,在两台主机上扩展 LVM 和调整 FS 的大小就足够了。

# lvextend -L +2T <lvm>
# xfs_growfs <lvm mountpoint>

我知道 XFS 在挂载时必须重新占用。 LVM 也可以在操作期间调整大小(尽管不推荐)。而且我在某处读到 GlusterFS 将在 both/all 卷具有新大小后立即自动适应新卷大小。

由于存储是在生产环境中使用的,因此即时执行此操作很重要。

有没有人对这个组合有任何经验或者可以确认我的方法是正确的?

提前致谢。

回答我自己的问题:

最终我们不得不在不停机的情况下增加 Gluster 存储。

将所有 Gluster brick 的逻辑卷扩展到相同大小并将 xfs 文件系统增长到卷的最大大小后,Gluster 卷自动调整新大小。

我不确定这是否是推荐的方式,但它对我们来说非常有效(副本 2 和副本 3 卷)。

根据 https://access.redhat.com/solutions/1517993 如果你愿意,你可以通过增加它的砖而不是添加新的砖来增加 glusterfs 卷。

You can do it following a usual file system resizing method (the method will depend on the underlying block device).

Example : the brick is set on an XFS file system on the LV VGgluster/brick1. We want to add another 500MB to this brick.

Check that you have free space on the VG containing the brick :
~~~
# vgs VGgluster
~~~
Grow the file system :
~~~
# lvextend --resizefs -L+500M VGgluster/brick1
~~~
The size has been updated on the client :
~~~
# df /glusterfs/mountpoint

根据我的经验:如果它是副本卷,则必须调整所有卷块的大小。直到所有的砖块都具有相同的尺寸,此时特定的砖块的实际尺寸将等于最小砖块的尺寸。