Centos7扩充root分区
前言
安装Centos7系统的时候,如果没有自定义分区,系统默认分配给root分区的空间只有50G,其它空间都分配给了我们创建的普通用户的home分区。
我们可以使用df -h
命令来查看各个分区的大小
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 5.8G 0 5.8G 0% /dev
tmpfs 5.8G 0 5.8G 0% /dev/shm
tmpfs 5.8G 9.4M 5.8G 1% /run
tmpfs 5.8G 0 5.8G 0% /sys/fs/cgroup
/dev/mapper/centos-root 50G 2.7G 48G 6% /
/dev/sda2 1014M 176M 839M 18% /boot
/dev/sda1 200M 12M 189M 6% /boot/efi
/dev/mapper/centos-home 875G 98M 874G 1% /home
tmpfs 1.2G 0 1.2G 0% /run/user/0
tmpfs 1.2G 0 1.2G 0% /run/user/1000
如上,可以看到root分区对应的文件系统/dev/mapper/centos-root
的大小为50G,而home分区对应的文件系统/dev/mapper/centos-home
有875G。
步骤
-
查看home分区的文件系统是否为
xfs
类型输入命令
cat /etc/fstab | grep /dev/mapper/centos-home
[root@localhost ~]# cat /etc/fstab | grep /dev/mapper/cl-home /dev/mapper/cl-home /home xfs defaults 0 0
-
备份home分区文件
tar cvf /tmp/home.tar /home
-
安装
xfsdump
查看系统是否已经安装
xfsdump
xfsdump -h
如果没有安装,则执行以下指令进行安装
yum install xfsdump -y
-
卸载home分区(注意做好数据备份)
umount /home
如卸载时报
Logical volume centos/home contains a filesystem in use
错误,是有进程占用/home,查找到进程后kill掉再进行卸载。使用以下命令
fuser
查找进程情况(如果没有改指令则执行yum install -y psmisc
安装)[root@localhost gtyc]# fuser -mv /home 用户 进程号 权限 命令 /home: root kernel mount /home root 4749 ..c.. bash
杀掉相关进程
kill -9 4749
-
删除/home所在的lv
[root@localhost /]# lvremove /dev/mapper/centos-home Do you really want to remove active logical volume centos/home? [y/n]: y Logical volume "home" successfully removed
-
扩大/root所在的lv,此处增加200G
[root@localhost /]# lvextend -L +200G /dev/mapper/centos-root Size of logical volume centos/root changed from 50.00 GiB (12800 extents) to 250.00 GiB (64000 extents). Logical volume centos/root successfully resized.
-
同步文件系统
[root@localhost /]# xfs_growfs /dev/mapper/centos-root meta-data=/dev/mapper/centos-root isize=512 agcount=4, agsize=3276800 blks = sectsz=4096 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=4096 sunit=1 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 13107200 to 65536000
-
重建/home所需要的逻辑卷(空间大小根据实际情况决定)
lvcreate -L 500G -n/dev/mapper/centos-home
-
创建home分区的文件系统
[root@localhost /]# mkfs.xfs /dev/mapper/centos-home meta-data=/dev/mapper/centos-home isize=512 agcount=4, agsize=43909120 blks = sectsz=4096 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=175636480, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=85760, version=2 = sectsz=4096 sunit=1 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
-
将刚创建的文件系统挂载到/home下
mount /dev/mapper/centos-home
-
操作完成,可以通过
df -h
查看[root@localhost home]# df -h 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 5.8G 0 5.8G 0% /dev tmpfs 5.8G 0 5.8G 0% /dev/shm tmpfs 5.8G 9.3M 5.8G 1% /run tmpfs 5.8G 0 5.8G 0% /sys/fs/cgroup /dev/mapper/centos-root 250G 2.8G 248G 2% / /dev/sda2 1014M 176M 839M 18% /boot /dev/sda1 200M 12M 189M 6% /boot/efi tmpfs 1.2G 0 1.2G 0% /run/user/0 tmpfs 1.2G 0 1.2G 0% /run/user/1000 /dev/mapper/centos-home 500G 33M 670G 1% /home
-
扩容完成后,可以根据自身需要来还原home备份文件
tar -xvf /tmp/home.tar -C /