IDGlobalGLOBAL INFRASTRUCTURE

CentOS下將 /home 目錄合併到 / 目錄

  1. 概述
    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),純數字複製到這裏>
  • 再次卸載
  1. 刪除/home分區
  • 查看lv分區信息
lvdisplay
  • 刪除lv分區
    如果刪除失敗,可以reboot後再次刪除
lvremove /dev/centos/home
  1. 擴展/ 目錄
  • 擴展/root所在的lv,增加/home的大小
lvextend -L +2G /dev/centos/root
# 必須出現success才行,不成功可能是空間不夠
  • 擴展/ 文件系統
xfs_growfs /dev/centos/root
  1. 恢復/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

在線客服

實時客服