块设备中的多个物理卷

块设备中的多个物理卷

我在服务器中有一个单个(未分区)块设备,它用作卷组(vg1)的单个物理卷(pv1)。

如果不需要为服务器附加更多存储,有没有办法创建第二个 VG?

我知道 PV 不能在 VG 之间共享。是否可以将 PV 一分为二?

如果不附加存储就根本不可能实现这一点,那么避免再次遇到这种情况的最佳方法是什么? LVM 是否有一种将单个块设备用作多个 PV 的机制? 或者我应该对块设备进行分区?

答案1

为了避免再次遇到这种情况,你通常只需创建许多 LV 即可块设备上的 VG。没有这样的限制,而且运行良好。

如果您想要为操作系统创建一个 VG,为数据创建一个 VG,那么您将需要对块设备进行分区(例如,我有一个 16GB 的分区用于操作系统 -> vg00,其余的是另一个用于所有数据卷的分区 -> vg01)

但这是不是只需要一个 VG 就可以了。

对于当前问题:

  1. 不建议

在 Linux 中,可以在 LV 上创建 PV,这样您就可以在现有空间上完全在线添加另一个 VG。但这样做会非常丑陋,而且一年后可能会给你带来麻烦。

  1. 不建议

另一个选项是使用 pvresize 命令缩小现有的 VG。

(并调整分区。这更危险。我建议要非常小心,并先在虚拟机中进行测试)

一旦第一个 PV(以及 VG)缩小,您就可以重新分区磁盘并创建一个新分区,该分区将成为另一个 VG 的一部分。即使现有 PV 的数据分散到末尾且有间隙,这种方法也不起作用。

  1. 我觉得您可以简单地使用更多 LV 并忘记新的卷组,也许您只是还不知道您使用的 LV 数量没有限制?

  2. 我实际使用过的一个技巧(需要测试运行,最终导致停机一小时)是通过 iSCSI 添加另一个磁盘,镜像到该磁盘,然后重建我的“本地”存储。问题是你需要从救援媒体启动才能缩小根分区(缩小是离线除 veritas vxfs 之外的任何文件)。

答案2

开始时,这很简单,只需在磁盘上定义两个分区,并将它们作为 PV 分配到单独的 VG 即可。事后执行此操作要复杂得多。

当然,如果您喜欢让自己的生活更糟,您可以在第一个 VG 上定义一个逻辑卷,并将其用作另一个 VG 的 PV。这种方法虽然完美无缺,但很难理解,应该不惜一切代价避免,尤其是因为堆叠块设备并不能真正提高系统性能。

相关内容