Linux分区动态扩容/缩容

芒果1年前技术文章706


xfs与ext文件系统类型
xfs:XFS一种高性能的日志文件系统,几乎具备所有EXT4支持的功能。但不支持文件系统收缩
ext:支持度最广、但格式化慢,有ext2、ext3、ext4
基础命令

865B3F8C-6ABF-42E5-8EBF-AB47866AB590.png


先查看一下目前的磁盘分区
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

FB9760A4-4BC2-4505-8F1C-3186134534D4.png


扩容思路
将/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


相关文章

CDH实操--hive表及分区检查

CDH实操--hive表及分区检查

1)DB数量select count(1) from DBS;2)各DB中的TABLE数量select TBLS.db_id, name, count(1) tab_num from TBLS jo...

mysql8 rpm安装教程

1:卸载原有REPO源查询已经存在的mysql及相关依赖包rpm -qa | grep mysql此时你会看到一堆列表,使用 yum 命令依次卸载yum remove mysql-xxx-xxx-xx...

RDS通过DMS管理登录处理

RDS通过DMS管理登录处理

问题描述无法通过DMS管理登录进入数据库,报错如下:问题处理方式一在RDS控制台新建账号 账号管理--创建账号将此数据库添加进DMS在DMS控制台--数据库实例--新增实例将新建的数据库账号信息进行录...

Dockerfile

Dockerfile

一、什么是镜像?镜像可以看成是由多个镜像层叠加起来的一个文件系统(通过UnionFS与AUFS文件联合系统实现),镜像层也可以简单理解为一个基本的镜像,而每个镜像层之间通过指针的形式进行叠加。根据上图...

linux下ext4类型文件系统/目录扩容

1、查看分区信息[root@172-16-121-112 ~]# fdisk -lDisk /dev/vda: 107.4 GB, 107374182400 bytes, 209715200 sect...

Wireshark工具使用

Wireshark工具使用

一、介绍wireshark是一款免费、开源的网络抓包工具。项目地址如下:https://github.com/wireshark/wireshark应用如下:1. 网络管理员会使用wireshark来...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。