Linux

將新分區掛載到現有掛載點

  • January 10, 2020

ServerFault 上已經提出了類似的問題,但是如果我遵循已經回答的問題的解決方案,我可能會產生一些細微的差異,因此我必須確定。

這個想法是讓/var/www/html/ 目錄顯示存在/mnt/a/www/html/的文件以及目前駐留在/var/www/html/.

我有一個 4TB 硬碟安裝為/var. 這個硬碟的空間快用完了,這就是為什麼我添加了另一個尚未安裝的 4TB 硬碟。例如,我打算為這個新的 HDD 創建一個掛載點/mnt/a/,然後使用mhddfs實用程序將其合併/var/mnt/a 單個掛載點中,/var並可能使用以下命令:

mhddfs /var/,/mnt/a/ /var/

這樣兩個 HDD 都有一個單獨的掛載點,/var並且不需要重新啟動伺服器。mhddfs當生成的掛載點與要合併的掛載點之一相同時,是否支持執行此類命令?或者有沒有更好的方法來做到這一點?

正如評論中提到的,mhddfs在關鍵的生產系統上使用看起來是個壞主意。

解決問題的好方法是使用 LVM2。以下是步驟:

  1. 創建一個vgcreate使用新硬碟的新 LVM 卷組 ( )。
  2. lvcreate從之前創建的捲組創建一個新的 LVM 邏輯卷 ( )。
  3. 使用支持調整大小的文件系統格式化邏輯卷。

此時,您擁有一個乾淨的 4TiB 文件系統。然後,我會:

  1. 將新文件系統掛載到一個臨時位置(比如說/var-tmp)。
  2. rsync /var /var-tmp.

在這一點上,你有一個舊的/var副本/var-tmp。然後:

  1. 停止所有依賴的服務/var
  2. umount /var.
  3. 將新的基於 LVM 的 FS 掛載到 /var 上。
  4. 重啟服務。

在此步驟中,您已/var重新定位到新硬碟。然後:

  1. 用於pvcreate準備要在 LVM2 卷組上使用的舊 HDD。
  2. 用於vgextend將其添加到您的捲組。
  3. 調整你的 FS。

現在你有一個 8TiB /var

注意: umount /var 可能有點複雜,因為有幾個系統守護程序依賴它。如果您的系統拒絕這樣做,您可能不得不將其離線幾分鐘,但如果準備充分,您的系統可能會在很短的時間內不可用。

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