您好,登錄后才能下訂單哦!
這篇文章主要介紹linux如何不改變目錄結構移動home目錄到新分區,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
問題提出
公司的開發測試服務器部署在阿里云, 阿里云給出的實例一般都是只有一個分區, 20G到40G的樣子, 然后再買存儲掛載到其他目錄.
而 home 目錄是在這個 20G 的跟目錄分區下的. 隨著開發人員增多, 根目錄分區很快被大家填滿了.
因為是多地研發, 因此需要一個無感知的給大家的 home 搬家的方案.
基本原理
接到這個任務, 首先想到的就是 bind mount 方式:
mount --bind /some/where /else/where
可以實現無感知搬家 home.
感覺搜索中文沒有對這個命令解釋太清楚的.這篇問答 講的比較清楚, 英文好的同學可以參考下.
當然, 也可以問"男人": man mount
具體操作
首先選個夜深人靜的時候, 使用 who 命令查看還有那些小朋友賴在服務器不肯走, 打電話一一清場:
$ who Frodo pts/0 2017-04-17 09:07 (xx.xxx.xxx.xx) Sam pts/1 2017-04-18 08:45 (xx.xxx.xxx.xx) Pippin pts/3 2017-04-18 09:06 (xx.xxx.xxx.xx) Merry pts/4 2017-04-18 09:07 (xx.xxx.xxx.xx)
確定四下無人后, 開始搬家(復制). 使用 cp 命令復制時, 記得帶上 -p 參數, 保留文件權限設置. 使用 root 權限, 假設目標分區為 /new_disk :
# cp -p -r /home /new_disk/
新家已經建好, 我們先給老家弄個另外的門牌號, 以免把門牌號給新家后, 找不到老家了. 利用 mount --bind 把原 home 目錄掛載到一個新目錄:
# mkdir /home_bkp # mount --bind /home /home_bkp
這時我們就可以在 /home_bkp 這個目錄下找到老家的所有文件. 可以把 /home 這個門牌給新家了:
# mount --bind /new_disk/home /home
搬家完成! 可以通知小伙伴們愉快的工作了. 事實上, 可以不通知大家, 搬家這個事情對大家其實是無感知的.
當然有同學會問, 新家老家門牌一樣, 都是 /home, 我怎么知道搬家是否成功? 可以使用 df 命令確認:
# cd /home_bkp # df -h . Filesystem Size Used Avail Use% Mounted on /dev/xvda1 20G 17G 2.1G 90% / # cd /home # df -h . Filesystem Size Used Avail Use% Mounted on /dev/xvdb1 296G 42G 240G 15% /new_disk
-h 為 human-readable, 不加的話也可以, 那列出的就是"反人類"的塊為單位了.
上面的命令, 先去老家看看, 掛載點是 / ; 再去新家看看, 掛載點是 /new_disk . 這下可以放心了.
持久化
工作還沒完. 上面的工作只是保證了當前新家換地址. 但重啟后, 這個信息會丟失, 家地址會換回去. 我們需要想辦法保留這個信息.
修改 /etc/fstab 文件即可. 打開這個文件, 在最后面加入下面兩行:
/home /home_bkp none bind 0 0 /new_disk/home /home none bind 0 0
這樣整個 home 切換分區工作就完成了.
以上是“linux如何不改變目錄結構移動home目錄到新分區”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。