使用 vxresize 在线调整卷和文件系统的大小
上面使用的所有命令仅更改基础卷的大小。
要增加卷及其上方的文件系统的大小,我们可以使用 vxresize。
让我们看一个例子,我在卷 myvol 的顶部有一个挂载点 /data。
# df -h |grep data /dev/vx/dsk/mydg/myvol 1.5G 17M 1.4G 2% /data
# /opt/VRTSsfmh/bin/vxlist vol TY VOLUME DISKGROUP SIZE STATUS LAYOUT LINKAGE vol myvol mydg 1500.00m healthy concat
现在让我们将音量和 FS 增加 100MB
# vxresize -g mydg myvol 1600m
现在我们可以看到 FS 和卷大小都增加了 100MB
# df -h |grep data /dev/vx/dsk/mydg/myvol 1.6G 17M 1.4G 2% /data
# /opt/VRTSsfmh/bin/vxlist vol TY VOLUME DISKGROUP SIZE STATUS LAYOUT LINKAGE vol myvol mydg 1600.00m healthy concat
现在,在没有任何停机时间的情况下增加安装点的大小或者生产中使用的卷的大小是很常见的。
Veritas 卷管理器通过 vxassist 和 vxresize 命令提供此功能。
现在要调整卷大小,我们必须知道磁盘组中的剩余空间。
根据要在该 DG 中创建的卷的布局,磁盘组中的剩余空间可能会有所不同。
例如,创建镜像卷的剩余空间与创建 concat 卷所需的空间不同。
让我们看看如何找到不同的方法来找到剩余空间以创建不同的卷布局。
卷大小调整示例
有多种使用 vxassist 调整卷大小的方法。
1.growto 将卷增长到指定的卷大小
2.growby 将卷增长特定大小
3.shrinkto 将卷缩小到特定大小
4.shrinkby 将卷缩小特定大小
语法如下:
# vxassist -g DG_name [growby|growto|shrinkby|shrinkto] Volume_name size[m|g|blocks]
要找出卷的当前大小:
# /opt/VRTSsfmh/bin/vxlist vol TY VOLUME DISKGROUP SIZE STATUS LAYOUT LINKAGE vol myvol mydg 1324.05m healthy concat
将卷 myvol 增加 100mb
# vxassist -g mydg growby myvol 100m
# /opt/VRTSsfmh/bin/vxlist vol TY VOLUME DISKGROUP SIZE STATUS LAYOUT LINKAGE vol myvol mydg 1424.05m healthy concat
将卷 myvol 缩小 100m(使用 -f 以防出错,请谨慎使用,因为它可能会损坏数据)
# vxassist -g mydg shrinkby [-f] myvol 100m
# /opt/VRTSsfmh/bin/vxlist vol TY VOLUME DISKGROUP SIZE STATUS LAYOUT LINKAGE vol myvol mydg 1324.05m healthy concat
将卷 myvol 增加到 1600 MB
# vxassist -g mydg growto myvol 1600m
# /opt/VRTSsfmh/bin/vxlist vol TY VOLUME DISKGROUP SIZE STATUS LAYOUT LINKAGE vol myvol mydg 1600.00m healthy concat
现在我们可以类似地将体积缩小到特定大小。
我不得不使用 -f 来强制收缩。
# vxassist -g mydg -f shrinkto myvol 1500m
# /opt/VRTSsfmh/bin/vxlist vol TY VOLUME DISKGROUP SIZE STATUS LAYOUT LINKAGE vol myvol mydg 1500.00m healthy concat
Maxsize 与 maxgrow
使用 maxsize 查找 DG 中剩余空间的语法是:
# vxassist -g DG_name maxsize layout=Layout
例如,可以使用以下命令找出可以在磁盘组 mydg 中创建的最大大小镜像卷:
# vxassist -g mydg maxsize layout=mirror Maximum volume size: 1820672 (889Mb)
要找出具有不同布局的卷的最大大小,只需将布局属性更改为 raid5. concat、stripe-mirror 等。
现在我们可以使用 maxgrow 找到现有卷可以增长到的大小。
maxgrow 和 maxsize 是有区别的。
Maxsize 用于查找新卷可以增长到的大小,maxgrow 用于查找现有卷可以增长到的大小。
将 maxgrow 与 vxassist 结合使用的语法是:
# vxassist -g DG_name maxgrow Volume_name
例如
# vxassist -g mydg maxgrow myvol Volume myvol can be extended by 1955840 to: 4052992 (1979Mb)
现在这很棘手,如果它使用 DG 中的完整空间,那么大小 1979Mb 是卷可以增长到的最终大小。
因此,即使我将它增加 100MB 并看到 maxgrow 命令的输出,它也会再次显示 myvol 可以增加到 1979Mb 大小。
在这种情况下,我们可以使用 maxsize 命令查看 DG 中的剩余空间。