lvextend + 使用变量来扩展文件系统

lvextend + 使用变量来扩展文件系统

我们有不同的 Linux 机器,每台 Linux 机器需要不同的分区大小

为了通过脚本扩展根文件系统或var文件系统,我们可以使用以下lvextend语法,变量为-PARTITION_VAL_SIZE

 PARTITION_VAL_SIZE=100
 lvextend -L"$PARTITION_VAL_SIZE"G /dev/vg-data/lv-var
 PARTITION_VAL_SIZE=30
 lvextend -L"$PARTITION_VAL_SIZE"G /dev/vg-data/lv-root
 .
 .
 PARTITION_VAL_SIZE=50
 lvextend -L"$PARTITION_VAL_SIZE"G /dev/vg-data/lv-var
 PARTITION_VAL_SIZE=20
 lvextend -L"$PARTITION_VAL_SIZE"G /dev/vg-data/lv-root

 .
 .

lvextend因为我们使用的是 GIGA 中的值,所以我们在命令上添加“G”

我们可以做得更好吗?或者我们的方法是否足以增加带有变量的 Linux 分区?

答案1

使用检查文档man lvextend

-L|--size [+]Size[m|UNIT]指定 LV 的新大小。--size和选项--extents是指定大小的替代方法。 [...] 当使用加号+或减号-前缀时,该值不是绝对大小,而是相对值,并且是在当前大小的基础上添加或减去的。

同样来自同一页面,

Size[UNIT] Size是接受可选单位的输入数字。输入单位始终被视为以两个为基数的值 [...]。UNIT代表其他可能的输入单位:[…] g|G是 GiB [...]。

所以,当你写:

PARTITION_VAL_SIZE=100
lvextend -L"$PARTITION_VAL_SIZE"G /dev/vg-data/lv-var

您应该知道 shell 会将其扩展为:

lvextend -L100G /dev/vg-data/lv-var

这意味着将分区大小调整为 100 GB。它才不是意思是将分区再扩展 100 GB。请记住 GiB > GB,但如果您已经在考虑 2 n而不是 10 n的大小,那就没问题了。

作为偏好,我建议使用--size此处而不是-L.这是同样的事情,但更容易阅读:

lvextend --size 100G /dev/vg-data/lv-var

相关内容