问题:
Linux 客户机(OpenSuse 12.1),连接有多个虚拟磁盘。
一个逻辑卷中有3个磁盘,其中两个正好是2TB。
所有磁盘都不是独立的,而且由于我们使用的备份软件,它们也无法独立。
当两个 2TB 虚拟磁盘“相互依赖”时,快照会失败,提示文件对于数据存储来说太大。当我将这两个磁盘置于独立模式时,快照工作正常(另一个磁盘为 1.8TB)。
因此,我得出结论,即使将两个物理磁盘缩小 100GB 也应该可以解决问题,但是我很难理解如何在不完全破坏 LVM 的情况下让这些磁盘变得更小。
实际 LV 有 1.3TB 可用,因此有足够的空间可以缩减。
我需要完成的任务是:
从 Linux 客户机中的两个 2TB 虚拟磁盘中释放 100GB。
在 vsphere 中将两个虚拟磁盘缩小 100GB(不太复杂)。
有没有 vsphere/LVM 专家可以给我提供一些线索?
编辑:
修复格式:
像这样?e2fsk -f /dev/VGroup1
resize2fs /dev/VGroup1 5922108040K(即缩小了 200GB,单位为 KB)
lvreduce -L 209715200K /dev/Vgroup1 pvresize /dev/sdb1(和 sdc1) --
setphysicalvolumesize 2042625023K 正确吗?
我又想到了另一个办法:也许为了安全起见,我应该比计划减少的磁盘多减少 25G,以确保物理卷不小于文件系统。
答案1
这实际上不是 VMWare 的问题,2TB vmdk 的问题在于数据存储上没有剩余空间来提交快照,正如您所说,减小 vmdk 的大小将允许其工作。
现在,显然您可以使用通常的 umount、e2fsck、resize2fs、lvreduce 和 pvresize 链,然后在 vsclient 中减少 vmdk 大小,但还有另一种想法,如果您有足够的临时空间,您可以将它们转换为精简磁盘。显然,这可能会带来写入损失,但这意味着您不必触及您的客户文件系统。