![减少lvm空间并创建新分区](https://linux22.com/image/197129/%E5%87%8F%E5%B0%91lvm%E7%A9%BA%E9%97%B4%E5%B9%B6%E5%88%9B%E5%BB%BA%E6%96%B0%E5%88%86%E5%8C%BA.png)
我的目标是从 lvm 中释放一些空间并创建新分区。下面是设备和其上的 lvm。
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 252:0 0 200G 0 disk
|-vda1 252:1 0 512M 0 part /boot
`-vda2 252:2 0 199.5G 0 part
|-vg-lv_root 253:0 0 15.5G 0 lvm /
|-vg-lv_pwcfg 253:1 0 10.9G 0 lvm /opt/pwcfg
|-vg-lv_var 253:2 0 12.5G 0 lvm /var/log
|-vg-lv_pw 253:3 0 118.4G 0 lvm /pw
`-vg-lv_opt 253:4 0 42.2G 0 lvm /opt
我要实现vg-lv_pw至 50 GB。我使用以下命令来执行此操作:
# lvreduce --resizefs -L 50G /dev/vg/lv_pw
fsck from util-linux 2.23.2
mkfs_lv_pw: 11/7007616 files (0.0% non-contiguous), 445504/31039488 blocks
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/mapper/vg-lv_pw to 13107200 (4k) blocks.
The filesystem on /dev/mapper/vg-lv_pw is now 13107200 blocks long.
Size of logical volume vg/lv_pw changed from <118.41 GiB (30312 extents) to 50.00 GiB (12800 extents).
Logical volume vg/lv_pw successfully resized.
是的,lvm 大小设置为 50GB。
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 252:0 0 200G 0 disk
|-vda1 252:1 0 512M 0 part /boot
`-vda2 252:2 0 199.5G 0 part
|-vg-lv_root 253:0 0 15.5G 0 lvm /
|-vg-lv_pwcfg 253:1 0 10.9G 0 lvm /opt/pwcfg
|-vg-lv_var 253:2 0 12.5G 0 lvm /var/log
|-vg-lv_pw 253:3 0 50G 0 lvm
`-vg-lv_opt 253:4 0 42.2G 0 lvm /opt
现在我必须接受自由空间 68.41GB并从中创建新分区。
# pvs
PV VG Fmt Attr PSize PFree
/dev/vda2 vg lvm2 a-- <199.50g <68.41g
# vgs
VG #PV #LV #SN Attr VSize VFree
vg 1 5 0 wz--n- <199.50g <68.41g
我如何使用该可用空间并创建新分区维达3?
答案1
首先,您需要减小物理卷的大小,使用pvresize
:
pvresize /dev/vda2 --setphysicalvolumesize 132g
这可确保所有数据和元数据最终都位于/dev/vda2
.我在这里谨慎考虑尺寸。
然后,您需要/dev/vda2
使用fdisk
或类似的工具缩小分区条目 - 删除分区条目并使用相同的起始扇区和适当的大小(略大于 132GiB,276,824,064 512 字节扇区,以确保安全)重新创建它。这将允许您创建一个新分区。
最后,再次调整 PV 的大小,这次使用
pvresize /dev/vda2
以便它使用分区中的所有可用空间。