为什么创建精简池时元数据需要花费双倍的空间?

为什么创建精简池时元数据需要花费双倍的空间?

背景

我在Centos6.9上有一个具有32G可用空间的vg。

当我使用lvcreate -T vg/pool -L 30G --poolmetadatasize 2G它创建一个精简池时,它显示insufficient free disk space

当我将元数据大小减少到512MBlvcreate -T vg/pool -L 30G --poolmetadatasize 512M)时,它可以毫无错误地创建,但耗费了 31G 的空间。

当我使用%指定池的大小(lvcreate -T vg/pool -l 100%FREE --poolmetadatasize 2G)时,它创建成功,但池的大小只有 28G,即使添加 2G 元数据大小,也缺少 2G 的可用空间。

问题

所以我发现poolmetadata将花费双倍空间(指定512MB,成本1G,指定1G,成本2G),有人能告诉我为什么它花费双倍​​空间吗?

答案1

我猜您看到的就是所谓的“备用元数据 LV”,它会在卷组中创建第一个精简池时自动创建。

您可以使用 仔细检查以lvs -a显示所有卷(即,您的精简池的隐藏数据/元数据卷和备用元数据 lv)。如果您看到任何卷名为lvol0_pmspare或通常带有_pmspare作为后缀,则该卷是备用元数据 lv。

您可以在创建精简池时禁用它的创建--poolmetadataspare n,但是请在执行此操作之前阅读lvmthin(7)联机帮助页,因为此卷是元数据检查和修复操作所必需的(即,如果您没有它,您的恢复选项将非常有限)

相关内容