![在 VMware 中安全删除 LUN](https://linux22.com/image/758718/%E5%9C%A8%20VMware%20%E4%B8%AD%E5%AE%89%E5%85%A8%E5%88%A0%E9%99%A4%20LUN.png)
我在 VMware 6.7.0 环境中有一个 LUN。对于特定项目,我们需要使用某种删除协议安全删除此 LUN 上的数据(使用 DoD 5220 等标准方法)。底层存储系统是带有 VMFS 5 的 3PAR SSMC,SCSI 控制器是 VMware Paravirtual。大约 15 个虚拟机(均标记为删除)使用该 LUN 作为 Tick-Provision Lazy-Zeroed 存储。
在网上搜索了一段时间后,我只找到了付费解决方案“Blancco LUN Eraser”。但是,我们今天必须删除它。还有其他方法可以通过协议进行安全删除吗?
我的第一个想法是只在每个单独的虚拟机上使用 DBAN 并删除每个单独的“磁盘”。之后,只需在 vSphere 中删除 LUN。VMWare 也讨论了这个问题: https://communities.vmware.com/message/989618#989618
有什么想法吗?我自己也没有什么可能性和想法了。
答案1
您本质上想要做的是擦除整个数据存储,因为对单个虚拟机进行 DBAN 并不能保证底层 LUN 的每一位都会被覆盖。
只要数据存储的底层存储通过 iSCSI 或 FC 呈现到 ESXi,它就应该显示为与直接连接存储类似,然后您应该能够从 ESXi 控制台使用 dd 覆盖它。请参阅此网站以了解更多背景信息。
例如:
# dd if=/dev/zero of=/dev/disks/t10.NVMe_Samsung_SSD_960_EVO conv=notrunc
然而,正如 Michal Hampton 指出的那样,最好先研究一下底层存储的选项。HPE Proliant 服务器自 Gen8 以来就具有此功能(大概在 2014 年左右),所以如果 3PAR 没有此功能,我会感到非常惊讶。
还有一个有趣的点,VMFS5 也不支持 UNMAP,因此 VMware 中的任何删除都不会导致底层存储上的块被标记为空闲。然而,VMFS6 对此进行了更改以支持异步空间回收(基本上 ESXi 会在空闲时间扫描数据存储区并向存储发送 SCSI UNMAP 命令,以便它知道可以重新利用哪些块)。在这种情况下,这取决于您要实现的目标以及底层存储的运行方式,这一点相当重要。