技术博文 · 2021-03-27 0

Linux 分配home的磁盘空间给根目录

所有命令如下

mv /home/* /root/home
umount /home
lvreduce -L 50G /dev/mapper/centos-home 
lvextend -l +100%FREE /dev/mapper/centos-root
xfs_growfs /dev/mapper/centos-root
mount /dev/mapper/centos-home /home/
mkfs.xfs  /dev/mapper/centos-home 
mkfs.xfs -f  /dev/mapper/centos-home 
mount /dev/mapper/centos-home   /home
mv /root/home/* /home/

 

首先查看磁盘格式

parted -l命令查看

如下所示,parted -l 命令会输出文件系统类型(File system), 其中参数l表示列出所有设备的分区信息。

umount 提示

umount: /home: target is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1))

image-20210326090640112

fuser:command not found

解决方法

 yum install -y psmisc

 

所有步骤如下

1、将home目录缩减至50G大小

[root@cqdsrmyy-app-02 ~]# lvreduce -L 50G /dev/mapper/centos-home 
  WARNING: Reducing active logical volume to 50.00 GiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce centos/home? [y/n]: y
  Size of logical volume centos/home changed from <241.12 GiB (61726 extents) to 50.00 GiB (12800 extents).
  Logical volume centos/home successfully resized.
[root@cqdsrmyy-app-02 ~]# 

2、将所有空闲的空间全部加给根目录,扩大根目录所在的逻辑卷

[root@cqdsrmyy-app-02 ~]# lvextend -l +100%FREE /dev/mapper/centos-root
  Size of logical volume centos/root changed from 50.00 GiB (12800 extents) to 241.12 GiB (61727 extents).
  Logical volume centos/root successfully resized.

3、扩大根目录文件系统

[root@cqdsrmyy-app-02 ~]# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=3276800 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=13107200, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=6400, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 13107200 to 63208448

4、强制格式化home所在是逻辑卷,然后挂载。直接挂在会提示不可读的超级块,格式化的时候需要加上-f参数进行强制格式话

[root@cqdsrmyy-app-02 ~]# mount /dev/mapper/centos-home /home/
mount: /dev/mapper/centos-home: can't read superblock
[root@cqdsrmyy-app-02 ~]# mkfs.xfs  /dev/mapper/centos-home 
mkfs.xfs: /dev/mapper/centos-home appears to contain an existing filesystem (xfs).
mkfs.xfs: Use the -f option to force overwrite.
[root@cqdsrmyy-app-02 ~]# mkfs.xfs -f  /dev/mapper/centos-home 
meta-data=/dev/mapper/centos-home isize=512    agcount=4, agsize=3276800 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=13107200, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=6400, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@cqdsrmyy-app-02 ~]# mount /dev/mapper/centos-home   /home

5、将原来home目录下的文件还原,查看磁盘空间是否扩充

[root@cqdsrmyy-app-02 ~]# mv yuantu/ /home/
[root@cqdsrmyy-app-02 ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root  242G  6.1G  236G   3% /
devtmpfs                 7.8G     0  7.8G   0% /dev
tmpfs                    7.8G     0  7.8G   0% /dev/shm
tmpfs                    7.8G  8.6M  7.8G   1% /run
tmpfs                    7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/sda1               1014M  143M  872M  15% /boot
tmpfs                    1.6G     0  1.6G   0% /run/user/0
/dev/loop0               4.3G  4.3G     0 100% /root/repo
/dev/mapper/centos-home   50G   33M   50G   1% /home

搞定~