使用虚拟磁盘扩展 VG 的正确方法是什么

使用虚拟磁盘扩展 VG 的正确方法是什么

我在 VMware 平台上安装了 Ubuntu 18.04 Server,并且建立了两个 VG:rootvg 为 500GB,在 /dev/sda 上托管操作系统。datavg 为 2TB,包含我们的 PostgreSQL 数据库环境,存储在 /dev/sdb 上。

最近,我们的团队决定他们需要更多磁盘空间,因此他们通过虚拟机向服务器添加了另外 1TB 供 datavg 使用。他们通过更改当前正在使用的虚拟磁盘的大小来实现这一点。问题是我无法看到新的磁盘空间。

如果我使用 vgdisplay 查看 datavg,我会看到旧的 2TB 大小:

vgdisplay datavg

  --- Volume group ---
  VG Name               datavg
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  35
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                24
  Open LV               24
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <2.00 TiB
  PE Size               4.00 MiB
  Total PE              524287
  Alloc PE / Size       521216 / <1.99 TiB
  Free  PE / Size       3071 / <12.00 GiB
  VG UUID               vMxLPX-M3RG-BIVR-MsiF-dWtF-xLOl-4VCTGW

但是如果我在 fdisk 中检查磁盘,它会报告新的 3TB 大小。

fdisk /dev/sdb
    
Command (m for help): F
Unpartitioned space /dev/sdb: 3 TiB, 3298533834752 bytes, 6442448896 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes

Start        End    Sectors Size
 2048 6442450943 6442448896   3T

我不确定到底需要做什么才能使 2TB 磁盘现在显示为 3TB,并允许我访问添加的额外 1TB。最初,我认为我需要在 fdisk 中添加一个新分区,然后使用 pvcreate 和 extendvg 将其作为新磁盘添加到卷组。但我现在很困惑,因为我预计 datavg 已经定义了至少一个分区,用于 datavg 上现有的 LV。我在 /dev/sdb 上找不到任何现有分区。

Command (m for help): p
Disk /dev/sdb: 3 TiB, 3298534883328 bytes, 6442450944 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xb32bb8b8

有人能给我指出正确的方向吗?在创建并使用 VG 后,是否有一种简单的方法可以更改其大小,或者我们是否必须备份 VG 内容、销毁 VG、重新创建更大的 VG、重新加载备份?有没有与 resize2fs 相当但适用于 VG 的功能?

谢谢,

史蒂夫·N。

答案1

我想我找到了问题的答案。有一个名为“pvresize”的命令我以前不知道。

$ pvresize /dev/sdb 
  Physical volume "/dev/sdb" changed
  1 physical volume(s) resized / 0 physical volume(s) not resized

$ vgdisplay|more 
  --- Volume group ---
  VG Name               datavg
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  36
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                24
  Open LV               24
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <3.00 TiB
  PE Size               4.00 MiB
  Total PE              786431
  Alloc PE / Size       521216 / <1.99 TiB
  Free  PE / Size       265215 / 1.01 TiB
  VG UUID               vMxLPX-M3RG-BIVR-MsiF-dWtF-xLOl-4VCTGW

我现在看到 /dev/sdb 显示 VG 大小为 3TB,可用空间为 1TB。

感谢所有碰巧查看此内容的人。我想我会发布我使用的答案,看看是否有人有其他评论。当然,也帮助其他尝试学习 Linux 的人。

相关内容