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