我刚刚使用 ESX 端的命令回收了 HP 3Par 中未使用的空间,例如:
esxcli storage vmfs unmap --l DATASTORENAME
它运行良好,从 3Par 控制台,我现在可以在我的数据存储/LUN 上看到:
- 已使用用户空间:26%(回收前为 46%)
- 保留用户空间:4.7Tb/10Tb(遗憾的是没有改变)
但在 VMware 中,空间并没有变化。我猜这是由于这个“预留”造成的(空间在 3Par 上保留)。
有没有办法通过运行某种调整命令或压缩命令来删除 SAN 上的这种分配(我认为数据已归零)?
我看到他们是这样命令的紧凑型cpg,但它似乎并不完全是我所需要的,因为我认为它不会在磁盘之间正确平衡数据(块)?(但使用尽可能少的磁盘,因此降低了性能?)
感谢和问候,
答案1
实际上,紧凑型cpg是本例中正确的命令。您需要使用的形式是compactcpg <CPG_name>
或compactcpg <pattern>
该过程本身由 3PAR 定期自动运行,因此您可以等待,3PAR 最终会回收空间。或者,您可以使用上述命令通过 3PAR CLI 手动启动该过程。
另一件需要注意的事情是紧凑型cpg始终作为低优先级任务运行,以免中断常规 IO 操作。这意味着阵列可能需要几个小时甚至几天才能完全回收所有新释放的空间。
更多相关信息请参见这里。
关于平衡存储块的问题,3PAR 会自动处理。3PAR 实际上使用了五个逻辑数据层:
- 物理磁盘
- 小块
- 逻辑磁盘 (LD)
- 通用配置组 (CPG)
- 虚拟卷 (VV)
平衡发生在每个层上。也就是说,物理磁盘在各个机架上保持物理平衡,存储块均匀分布在物理磁盘上,逻辑磁盘在可用存储块池中保持平衡,等等。
顺便说一下,还有一个紧凑型compactld <LD_name>
或形式的命令compactld -pat <pattern>
,其行为方式大致相同,但在逻辑磁盘层。但是您需要运行紧凑型cpg先尝试紧凑型以充分利用它。
答案2
它肯定不会定期运行,你需要设置时间表。疯狂的是,它甚至无法在没有输入的情况下进行基本的空间回收。