遷移到 LVM

遷移到 LVM

我的 Ubuntu 媒體伺服器上的磁碟機幾乎已滿。我希望為機器再添加 2TB 容量,並希望所有 3.5 TB 都被識別為單一磁碟機。讓事情變得複雜的是,我不想丟失驅動器上的任何資料或必須重新配置任何程式。

我的計劃是使用 LVM 在新磁碟機上建立磁碟區組,然後使用 dd 複製舊磁碟機的內容。然後我計劃擦除舊磁碟機並將其新增至磁碟區組。

這個計劃會奏效嗎?

我最大的問題是: - dd 是否能夠毫無問題地將我的安裝複製到另一個驅動器?即使它是一個卷組? - dd 是否能夠將 1.5TB 硬碟複製到 2TB 硬碟並保留剩餘空間。

答案1

如果您已經在使用 LVM:

  • 確保新磁碟已安裝並針對 LVM 進行分割區(切換 LVM 位元)
  • 在新磁碟上建立 PV ( pvcreate /dev/your-new-disk)
  • 擴展您的 VG 以包含新的 PV ( vgextend your-volume-group /dev/your-new-disk)
  • pvmove將您的資料從舊磁碟轉移到新磁碟。不需要dd。 (pvmove /dev/your-old-disk將強制 LVM 將資料從舊磁碟移至任何其他可用磁碟。)

如果您尚未使用 LVM:

  • 在新磁碟上建立PV和VG。
  • 將資料複製到新 VG 中的新 LV 中。如果您的檔案系統可用,
    我會使用dump+ ,但如果您願意,也可以使用或或。restorecpiotardd
  • 格式化舊磁碟,將其變成PV,加入VG。

以下內容有些自以為是,與LVM無關。

  • dump+ restore:
    • 在原始區塊設備上操作,因此來源atime等不受影響,並且ctime可以正確設定目標等。
    • 保留所有硬鏈接,並且應該充分了解檔案系統內部結構,以保留所有擴展屬性、安全性策略和其他檔案系統特定的元資料。
    • 來源和目的地可以有不同的大小;僅複製正在使用的資料。
    • 應該是最快的方法。
  • cpio/// :tarrsynccp
    • 在已安裝的檔案系統上操作,因此來源atime會更改,目標ctime無法保留,inode 號碼會更改等。
    • 保留硬連結需要將所有已知的索引節點保留在記憶體中,並且可能會也可能不會正確完成。工具可能或可能不充分理解檔案系統,或具有保留擴充屬性、安全性原則和其他特定於檔案系統的元資料的特權。
      (例如,ext4 支援亞毫秒時間戳,但據我所知,這些工具都沒有保留它們。)
    • 來源和目的地可以有不同的大小;只複製指定的資料。
    • 在系統呼叫上花費大量時間(、、、、、、、、、、stat... )。opendirreaddirclosedirmkdiropenreadwriteclose
  • dd:
    • 是原始區塊設備的精確副本。
    • 複製所有區塊,無論是否正在使用。
    • 複製所有檔案系統結構,包括應該唯一的內容(例如 UUID)。
      如果它們是 XFS,則無法在同一系統上同時安裝兩者(預設)。
    • 複製過程中無法調整大小。
    • 如果檔案系統不是很滿,則相對較慢。

相關內容