Linux目录扩容

前言

安装操作系统时,通常会根据使用情况对系统进行分区并设置容量,但在使用过程中,经常会出现容量不够用的情况。本文旨在解决分区容量不够用的问题。通常的解决办法有:

  • 1.重装系统
  • 2.使用现有的逻辑分区,缩减其他分区容量,对目标分区进行扩容
  • 3.添加新硬盘,对目标分区进行扩容

由于重装系统会导致数据丢失,即使进行数据迁移,其过程也很复杂且耗时,因此,不到迫不得已,应尽量避免通过重装系统的方法实现分区扩容。本文主要记录另外两种解决办法。

前置知识

逻辑卷管理(LVM,Logical Volume Manager) 是在Linux环境下用于对磁盘分区进行高级管理的技术。通过LVM,可以更灵活地调整文件系统的大小以及动态分配磁盘空间。
物理卷(PV,Physical Volume) 是 LVM 的最基础单元,代表了底层的物理存储设备,比如硬盘、RAID 或分区。
卷组(VG,Volume Group) 是由一个或多个物理卷组成的逻辑存储池,在卷组中可以动态地添加或移除物理卷,逻辑卷从卷组中分配空间。
逻辑卷(LV,Logical Volume) 是从卷组中分配的存储单元,对于逻辑卷来说,每一个卷组就是一个整体,从这个整体中划分出一小块空间,作为用户创建文件系统基础,这一小块空间就称为逻辑卷。

用大白话来讲,一方面,由于我们日常使用的硬盘等存储设备大小不一定都是完全一致的,另一方面,我们想要划分的分区大小不一定规则(比如,我们可能需要600G大小的空间作为root分区,但我们购买的硬盘规格只有256G、512G和1T的,此时,如果只用一块硬盘便不能满足我们的需要,必须组合起来使用才能满足需要)。因此,大牛们想了个办法,把多个物理存储设备(即物理卷,PV)组合起来,虚拟成一个大的存储设备,并给这个虚拟存储设备起了个名字——卷组(VG)。通过这种方法,我们可以获得任意大小的存储设备,然后,当需要分区时,就可以忽略硬盘规格带来的限制,从而实现任意划分所需大小的空间。因为通过这种方法得到的存储空间是一块虚拟的磁盘,因此不一定能保证每个分区都位于同一块物理存储设备上(比如,可能root分区大小为500G,但这500G的空间可能有256G属于1号物理硬盘,剩下的244G空间属于2号物理硬盘),所以,对于从卷组VG中分配的空间,又称为逻辑卷LV。

前置操作(重要!重要!重要!!!)

如果系统中存在重要数据,请

提前备份!!!

提前备份!!!

提前备份!!!

最好备份到其他设备,不要备份到当前操作系统的其他目录,因为分区的扩缩容属于重要操作,如果不清楚每条命令的作用,很容易将数据擦除,甚至系统崩溃,因此,务必备份重要数据。

一、使用现有逻辑分区,扩容目标分区

查看当前分区使用情况
df -Th

在这里插入图片描述
从图中可以看出/分区容量为36G,/home分区容量为19G,现在通过缩减/home分区容量,然后分配给/分区来演示扩容。

查看挂载的设备
lsblk

在这里插入图片描述

1.缩减/home分区容量

查看现有逻辑分区
lvdisplay

在这里插入图片描述

# 要缩减分区,首先要卸载home分区
umount /home
# 缩减5G
lvreduce -L -5G /dev/centos/home

在这里插入图片描述
缩减分区之后,执行lvdisplay命令查看现在的分区大小
在这里插入图片描述
从上图可以看到home分区大小已经减少了5G,但是root分区大小还没有增加,此时,执行vgdisplay查看空闲空间
在这里插入图片描述
从上图中Free PE可以看到当前空闲空间大小为5G,即刚才从home分区缩减出来的大小。
接下来,需要将空闲的5G空间增加到root分区。

2.扩容root分区

# 将空闲分区全部分配给root分区
lvextend -l +100%FREE /dev/centos/root

在这里插入图片描述
从上图可以看到,两个分区的容量也已经发生变化。然后使用vgdisplay查看卷组的空闲空间。
在这里插入图片描述
Free PE可以看到空闲空间为0。你以为这就结束了?完全没有,因为此时在终端执行df -Th命令后结果如下:
在这里插入图片描述
从红框里不难看出,根目录的大小仍然是36G,并未增加。这是因为在Linux系统中,当你使用lvextend命令来扩展一个逻辑卷的大小时,实际上只是扩展了逻辑卷的容量,并没有扩展文件系统的大小。所以,虽然逻辑卷的空间已经扩展了,但文件系统并没有相应地扩展到新的空间上。

因此,需要使用xfs_growfs命令来将文件系统扩展到新的空间上,这样操作系统才能正确地识别和使用新的空间。如果不执行xfs_growfs命令,新的空间将无法使用,因为文件系统没有扩展到这些空间。

3.扩展文件系统

# 使用xfs_growfs读取新增的逻辑卷空间
xfs_growfs /dev/centos/root

在这里插入图片描述
至此,root分区才算扩容完成。
但是,差一步工作,重新挂载home分区。

4.格式化并挂载home分区

由于home分区大小已经发生修改,如果不执行格式化,直接挂载分区,则会报错mount: /dev/mapper/centos-home: can't read superblock

在这里插入图片描述

# 格式化分区
mkfs.xfs  /dev/centos/home
# 或者加参数-f执行强制格式化
mkfs.xfs -f /dev/centos/home

在这里插入图片描述
在这里插入图片描述


二、添加新硬盘,扩容目标分区

1.查看存储设备,建立新分区

fdisk -l

在这里插入图片描述
从图中可以看到两个存储设备,即两块硬盘,分别为dev/sda/dev/sdb,其中,dev/sda为原有的硬盘,dev/sdb是我后加的硬盘。接下来,需要格式化新硬盘并建立分区。

# 对新硬盘进行分区
fdisk /dev/sdb

执行fdisk /dev/sdb后,依次输入:

  • (1)m:输出帮助信息,我们首先输入p打印一下/dev/sdb的分区表,从下图可以看到/dev/sdb并不存在分区表。
  • (2)n:开始创建新分区
  • (3)p:表示新建的分区表为主分区
  • (4)回车:表示分区号,可以输入1-4,按回车键默认是分区号为1
  • (5)回车:表示开始的扇区,直接回车即可
  • (6)回车:表示结束的扇区,直接回车表示,使用全部的扇区,即分配所有的硬盘空间,这里也可以输入指定大小,比如:输入+5G表示建立一个5G大小的新分区,分区号对应第(4)步输入的数字
  • (7)p:再次打印分区表,就可以看到新建的分区
  • (8)w:写入硬盘并退出
    在这里插入图片描述
    再次查看分区:
    在这里插入图片描述
    可以看到两个分区。

2.创建物理卷(PV)

# 创建物理卷pv
pvcreate /dev/sdb1
# 查看物理卷
pvdisplay

在这里插入图片描述
此时,可以看到新创建的物理卷(/dev/sdb1)的卷组名字(VG Name)为空,这是因为新创建的物理卷还没有加入(或者说分配给)任何卷组。

3.扩容卷组(VG)

# 将新创建的物理卷分配给当前的卷组(centos)
vgextend centos /dev/sdb1
# 查看当前的卷组vg
vgdisplay

在这里插入图片描述

4.扩容逻辑卷(LV)

# 查看当前逻辑卷
lvdisplay
# 两种扩容方法,-L参数可以指定扩容的大小,-l表示让系统分配所有空闲空间
# 扩容逻辑卷,扩容5G
lvextend -L +5G /dev/centos/root
# 分配所有空闲空间
lvextend -l +100%FREE /dev/centos/root

在这里插入图片描述

5.扩容文件系统

# 扩容文件系统
xfs_growfs /dev/centos/root
# 查看磁盘使用情况
df -Th

在这里插入图片描述
至此,扩容完成。

红帽Linux(通常指Red Hat Enterprise Linux,RHEL)是一个企业级的Linux发行版,它的文件系统管理通常是基于传统的Unix结构,包括使用ext4文件系统。如果你想给现有的RHEL分区扩容,可以按照以下步骤操作: 1. **登录服务器**:通过SSH或其他远程访问工具登录到你的RHEL服务器。 2. **确定目标分区**:首先检查当前文件系统的挂载点和对应的磁盘分区,例如: ```sh df -hT ``` 3. **打开终端会话并切换至挂载点**:cd到需要扩容的文件系统的挂载目录,比如 `/var` 或 `/home`。 4. **查看现有空间**:使用 `du -sh *` 来查看目录占用的空间,找出占满空间的大文件或目录。 5. **创建新的扩展分区或增大已有的**:如果你有未分配的空间,你可以扩大当前的分区。如果没有,可能需要先创建一个新的扩展分区。使用 `fdisk` 或 `gdisk` 工具来调整分区大小。 6. **resize2fs**:对于ext4文件系统,可以使用 `resize2fs` 命令来扩展卷,如: ```sh sudo resize2fs /dev/sdaX # 将sdaX替换为实际的分区设备名 ``` 7. **验证和应用更改**:确认扩展是否成功,以及文件系统的状态是否良好,可以用 `e2fsck -f /dev/sdaX` 检查,并用 `mount` 和 `umount` 操作挂载、卸载文件系统,然后再次挂载以应用更改。 8. **更新系统信息**:最后,可能会需要更新系统的 `/etc/fstab` 文件以反映新设置,并重启服务或重启系统让更改生效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乌拉队长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值