Lvm

為什麼要調整 PV 的大小而不是添加新的 PV?

  • January 16, 2020

當您增加現有塊設備的大小時(例如 /dev/sdc 從 vmware 獲得 20 gigs,現在已增加到 40 gigs),您需要為 LVM 做一些工作以使用該空間。我見過的所有指南(123)都建議刪除現有分區並在末尾添加額外空間重新創建它,然後執行 pvresize。

pvresize /dev/sdc1您也可以創建 /dev/sdc2 並執行pvcreate /dev/sdc2並將其添加到 VG,而不是調整 /dev/sdc1 的大小然後執行。

為什麼調整大小比添加新分區更好,或者只是按照它一直以來的方式調整大小,是否存在技術或性能原因?

總結:從純粹的技術角度來看,它並沒有太大的區別,但調整大小更好。一旦您添加了實際方面,添加新分區顯然是贏家。

從嚴格的技術角度來看,新 PV 有一些缺點:

  • 您將獲得 LVM 元數據的另一個副本,這會佔用一些磁碟空間。如果經常做 LVM 操作,也會造成寫放大(因為元數據會鏡像到所有 PV)
  • 可能有剩餘空間用於對齊
  • 略微增加 LVM 元數據(每個副本)的數量,以儲存有關新 PV 的資訊。
  • 如果您創建一個跨越兩個 PV 的 LV,則它不是連續的(由於額外的元數據和任何對齊的孔)。因此,例如,如果您使用該 LV 進行大的順序讀/寫,現在那裡有一個搜尋。

從實際的角度來看,對於任何合理數量的 PV,這些都不重要。元數據的額外副本首先很重要,但是有一個 LVM 選項可以保留更少的副本( VG--metadatacopies或 PV --metadataignore)。

此外,繼續實際的觀點,刪除和重新創建分區比創建新分區更容易遭受管理錯誤(拼寫錯誤等),因為後者有更好的工具。並且發生的任何管理錯誤都可能對調整大小更具破壞性(因為您的數據位於調整大小的分區上,但新分區上沒有數據)。當您有多個圖層時,情況會更糟;例如,低於 LVM 的 mdraid。根據您的-e選擇,超級塊可以位於陣列的末尾 — 當您調整分區大小時會很有趣。

我想到了一個例外:如果由於某種原因您無法創建新分區。例如,您可能正在使用 DOS 分區表,並且您已經使用了所有四個主分區(沒有創建擴展分區)。那你別無選擇。

引用自:https://unix.stackexchange.com/questions/365775