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

相關內容