1. 首先,必須確保其他分區有足夠的空間用來分給根目錄/。可以使用以下命令查看:
$ sudo df -h
可以看到,這裏home目錄空閒的空間還很大,因此,我們將home的空間分給根目錄一些。
2. 擴容根目錄的思路如下:
將/home文件夾備份,刪除/home文件系統所在的邏輯卷,增大/文件系統所在的邏輯卷,增大/文件系統大小,最後新建/home目錄,並恢復/home文件夾下的內容。
3. 備份/home分區內容
這裏需要選一個能夠容納下/home文件夾大小的分區,可以看到/run剩餘空間爲32G,因此,我們將/home備份到/run下面。
$ sudo tar cvf /run/home.tar /home
4. 卸載/home
要先終止所有使用/home文件系統的進程,這裏要注意不要在/home目錄下執行下面的操作:
$ sudo fuser -km /home
然後,卸載:
$ sudo umount /home
5. 刪除/home所在的邏輯卷lv:
$ sudo lvremove /dev/mapper/centos-home
選擇y。
6. 擴大根目錄所在的邏輯卷,這裏增大1T:
$ sudo lvextend -L +1T /dev/mapper/centos-root
7. 擴大/文件系統:
$ sudo xfs_growfs /dev/mapper/centos-root
8. 重建/home文件系統所需要的邏輯卷:
由於剛纔我們分出去1.0T,因此這裏創建的邏輯卷大小爲2.5T.
$ sudo lvcreate -L 2.5T -n/dev/mapper/centos-home
9.創建文件系統:
$ sudo mkfs.xfs /dev/mapper/centos-home
10. 將新建的文件系統掛載到/home目錄下:
$ sudo mount /dev/mapper/centos-home
11. 恢復/home目錄的內容:
$ sudo tar xvf /run/home.tar -C /
12. 刪除/run下面的備份:
$ sudo rm -rf /run/home.tar
參考: