動態擴容Linux根目錄 (解決/dev/mapper/centos-root 占用了過高問題)
使用df -h命令查看,發現/根目錄的剩余空間。
使用du -h -x --max-depth=1 查看哪個目錄占用過高,對於過高目錄中的內容適當刪減騰出一些空間
具體方法
1. 首先,必須確保其他分區有足夠的空間用來分給根目錄/。可以使用以下命令查看:
//查看占用空間
$ df -h
//查看占用inode節點
$ df -i

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
無fuser命令
yum install psmisc -y
然后,卸載:
$ 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
