![如何从一个 VG 中获取空间并将其添加到另一个 VG 中?](https://linux22.com/image/121258/%E5%A6%82%E4%BD%95%E4%BB%8E%E4%B8%80%E4%B8%AA%20VG%20%E4%B8%AD%E8%8E%B7%E5%8F%96%E7%A9%BA%E9%97%B4%E5%B9%B6%E5%B0%86%E5%85%B6%E6%B7%BB%E5%8A%A0%E5%88%B0%E5%8F%A6%E4%B8%80%E4%B8%AA%20VG%20%E4%B8%AD%EF%BC%9F.png)
我发现 /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),您需要:
- 在LV的VG中分配必要的空间。
- 扩展 LV 以包含额外的空间。
- 调整 LV 上文件系统的大小,以便它可以利用额外的空间。
这是一般过程,但首先是一个警告:
在生产服务器上执行此操作之前,请研究上面显示的命令的手册页,并确保您了解它们的工作原理。如果可能的话,在另一个系统上练习。因为你不想成为那个家伙谁搞砸了服务器。
- 将所有 LV 从您想要使用的 PV 中移出:
pvmove /dev/sdd1
。由于 /dev/sdc1 是同一 VG 中的另一个 PV,因此它必须有足够的空间来容纳 /dev/sdd1 中的所有内容。 - 此时,您实际上可以通过删除该分区并在其位置创建两个分区来分解 /dev/sdd1。但为了简单起见,我假设您将奉献整个 PV。要将 PV /dev/sdd1 添加到 VGP4-CHK,请运行
vgextend VGP4-CHK /dev/sdd1
. - 最后,调整 LVP4--CHK 及其文件系统的大小
lvextend -r -L +100G VGP4-CHK/LVP4--CHK
替代步骤
您还可以将步骤 1 和 2 替换为:vgsplit VGP4-depot VGP4-CHK /dev/sdd1
。