我目前在一台具有小型 96 GB SSD 的電腦上安裝了 Ubuntu 16.04 Server。對於伺服器上的所有使用者來說,空間不再足夠,因此我想新增一個 1 TB HDD,並將資料夾/home
明確地移動到該 1 TB 磁碟機上的新分割區。
最初,我計劃按照說明執行此操作這裡。然而,仔細檢查系統後,我發現 LVM 已啟用:
Filesystem Size Used Avail Use% Mounted on
udev 63G 0 63G 0% /dev
tmpfs 13G 9.5M 13G 1% /run
/dev/mapper/ubuntu--vg-root 98G 76G 18G 82% /
tmpfs 63G 0 63G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 63G 0 63G 0% /sys/fs/cgroup
/dev/sda2 473M 111M 338M 25% /boot
/dev/sda1 512M 136K 512M 1% /boot/efi
tmpfs 13G 0 13G 0% /run/user/1001
根據我到目前為止所讀到的內容,我需要將新磁碟機新增至磁碟區ubuntu-vg
組(如步驟 2-3 所示)這個答案)。但我不確定此後該如何繼續——我應該繼續嗎步驟 4-5?或者是否有另一種方法可以明確地僅轉移/home
到 1 TB HDD 並保留/
在 SSD 上?
答案1
有很多方法可以做你想做的事,但我推薦的方法是:
- 對新磁碟進行分割。它可以是一個大的 LVM 分割區,也可以留出一個或多個非 LVM 分割區用於其他目的。我有時會建立多個 LVM 分割區(也稱為實體磁碟區或 PV),以便將來在需要時可以從 LVM 配置中刪除其中一個或多個分割區。請注意,我這樣做不是建議將 PV 資料結構直接放在磁碟上而不進行分割區,如您參考的 LVM 答案中所示。雖然這是合法的,但可能會導致混亂,因為硬碟通常是分區的。
- 使用指令準備 PV 以供 LVM 使用
pvcreate
,如 中所示sudo pvcreate /dev/sdb1
。 - 使用 為現有磁碟區組 (VG) 新增新的 PV
vgextend
,如 中所示sudo vgextend ubuntu--vg /dev/sdb1
。 - 鍵入
sudo pvdisplay
以顯示有關 PV 的統計信息,包括其大小。 - 使用 來建立新的邏輯磁碟區 (LV)
lvcreate
,如 所示sudo lvcreate -L 900G -n home ubuntu--vg /dev/sdb1
。請注意,我已經指定了一種語法,使您能夠設定大小(通過-L
)以及將在其上建立 LV 的 PV (/dev/sdb1
)。 - 再次鍵入
sudo pvdisplay
以驗證您是否建立了大小合適的 LV。如果沒有,您可以使用 調整其大小lvresize
或使用 刪除它lvremove
,然後重試。 - 在 LV 上建立一個檔案系統,如
sudo mkfs -t ext4 /dev/mapper/ubuntu--vg-home
. - 將新 LV 安裝在方便的地方,例如 中
sudo mount /dev/mapper/ubuntu--vg-home /mnt
。 - 使用、、或任何您喜歡的工具複製您的
/home
目錄。tar
cp
rsync
- 編輯
/etc/fstab
以將新 LV 安裝在/home
。 - 將目前目錄重新命名
/home
為其他名稱(例如/home-orig
)並建立新的空/home
目錄作為安裝點。 - 重新啟動並希望它能起作用。
- 如果一切正常,請刪除舊
/home-orig
目錄。
步驟 8-11 與中概述的過程中的等效步驟非常相似您引用的維基頁面,所以我已經詳細介紹了這些步驟的細節。
請注意,雖然我自己多次做過此類事情,但我顯示的範例命令是基於我對相關手冊頁的閱讀,因此我可能錯過了一些細節。我建議您查看手冊頁,如果出現錯誤,請在找出問題所在後進行調整。另外,我發現 Ubuntu 的預設 LVM 命名令人困惑,因此我可能誤解了該細節,您可能需要調整。
完成此操作後,SSD 上的 PV 中將有未使用的空間。您可以將根 ( /
) LV 擴展到此空間,將/home
LV 擴展到兩個磁碟,為某些特殊目的建立另一個 LV 等。
此過程的變體可能是將目前/home
LV 保留在原處,在新磁碟上建立新 LV,然後開始使用新 LV 作為溢出空間。您注意到您的電腦是多用戶伺服器,因此這可能很尷尬,但可能有這樣做的理由 - 例如,如果只有一兩個用戶消耗了大部分磁碟空間,您可以移動只是將他們的主目錄移動到新空間,或為他們提供新空間上的目錄(使用掛載點或符號鏈接以使訪問更容易)並指示他們將大文件移動到新空間。這種方法的優點是不會對其他使用者產生負面影響,因為新的硬碟儲存空間可能明顯慢於舊的 SSD 儲存空間。
答案2
可以將新驅動器新增至 LVM,以便系統將其全部視為一個驅動器,或者您可以將其新增為第二個驅動器。使用第二種方法,新驅動器可以專用於/home。
首先將磁碟機新增至系統,然後使用您首選的檔案系統進行格式化。 /home 必須為空才能在那裡安裝新磁碟機。
接下來編輯您的 /etc/fstab 檔案。新增行:
UUID=(前面提到)/home(使用的檔案系統)預設值 0 2
注意:您可以使用裝置名稱,但 UUID 可確保在裝置名稱變更時安裝正確的磁碟機。
儲存並重新啟動。