vmware扩容CentOS磁盘的两种方案

vmware扩容CentOS磁盘的两种方案

扩容磁盘的两种需求

扩容磁盘,一种情况,我们希望见原来不足的存储无缝伸缩扩容,通常是给原本的根目录/扩容,另一种是在另一个目录上挂载新磁盘。

本次记录第一种情况,主要参考https://zhuanlan.zhihu.com/p/112637861这篇文章。

理清几个相关概念

磁盘设备、分区、物理卷、卷组、逻辑卷。

在Linux中,磁盘设备、分区、物理卷、卷组和逻辑卷之间有着紧密的关系,它们通常用于存储和管理数据。

  • 磁盘设备:指的是物理存储设备,如硬盘驱动器或固态硬盘。在Linux中,磁盘设备通常以/dev/sdX的形式表示,其中X可以是字母a、b、c等,代表不同的物理磁盘。

  • 分区:磁盘设备可以被划分为多个分区,每个分区可以看作是磁盘的一个逻辑部分。在Linux中,分区通常以/dev/sdXY的形式表示,其中Y表示分区号,如1、2、3等。

  • 物理卷:物理卷是逻辑卷管理(LVM)中的一个概念,它是将一个或多个分区抽象为一个逻辑卷的中间层。物理卷通常是一个磁盘分区或整个磁盘。

  • 卷组:卷组是由一个或多个物理卷组成的逻辑集合,它提供了对物理卷的抽象,使得多个物理卷可以作为一个逻辑卷来管理。在Linux中,可以将多个物理卷添加到同一个卷组中。

  • 逻辑卷:逻辑卷是在卷组上创建的虚拟磁盘,它可以动态调整大小并提供灵活的存储管理。逻辑卷可以被格式化并用作文件系统的挂载点。

综上所述,磁盘设备通过分区划分成多个逻辑部分,这些分区可以被组合成物理卷,多个物理卷又可以被组合成卷组,最终在卷组上创建逻辑卷来实现灵活的存储管理。

例如通过pvcreate /dev/nvme0n1p{1,2}命令可以将/dev/nvme0n1p1和/dev/nvme0n1p2这两个分区创建成一个物理卷。这条命令会将指定的分区标记为物理卷,以便后续将它们添加到卷组中进行逻辑卷管理。

vmware虚拟机扩容操作

两种:扩展,或新建,都是根据提示按照推荐操作即可完成扩容或新增磁盘,如下图,不赘述。

通过LVM方式扩容具体操作

操作过程shell页面代码

shell 复制代码
# 查询磁盘列表
[root@centos8 ~]# fdisk -l
Disk /dev/nvme0n1:40 GiB,42949672960 字节,83886080 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x15baf53f

设备           启动     起点     末尾     扇区 大小 Id 类型
/dev/nvme0n1p1 *        2048  2099199  2097152   1G 83 Linux
/dev/nvme0n1p2       2099200 41943039 39843840  19G 8e Linux LVM
/dev/nvme0n1p3      41943040 81788927 39845888  19G 8e Linux LVM


Disk /dev/nvme0n2:40 GiB,42949672960 字节,83886080 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节




Disk /dev/mapper/cs-root:35 GiB,37580963840 字节,73400320 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


Disk /dev/mapper/cs-swap:2 GiB,2147483648 字节,4194304 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

# 
[root@centos8 ~]# fdisk /dev/nvme0n1

欢迎使用 fdisk (util-linux 2.32.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


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

帮助:

  DOS (MBR)
   a   开关 可启动 标志
   b   编辑嵌套的 BSD 磁盘标签
   c   开关 dos 兼容性标志

  常规
   d   删除分区
   F   列出未分区的空闲区
   l   列出已知分区类型
   n   添加新分区
   p   打印分区表
   t   更改分区类型
   v   检查分区表
   i   打印某个分区的相关信息

  杂项
   m   打印此菜单
   u   更改 显示/记录 单位
   x   更多功能(仅限专业人员)

  脚本
   I   从 sfdisk 脚本文件加载磁盘布局
   O   将磁盘布局转储为 sfdisk 脚本文件

  保存并退出
   w   将分区表写入磁盘并退出
   q   退出而不保存更改

  新建空磁盘标签
   g   新建一份 GPT 分区表
   G   新建一份空 GPT (IRIX) 分区表
   o   新建一份的空 DOS 分区表
   s   新建一份空 Sun 分区表


命令(输入 m 获取帮助):F
未分区的空间 /dev/nvme0n1:1 GiB,1073741824 个字节,2097152 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节

    起点     末尾    扇区 大小
81788928 83886079 2097152   1G

命令(输入 m 获取帮助):n
分区类型
   p   主分区 (3个主分区,0个扩展分区,1空闲)
   e   扩展分区 (逻辑分区容器)
选择 (默认 e):p

已选择分区 4
第一个扇区 (81788928-83886079, 默认 81788928):
上个扇区,+sectors 或 +size{K,M,G,T,P} (81788928-83886079, 默认 83886079):

创建了一个新分区 4,类型为"Linux",大小为 1 GiB。

命令(输入 m 获取帮助):^[[A^[[B
▒▒未知命令

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

分区表已调整。
正在同步磁盘。

[root@centos8 ~]# fdisk -l
Disk /dev/nvme0n1:40 GiB,42949672960 字节,83886080 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x15baf53f

设备           启动     起点     末尾     扇区 大小 Id 类型
/dev/nvme0n1p1 *        2048  2099199  2097152   1G 83 Linux
/dev/nvme0n1p2       2099200 41943039 39843840  19G 8e Linux LVM
/dev/nvme0n1p3      41943040 81788927 39845888  19G 8e Linux LVM
/dev/nvme0n1p4      81788928 83886079  2097152   1G 83 Linux


Disk /dev/nvme0n2:40 GiB,42949672960 字节,83886080 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节




Disk /dev/mapper/cs-root:35 GiB,37580963840 字节,73400320 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


Disk /dev/mapper/cs-swap:2 GiB,2147483648 字节,4194304 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
[root@centos8 ~]# fdisk /dev/nvme0n2

欢迎使用 fdisk (util-linux 2.32.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

设备不包含可识别的分区表。
创建了一个磁盘标识符为 0xb69c49c4 的新 DOS 磁盘标签。

命令(输入 m 获取帮助):n
分区类型
   p   主分区 (0个主分区,0个扩展分区,4空闲)
   e   扩展分区 (逻辑分区容器)
选择 (默认 p):p
分区号 (1-4, 默认  1):
第一个扇区 (2048-83886079, 默认 2048):
上个扇区,+sectors 或 +size{K,M,G,T,P} (2048-83886079, 默认 83886079):

创建了一个新分区 1,类型为"Linux",大小为 40 GiB。

命令(输入 m 获取帮助):wq
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。

[root@centos8 ~]# fdisk -l
Disk /dev/nvme0n1:40 GiB,42949672960 字节,83886080 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x15baf53f

设备           启动     起点     末尾     扇区 大小 Id 类型
/dev/nvme0n1p1 *        2048  2099199  2097152   1G 83 Linux
/dev/nvme0n1p2       2099200 41943039 39843840  19G 8e Linux LVM
/dev/nvme0n1p3      41943040 81788927 39845888  19G 8e Linux LVM
/dev/nvme0n1p4      81788928 83886079  2097152   1G 83 Linux


Disk /dev/nvme0n2:40 GiB,42949672960 字节,83886080 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xb69c49c4

设备           启动  起点     末尾     扇区 大小 Id 类型
/dev/nvme0n2p1       2048 83886079 83884032  40G 83 Linux




Disk /dev/mapper/cs-root:35 GiB,37580963840 字节,73400320 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


Disk /dev/mapper/cs-swap:2 GiB,2147483648 字节,4194304 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
[root@centos8 ~]# fdisk -l
Disk /dev/nvme0n1:40 GiB,42949672960 字节,83886080 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x15baf53f

设备           启动     起点     末尾     扇区 大小 Id 类型
/dev/nvme0n1p1 *        2048  2099199  2097152   1G 83 Linux
/dev/nvme0n1p2       2099200 41943039 39843840  19G 8e Linux LVM
/dev/nvme0n1p3      41943040 81788927 39845888  19G 8e Linux LVM
/dev/nvme0n1p4      81788928 83886079  2097152   1G 83 Linux


Disk /dev/nvme0n2:40 GiB,42949672960 字节,83886080 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xb69c49c4

设备           启动  起点     末尾     扇区 大小 Id 类型
/dev/nvme0n2p1       2048 83886079 83884032  40G 83 Linux




Disk /dev/mapper/cs-root:35 GiB,37580963840 字节,73400320 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


Disk /dev/mapper/cs-swap:2 GiB,2147483648 字节,4194304 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

# 接下来修改新建分区的类型,改为LVM,代号是8e
[root@centos8 ~]# fdisk /dev/nvme0n2

欢迎使用 fdisk (util-linux 2.32.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


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

帮助:

  DOS (MBR)
   a   开关 可启动 标志
   b   编辑嵌套的 BSD 磁盘标签
   c   开关 dos 兼容性标志

  常规
   d   删除分区
   F   列出未分区的空闲区
   l   列出已知分区类型
   n   添加新分区
   p   打印分区表
   t   更改分区类型
   v   检查分区表
   i   打印某个分区的相关信息

  杂项
   m   打印此菜单
   u   更改 显示/记录 单位
   x   更多功能(仅限专业人员)

  脚本
   I   从 sfdisk 脚本文件加载磁盘布局
   O   将磁盘布局转储为 sfdisk 脚本文件

  保存并退出
   w   将分区表写入磁盘并退出
   q   退出而不保存更改

  新建空磁盘标签
   g   新建一份 GPT 分区表
   G   新建一份空 GPT (IRIX) 分区表
   o   新建一份的空 DOS 分区表
   s   新建一份空 Sun 分区表


命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):L

 0  空              24  NEC DOS         81  Minix / 旧 Linu bf  Solaris
 1  FAT12           27  隐藏的 NTFS Win 82  Linux swap / So c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 隐藏 或 In c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux 扩展      c7  Syrinx
 5  扩展            41  PPC PReP Boot   86  NTFS 卷集       da  非文件系统数据
 6  FAT16           42  SFS             87  NTFS 卷集       db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux 纯文本    de  Dell 工具
 8  AIX             4e  QNX4.x 第2部分  8e  Linux LVM       df  BootIt
 9  AIX 可启动      4f  QNX4.x 第3部分  93  Amoeba          e1  DOS 访问
 a  OS/2 启动管理器 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad 休 ea  Rufus 对齐
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         eb  BeOS fs
 f  W95 扩展 (LBA)  54  OnTrackDM6      a6  OpenBSD         ee  GPT
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        ef  EFI (FAT-12/16/
11  隐藏的 FAT12    56  Golden Bow      a8  Darwin UFS      f0  Linux/PA-RISC
12  Compaq 诊断     5c  Priam Edisk     a9  NetBSD          f1  SpeedStor
14  隐藏的 FAT16 <3 61  SpeedStor       ab  Darwin 启动     f4  SpeedStor
16  隐藏的 FAT16    63  GNU HURD 或 Sys af  HFS / HFS+      f2  DOS 次要
17  隐藏的 HPFS/NTF 64  Novell Netware  b7  BSDI fs         fb  VMware VMFS
18  AST 智能睡眠    65  Novell Netware  b8  BSDI swap       fc  VMware VMKCORE
1b  隐藏的 W95 FAT3 70  DiskSecure 多启 bb  Boot Wizard 隐  fd  Linux raid 自动
1c  隐藏的 W95 FAT3 75  PC/IX           bc  Acronis FAT32 L fe  LANstep
1e  隐藏的 W95 FAT1 80  旧 Minix        be  Solaris 启动    ff  BBT
Hex 代码(输入 L 列出所有代码):8e
已将分区"Linux"的类型更改为"Linux LVM"。

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

帮助:

  DOS (MBR)
   a   开关 可启动 标志
   b   编辑嵌套的 BSD 磁盘标签
   c   开关 dos 兼容性标志

  常规
   d   删除分区
   F   列出未分区的空闲区
   l   列出已知分区类型
   n   添加新分区
   p   打印分区表
   t   更改分区类型
   v   检查分区表
   i   打印某个分区的相关信息

  杂项
   m   打印此菜单
   u   更改 显示/记录 单位
   x   更多功能(仅限专业人员)

  脚本
   I   从 sfdisk 脚本文件加载磁盘布局
   O   将磁盘布局转储为 sfdisk 脚本文件

  保存并退出
   w   将分区表写入磁盘并退出
   q   退出而不保存更改

  新建空磁盘标签
   g   新建一份 GPT 分区表
   G   新建一份空 GPT (IRIX) 分区表
   o   新建一份的空 DOS 分区表
   s   新建一份空 Sun 分区表


命令(输入 m 获取帮助):p
Disk /dev/nvme0n2:40 GiB,42949672960 字节,83886080 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xb69c49c4

设备           启动  起点     末尾     扇区 大小 Id 类型
/dev/nvme0n2p1       2048 83886079 83884032  40G 8e Linux LVM

命令(输入 m 获取帮助):w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。

[root@centos8 ~]# fdisk -l
Disk /dev/nvme0n1:40 GiB,42949672960 字节,83886080 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x15baf53f

设备           启动     起点     末尾     扇区 大小 Id 类型
/dev/nvme0n1p1 *        2048  2099199  2097152   1G 83 Linux
/dev/nvme0n1p2       2099200 41943039 39843840  19G 8e Linux LVM
/dev/nvme0n1p3      41943040 81788927 39845888  19G 8e Linux LVM
/dev/nvme0n1p4      81788928 83886079  2097152   1G 83 Linux


Disk /dev/nvme0n2:40 GiB,42949672960 字节,83886080 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xb69c49c4

设备           启动  起点     末尾     扇区 大小 Id 类型
/dev/nvme0n2p1       2048 83886079 83884032  40G 8e Linux LVM




Disk /dev/mapper/cs-root:35 GiB,37580963840 字节,73400320 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


Disk /dev/mapper/cs-swap:2 GiB,2147483648 字节,4194304 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
[root@centos8 ~]# pvscan
  PV /dev/nvme0n1p2   VG cs              lvm2 [<19.00 GiB / 0    free]
  PV /dev/nvme0n1p3   VG cs              lvm2 [<19.00 GiB / 1016.00 MiB free]
  Total: 2 [37.99 GiB] / in use: 2 [37.99 GiB] / in no VG: 0 [0   ]
[root@centos8 ~]# pvcreate /dev/nvme0n2p1
  Physical volume "/dev/nvme0n2p1" successfully created.
[root@centos8 ~]# pvscan
  PV /dev/nvme0n1p2   VG cs              lvm2 [<19.00 GiB / 0    free]
  PV /dev/nvme0n1p3   VG cs              lvm2 [<19.00 GiB / 1016.00 MiB free]
  PV /dev/nvme0n2p1                      lvm2 [<40.00 GiB]
  Total: 3 [77.99 GiB] / in use: 2 [37.99 GiB] / in no VG: 1 [<40.00 GiB]
[root@centos8 ~]# pvdisplay /dev/nvme0n2p1
  "/dev/nvme0n2p1" is a new physical volume of "<40.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/nvme0n2p1
  VG Name
  PV Size               <40.00 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               vgW7Nt-fRal-KKza-N91S-a3sa-kdbH-diHejE

[root@centos8 ~]# vgscan
  Found volume group "cs" using metadata type lvm2
[root@centos8 ~]# fdisk
fdisk: bad usage
Try 'fdisk --help' for more information.
[root@centos8 ~]# fdisk -l
Disk /dev/nvme0n1:40 GiB,42949672960 字节,83886080 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x15baf53f

设备           启动     起点     末尾     扇区 大小 Id 类型
/dev/nvme0n1p1 *        2048  2099199  2097152   1G 83 Linux
/dev/nvme0n1p2       2099200 41943039 39843840  19G 8e Linux LVM
/dev/nvme0n1p3      41943040 81788927 39845888  19G 8e Linux LVM
/dev/nvme0n1p4      81788928 83886079  2097152   1G 83 Linux


Disk /dev/nvme0n2:40 GiB,42949672960 字节,83886080 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xb69c49c4

设备           启动  起点     末尾     扇区 大小 Id 类型
/dev/nvme0n2p1       2048 83886079 83884032  40G 8e Linux LVM




Disk /dev/mapper/cs-root:35 GiB,37580963840 字节,73400320 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


Disk /dev/mapper/cs-swap:2 GiB,2147483648 字节,4194304 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
[root@centos8 ~]# 
[root@centos8 ~]# pvscan
  PV /dev/nvme0n1p2   VG cs              lvm2 [<19.00 GiB / 0    free]
  PV /dev/nvme0n1p3   VG cs              lvm2 [<19.00 GiB / 1016.00 MiB free]
  PV /dev/nvme0n2p1                      lvm2 [<40.00 GiB]
  Total: 3 [77.99 GiB] / in use: 2 [37.99 GiB] / in no VG: 1 [<40.00 GiB]
[root@centos8 ~]# vgcreate
  No command with matching syntax recognised.  Run 'vgcreate --help' for more information.
  Correct command syntax is:
  vgcreate VG_new PV ...

[root@centos8 ~]# vgcreate --help
  vgcreate - Create a volume group

  vgcreate VG_new PV ...
        [ -A|--autobackup y|n ]
        [ -c|--clustered y|n ]
        [ -l|--maxlogicalvolumes Number ]
        [ -p|--maxphysicalvolumes Number ]
        [ -M|--metadatatype lvm2 ]
        [ -s|--physicalextentsize Size[m|UNIT] ]
        [ -f|--force ]
        [ -Z|--zero y|n ]
        [    --addtag Tag ]
        [    --alloc contiguous|cling|cling_by_tags|normal|anywhere|inherit ]
        [    --metadataprofile String ]
        [    --labelsector Number ]
        [    --metadatasize Size[m|UNIT] ]
        [    --pvmetadatacopies 0|1|2 ]
        [    --vgmetadatacopies all|unmanaged|Number ]
        [    --reportformat basic|json ]
        [    --dataalignment Size[k|UNIT] ]
        [    --dataalignmentoffset Size[k|UNIT] ]
        [    --shared ]
        [    --systemid String ]
        [    --locktype sanlock|dlm|none ]
        [    --setautoactivation y|n ]
        [ COMMON_OPTIONS ]

  Common options for lvm:
        [ -d|--debug ]
        [ -h|--help ]
        [ -q|--quiet ]
        [ -v|--verbose ]
        [ -y|--yes ]
        [ -t|--test ]
        [    --commandprofile String ]
        [    --config String ]
        [    --driverloaded y|n ]
        [    --nolocking ]
        [    --lockopt String ]
        [    --longhelp ]
        [    --profile String ]
        [    --version ]
        [    --devicesfile String ]
        [    --devices PV ]
        [    --nohints ]
        [    --journal String ]

  Use --longhelp to show all options and advanced commands.

[root@centos8 ~]# vgscan
  Found volume group "cs" using metadata type lvm2
[root@centos8 ~]# vgdisplay cs
  --- Volume group ---
  VG Name               cs
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  9
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               37.99 GiB
  PE Size               4.00 MiB
  Total PE              9726
  Alloc PE / Size       9472 / 37.00 GiB
  Free  PE / Size       254 / 1016.00 MiB
  VG UUID               9745io-m647-uh7k-1QuK-7DDd-zj7U-SuGnnB

[root@centos8 ~]# pvdisplay /dev/nvme0n2p1
  "/dev/nvme0n2p1" is a new physical volume of "<40.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/nvme0n2p1
  VG Name
  PV Size               <40.00 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               vgW7Nt-fRal-KKza-N91S-a3sa-kdbH-diHejE

[root@centos8 ~]# vgextend cs /dev/nvme0n2p1
  Volume group "cs" successfully extended
[root@centos8 ~]# pvdisplay /dev/nvme0n2p1
  --- Physical volume ---
  PV Name               /dev/nvme0n2p1
  VG Name               cs
  PV Size               <40.00 GiB / not usable 3.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              10239
  Free PE               10239
  Allocated PE          0
  PV UUID               vgW7Nt-fRal-KKza-N91S-a3sa-kdbH-diHejE

[root@centos8 ~]# pvscan
  PV /dev/nvme0n1p2   VG cs              lvm2 [<19.00 GiB / 0    free]
  PV /dev/nvme0n1p3   VG cs              lvm2 [<19.00 GiB / 1016.00 MiB free]
  PV /dev/nvme0n2p1   VG cs              lvm2 [<40.00 GiB / <40.00 GiB free]
  Total: 3 [<77.99 GiB] / in use: 3 [<77.99 GiB] / in no VG: 0 [0   ]

[root@centos8 ~]# vgscan
  Found volume group "cs" using metadata type lvm2
[root@centos8 ~]# vgdisplay -s cs
  "cs" <77.99 GiB [37.00 GiB used / <40.99 GiB free]
[root@centos8 ~]# lvscan
  ACTIVE            '/dev/cs/root' [35.00 GiB] inherit
  ACTIVE            '/dev/cs/swap' [2.00 GiB] inherit

[root@centos8 ~]# lvdisplay /dev/cs/root
  --- Logical volume ---
  LV Path                /dev/cs/root
  LV Name                root
  VG Name                cs
  LV UUID                bTBYHU-a52v-ngZA-zXc3-4Zpg-1gb8-qNxedK
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2023-05-18 19:20:32 +0800
  LV Status              available
  # open                 1
  LV Size                35.00 GiB
  Current LE             8960
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

[root@centos8 ~]# pvscan
  PV /dev/nvme0n1p2   VG cs              lvm2 [<19.00 GiB / 0    free]
  PV /dev/nvme0n1p3   VG cs              lvm2 [<19.00 GiB / 1016.00 MiB free]
  PV /dev/nvme0n2p1   VG cs              lvm2 [<40.00 GiB / <40.00 GiB free]
  Total: 3 [<77.99 GiB] / in use: 3 [<77.99 GiB] / in no VG: 0 [0   ]

[root@centos8 ~]# lvscan
  ACTIVE            '/dev/cs/root' [35.00 GiB] inherit
  ACTIVE            '/dev/cs/swap' [2.00 GiB] inherit
  
  # 把原有逻辑卷扩展到100%空间(把新加的物理卷扩展进来)
[root@centos8 ~]# lvextend -l +100%FREE /dev/cs/root
  Size of logical volume cs/root changed from 35.00 GiB (8960 extents) to <75.99 GiB (19453 ex          tents).
  Logical volume cs/root successfully resized.
[root@centos8 ~]# lvscan
  ACTIVE            '/dev/cs/root' [<75.99 GiB] inherit
  ACTIVE            '/dev/cs/swap' [2.00 GiB] inherit
# 查看文件系统情况,发现文件系统/dev/mapper/cs-root xfs        35G 并没有实际扩容,继续往下
[root@centos8 ~]# df -Th
文件系统            类型      容量  已用  可用 已用% 挂载点
devtmpfs            devtmpfs  4.8G     0  4.8G    0% /dev
tmpfs               tmpfs     4.8G     0  4.8G    0% /dev/shm
tmpfs               tmpfs     4.8G   17M  4.8G    1% /run
tmpfs               tmpfs     4.8G     0  4.8G    0% /sys/fs/cgroup
/dev/mapper/cs-root xfs        35G   28G  7.2G   80% /
/dev/nvme0n1p1      xfs      1014M  224M  791M   23% /boot
tmpfs               tmpfs     969M     0  969M    0% /run/user/0

# 查看新增的分区的文件系统块儿类型
[root@centos8 ~]# blkid /dev/nvme0n1p1
/dev/nvme0n1p1: UUID="ee6e69c8-aee1-465a-8404-e22c7a820bcc" BLOCK_SIZE="512" TYPE="xfs" PARTUU          ID="15baf53f-01"

# 对xfs类型块儿执行扩容
[root@centos8 ~]# xfs_growfs /dev/cs/root
meta-data=/dev/mapper/cs-root    isize=512    agcount=9, agsize=1113856 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=0 inobtcount=0
data     =                       bsize=4096   blocks=9175040, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           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 9175040 to 19919872

# 再次查看,扩容成功。
[root@centos8 ~]# df -Th
文件系统            类型      容量  已用  可用 已用% 挂载点
devtmpfs            devtmpfs  4.8G     0  4.8G    0% /dev
tmpfs               tmpfs     4.8G     0  4.8G    0% /dev/shm
tmpfs               tmpfs     4.8G   17M  4.8G    1% /run
tmpfs               tmpfs     4.8G     0  4.8G    0% /sys/fs/cgroup
/dev/mapper/cs-root xfs        76G   29G   48G   38% /
/dev/nvme0n1p1      xfs      1014M  224M  791M   23% /boot
tmpfs               tmpfs     969M     0  969M    0% /run/user/0
[root@centos8 ~]# df -h
文件系统             容量  已用  可用 已用% 挂载点
devtmpfs             4.8G     0  4.8G    0% /dev
tmpfs                4.8G     0  4.8G    0% /dev/shm
tmpfs                4.8G   17M  4.8G    1% /run
tmpfs                4.8G     0  4.8G    0% /sys/fs/cgroup
/dev/mapper/cs-root   76G   29G   48G   38% /
/dev/nvme0n1p1      1014M  224M  791M   23% /boot
tmpfs                969M     0  969M    0% /run/user/0

# 扩容后可以在/etc/fstab文件中找到如下信息:
# 信息格式:<设备路径> <挂载点> <文件系统类型> <挂载选项> <备份频率> <自检顺序>
[root@centos8 ~]#  cat /etc/fstab | grep /dev/mapper/cs-root
/dev/mapper/cs-root     /                       xfs     defaults        0 0

以上完成了将新增的不同磁盘通过LVM无缝扩容到旧磁盘绑定的目录上的操作。

通过往同一个目录挂载多磁盘方式扩容

参考:https://blog.csdn.net/m0_46120209/article/details/128717265

对磁盘进行分区,如果磁盘名称不是 /dev/sdb请根据实际名称修改。

** 对上述文章补充解释如下:**

要将分区挂载信息添加到/etc/fstab文件中,可以按照以下步骤进行操作:

打开终端,并以管理员权限登录(可以使用sudo命令)。

执行以下命令使用nano编辑器打开/etc/fstab文件进行编辑:

powershell 复制代码
sudo nano /etc/fstab

在/etc/fstab文件中,每行代表一个挂载点的信息,一般格式如下:

<设备路径> <挂载点> <文件系统类型> <挂载选项> <备份频率> <自检顺序>

根据你的需求,在/etc/fstab文件中添加一行来描述要挂载的分区。例如,如果要将/dev/sdb1分区挂载到/mnt/data目录下,可以添加如下一行:

powershell 复制代码
/dev/sdb1 /mnt/data ext4 defaults 0 2

/dev/sdb1:分区设备路径

/mnt/data:挂载点

ext4:文件系统类型

defaults:挂载选项,表示使用默认选项

0:备份频率,表示不进行备份

2:自检顺序,表示在系统引导时自动检查

保存文件并退出编辑器。在nano编辑器中,按下Ctrl + O保存文件,然后按下Enter确认,最后按下Ctrl + X退出编辑器。

最后,可以使用以下命令来重新加载/etc/fstab文件,以使更改生效:

powershell 复制代码
sudo mount -a

这样,你添加的分区挂载信息就会在系统启动时自动挂载到指定的挂载点。

关于分区格式化文件系统,这篇文章中提到了另一种操作:

shell 复制代码
mkfs.ext4 /dev/sdb1
# 也可以是mkfs.xfs  
# 类似输入一下几个命令。
fdisk /dev/nvme0n2 # 进行分区
> t # 分区时顺便修改文件格式
> 8e  # 格式代码选定8
> w
>
相关推荐
wanhengidc10 分钟前
短视频运营行业该如何选择服务器?
运维·服务器
雨中rain24 分钟前
Linux -- 从抢票逻辑理解线程互斥
linux·运维·c++
Bessssss44 分钟前
centos日志管理,xiao整理
linux·运维·centos
s_yellowfish44 分钟前
Linux服务器pm2 运行chatgpt-on-wechat,搭建微信群ai机器人
linux·服务器·chatgpt
豆是浪个1 小时前
Linux(Centos 7.6)yum源配置
linux·运维·centos
vvw&1 小时前
如何在 Ubuntu 22.04 上安装 Ansible 教程
linux·运维·服务器·ubuntu·开源·ansible·devops
我一定会有钱1 小时前
【linux】NFS实验
linux·服务器
王铁柱子哟-1 小时前
解决 正在下载VS Code 服务器... 问题
运维·服务器
Ven%1 小时前
如何在防火墙上指定ip访问服务器上任何端口呢
linux·服务器·网络·深度学习·tcp/ip
泰伦闲鱼1 小时前
nestjs:GET REQUEST 缓存问题
服务器·前端·缓存·node.js·nestjs