【工作记录】linux分配home空间到root目录
本文记录下centos系统下,移动/home下的空间到root目录下的具体操作步骤与问题及解决方案。
0、初始情况
[root@kf202 home]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 48G 30G 18G 63% /
devtmpfs 3.7G 0 3.7G 0% /dev
tmpfs 3.7G 0 3.7G 0% /dev/shm
tmpfs 3.7G 336M 3.4G 9% /run
tmpfs 3.7G 0 3.7G 0% /sys/fs/cgroup
/dev/sda1 1014M 249M 766M 25% /boot
/dev/mapper/centos-home 24G 33M 24G 1% /home
tmpfs 748M 0 748M 0% /run/user/0
现在的目标是把/home的大小调整为4G, 把根目录大小调整为68G。
1、解除/home逻辑卷关联
[root@kf202 home]# umount /home/
umount: /home: target is busy.(In some cases useful info about processes that usethe device is found by lsof(8) or fuser(1))
以上报错是说/home有关联的使用,需要先解除,通过fuser -km /home来解除(如有必要自行进行备份),如下:
[root@kf202 home]# fuser -km /home
/home: 18587c
再次指定解除命令,不报错即成功。
[root@kf202 ~]# umount /home/
2、移除/centos-home并增加空间到root目录
[root@kf202 ~]# lvremove /dev/mapper/centos-home
Do you really want to remove active logical volume centos/home? [y/n]: yLogical volume "home" successfully removed
[root@kf202 ~]# lvextend -L +20G /dev/mapper/centos-rootSize of logical volume centos/root changed from <47.79 GiB (12233 extents) to <67.79 GiB (17353 extents).Logical volume centos/root successfully resized.
ps: 有的网站博主提供的命令执行后会报如下错误:
[root@kf202 ~]# lvextend -L 20G /dev/mapper/centos-rootNew size given (5120 extents) not larger than existing size (12233 extents)
原因是大小前面缺少+号,也就是要修改为lvextend -L +20G /dev/mapper/centos-root
3、执行扩容命令
[root@kf202 ~]# resize2fs /dev/mapper/centos-root
resize2fs 1.42.9 (28-Dec-2013)
resize2fs: Bad magic number in super-block while trying to open /dev/mapper/centos-root
Couldn't find valid filesystem superblock.
查看当前root对应的文件格式
[root@kf202 ~]# mount | grep root
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,noquota)
# xfs格式的需要使用 xfs_growfs /dev/mapper/centos-root 命令扩容
[root@kf202 ~]# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=512 agcount=4, agsize=3131648 blks= sectsz=512 attr=2, projid32bit=1= crc=0 finobt=0 spinodes=0
data = bsize=4096 blocks=12526592, imaxpct=25= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal bsize=4096 blocks=6116, version=2= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 12526592 to 17769472
查看扩容后的空间
[root@kf202 ~]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 68G 30G 38G 45% /
devtmpfs 3.7G 0 3.7G 0% /dev
tmpfs 3.7G 0 3.7G 0% /dev/shm
tmpfs 3.7G 336M 3.4G 9% /run
tmpfs 3.7G 0 3.7G 0% /sys/fs/cgroup
/dev/sda1 1014M 249M 766M 25% /boot
tmpfs 748M 0 748M 0% /run/user/0
4、重新添加/home逻辑卷
[root@kf202 mapper]# vgsVG #PV #LV #SN Attr VSize VFree centos 1 2 0 wz--n- 78.99g <4.80g
[root@kf202 mapper]# lvcreate -n home -L 4G centosLogical volume "home" created.
说明:
lvcreate 命令用于创建逻辑卷,这是lvm技术中最常用的命令,其语法格式如下:
lvcreate [参数] 卷组名
lvcreate创建一个逻辑卷需要指定卷组,表示在哪个卷组之上创建逻辑卷;通过vgs可以查看有哪些卷组可以使用。
常用参数:
参数名 | 参数说明 |
---|---|
-n | 指定逻辑卷名称 |
-L | 指定逻辑卷大小,需要明确单位,可以是BSKMGTPE中任何一个,不区分大小写 |
-l | 使用LE个数来指定逻辑卷的大小,或者使用剩余空间百分比设置(+100%FREE),我们一般使用-L直接指定即可。 |
查看/dev/mapper/文件夹下的文件目录
[root@kf202 mapper]# ls
centos-home control
centos-root docker-253:0-44945806-pool
centos-swap
5、格式化home目录并执行绑定(mount)
[root@kf202 mapper]# mkfs.xfs /dev/mapper/centos-home
meta-data=/dev/mapper/centos-home isize=512 agcount=4, agsize=262144 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=1048576, imaxpct=25= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@kf202 mapper]# mount /dev/mapper/centos-home
执行不报错即为成功。
6、验证
再次执行df -lh 查看现在的情况。
[root@kf202 mapper]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 68G 30G 38G 45% /
devtmpfs 3.7G 0 3.7G 0% /dev
tmpfs 3.7G 0 3.7G 0% /dev/shm
tmpfs 3.7G 375M 3.3G 11% /run
tmpfs 3.7G 0 3.7G 0% /sys/fs/cgroup
/dev/sda1 1014M 249M 766M 25% /boot
tmpfs 748M 0 748M 0% /run/user/0
/dev/mapper/centos-home 4.0G 33M 4.0G 1% /home
可以看到,现在root目录下的大小为68G, /home目录大小为4G。
以上就是处理该问题的全部步骤,希望能帮助到有需要的朋友。如有不正确或者不严谨的地方,欢迎批评指正~