我有一台 CentOS 7 服务器。我曾多次扩展 LV,如下所示:
fdisk /dev/sdd
pvcreate /dev/sdd1
vgextend pg_data /dev/sdd1
lvextend /dev/pg_data/lvol0 /dev/sdd1
xfs_growfs /dev/pg_data/lvol0
我的问题是,通过这种方式可以将逻辑卷扩展多少次?
答案1
LVM2 格式卷(假设 64 位架构、2.6+ 内核)中 LV 大小的上限为 8 EB。您不会面临达到该上限的危险。此外,支持卷组或逻辑卷的物理卷数量也没有实际限制。您应该能够根据需要多次扩展 VG 和 LV。(原始 LVM 格式的局限性在于它最多支持 LV 的 65534 个物理扩展区,其默认大小为 4MB,但可以在创建 VG 时进行配置 - 这显然根据您将 PE 大小设置为多少来设置 LV 大小的实际上限。)
但是,在实践中我不建议走得太远,因为 LVM 没有冗余机制,卷中包含的磁盘越多,数据丢失的风险就越大。如果我是你(假设你有类似大小的磁盘),我会用这些磁盘做一个 RAID,然后在其上运行 LVM。当然,如果你不介意丢失数据,或者你有其他备份,你很乐意从中恢复数据……
答案2
LVM2 确实有另一个限制:元数据区域 (MDA) 大小,可以在创建物理卷 ( pvcreate --metadatasize
) 时设置。默认大小适用于数百个 PV 和 LV。
此外,当拥有许多 PV 时,您可能希望限制元数据副本的数量。默认情况下,元数据存储在每个 PV 上。拥有许多启用了 MDA 的 PV 会减慢 lvm 操作。3 个副本对每个人来说应该足够了 ;-)。要在 PV 上禁用 MDA,请pvcreate --metadataignore y
在创建 PV 时执行此操作,或者稍后使用 进行更改。如果在 lvm.conf 中设置了,pvchange
LVM 可以自动执行此操作。vgmetadatacopies