Linux磁盘分区扩容与缩减

xfs与ext文件系统不同,对其进行扩容与缩减部分命令不同。下面是简介与详细步骤

文字描述
说明:linux文件系统格式转换需要清除数据,同windows一样
*****xfs文件系统格式下
说明:
1、任何分区只可以扩展,不可以缩减
2、想要缩减,需要备份重建
减少home等可卸载的文件系统
正常登陆系统,备份home,删除home,创建home,还原home
减少var等不可卸载的文件系统
需要进入救援模式
先正常登陆系统,备份var;再进入救援模式,删除var,创建var;再正常登陆系统,还原var
还原之前,无法使用ssh工具登陆,需要在本机服务器上执行还原
减少root
无法实现,删除根分区无法恢复
*****ext文件系统格式下
说明
1、不是根分区都可是在线扩容和缩小
2、根分区是可以在线扩容,但不可以在线缩小
3、根分区缩小需要进入救援模式
ext系列文件系统 可扩展可收缩
1、缩小home等可卸载文件系统,移到root
2、缩小var等不可卸载文件系统,移到root
2、缩小root,移到home
查看文件系统格式
cat /etc/fstab


*****xfs文件系统格式下******
说明:因xfs文件系统,只能扩展无法收缩,要收缩需要采用备份重建方式。
如果要收缩的文件系统很大且很重要,请谨慎使用该方法。
一、减少home等可卸载的文件系统,移到root或者其他
1、备份home目录 xfsdump -f /root/home.img /home
如果xfsdump无法使用,安装xfsdump,yum -y install xfsdump
或者使用cp -R /home /root
2、卸载home目录 umount /home
如果提示 umount: /home: device is busy,则使用fuser命令查看process ID,
如fuser -cu /home 或者fuser -mv /home


使用fuser -ck /home 命令kill所有进程或者使用kill -9 进程id1,进程id2.... 命令杀死进程
如果fuser无法使用,安装yum -y install psmisc
3、删除home逻辑卷(确认数据已备份)
df -hT


lvremove /dev/mapper/centos_lfm-home
4、扩展root逻辑卷
lvresize -L +10G /dev/mapper/centos_lfm-root
5、拓展文件系统根目录
xfs_growfs /dev/mapper/centos_lfm-root 或者xfs_growfs /
6、重新创建home逻辑卷并格式化
lvcrete -L 1G -n home centos_lfm
格式化home mkfs.xfs /dev/mapper/centos_lfm-home ,如果无法格式化,加参数-f
7、挂载home

挂载前需要修改/etc/fstab,因本次逻辑卷和挂载点名称都不变,所有无需修改/etc//fstab

挂载home mount /home
查看df -hT
注:如果文件系统类型等改变,需要修改配置文件/etc/fstab
8、还原并查看原文件
xfsrestore -f /root/home.img /home
ll /home
注:使用系统自带的xfs_metadump无法备份,待测
二、减少var等不可卸载的文件系统,移到root或者其他
0、var目录无法卸载,root用户一直在占用,想要减少var逻辑卷,需要进救援模式

1、备份var目录
xfsdump /root/var.img /var
2、进入救援模式
插入系统光盘,在系统启动时按下ESC键,进入启动项菜单,选择从光盘启动


选择光盘启动

或者按F2键进入bios,然后选择启动顺序

 

 


选择跳过shell,即不加载systemshell


3、删除var逻辑卷
查看


删除var lvremove /dev/centos_lfm/var
4、扩展root逻辑卷
lvresize -L +1G /dev/centos_lfm/root
5、创建var逻辑卷
lvcreate -L 1G -n var centos_lfm
6、退出救援模式,重启进入启动项管理,修改启动项顺序
重启reboot
修改启动项,退出保存


7、扩展根目录文件系统
xfs_growfs /dev/mapper/centos_lfm-root 或者 xfs_growfs /
8、格式化var逻辑卷
mkfs.xfs -f /dev/mapper/centos_lfm-var
9、挂载var,因系统启动,自动挂载,此步省略
挂载前需要修改/etc/fstab,因本次逻辑卷和挂载点名称都不变,所有无需修改/etc//fstab
9、还原var并查看原文件,
xfsrestore -f /root/var.img /var
注:在还原var前,无法使用远程ssh,需要在本机服务器上执行还原后才可以使用
三、减少root
无法实现,删除根分区无法恢复
*****ext文件系统格式下
说明
1、不是根分区都可是在线扩容和缩小
2、根分区是可以在线扩容,但不可以在线缩小
3、根分区缩小需要进入救援模式
一、缩小home等可卸载逻辑卷,移到root
1、查看磁盘情况,卸载home目录,
df -Th
umount /home
如果无法卸载,使用fuser命令查看占用目录的进程并结束进程,
查看/home进程占用 fuser -mv /home,
结束所有占用/home的进程 fuser -ck /home


2、调整分区大小
resize2fs -p /dev/mapper/centos_lfm2-home 1G
如果提示先执行下面这条命令,则去执行
e2fsck -f /dev/mapper/centos_lfm2-home
3、挂载/home,查看磁盘情况
mount /home
df -h
4、设置空闲空间
使用lvreduce命令用于减少lvm逻辑卷占用空间的大小。可能会删除逻辑卷上已有的数据,所以在操作前必须进行确
认。
lvreduce -L -1G /dev/mapper/centos_lfm2-home
lvreduce -L -1G表示当前文件系统减少1G,
lvreduce -L 1G表示设置当前文件系统为1G
注:设置后的文件系统大小不能小于已存放在此目录下文件的大小,否则会丢失数据
可以使用vgdiskplay查看剩余的空闲空间


5、把空闲空间添加到根目录下
lvextend -L +0.98G /dev/mapper/centos_lfm2-root
resize2fs -p /dev/mapper/centos_lfm2-root
df -Th
注意:vgdisplay显示空闲空间大小为1G,实际可使用小于1G
二、缩小var等不可卸载逻辑卷,移到root
1、var目录进程一直占用,杀不死,修改var目录大小需要进入救援模式
2、不要让系统根挂载到/mnt/sysimage上,选择跳过"skip"
3、查看逻辑卷
lvscan


4、在修改逻辑卷大小前,需要激活此卷
lvchange -ay /dev/centos_lfm2/var
5、缩小文件系统
在执行resize2fs /dev/centos_lfm2/var前需要还行
强行修复 e2fsck -f /dev/centos_lfm2/var
6、缩小lvm,产生空闲空间
lvreduce -L 1G /dev/centos_lfm2/var
7、查看空闲空间并将其添加到/root
vgdisplay
lvchange -ay /dev/centos_lfm2/root
lvextend -L +0.98G /dev/centos_lfm2/root
resize2fs -p /dev/mapper/centos_lfm2-root
df -Th
注意:vgdisplay显示空闲空间大小为1G,实际可使用小于1G
二、缩小root,移到home
1、修改root目录大小需要进入救援模式
2、不要让系统根挂载到/mnt/sysimage上,选择跳过"skip"
3、查看逻辑卷
lvscan
4、在修改逻辑卷大小前,需要激活此卷
lvchange -ay /dev/centos_lfm2/root
5、缩小文件系统
resize2fs /dev/centos_lfm2/root 10G
在执行此命令前可能还需要还执行
强行修复 e2fsck -f /dev/centos_lfm2/root
6、缩小lvm,产生空闲空间
lvreduce -L 1G /dev/centos_lfm2/root
7、查看空闲空间并将其添加到/root
vgdisplay
lvchange -ay /dev/centos_lfm2/home
lvextend -L +0.98G /dev/centos_lfm2/home
resize2fs -p /dev/mapper/centos_lfm2-home
df -Th
注意:vgdisplay显示空闲空间大小为1G,实际可使用小于1G

原文地址:https://www.cnblogs.com/gpysir/p/13186134.html