基于这个问题:如何在 ESXi 中禁用交换文件?。
主要答案指出,可以从交换文件中提取数据(例如使用字符串),因此我尝试对文件进行简单复制,但 ESXi 对其进行了锁定。确切的错误是Device or resource busy
以下是我从 vmkfstools -D 获得的信息:
Lock [type 10c00001 offset 45031424 v 499, hb offset 3256320
gen 51, mode 1, owner 54e48032-69f209cc-06f6-c454440c07d0 mtime 30417
num 0 gblnum 0 gblgen 0 gblbrk 0]
Addr <4, 83, 172>, gen 498, links 1, type reg, flags 0, uid 0, gid 0, mode 600
len 4294967296, nb 4096 tbz 0, cow 0, newSinceEpoch 4096, zla 3, bs 1048576
解除锁定的唯一方法是关闭虚拟机,但如果我这样做,文件就会被删除。这就是为什么我想知道,是否有可能解除锁定,或者阻止文件被删除?
我无法直接在帖子上提问,因为我没有足够的要点来评论,但我认为这值得一个完整的问题。有什么可能可以检索此文件。
编辑:第一个建议是直接删除锁,要么通过终止使用该文件的所有进程(对我来说无法做到),要么使用类似 flock 的东西。它没有安装在 ESXi 上,所以恐怕这不是一个有效的选择
另一个想法是在文件解锁和删除之间锁定文件,我还没有尝试过,仍然在寻找锁定/解锁任何文件的方法