如何从一个 VG 中获取空间并将其添加到另一个 VG 中?

如何从一个 VG 中获取空间并将其添加到另一个 VG 中?

我发现 /dev/mapper/VGP4--CHK-LVP4--CHK 空间不足。我想增加这个。

Filesystem                           Size  Used Avail Use% Mounted on
udev                                  32G     0   32G   0% /dev
tmpfs                                6.4G  178M  6.3G   3% /run
/dev/mapper/VGroot-LVroot            100G   11G   89G  11% /
tmpfs                                 32G     0   32G   0% /dev/shm
tmpfs                                5.0M     0  5.0M   0% /run/lock
tmpfs                                 32G     0   32G   0% /sys/fs/cgroup
/dev/mapper/VGP4--meta-LVP4--meta    1.0T  240G  785G  24% /perforce/database
/dev/mapper/VGP4--JNL-LVP4--JNL      200G  2.1G  198G   2% /perforce/journal
/dev/mapper/VGvar-LVvar              150G  5.9G  145G   4% /var
/dev/mapper/VGP4--depot-LVP4--depot  3.9T  2.0T  2.0T  50% /perforce/depot
/dev/mapper/VGP4--CHK-LVP4--CHK      100G   97G  3.8G  97% /perforce/checkpoints
tmpfs                                100K     0  100K   0% /run/lxcfs/controllers
tmpfs                                6.4G     0  6.4G   0% /run/user/0
//ukfs03/p4usersynclog               8.2T  7.5T  784G  91% /mnt/p4usersynclog

我想看看我是否可以扩展 VG 从其他 VG 购买“借用”空间。我跑了PV:

PV         VG         Fmt  Attr PSize    PFree
  /dev/sda1  VGroot     lvm2 a--   100.00g       0
  /dev/sdb1  VGvar      lvm2 a--   150.00g       0
  /dev/sdc1  VGP4-depot lvm2 a--     2.00t       0
  /dev/sdd1  VGP4-depot lvm2 a--     2.00t  102.39g
  /dev/sde1  VGP4-CHK   lvm2 a--    50.00g       0
  /dev/sdf1  VGP4-meta  lvm2 a--  1024.00g       0
  /dev/sdg1  VGP4-JNL   lvm2 a--   200.00g       0
  /dev/sdh1  VGswap     lvm2 a--    65.00g       0
  /dev/sdi1  VGP4-CHK   lvm2 a--    51.00g 1020.00m

如何从 /dev/sdd1 VGP4-depot 获取 100GB 来增加我的其他 VG(该 VG 的利用率为 97% 并且空间不足)?

 --- Logical volume ---
  LV Path                /dev/VGroot/LVroot
  LV Name                LVroot
  VG Name                VGroot
  LV UUID                P3gps4-MRZl-026G-v2ww-TWIj-0QdQ-0jRPBH
  LV Write Access        read/write
  LV Creation host, time negan, 2016-11-14 10:54:08 +0000
  LV Status              available
  # open                 1
  LV Size                100.00 GiB
  Current LE             25599
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

  --- Logical volume ---
  LV Path                /dev/VGP4-depot/LVP4-depot
  LV Name                LVP4-depot
  VG Name                VGP4-depot
  LV UUID                elm7rT-CFgn-6N5i-igpb-fnzt-Ph4E-61tzxQ
  LV Write Access        read/write
  LV Creation host, time negan, 2016-11-14 10:55:27 +0000
  LV Status              available
  # open                 1
  LV Size                3.90 TiB
  Current LE             1022362
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:2

  --- Logical volume ---
  LV Path                /dev/VGvar/LVvar
  LV Name                LVvar
  VG Name                VGvar
  LV UUID                6RPFfR-M8yT-qTi5-V0pZ-hr8w-PyXQ-1jm0wf
  LV Write Access        read/write
  LV Creation host, time negan, 2016-11-14 10:54:44 +0000
  LV Status              available
  # open                 1
  LV Size                150.00 GiB
  Current LE             38399
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:5

 --- Logical volume ---
  LV Path                /dev/VGP4-meta/LVP4-meta
  LV Name                LVP4-meta
  VG Name                VGP4-meta
  LV UUID                qHvesl-P4qB-TzII-ofVc-7VIx-SdSF-3gf7BN
  LV Write Access        read/write
  LV Creation host, time negan, 2016-11-14 10:57:51 +0000
  LV Status              available
  # open                 1
  LV Size                1024.00 GiB
  Current LE             262143
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:3

  --- Logical volume ---
  LV Path                /dev/VGswap/LVswap
  LV Name                LVswap
  VG Name                VGswap
  LV UUID                CoQy7M-EgAu-2FL0-7Aw2-2g0S-ifey-72rogX
  LV Write Access        read/write
  LV Creation host, time negan, 2016-11-14 10:59:24 +0000
  LV Status              available
  # open                 2
  LV Size                65.00 GiB
  Current LE             16639
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

  --- Logical volume ---
  LV Path                /dev/VGP4-JNL/LVP4-JNL
  LV Name                LVP4-JNL
  VG Name                VGP4-JNL
  LV UUID                H6ijtQ-PuGa-FH9V-yCuW-uQyD-7DMD-TfleRU
  LV Write Access        read/write
  LV Creation host, time negan, 2016-11-14 10:58:39 +0000
  LV Status              available
  # open                 1
  LV Size                200.00 GiB
  Current LE             51199
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:6

--- Logical volume ---
  LV Path                /dev/VGP4-CHK/LVP4-CHK
  LV Name                LVP4-CHK
  VG Name                VGP4-CHK
  LV UUID                K2920y-BifO-AwFJ-zLLa-YyIX-ao8h-1RlPai
  LV Write Access        read/write
  LV Creation host, time negan, 2016-11-14 10:56:59 +0000
  LV Status              available
  # open                 1
  LV Size                100.00 GiB
  Current LE             25599
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:4

另外,当 VG 存储空间不足时,这是正确的做法吗?我应该从其他 VG 获取存储空间吗?

答案1

如何从 /dev/sdd1 VGP4-depot 获取 100GB 来增加我的其他 VG(该 VG 的利用率为 97% 并且空间不足)?

嗯...问题是 PV/分区只能拥有的由单个 VG 实现。因此,您实际上无法获取 PV 的片段(例如 /dev/sdd1 中的 100GB)并将其专用于另一个 VG(例如 VGP4-CHK)。换句话说,VG完全拥有自己的PE。

从根本上来说,要增加 LV 的存储(例如 VGP4--CHK-LVP4--CHK),您需要:

  1. 在LV的VG中分配必要的空间。
  2. 扩展 LV 以包含额外的空间。
  3. 调整 LV 上文件系统的大小,以便它可以利用额外的空间。

这是一般过程,但首先是一个警告:

在生产服务器上执行此操作之前,请研究上面显示的命令的手册页,并确保您了解它们的工作原理。如果可能的话,在另一个系统上练习。因为你不想成为那个家伙谁搞砸了服务器。

  1. 将所有 LV 从您想要使用的 PV 中移出:pvmove /dev/sdd1。由于 /dev/sdc1 是同一 VG 中的另一个 PV,因此它必须有足够的空间来容纳 /dev/sdd1 中的所有内容。
  2. 此时,您实际上可以通过删除该分区并在其位置创建两个分区来分解 /dev/sdd1。但为了简单起见,我假设您将奉献整个 PV。要将 PV /dev/sdd1 添加到 VGP4-CHK,请运行vgextend VGP4-CHK /dev/sdd1.
  3. 最后,调整 LVP4--CHK 及其文件系统的大小lvextend -r -L +100G VGP4-CHK/LVP4--CHK

替代步骤

您还可以将步骤 1 和 2 替换为:vgsplit VGP4-depot VGP4-CHK /dev/sdd1

相关内容