PC电脑 VMware安装的linux CentOs7如何扩容磁盘?

一、VM中进行扩容设置

必须要关闭当前CentOS,不然扩展按钮是灰色的。

输入值必须大于当前磁盘容量。然后点击扩展,等待扩展完成会提示一个弹框,点击确定,继续确定。

PC电脑 VMware安装的linux CentOs7如何扩容磁盘?_第1张图片

PC电脑 VMware安装的linux CentOs7如何扩容磁盘?_第2张图片

二、操作CentOS扩容——磁盘分区

第一步设置完成。那就启动 CentOS,进入开始操作:

1.df -h查看磁盘。发现啥都没变/dev/mapper/centos-root容量17G,哈哈。

[root@centos1 ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 3.9G     0  3.9G    0% /dev
tmpfs                    3.9G     0  3.9G    0% /dev/shm
tmpfs                    3.9G   12M  3.9G    1% /run
tmpfs                    3.9G     0  3.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root   17G   13G  4.8G   72% /
/dev/sda1               1014M  154M  861M   16% /boot
tmpfs                    782M     0  782M    0% /run/user/0
[root@centos1 ~]# 

2. fdisk -l, 查看磁盘分区。这回看到了,第一行就已经输出了磁盘 /dev/sda:107.4 GB

[root@centos1 ~]# fdisk -l

磁盘 /dev/sda:107.4 GB, 107374182400 字节,209715200 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000ac81b

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    41943039    19921920   8e  Linux LVM

磁盘 /dev/mapper/centos-root:18.2 GB, 18249416704 字节,35643392 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

[root@centos1 ~]# 

3. fdisk /dev/sda,对新加的磁盘进行分区操作(选择新增的磁盘)。 后面的参数就上面查询到的盘,当前因为是扩容就这一个。

[root@centos1 ~]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):
如果是多个盘需要注意区分,比如下面就是我后面又研究不 扩容盘,添加盘的情况。命令大致等同,最后不要合并上去就行

PC电脑 VMware安装的linux CentOs7如何扩容磁盘?_第3张图片

PC电脑 VMware安装的linux CentOs7如何扩容磁盘?_第4张图片

4. 输入p查看分区信息,可以看到只有两个分区。Blocks加起来也就20G左右。但磁盘却最上面显示了107.4G,说明存在待分区的磁盘空间。

命令(输入 m 获取帮助):p

磁盘 /dev/sda:107.4 GB, 107374182400 字节,209715200 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000ac81b

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    41943039    19921920   8e  Linux LVM

命令(输入 m 获取帮助):

可以看到输入 m 有命令提示,本着探索精神看一眼都有啥(已汉化并修正描述~):

命令(输入 m获取帮助):m
a 切换可引导标志
b 编辑BSD磁盘标签
c 切换DOS兼容性标志
d 删除分区
g 创建一个新的 空GPT分区表
G 创建一个IRIX (SGI)分区表
l 列出已知的分区类型
m 打印输出这个命令菜单
n 添加新分区
o 创建一个新的空DOS分区表
p 打印分区表
q 不保存更改就退出
s 创建一个新的空Sun 磁盘标签
t 修改分区的系统id
u 改变显示/输入单位
v 验证分区表
w 将表写入磁盘并退出
x 额外功能(仅限专家使用)

5.将为自由空间进行分区。

输入n,新建分区,

继续输入p或直接回车,分区类型我们使用默认的——主分区。

继续输入3或直接回车,分区号使用默认的——3

起始 扇区,直接回车默认,我们不需要分太多。

Last 扇区,直接回车默认,我们不需要分太多。

最后输出“分区 ?已设置为 Linux 类型,大小设为 ?GiB”就表示分区成功了,这两个❓值可能跟实际的分区号和你自己扩容的大小相关。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
# 教程说明:直接回车
Select (default p): 
Using default response p
# 教程说明:直接回车
分区号 (3,4,默认 3):3
# 教程说明:直接回车
起始 扇区 (41943040-209715199,默认为 41943040):
将使用默认值 41943040
# 教程说明:直接回车
Last 扇区, +扇区 or +size{K,M,G} (41943040-209715199,默认为 209715199):
将使用默认值 209715199
分区 3 已设置为 Linux 类型,大小设为 80 GiB

命令(输入 m 获取帮助):
在 CentOS 中进行磁盘分区时,有两种类型可以选择:主分区(Primary)和 扩展分区(Extended)。
主分区(Primary):
主分区是磁盘上的基本分区,它可以被文件系统直接使用。每个硬盘驱动器只能包含最多4个主分区,其中包含一个 活动分区(活动分区是引导 操作系统的分区)。
扩展分区(Extended):
扩展分区是一个特殊的类型的分区,它允许在硬盘上创建更多的逻辑分区。每个硬盘驱动器只能有一个扩展分区,并且它可以包含多个 逻辑分区。逻辑分区是文件系统的一部分,但它们必须通过扩展分区进行访问。
上面打印的信息“ p primary (2 primary, 0 extended, 2 free)”表示该磁盘上有2个主分区和2个可用空间,没有扩展分区。

6. 输入p查看一下分区结果。可以看到新增了一个 /dev/sda3分区。Blocks的大小是80G左右。

命令(输入 m 获取帮助):p

磁盘 /dev/sda:107.4 GB, 107374182400 字节,209715200 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000ac81b

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    41943039    19921920   8e  Linux LVM
/dev/sda3        41943040   209715199    83886080   83  Linux

命令(输入 m 获取帮助):

7. 输入w ,将前面的分区操作写入磁盘,表示保存生效。如果放弃就输入q

命令(输入 m 获取帮助):w
# 教程说明:打印已经修改成功!
The partition table has been altered!

# 教程说明:调用ioctl()重新读取分区表。
Calling ioctl() to re-read partition table.

# 教程说明:重启生效。
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
[root@centos1 ~]# 
WARING:看到警告不要慌,英文没看懂,中文就看到“设备或资源忙”!心想是不是失败了。
确实失败,分区完之后想要读取这个新的分区,结果读不到,告诉你它现在还是用的旧的,如果要用新的就执行 partprobe(8)kpartx(8)reboot 。简单说重启就好了。

8. 输入reboot,重启CentOS,使配置生效

[root@centos1 ~]# reboot
Connection closing...Socket close.

Connection closed by foreign host.

Disconnected from remote host(192.点赞.收藏.+关注) at 23:26:05.

Type `help' to learn how to use Xshell prompt.

很快就重启成功了,我们继续搞起。。。

画个重点:了解一下磁盘和卷组。

LVM

LVM(Logical Volume Manager)卷组是Linux系统中的一种逻辑存储管理机制。它可以将多个物理硬盘或分区抽象成一个逻辑卷,从而方便地进行存储管理。LVM卷组允许动态地增加、删除和合并物理卷,以及动态地调整逻辑卷的大小,而不需要关心物理硬盘或分区的位置和数量。

LVM的基本组成部分包括:

  1. 物理卷(Physical Volume,PV):是指LVM中的物理存储设备,如硬盘或分区。在使用LVM之前,需要将物理存储设备初始化为LVM物理卷,并给它们分配一个唯一的标识符。
  2. 卷组(Volume Group,VG):由一个或多个物理卷组成的逻辑组。在LVM中,物理卷可以被分配到一个或多个卷组中,卷组中的物理卷可以动态地添加、删除或合并,从而方便地进行存储容量的管理。
  3. 逻辑卷(Logical Volume,LV):逻辑卷是指LVM中的逻辑存储设备,它是由卷组中的物理卷动态分配而来。逻辑卷可以被格式化为文件系统,并像普通的物理硬盘分区一样使用。

LVM的主要优点是提供了更灵活的存储管理方式,可以动态地增加、删除、合并和移动存储空间,而不需要关心物理硬盘或分区的位置和数量。此外,LVM还支持快照、镜像和迁移等高级存储功能,能够满足不同应用场景的需求。

~~~~~~~~~~ 看的一脸懵 ~~~~~

卷组跟磁盘、分区有什么联系和区别?

磁盘(Disk)是计算机的一种存储设备,它通常由一个或多个 platters(盘片)组成,可以存储数据和信息。磁盘可以分区(Partition),将一个磁盘分成多个部分,每个部分都可以有不同的文件系统,以便更好地管理和使用存储空间。

联系:卷组和磁盘都与存储有关,磁盘是物理上的,卷组是逻辑上的。卷组是由多个物理卷组成的逻辑存储设备,而磁盘是一种物理存储设备,可以分区并被卷组使用。在LVM中,卷组的物理卷可以来自磁盘的一个分区或整个磁盘,而卷组可以由多个物理卷组成。

区别:卷组是LVM中的逻辑存储设备,它由一个或多个物理卷组成,可以被看作是一个逻辑上的硬盘,主要用于存储和管理数据。磁盘是计算机的一种存储设备,它可以被分区,每个分区可以拥有不同的文件系统。

~~~ 有点苗苗了哈,总结一下 ~~~~~

磁盘和分区是物理层面的,用于更好地管理存储空间,不同的分区可以拥有不同的文件系统。

而卷组和逻辑卷是逻辑层面的,用于提供更灵活和可扩展的存储管理方式。

卷组是一组物理卷的集合,逻辑上是一个整体。它们可以被用来创建逻辑卷,多逻辑卷进行逻辑管理。

物理卷就可以理解为多少个接入点,顺着接入点就一定能找到一个存放数据的磁盘。卷组可以动态地增加、删除、合并和移动物理卷,从而方便地进行存储容量的管理。

逻辑卷是由卷组中的物理卷动态分配而来,可以被格式化为文件系统并像普通的物理硬盘分区一样使用。但主要还是管理存储空间,不管理文件,要跟文件系统要区分。(卷组->物理卷->逻辑卷->文件系统)

文件系统主要用于存储和访问文件,管理着计算机的存储设备(如硬盘、分区、文件等)和文件。Linux支持多种文件系统,如Ext4、XFS、Btrfs等。逻辑卷可以用来作为文件系统的基础,从而提供更灵活的文件系统构建方式。

~~~ 接地气点 ~~~~~:

平时会有给Linux服务器 挂载,挂盘,加盘,扩容之类的,差不多就是干了这事。

在挂盘操作中,会将某个磁盘增加到卷组,并新增逻辑卷或增加空间到已有逻辑卷中,从而扩展系统的存储容量。这种挂盘操作是动态的,可以方便地增加、删除、合并和移动存储空间,而不需要关心物理硬盘或分区的位置和数量。

~~~常用命令:~~~~~~~ 知道了VG,PV,LV,看一下常用命令: ~~~~~

VG相关命令:卷组(Volume Group,VG

  • vgcreate:创建卷组。
  • vgdisplay:显示卷组信息。
  • vgrename:重命名卷组。
  • vgremove:删除卷组。
  • vgextend [选项] VG名称 PV名称1 [PV名称2 ...]: 添加新的物理卷(Physical Volume)。
  • vgs:显示系统中的所有卷组信息。
  • vgscan:扫描系统以查找卷组。
  • vgchange:改变卷组的属性。
  • vgsplit:将卷组拆分为两个卷组。
  • vgmerge:将两个卷组合并为一个卷组。
  • vgreduce:缩减卷组大小

PV相关命令:物理卷(Physical Volume,PV

  • pvcreate:创建物理卷。
  • pvdisplay:显示物理卷信息。
  • pvremove:从卷组中移除物理卷。
    • pvmove /dev/sdb1 /dev/sdb将把/dev/sdb1中的数据移动到/dev/sdb中,从而缩减/dev/sdb1的大小。
  • pvreduce: 缩减磁盘卷的大小

LV相关命令:逻辑卷(Logical Volume,LV

  • lvcreate:创建逻辑卷。
  • lvdisplay:显示逻辑卷信息。
  • lvrename:重命名逻辑卷。
  • lvremove:删除逻辑卷。
  • lvreduce: 缩减逻辑卷的大小
  • lvextend:扩展逻辑卷的大小

以上命令的使用方法可以在命令行中输入命令后加上 --help 参数查看帮助文档。

三、操作CentOS扩容——卷组扩容

9. vgdisplay查看当前的卷组。VG Namecentos

[root@centos1 ~]# vgdisplay
  --- Volume group ---
  VG Name               centos
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <19.00 GiB
  PE Size               4.00 MiB
  Total PE              4863
  Alloc PE / Size       4863 / <19.00 GiB
  Free  PE / Size       0 / 0   
  VG UUID               aISHGf-rAs9-4VKV-IGMH-1eQk-AscS-a1t6aM
   
[root@centos1 ~]# 
vgdisplay输出显示了关于卷组(Volume Group)的信息,卷组的名称为"centos",它由一个物理卷组成,该物理卷的大小为19.00 GiB

输出信息翻译:

  • VG Name:卷组的名称。
  • Format:卷组的格式,这里是lvm2。
  • Metadata Areas:卷组元数据区域的数目。
  • Metadata Sequence No:卷组元数据序列号。
  • VG Access:卷组的访问方式,这里是read/write,表示可以读取和写入。
  • VG Status:卷组的状态,这里是resizable,表示可以调整大小。
  • MAX LV:最大逻辑卷数目。
  • Cur LV:当前逻辑卷数目。
  • Open LV:打开的逻辑卷数目。
  • MAX PV:最大物理卷数目。
  • Cur PV:当前物理卷数目。
  • Act PV:激活的物理卷数目。
  • VG Size:卷组的总大小。
  • PE Size:物理Extent的大小。
  • Total PE:总物理Extent数目。
  • Alloc PE / Size:已分配的物理Extent数目及对应的大小。
  • Free PE / Size:未分配的物理Extent数目及对应的大小。
  • VG UUID:卷组的唯一标识符。

10.pvcreate /dev/sda3创建物理卷。

[root@centos1 ~]# pvcreate  /dev/sda3
  Physical volume "/dev/sda3" successfully created.
[root@centos1 ~]# 

11. vgextend centos /dev/sda3将物理卷添加到卷组中

[root@centos1 ~]# vgextend centos /dev/sda3
  Volume group "centos" successfully extended
[root@centos1 ~]# 

12.vgdisplay 查看添加结果。

注释掉未改变的,先看最重要的Free PE / Size未分配的变成了是80G左右。

[root@centos1 ~]# vgdisplay
  --- Volume group ---
#  VG Name               centos
#  System ID             
#  Format                lvm2
# 教程说明:卷组元数据区域的数目 1=》2
  Metadata Areas        2
# 教程说明:卷组元数据序列号 3=》4
  Metadata Sequence No  4
#  VG Access             read/write
#  VG Status             resizable
#  MAX LV                0
#  Cur LV                2
#  Open LV               2
#  Max PV                0
# 教程说明:当前物理卷数目 1=》2
  Cur PV                2
# 教程说明:激活的物理卷数目 1=》2
  Act PV                2
# 教程说明:卷组总大小 '<19.00 GiB' =》'98.99 GiB'
  VG Size               98.99 GiB
#  PE Size               4.00 MiB
  Total PE              25342
#  Alloc PE / Size       4863 / <19.00 GiB
  Free  PE / Size       20479 / <80.00 GiB
  VG UUID               aISHGf-rAs9-4VKV-IGMH-1eQk-AscS-a1t6aM
   
[root@centos1 ~]# 

13. 分配到逻辑卷之前,先要查看一下逻辑卷名称。

我们想要把扩容的空间添加到根目录/下,就得先找到逻辑卷文件系统。

输入df -h,看到挂载点是根目录/的文件系统是/dev/mapper/centos-root

[root@centos1 ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 3.9G     0  3.9G    0% /dev
tmpfs                    3.9G     0  3.9G    0% /dev/shm
tmpfs                    3.9G   12M  3.9G    1% /run
tmpfs                    3.9G     0  3.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root   17G   13G  4.8G   72% /
/dev/sda1               1014M  154M  861M   16% /boot
tmpfs                    782M     0  782M    0% /run/user/0
[root@centos1 ~]# 
可以看到只有两个文件系统。其他带 tmp的都临时的,可以不用管。

输入lvs /dev/mapper/centos-root看一下根目录对应的文件系统的逻辑卷信息。【!这个是操作完成后写教程后补的,已经扩容了】

[root@centos1 ~]# lvdisplay /dev/mapper/centos-root
  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                lnijLZ-BFbj-d0L8-gpil-s9GN-6Dk8-0LIKIH
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2021-09-29 16:10:31 +0800
  LV Status              available
  # open                 1
  LV Size                <96.00 GiB
  Current LE             24575
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

输入lvs查看所有逻辑卷信息,可以看到上面看到的逻辑卷LV root,属于卷组VG centos。

输入vgs,pvs可以继续看到卷组和对应物理卷的更多信息。

[root@centos1 ~]# lvs
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao---- <96.00g                                                    
  swap centos -wi-ao----   2.00g                                                    
[root@centos1 ~]# vgs
  VG     #PV #LV #SN Attr   VSize  VFree   
  centos   2   2   0 wz--n- 98.99g 1020.00m
[root@centos1 ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree   
  /dev/sda2  centos lvm2 a--  <19.00g       0 
  /dev/sda3  centos lvm2 a--  <80.00g 1020.00m
[root@centos1 ~]# 

14. lvextend -L +79G /dev/mapper/centos-root 分配Free空间到逻辑卷

数字大小看上面自己的,12步看到Free PE / Size 20479 / <80.00 GiB,不足80G,所以写个79

[root@centos1 ~]# lvextend -L +79G /dev/mapper/centos-root
  Size of logical volume centos/root changed from <17.00 GiB (4351 extents) to <96.00 GiB (24575 extents).
  Logical volume centos/root successfully resized.
[root@centos1 ~]# 
看到详细信息,逻辑卷 centos/root 从 <17.00 GiB (4351 extents) to <96.00 GiB (24575 extents)分配成功

15.pvdisplay查看分配结果

[root@centos1 ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               centos
  PV Size               <19.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              4863
  Free PE               0
  Allocated PE          4863
  PV UUID               Y1Oc21-XEm2-8Oj6-AjfM-ZjV3-SX4l-UFWnjw
   
  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               centos
  PV Size               80.00 GiB / not usable 4.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              20479
  Free PE               255
  Allocated PE          20224
  PV UUID               S5deMQ-Ldz9-s3Kp-YldN-fIzG-aFFm-jHdG8b
   
[root@centos1 ~]# 
可以看到,一共两个物理卷,都在 centos 卷组下(VG name),然后看到我们最开始的分区 /dev/sda3PV Size 80.00 GiB ,已分配块 Allocated PE 20224,计算一下 20224*4/1024=79G,而未分配块 Free PE 255,计算一下 255*4 =1024MB
说明都已经从物理卷分配到了逻辑卷

16. 扩容文件系统

此时只是文件系统所在的逻辑卷的存储空间扩大了,但是文件系统管理文件时还是不知晓扩容了,所以需要让它知道一下。

(1) cat /etc/fstab | grep centos-root查看文件系统类型

[root@centos1 ~]# cat /etc/fstab | grep centos-root
/dev/mapper/centos-root /                       xfs     defaults        0 0
[root@centos1 ~]# 

可以看到是 xfs ,所以使用 xfs_growfs 命令。

如果是Ext4 文件系统,可以使用resize2fs命令来扩展文件系统。

(2) xfs_growfs /dev/mapper/centos-root扩容文件系统。

[root@centos1 ~]# xfs_growfs /dev/mapper/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 25164800
[root@centos1 ~]# 
可以看到 data 数据块已经扩大

17. df -h查看最终成果

[root@centos1 ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 3.9G     0  3.9G    0% /dev
tmpfs                    3.9G     0  3.9G    0% /dev/shm
tmpfs                    3.9G   12M  3.9G    1% /run
tmpfs                    3.9G     0  3.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root   96G   13G   84G   13% /
/dev/sda1               1014M  154M  861M   16% /boot
tmpfs                    782M     0  782M    0% /run/user/0
[root@centos1 ~]# 

你可能感兴趣的:(CentOS,电脑,linux,运维)