当前位置:首页 » 《关注互联网》 » 正文

CentOS磁盘扩容【细致讲解+图解】

22 人参与  2024年04月26日 16:22  分类 : 《关注互联网》  评论

点击全文阅读


磁盘扩容

在虚拟机环境中,随着业务的增长和数据的积累,磁盘空间不足成为一个常见的问题。为了解决这个问题,需要对虚拟机的磁盘进行扩容,以提供更多的存储空间。

虚拟机磁盘扩容是一项重要的任务,它可以帮助系统管理员满足不断增长的存储需求,并确保虚拟机的性能和可用性不受限制。在进行磁盘扩容之前,需要仔细考虑和规划,以确保操作顺利进行并防止数据丢失。

本文将介绍如何在虚拟机中扩展磁盘的步骤。我们将着重介绍在CentOS 7操作系统中进行磁盘扩容的方法,但是大部分步骤也适用于其他Linux发行版。

在本文中,我们将讨论如何检查现有磁盘的使用情况,如何创建新的分区和物理卷,并将其添加到卷组中。我们还将介绍如何扩展逻辑卷的大小,并通过相应的命令扩展文件系统以使用新的空间。

一、虚拟机磁盘扩展

二、创建新的磁盘分区

1.创建新的分区

 fdisk /dev/sda

Command (m for help): n

Select (default p): #回车

Using default response p

Partition number (3,4, default 3): #回车

First sector (41943040-52428799, default 41943040): #回车

Using default value 41943040

Last sector, +sectors or +size{K,M,G} (41943040-52428799, default 52428799):

Using default value 52428799

Partition 3 of type Linux and of size 5 GiB is set

因为我将磁盘扩展了5GB,因此回车默认创建5GB分区

2.查看分区

 ls /dev/sda3

ls: cannot access /dev/sda3: No such file or directory

在刚刚创建完成分区后,ls发现找不到该分区,因此需要重启才可以加载出新创建的分区,或者也可以输入

 partprobe

Warning: Unable to open /dev/sr0 read-write (Read-only file system). /dev/sr0 has been opened read-only.

然后再查询就可以找到了

 ls /dev/sda3

/dev/sda3

3.查看剩余内存

这个地方使用 df -h 来查看系统的内存使用情况

小提示:

"partprobe" 是一个用于 CentOS 7 的命令,用于通知操作系统重新加载分区表,以便识别并使用新创建的分区。

当在 CentOS 7 上创建、删除或调整分区时,操作系统需要重新加载分区表才能识别这些更改。否则,新的分区可能无法被正确地识别和使用。

partprobe 命令用于触发操作系统重新加载分区表。它会扫描系统上的所有磁盘,并更新操作系统内存中的分区表信息。这样,新创建的分区就可以被识别和使用了。

通常,在创建、删除或调整分区后,您可以使用 partprobe 命令来立即使更改生效,而无需重启系统。例如,如果您在 CentOS 7 上创建了一个新的分区,您可以运行 partprobe 命令来告诉系统重新加载分区表,以便识别和使用这个新分区。

需要注意的是,partprobe 命令需要以 root 权限运行。

三、对逻辑卷进行扩容

对逻辑卷进行扩容是为了增加逻辑卷的存储空间,当逻辑卷的存储空间不足时,扩容逻辑卷可以增加可用空间,以满足应用程序或用户的需求。

1.创建新的物理卷

pvcreate /dev/sda3

Physical volume "/dev/sda3" successfully created.

出现successfully created则表示创建成功了

2.将新建的物理卷添加到卷组中

2.1查看卷组名

首先先去查看卷组的名字,这里使用

 vgs

VG #PV #LV #SN Attr VSize VFree

centos 1 2 0 wz--n-

可以看到卷组的名字为centos

2.2将新建的物理卷添加到卷组中
 vgextend centos /dev/sda3

Volume group "centos" successfully extended

当出现successfully extended,则说明添加成功了

然后就需要扩展逻辑卷了

3.扩展逻辑卷

3.1首先查看逻辑卷名字

这里使用的命令是lvs

lvs

LV             VG         Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert

root          centos    -wi-ao----

swap        centos    -wi-ao---- 2.00g

这里可以看到,要扩展的逻辑卷的名字应该是root

小提示:为什么要扩展的逻辑卷名字是root呢?

"root" 代表根逻辑卷,它通常是操作系统的根文件系统,包含了 CentOS 7 安装的根目录(/)下的所有文件和目录。根逻辑卷存储操作系统及其相关文件,包括系统配置文件、应用程序和用户数据。

"swap" 是交换空间逻辑卷,用于 CentOS 7 的交换分区。交换分区是一种特殊的分区,它扩展了系统的内存容量。当系统的物理内存不足时,Linux 内核可以将部分内存中的数据写入交换分区,以释放物理内存供其他进程使用。

3.2扩展逻辑卷
 lvextend /dev/centos/root -L +5G

Insufficient free space: 1280 extents needed, but only 1279 available

我们使用lvextend命令来扩展逻辑卷,但是我们可以看到这个命令执行并没有成功,在命令和路径都没有错的情况下,我们来查看新建的物理卷是否可以支持逻辑卷扩展5GB。我们使用命令:

pvdisplay /dev/sda3

来得到以下信息:

--- Physical volume ---

PV Name /dev/sda3

VG Name centos

PV Size 5.00 GiB / not usable 4.00 MiB

Allocatable yes

PE Size 4.00 MiB

Total PE 1279

Free PE 1279

Allocated PE 0

PV UUID GRuwt0-8uFW-RDZv-aflz-j0zg-MZne-IukWRJ

标红的一行我们可以看到,物理卷 /dev/sdc 的大小为 5.00 GiB,其中 4.00 MiB 是不可用的空间。

因此我们需要调整扩展逻辑卷的大小就可以解决这个问题。

 lvextend /dev/centos/root -L +4.9G

Rounding size to boundary between physical extents: 4.90 GiB.

Size of logical volume centos/root changed from

Logical volume centos/root successfully resized.

最后一行我们可以看到successfully resized,表示已经成功扩展

四、扩容文件系统

扩容逻辑卷后,我们使用df -h,我们发现逻辑卷的大小仍然没有扩大。这是因为我们没有对文件系统扩容。

因此我们需要扩容文件系统

1.查看系统的文件系统类型

不用的文件系统类型需要不同的命令来完成扩容

我们使用

 lsblk -f

NAME FSTYPE LABEL UUID MOUNTPOINT

sda

├─sda1 xfs 2110bd40-b7b5-4445-a6e5-501144343a1f /boot

├─sda2 LVM2_memb MssVqP-9ku7-Mruo-wj34-T2la-v59a-bQcrR0

│ ├─centos-root xfs 7dcc217d-98bb-4bb5-b654-44af97a46e2d /

│ └─centos-swap swap f8a83029-6121-4e43-b521-468bdad45c86 [SWAP]

└─sda3 LVM2_memb GRuwt0-8uFW-RDZv-aflz-j0zg-MZne-IukWRJ

└─centos-root xfs 7dcc217d-98bb-4bb5-b654-44af97a46e2d /

sr0 iso9660 CentOS 7 x86_64 2018-05-03-20-55-23-00 /run/media

或者使用

df -Th

Filesystem Type Size Used Avail Use% Mounted on

/dev/mapper/centos-root xfs 17G 3.4G 14G 20% /

devtmpfs devtmpfs 471M 0 471M 0% /dev

tmpfs tmpfs 488M 0 488M 0% /dev/shm

tmpfs tmpfs 488M 8.6M 479M 2% /run

tmpfs tmpfs 488M 0 488M 0% /sys/fs/cgroup

/dev/sda1 xfs 1014M 157M 858M 16% /boot

tmpfs tmpfs 98M 4.0K 98M 1% /run/user/42

tmpfs tmpfs 98M 32K 98M 1% /run/user/0

/dev/sr0 iso9660 4.2G 4.2G 0 100% /run/media/root/CentOS 7 x86_64

都可以查看到我们的文件系统是xfs类型

对于xfs类型文件系统,我们使用命令xfs_growfs对其进行扩容

2.扩容文件系统

xfs_growfs /dev/centos/root

meta-data=/dev/mapper/centos-root isize=512 agcount=4, agsize=1113856 blks

= sectsz=512 attr=2, projid32bit=1

= crc=1 finobt=0 spinodes=0

data = bsize=4096 blocks=4455424, imaxpct=25

= sunit=0 swidth=0 blks

naming =version 2 bsize=4096 ascii-ci=0 ftype=1

log =internal bsize=4096 blocks=2560, version=2

= sectsz=512 sunit=0 blks, lazy-count=1

realtime =none extsz=4096 blocks=0, rtextents=0

data blocks changed from 4455424 to 5740544

输出的最后一行显示了执行 xfs_growfs 命令后的变化。data blocks changed from 4455424 to 5740544 表示文件系统的数据块从 4455424 个扩展到 5740544 个。这意味着文件系统的大小已经扩展,可用空间增加。

小提示:执行 xfs_growfs 命令需要以 root 用户身份运行,并且逻辑卷必须是 XFS 文件系统。此命令用于扩展已经在运行的文件系统,以便它可以使用逻辑卷的新空间。

完成后我们再次使用df -h来查看内存使用情况我们会发现:

内存已经从原来的17G增加到了22G,做到这里就完成了对磁盘的扩容了。

小结

一、磁盘扩容的大体步骤

对于磁盘的扩容其实就是对逻辑卷的扩容。对逻辑卷进行扩容,首先是要添加一块新的硬盘,或者在其硬盘原有的基础上扩容。其次,将扩容或添加的硬盘创建物理卷。然后,将物理卷添加到想要扩容的逻辑卷的卷组上。接着,在对逻辑卷进行扩容。最后,在对文件系统进行扩容,就完成了磁盘的扩容了。

二、物理卷、逻辑卷、卷组以及扩容的图解

对于刚刚入门的同学来说,单凭文字很难深刻的理解物理卷、逻辑卷和卷组三者的关系,因此我绘制了图片来加深对这三者以及磁盘扩容的理解


点击全文阅读


本文链接:http://zhangshiyu.com/post/100748.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

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

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1