在 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
根据我的经验:如果它是副本卷,则必须调整所有卷块的大小。直到所有的砖块都具有相同的尺寸,此时特定的砖块的实际尺寸将等于最小砖块的尺寸。
我需要向我们的一个 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
根据我的经验:如果它是副本卷,则必须调整所有卷块的大小。直到所有的砖块都具有相同的尺寸,此时特定的砖块的实际尺寸将等于最小砖块的尺寸。