Linux分区动态扩容/缩容
xfs与ext文件系统类型
xfs:XFS一种高性能的日志文件系统,几乎具备所有EXT4支持的功能。但不支持文件系统收缩
ext:支持度最广、但格式化慢,有ext2、ext3、ext4
基础命令
先查看一下目前的磁盘分区
1. Filesystem Size Used Avail Use% Mounted on
2. devtmpfs 126G 60M 126G 1% /dev
3. tmpfs 126G 0 126G 0% /dev/shm
4. tmpfs 126G 4.1G 122G 4% /run
5. tmpfs 126G 0 126G 0% /sys/fs/cgroup
6. /dev/mapper/centos-root 50G 18G 33G 35% /
7. /dev/sda2 1014M 269M 746M 27% /boot
8. /dev/sda1 200M 12M 189M 6% /boot/efi
9. /dev/mapper/centos-home 392G 4.5G 387G 2% /home
10. tmpfs 26G 0 26G 0% /run/user/0
11. /dev/loop0 4.4G 4.4G 0 100% /home/iso
12. /dev/sdb1 17T 528G 16T 4% /data
说明:
可以看到home目录还是比较空闲的,因此,可以将/home空间的分配给根目录一些。
/dev/mapper/centos-root是50G,基本已经溢出
/dev/mapper/centos-home是392G,还是比较空闲的
cat /etc/fstab
扩容思路
将/home文件夹备份,删除/home文件系统所在的逻辑卷,增大/文件系统所在的逻辑卷,增大/文件系统大小,最后新建/home目录,并恢复/home文件夹下的内容。
备份/home分区内容
需要选一个能够容纳下/home文件夹大小的分区,因为当前/home中的文件比较小,所以此时我们随便找个目录即可。
使用如下命令:
tar cvf /run/home.tar /home
1.卸载/home分区
首先,我们需要以root登陆进去,用umount /home命令卸载/home分区。注意,此时其他用户必须已经退出了,否则就会显示/home分区是busy的,无法卸载。如果卸载时发现/home分区busy无法卸载,可以通过lsof +d /home命令来查看哪些进程在使用/home分区。
umount /home
删除/home所在的逻辑卷lv
lvremove /dev/mapper/centos-home
扩大/root逻辑卷
扩大根目录所在的逻辑卷
lvextend -L +300G /dev/mapper/centos-root
扩大/文件系统
xfs_growfs /dev/mapper/centos-root
重建/home逻辑卷
重建/home文件系统所需要的逻辑卷
由于刚才已经分出去300G,因此这里创建的逻辑卷大小为92G。
lvcreate -L 92G -n /dev/mapper/centos-home
创建/home文件系统
mkfs.xfs /dev/mapper/centos-home
将新建的文件系统挂载到/home目录下
mount /dev/mapper/centos-home
/home内容恢复
恢复/home目录的内容
tar xvf /run/home.tar -C /
删除/run下面的备份
rm -rf /run/home.tar
再次查看磁盘存储df -h