說明:
1.有些時候我們發現根目錄下剩余空間很小,但是/home目錄下卻還有幾百G的空間,那么使用本教程就可以將/home下多于的空間轉移給根下。
2.本教程假定“讀者”已經掌握了LInux下操作邏輯卷的基本技能,如果不能熟練的操作邏輯卷,則至少需要清楚PV物理卷、VG卷組、LV邏輯卷分別是什么概念。
注意:強烈建議在剛裝好系統后進行這個操作,因為本方法使用的是刪除/home的方式來擴容根空間,所以/home下的數據請妥善安置
步驟:
1.重啟電腦
以root用戶直接登陸(這是為了解決/home目錄被占用的情況,也可以使用其它方式終止/home被占用,不過這樣最直接)
2.卸載/home
umount /home
?3.刪除/home所在的lv邏輯卷
lvremove /dev/centos00/home
小提示:如果不知道你的/home目錄的路徑,可以使用lvscan命令查看邏輯卷都有哪些,例如我的查詢結果為:
圖片中代碼的解釋:
centos00是我電腦上vg卷的名字,是裝系統的時候電腦自動生成的(可能別人的名字跟我不一樣)
heme是存在與centos00卷組上的邏輯卷的名字(所有人都會跟我一樣)
root也是存在于centos00卷組上的邏輯卷的名字(所有人都會跟我一樣)
swap同樣也是存在于centos00卷組上邏輯卷的名字(所有人都會跟我一樣)
5.擴展/root所在的lv,增加100G
lvextend -L +100G ?/dev/centos00/root
?6.擴展/root文件系統
xfs_growfs ?/dev/centos00/root
7.重新創建home lv
lvcreate -L 70G -n home centos00
home:代表新建lv的名字
centos00:代表vg卷組的名字而創建好之后,訪問它的路徑應該是:/dev/centos00/home(這個是路徑的名字)
?8.創建文件系統
mkfs.xfs ?/dev/centos00/home
9.掛載
?mount ?/dev/centos00/home ?/home
10.完成
以上步驟全部順利執行的話,那么就可以完成我們最初的目標了(也就是把/home下的多余空間藤出來一部分給根目錄使用)!
原理解釋:
原理解釋:我們知道lv是建立在vg上的,根據lvscan的查詢結果,我們可以看到root的lv和home的lv都是建立在centos00這個vg上的,所以當我們刪除home這個lv之后centos00這個vg的剩余空間就會多出來一些(我多了270G),然后我們直接操作用vg上的剩余空間為/root這個邏輯卷增加空間即可(我增加了200G),為/root邏輯卷添加完空間后,用最后剩余的空間(我還剩70G)新建一個/home邏輯卷,到這里整個操作就完成了。
不過值得一提的是:
因為/home被我們刪了,并且最后新建了一個/home,那么原來/home里面的“用戶”和“用戶數據”肯定都沒有了,所以請使用root用戶新建出來一些你需要的普通用戶吧,至于原來/home下的數據:如果你在操作之前備份過一次,那么恭喜你,只需要重新copy回來即可,可是如果你沒有備份數據,那么這些數據可能我們就找不回來了。所以一定要切記:無時無刻的備份才是避免程序員猝死的最好良藥!
全文結束...