- 概述
Linux分區背景
linux中,每個磁盤都是以掛載到目錄的形式使用。
例如:
當磁盤1掛載到 / 目錄,磁盤2掛載到 /home 目錄時。
在 / 目錄下創建文件夾或文件時,存儲在磁盤1中,在/home目錄下創建文件夾或文件時,存儲在磁盤2中。
具體步驟
查看當前磁盤分區情況
[root@localhost ~]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 925G 47G 879G 6% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 116K 1.9G 1% /dev/shm
tmpfs 1.9G 191M 1.7G 11% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 494M 97M 398M 20% /boot
tmpfs 376M 0 376M 0% /run/user/0
/dev/mapper/centos-home 2.0G 33M 2.0G 2% /home
註:只需注意/dev/目錄下的就好,其他應該是系統處理不用管。
可以看到這裏只有三個,分別是/dev/mapper/centos-root、/dev/sda1、/dev/mapper/centos-home
卸載/home分區
把/home內容備份,然後將/home文件系統所在的邏輯卷刪除,擴大 / 文件系統。
tar cvf /tmp/home.tar /home #備份/home 沒東西可以不備份
- 記錄一下 home下有多少可用空間 ,比如2G,後面擴展根目錄要用
- 卸載 /home
umount /home
# 刪除lvm時出現"Logical volume contains a filesystem in use"
- 如果無法卸載,先終止使用/home文件系統的進程
刪除/home所在的lv,如果提示正在文件系統正在使用中,就先終止進程,使用下面第一段的命令找到進程並殺死.
fuser -m /dev/mapper/centos-home
kill -9 <把上一條命令得到的所有結果的字母去掉(比如kernel),純數字複製到這裏>
- 再次卸載
- 刪除/home分區
- 查看lv分區信息
lvdisplay
- 刪除lv分區
如果刪除失敗,可以reboot後再次刪除
lvremove /dev/centos/home
- 擴展/ 目錄
- 擴展/root所在的lv,增加/home的大小
lvextend -L +2G /dev/centos/root
# 必須出現success才行,不成功可能是空間不夠
- 擴展/ 文件系統
xfs_growfs /dev/centos/root
- 恢復/home下面的文件
# cd /
# tar -xvf /tmp/home.ar
編輯/etc/fstab文件刪除 /home分區
必須要刪除/home 分區,否則無法正常啟動。
[root@master etc]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Sat Apr 4 15:25:10 2020
#
# 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.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=9cf092ac-81b6-483e-bb48-fd1e5224340b /boot ext4 defaults 1 2
#/dev/mapper/centos-home /home xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
[root@master etc]#
確認結果
[root@localhost ~]# df -lh