centos、rhel添加新硬盘,对根目录扩容

本地安装了虚拟机,系统为centos7,使用过程中,渐渐地发现磁盘容量不够用了,于是在虚拟机中新增了一块硬盘。

进入系统内查看:
在这里插入图片描述

sdb是新增的硬盘,大小为40g。

接下来有两种方式,一种是普通方式直接挂载。https://blog.csdn.net/qq_39314099/article/details/106200322

这样的话只有在挂载点的目录下操作才能使用到这个新硬盘,不是很理想。

还有一种方式lvm,逻辑卷管理的方式。

LVM简单介绍:
它是 Linux 下对磁盘分区进行管理的一种机制。LVM 是建立在磁盘分区和文件系统之间的一个逻辑层,系统管理员可以利用 LVM 在不重新对磁盘分区的情况下动态的调整分区的大小。如果系统新增了一块硬盘,通过 LVM 就可以将新增的硬盘空间直接扩展到原来的磁盘分区上。

通过 LVM 技术,可以屏蔽掉磁盘分区的底层差异,在逻辑上给文件系统提供了一个卷的概念,然后在这些卷上建立相应的文件系统。下面是 LVM 中主要涉及的一些概念。
物理存储设备(Physical Media):指系统的存储设备文件,比如 /dev/sda、/dev/sdb 等。
PV(物理卷 Physical Volume):指硬盘分区或者从逻辑上看起来和硬盘分区类似的设备(比如 RAID 设备)。
VG(卷组 Volume Group):类似于非 LVM 系统中的物理硬盘,一个 LVM 卷组由一个或者多个 PV(物理卷)组成。
LV(逻辑卷 Logical Volume):类似于非 LVM 系统上的磁盘分区,LV 建立在 VG 上,可以在 LV 上建立文件系统。
PE(Physical Extent):PV(物理卷)中可以分配的最小存储单元称为 PE,PE 的大小是可以指定的。
LE(Logical Extent):LV(逻辑卷)中可以分配的最小存储单元称为 LE,在同一个卷组中,LE 的大小和 PE 的大小是一样的,并且一一对应。
可以这么理解,LVM 是把硬盘的分区分成了更小的单位(PE),再用这些单元拼成更大的看上去像分区的东西(PV),进而用 PV 拼成看上去像硬盘的东西(VG),最后在这个新的硬盘上创建分区(LV)。文件系统则建立在 LV 之上,这样就在物理硬盘和文件系统中间添加了一层抽象(LVM)。下图大致描述了这些概念之间的关系:
在这里插入图片描述

对上图中的结构做个简单的介绍:
两块物理硬盘 A 和 B 组成了 LVM 的底层结构,这两块硬盘的大小、型号可以不同。PV 可以看做是硬盘上的分区,因此可以说物理硬盘 A 划分了两个分区,物理硬盘 B 划分了三个分区。然后将前三个 PV 组成一个卷组 VG1,后两个 PV 组成一个卷组 VG2。接着在卷组 VG1 上划分了两个逻辑卷 LV1 和 LV2,在卷组 VG2 上划分了一个逻辑卷 LV3。最后,在逻辑卷 LV1、LV2 和 LV3 上创建文件系统,分别挂载在 /usr、/home 和 /var 目录。

扩容:
建立新分区:
使用 fdisk -l 命令查看:
在这里插入图片描述

可以看到 /dev/sdb 是新增的硬盘。
执行 fdisk /dev/sdb 对 sdb 进行分区。
在这里插入图片描述

输入 p 查看分区表,上图显示 sdb 并没有分区。(输入m获取帮助信息)

接下来进行分区,输入 n 建立新分区,接着输入 p 选择主分区,分区号和扇区号默认即可,这样会将整个硬盘都添加到新分区中。
在这里插入图片描述

如上图,分区添加成功。输入 w 写入硬盘。

再次查看:
在这里插入图片描述

多了一个新分区 sdb1。
创建物理卷pv:

pvcreate /dev/sdb1
在这里插入图片描述

查看物理卷pv,pvdisplay
在这里插入图片描述

扩容卷组vg:

查看卷组 vgdisplay
在这里插入图片描述

将新创建的 物理卷pv :/dev/sdb1 追加到当前卷组里,也就是 “centos” 中,对应上面的 VG Name,扩容卷组。

vgextend centos /dev/sdb1
在这里插入图片描述

可以看到,卷组已经扩容成功。
逻辑卷扩容 LV:

lvdisplay,查看当前逻辑卷
在这里插入图片描述

扩容逻辑卷
在这里插入图片描述

扩容有两种方法(下图为另一个机器的样例):
在这里插入图片描述

L:指定大小,但是可能会出现我上面的情况,指定的大小不合适。
l:让系统来分配所有空闲空间。
扩容文件系统:
上面的操作是给逻辑卷进行扩容,还需要最后给文件系统扩容。

xfs_growfs /dev/centos/root
在这里插入图片描述

查看现在的磁盘使用情况,已经是成功扩容后的。
在这里插入图片描述

参考资料:lvm介绍:https://www.cnblogs.com/sparkdev/p/10130934.html

centos7根分区扩容(挂载新磁盘) https://www.jianshu.com/p/82385cca91c0

使用现有的逻辑分区给root扩容:
1、首先,将逻辑卷缩小容量,例如: root分区过小,home分区过大
在这里插入图片描述

此时需要先缩减home分区的大小:

# 卸载home分区
umount /home
# 缩小 3.5T
lvreduce -L -3.5T /dev/centos/home

缩减完以后可以看到,卷组已经有空闲的3.5T空间了
在这里插入图片描述

2、扩容root分区:

# 使用全部空闲空间
lvextend -l+100%FREE /dev/centos/root

在这里插入图片描述

3、扩容文件系统:
在这里插入图片描述

4、处理home分区,先格式化下home分区

# 因为home分区已经存在文件系统,所以要加 -f 参数强制格式化
mkfs.xfs -f /dev/centos/home

在这里插入图片描述

然后将home分区重新挂载到home目录下
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CentOS添加硬盘扩容到根分区的步骤如下: 1. 首先,确保你已经连接好了硬盘到计算机,并且已经被识别到了系统中。你可以通过使用`sudo fdisk -l`命令来查看所有已连接的硬盘和分区。 2. 接下来,使用`sudo fdisk /dev/sdX`命令(X代表硬盘的设备名)来对硬盘进行分区。按下n创建分区,然后选择主分区或扩展分区,然后设置分区的起始和结束柱面等信息。 3. 分区创建完成后,我们需要分区格式化为文件系统。使用`sudo mkfs.ext4 /dev/sdX1`命令(X代表分区的序号)将分区格式化为ext4文件系统。 4. 接下来,我们需要分区挂载到系统中。首先创建一个目录作为挂载点,比如`sudo mkdir /mnt/newdisk`。然后使用`sudo mount /dev/sdX1 /mnt/newdisk`命令将分区挂载到该目录上。 5. 现在我们可以将根分区的数据复制到硬盘上。使用`sudo rsync -avxHAX / /mnt/newdisk`命令来复制根分区的数据。这可能需要一些时间,所以请耐心等待。 6. 复制完成后,我们需要/boot/grub/menu.lst文件以指向硬盘的根分区。打开该文件,找到原来的根分区的设备名,并将其替换为硬盘的设备名。 7. 最后,我们需要grub并重启动。使用`sudo grub-install /dev/sdX`命令,将grub安装到硬盘上。然后,使用`sudo reboot`命令重启动计算机。 在重启后,系统将会使用硬盘扩容根分区运行。你可以使用`df -h`命令来检查根分区的大小是否已经扩容成功。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值