本地学习机使用,生产环境请勿操作!!!
本文操作的扩容前提是:centos,磁盘类型是LVM,文件类型是xfs
因未修改docker的存储目录,导致/var空间不足,正好尝试动态扩容,测试有效

1.查看磁盘分区信息

df -h

centos7 扩容vda2分区 centos7 home分区扩容_文件系统

fdisk -l

centos7 扩容vda2分区 centos7 home分区扩容_重启_02

2.备份home 文件(最好先拍个快照!!!,防止操作有问题,无法恢复)

cd /home
tar -cvf home.tar ./*

centos7 扩容vda2分区 centos7 home分区扩容_linux_03

3.停止对home目录的访问进程并卸载

centos7 扩容vda2分区 centos7 home分区扩容_重启_04

fuser -km /home

centos7 扩容vda2分区 centos7 home分区扩容_linux_05


已经没有home了

centos7 扩容vda2分区 centos7 home分区扩容_重启_06

4.减少home的磁盘空间:lvreduce -L -20G /dev/mapper/centos-home

centos7 扩容vda2分区 centos7 home分区扩容_centos7 扩容vda2分区_07

5.增加var的磁盘空间:lvextend -L +20G /dev/mapper/centos-var

centos7 扩容vda2分区 centos7 home分区扩容_重启_08

6.查看磁盘列表信息

centos7 扩容vda2分区 centos7 home分区扩容_centos_09

7.扩展var分区

如果使用xfs文件系统使用xfs_growfs
如果使用ext4文件系统使用resize2fs

xfs_growfs 不支持减少磁盘空间,可以使用mkfs.xfs命令重新格式化一下,但是文件会丢失!!!

centos7 扩容vda2分区 centos7 home分区扩容_linux_10

xfs_growfs /dev/mapper/centos-var

centos7 扩容vda2分区 centos7 home分区扩容_centos7 扩容vda2分区_11

8.再次查看磁盘空间信息

centos7 扩容vda2分区 centos7 home分区扩容_文件系统_12

lsblk

centos7 扩容vda2分区 centos7 home分区扩容_centos_13

9.重置home

重启之前可以先执行lvremove /dev/mapper/centos-home试试能不能删除,如果报包含系统文件的导致无法删除,就需要重启,使用系统控制台操作,若是可以直接删除,则无需重启

重启:reboot,输入超管密码,进入系统命令行

reboot

centos7 扩容vda2分区 centos7 home分区扩容_linux_14

删除home的逻辑卷:lvremove /dev/mapper/centos-home

lvremove /dev/mapper/centos-home

centos7 扩容vda2分区 centos7 home分区扩容_文件系统_15

查看vg :vgdisplay,会多出30G使用空间

vgdisplay

centos7 扩容vda2分区 centos7 home分区扩容_centos_16

重新创建home分区:lvcreate -L 30G -n /dev/mapper/centos-home

lvcreate -L 30G -n /dev/mapper/centos-home

centos7 扩容vda2分区 centos7 home分区扩容_centos_17

创建xfs格式的磁盘:mkfs.xfs /dev/mapper/centos-home

mkfs.xfs /dev/mapper/centos-home

centos7 扩容vda2分区 centos7 home分区扩容_centos_18

挂载home:mount /dev/mapper/centos-home /home

mount /dev/mapper/centos-home /home

centos7 扩容vda2分区 centos7 home分区扩容_linux_19


新磁盘是空的

centos7 扩容vda2分区 centos7 home分区扩容_centos_20

恢复备份的home文件

tar -xvf home.tar -C /home

输入reboot 重启系统即可

centos7 扩容vda2分区 centos7 home分区扩容_重启_21

10.补充知识

xfs 相关的维护命令:

mkfs.xfs: 创建 xfs 文件系统

xfs_admin: 调整 xfs 文件系统的各种参数

xfs_copy: 拷贝 xfs 文件系统的内容到一个或多个目标系统(并行方式)

xfs_db: 调试或检测 xfs 文件系统(查看文件系统碎片等)

xfs_check: 检测 xfs 文件系统的完整性

xfs_bmap: 查看一个文件的块映射

xfs_repair: 尝试修复受损的 xfs 文件系统

xfs_fsr: 碎片整理

xfs_quota: 管理 xfs 文件系统的磁盘配额

xfs_metadump: 将 xfs 文件系统的元数据 (metadata) 拷贝到一个文件中

xfs_mdrestore: 从一个文件中将元数据 (metadata) 恢复到 xfs 文件系统

xfs_growfs: 调整一个 xfs 文件系统大小(只能扩展)

原文链接:

11.脚本查询某个挂载目录的使用进程

touch mount-info.sh
chmod +766 mount-info.sh

#! /bin/bash
read -p "请输入要查找的挂载目录(如:/dev/mapper/centos-home): " mountDir
echo ${mountDir}
for i in /proc/[0-9]* ;
do echo $i >> /tmp/mountinfo ;
grep -q ${mountDir} $i/mountinfo ;
echo $? >> /tmp/mountinfo ;
done

./mount-info.sh
grep -B 1  '^0$' /tmp/mountinfo

centos7 扩容vda2分区 centos7 home分区扩容_linux_22