前言
今天遇到一個常見的問題:服務(wù)器的根分區(qū)只有 50G,而 /home 分區(qū)有 957G 卻幾乎沒用。這種默認(rèn)分區(qū)很不合理,所以決定把 /home 的空間都給根分區(qū)用。
記錄一下操作過程,方便以后查閱。
操作過程
查看當(dāng)前磁盤情況
查看磁盤空間:
[root@lucifer ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 50G 1.8G 49G 4% /
/dev/mapper/centos-home 957G 33M 957G 1% /home
根分區(qū) 50G,home 分區(qū) 957G,很多軟件都不建議安裝到 /home 目錄下,所以不建議把空間都劃分到 home 分區(qū)下。
[root@lucifer ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 1T 0 disk
├─sda1 8:1 0 200M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 1022.8G 0 part
├─centos-root 253:0 0 50G 0 lvm /
├─centos-swap 253:1 0 15.8G 0 lvm [SWAP]
└─centos-home 253:2 0 957G 0 lvm /home
備份 home 目錄
先看看 /home 下面有什么:
[root@lucifer /]# cd /home/
[root@lucifer home]# ls
lucifer shell
就兩個目錄,先備份:
[root@lucifer /]# mkdir -p /root/home_backup
[root@lucifer /]# cp -a /home/* /root/home_backup/
停止相關(guān)服務(wù)
停掉可能會用到 /home 的服務(wù):
[root@lucifer /]# systemctl stop crond
[root@lucifer /]# systemctl stop atd
Failed to stop atd.service: Unit atd.service not loaded.
atd 服務(wù)沒裝,無所謂。
卸載 home 分區(qū)
[root@lucifer /]# umount -l /home
刪除 home 邏輯卷
[root@lucifer /]# lvremove /dev/centos/home
Do you really want to remove active logical volume centos/home? [y/n]: y
Logical volume "home" successfully removed
擴(kuò)展根分區(qū)
把釋放出來的空間全部給根分區(qū):
[root@lucifer /]# lvextend -l +100%FREE /dev/centos/root
Size of logical volume centos/root changed from 50.00 GiB (12800 extents) to 1007.05 GiB (257805 extents).
Logical volume centos/root successfully resized.
從 50G 擴(kuò)展到了 1007G,爽!
擴(kuò)展文件系統(tǒng)
邏輯卷擴(kuò)展了,文件系統(tǒng)也要跟著擴(kuò)展:
[root@lucifer /]# xfs_growfs /dev/centos/root
meta-data=/dev/mapper/centos-root isize=512 agcount=4, agsize=3276800 blks
...
data blocks changed from 13107200 to 263992320
修改啟動配置
編輯/etc/fstab,把/home 那行刪掉或注釋掉:
[root@lucifer /]# vi /etc/fstab
[root@lucifer /]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Fri Aug 22 05:57:40 2025
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=29b0e279-9b23-46ed-9271-31726f790177 /boot xfs defaults 0 0
UUID=F141-4160 /boot/efi vfat umask=0077,shortname=winnt 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
可以看到已經(jīng)沒有 /home 的掛載信息了。
恢復(fù)數(shù)據(jù)
測試一下配置有沒有問題:
[root@lucifer /]# mount -a
沒報錯就是沒問題。把備份的數(shù)據(jù)恢復(fù)回去:
[root@lucifer /]# cd /home/
[root@lucifer home]# ll
total 0
[root@lucifer home]# cp -a /root/home_backup/* /home/
[root@lucifer home]# ll
total 0
drwx------. 2 jump jump 83 Aug 26 09:55 jump
drwxr-xr-x. 2 root root 26 Aug 26 09:41 shell
數(shù)據(jù)回來了,權(quán)限也都在。
驗證結(jié)果
看看現(xiàn)在的磁盤情況:
[root@lucifer ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 1T 0 disk
├─sda1 8:1 0 200M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 1022.8G 0 part
├─centos-root 253:0 0 1007.1G 0 lvm /
└─centos-swap 253:1 0 15.8G 0 lvm [SWAP]
[root@lucifer ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 1008G 1.8G 1006G 1% /
/dev/sda2 1014M 142M 873M 14% /boot
/dev/sda1 200M 12M 189M 6% /boot/efi
完美!根分區(qū)現(xiàn)在有 1T 空間了。
重啟驗證
最后重啟一下,確保系統(tǒng)能正常啟動:
[root@lucifer home]# reboot
重啟正常,修改成功!
總結(jié)
整個操作其實挺簡單的,主要就是:備份數(shù)據(jù) → 卸載分區(qū) → 刪除邏輯卷 → 擴(kuò)展根分區(qū) → 恢復(fù)數(shù)據(jù) → 重啟驗證。
全程大概 10 分鐘搞定,現(xiàn)在根分區(qū)有 1T 空間,再也不用擔(dān)心空間不夠了。最重要的是記得備份數(shù)據(jù)和修改 fstab,不然重啟可能會出問題。
「喜歡這篇文章,您的關(guān)注和贊賞是給作者最好的鼓勵」
關(guān)注作者
【版權(quán)聲明】本文為墨天輪用戶原創(chuàng)內(nèi)容,轉(zhuǎn)載時必須標(biāo)注文章的來源(墨天輪),文章鏈接,文章作者等基本信息,否則作者和墨天輪有權(quán)追究責(zé)任。如果您發(fā)現(xiàn)墨天輪中有涉嫌抄襲或者侵權(quán)的內(nèi)容,歡迎發(fā)送郵件至:contact@modb.pro進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,墨天輪將立刻刪除相關(guān)內(nèi)容。




