Centos

在 /home 和 /var 之間交換分區

  • December 19, 2016

我有一個 2TB(Raid,2x2TB)的伺服器,以及這個分區架構

/ => /dev/md2 - 20GB
/home => /dev/md3 - 1.8TB

這是一個 ISPConfig 伺服器,所以我們在 /var 中需要很多空間,而 /home 中幾乎不需要任何空間,所以我認為最好的方法是將 /home 放入 /dev/md2 並將 /var 放入 /dev/md3

我的 fstab 是這樣的:

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/md2        /       ext4    errors=remount-ro       0       1
/dev/md3        /home   ext4    defaults        1       2
/dev/sda4       swap    swap    defaults        0       0
/dev/sdb4       swap    swap    defaults        0       0

最好的方法是什麼?我認為將 /home 內容移動到 /homeold,從 fstab 中刪除,umount 現在從 /homeold 複製到 /home,然後更改 /var 名稱(我沒有足夠的空間進行複制),掛載新 /var 並移動內容, 它是否正確?

另外,我需要停止所有伺服器服務以避免錯誤(mysql、apache、mongodb、named 等),有什麼快速的方法嗎?或者也許我應該在救援模式下重新啟動來做到這一點?

也許另一種方式是 / 和 /home 之間的完全改變,我的意思是,將 / 放入 /md3 和 /home 放入 md2,這是否只能通過編輯 fstab 並重新啟動?

非常感謝你,

我認為在這種情況下你最好的朋友會rsync。創建目錄 /home/var。將其與現有/var目錄同步。

rsync -avh /var/ /home/var/ --delete 人rsync

初始同步完成後,對/home分區執行相同操作。

之後,您的停機時間很少。停止所有服務,再次執行 rsync。檢查是否沒有文件開始在 var 和 home 中使用。lsof | grep '/var'和同樣的/home。這裡有機會使用一些庫 /var/lib。但這可以忽略。現在您有 2 個選項。

選項 1. 掛載/dev/md3到 /media/ 然後符號連結/media/var/var

選項 2. 將/home內容移至/home_new(/home/var 除外)。然後將所有內容從/home/var/home/ 移至 /home/,然後重新掛載/dev/md3/var,重命名 /home_new/home. 在 中進行更改fstab重新啟動伺服器以查看是否一切正常。

我更喜歡選項 2。我還建議您將LVM添加到/dev/md3. 希望你明白。

類似的問題:

  1. https://unix.stackexchange.com/questions/131311/moving-var-home-to-separate-partition
  2. CentOS & 移動 /var 到一個新的磁碟/分區

引用自:https://serverfault.com/questions/821550