Centos8缩减XFS分区格式的根目录

本文介绍如何缩减XFS分区格式的/目录。如果需要缩减逻辑卷上的XFS文件系统,则需要通过备份、恢复和重新创建逻辑卷来实现。

系统环境

Centos8

当前系统分区布局

这是当前文件系统布局。当前挂载点/容量为17G。我们的目的时减少/的容量。

备份数据

在缩减分区前一定要备份重要数据。如果出现问题了,可以恢复数据。

注意:需要为该服务器额外添加一块硬盘,用来备份系统分区的。

进入救援模式

在VMware Workstation中,加载光盘,并开机器用。开机按F2,进入BIOS,切换到Boot选项卡。将CD-ROM Drive移动到Hard Drive上面。按F10保存并重启。 选择Troubleshooting,然后选择进入救援模式。 当进入下面界面时,选择3,直接进入shell界面。 进入救援模式,可以看到/mnt/sysimage目录没有挂载系统分区。

# ls -al /mnt/sysimage/

激活逻辑卷组

挂载分区之前,需要激活逻辑卷,下面激活卷组:

# vgchange -ay
 2 logical volume(s) in volume group "cl" now active
# vgs
 VG #PV #LV #SN Attr   VSize   VFree
 cl   1   2   0 wz--n- 

挂载系统分区3和用来备份数据的分区

首先从备份开始,我们需要将逻辑卷挂载在某个位置。通过临时挂载它,我们可以将/分区备份到任何其他位置,并且在执行还原时需要对其进行访问。

现在,在/mnt/sysimage/下创建两个目录。一个用于挂载该服务器的实际/分区,另一个将用于存储/分区的备份。

# mkdir /mnt/sysimage/root
# mkdir /mnt/sysimage/backup
# mount /dev/cl/root /mnt/sysimage/root
# mount /dev/sda /mnt/sysimage/backup/

使用xfsdump备份/分区

通过运行xfsdump来执行备份。

# xfsdump -l 0 -L "root lv backup" -M "backup" -f /mnt/sysimage/backup/root_backup.img /mnt/sysimage/root

dump使用级别0(备份所有文件)时,将提示输入备份会话标签和媒体标签,我们可以通过以下选项-f-L-M添加到以下内容来避免出现提示:

  • -l 0 备份级别设置为0,0级指所有文件都将备份。
  • -L 指定备份会话的标签
  • -M 指定第一个媒介的标签
  • -f 指定备份目的文件。

卸载文件系统

备份完成后,我们可以卸载文件系统。

# umount /mnt/sysimage/root/

缩减/分区

使用lvremove命令删除逻辑卷,并使用lvcreate来创建新的卷。

# lvremove /dev/cl/root
Do you really want to remove active logical volume cl/root? [y/n]: y
 Logical volume "root" successfully removed

之后,创建所需的逻辑卷大小,下面创建逻辑卷大小为15G。

# lvcreate -Zy -L 15G -n root cl

使用-Zy将新的逻辑卷中的前4KiB数据清零。

创建新的XFS分区

# mkfs.xfs /dev/cl/root

挂载并恢复数据

文件系统准备就绪后,将其挂载在/mnt/sysimage/root目录中:

# mount /dev/cl/root /mnt/sysimage/root/

使用xfsrestore命令恢复之前备份的数据:

# xfsrestore -f /mnt/sysimage/backup/root_backup.img /mnt/sysimage/root

重启进入系统检查是否正常。断开虚拟机的光驱连接,开机按F2,进入BIOS,设置引导顺序,将硬盘放在第一项启动,F10保存并重启: 进入系统之后,检查分区大小是否以缩减:

[root@localhost ~]# df -hT /
Filesystem          Type  Size  Used Avail Use% Mounted on
/dev/mapper/cl-root xfs    15G  1.7G   14G  11% /

总结

就这样,借助xfsdumpxfsrestore实用程序,我们完成了缩减XFS文件系统和逻辑卷的工作。

原创文章,作者:晴川运维,如若转载,请注明出处:https://baike.qcidc.com/12369.html

(0)
晴川运维晴川运维
上一篇 2025年9月16日
下一篇 2025年9月16日

相关推荐

  • 如何将CentOS 7升级到CentOS 8

    在本文中,您将学习如何将centos 7升级到CentOS8。本文介绍的步骤并不是官方的升级方法,因此请不要用此方法应用到生产服务器上。 步骤1:安装EPEL储存库 首先,通过运行…

    CentOS 2025年7月4日
  • CentOS 7.2修改网卡名称

    背景 没啥背景,就是VMWare装的CentOS 7.2虚拟机的自带网卡名有点乱,想重新定义修改一下。 环境 1、VMWare虚拟机 6张网卡 2、系统 [root@localho…

    CentOS 2025年10月8日
  • CentOS 7 x64下Apache+MySQL(Mariadb)+PHP5.6的安装

    每次搭建新服务器,都要来来回回把这些包再装一下,来来回回搞了不下20遍了吧,原来都是凭经验,配置过程中重复入坑是难免的,故写此文做个备忘。虽然有像xampp这样的集成包,但是在生产…

    CentOS 2025年10月22日
  • CentOS 安装 Dubbo 管理控制台

    Dubbo 管控台可以对注册到 Zookeeper 注册中心的服务或服务消费者进行管理,但 管控台是否正常对 Dubbo&nbsp…

    CentOS 2025年6月9日
  • CentOS 7下安装配置MariaDB

    序言 这次除了编译器使用yum安装,其他全部手动编译。看似就Nginx、PHP、MySql三个东东,但是它们依赖别人了。没办法,想用它们就得老老实实给它们提供想要的东西。 首先的一…

    CentOS 2025年6月9日
  • CentOS 7 下SVN的安装及基础配置介绍

    CentOS 7 下SVN的安装及基础配置介绍 一、实践环境二、安装操作系统三、安装SVN四、基础配置五、启动SVN六、客户端访问七、常见问题排查 一、实践环境 CentOS 7操…

    CentOS 2025年9月24日
  • CentOS7下MySQL5.7安装与配置(YUM)

    安装环境:CentOS7 64位,MySQL5.7 1、配置YUM源 # 下载mysql源安装包 shell> wget http://dev.mysql.com/get/m…

    CentOS 2025年10月26日
  • CentOS7下Firewalld防火墙使用实例

    Firewalld服务是红帽RHEL7系统中默认的防火墙管理工具,特点是拥有运行时配置与永久配置选项且能够支持动态更新以及”zone”的区域功能概念,使用图…

    CentOS 2025年6月13日
  • CentOS 与 Ubuntu 使用命令搭建 LAMP 环境

    LAMP指的Linux操作系统 + apache服务器 + MariaDB/MySQL数据库软件 + PHP开发语言的第一个字母。 ==================centos…

    CentOS 2025年6月8日
  • CentOS 7卡在开机界面进不去登录界面

    centos7 系统默认的python版本是2.7.5,在安装Anaconda python 2.7.11的时候,不小心把之前的Python删除了,然后系统桌面进不去了,只能通过远…

    CentOS 2025年6月8日

发表回复

登录后才能评论