VMware,LVM和Linux:临时扩展卷,无需停机

我们的存储层是标准设置中的以下内容:

  • 操作系统之外:
    • SAN上的LUN
    • LUN上的VMware VMFS卷
    • VMFS上的虚拟磁盘(VMDK)
  • 在操作系统(Linux)中:
    • VMDK直接对应设备上的LVM PV(物理卷)(无分区)
    • 1 PV = 1 VG = 1 LV,最终包含:
    • 文件系统(ext3)

请注意,我们不是在这里讨论根磁盘。


现在的问题。

有时会有用户临时需要更多空间。 含义:他们想要在完成后给予空间。 /我想在完成后收回。

一些考虑:

  • 这不像创build一个符号链接到我们可以暂时创build的第二个卷,以便稍后再次删除。 那是因为有时候,事先并不知道在哪里需要空间。 而且,在这种情况下,它可能不是100%透明的,因为可能需要为此移动数据。 所以我不会认为这是一个可以接受的答案。
  • 我不会扩大物理体积(因为这将需要使VMDK变大,而且不能再轻易地变小)。
  • 这同样适用于文件系统。
  • 因此,唯一的解决scheme似乎是使用LVM层,对其进行扩展和减less是没有问题的。
  • 但是:它上面的文件系统只能容易地扩展,而不是缩小。

那么,在没有任何停机时间的情况下,可以做到这一点,从而完全透明?

这完全是需要更好地规划的情况…也许还可以改进部署和configuration过程。

VMware之上的LVM有点多余,尤其是因为您可以即时添加/删除Thin-provisioned VMDK磁盘。 你已经排除了这个,但这是一个有效的方法。

如果存储需求确实是dynamic的,那么使LVM设备发生变化以及扩展/缩小文件系统的风险是不值得的。 这也许可以通过更好的分区来解决。