我目前有一个 128 GB 的 LVM 卷。它有一个与之关联的物理驱动器。
如果我添加第二个驱动器来扩展它,但后来又将其移除,我会丢失数据吗?我知道这似乎是一个显而易见的问题,但如果我将其移除,那将是因为我占用的空间较少,并且会使用 128 GB 或更少的空间。
我也在服务器的 webmin 面板上查看了连续的正确性,并且很好奇这是否允许这样做或者它将如何影响它。
答案1
当您将卷组扩展到多个物理卷上时,您将拥有一个 JBOD 阵列,因此如果任何物理卷被删除(手动或由于损坏/降级),您几乎没有机会恢复数据(实际上,您很可能能够从剩余的工作物理设备中恢复一些数据,但这远不能保证)。将多驱动器卷组视为 RAID0 卷(除非各个物理卷本身是 RAID 阵列(R1 或更高版本),否则您在数据安全方面处于类似的位置,因此请确保所有非易失性数据都是经过测试的备份计划的一部分)。
至于从卷组中干净地删除物理卷,这是可能的(并且并不困难)。
- 减小文件系统的大小(
resize2fs
对于 ext2/3/4 卷使用)并减小它们所在的逻辑卷(使用lvresize
),或者仅删除多余的逻辑卷,以便卷组上的可用空间至少与您想要删除的设备一样大(使用vgs
或类似工具来检查这一点)。 - 完成后,将要
pvmove
删除的设备上的任何数据移动到卷组中的其他设备上(例如pvmove -v /dev/hdc1
,请注意这可能需要一些时间)。 - 完成后,您可以从组中删除物理卷(使用
vgreduce
),从物理卷中删除 LVM 元数据,以避免以后可能出现的混淆(pvremove
)。
在上述过程中,您可能犯的主要错误是过度减小逻辑卷(使其小于使用 resize2fs 调整文件系统的大小),这会导致错误和损坏。犯此错误的一个常见方法是混淆基于 1000 的单位和基于 1024 的单位,因此请小心处理。如果您只是删除逻辑卷而不是调整任何逻辑卷的大小,或者您在卷组中已经有足够的未分配空间而没有执行任何操作,则无需担心这一点。
答案2
您必须先缩小文件系统,然后将逻辑卷缩小到小于第一个磁盘的大小。然后,您应该能够从逻辑卷中删除第二个驱动器而不会丢失数据。