我们有不同的 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