我有一台运行 Solaris 10 8/07 的服务器(T5220,尽管我怀疑它是否重要),并且我在内部磁盘上有一个 ZFS 池“mysql”。在其中我有一个文件系统“mysql/data/4.1.12”,我使用来自 cron 的脚本每小时进行一次快照。
我有一张快照,作为每小时快照之一创建,不会破坏。我已将它按顺序重命名为“mysql/data/4.1.12@wibble”,这样我的脚本就不会尝试破坏它,但它最初在序列中,尽管我怀疑这很重要。它重命名成功。快照可以通过 .zfs/snapshots 目录成功导航和读取。它没有基于它的克隆。
试图摧毁它会这样做:
(265) root@web-mysql4:/# zfs destroy mysql/data/4.1.12@wibble
cannot destroy 'mysql/data/4.1.12@wibble': dataset already exists
(266) root@web-mysql4:/#
这显然是荒谬的:它当然已经存在,这就是重点!
以前有人见过这样的事情吗?网络搜索显示没有明显相似之处。
如有必要,我可以提供安装的补丁。
这个问题现已得到解答,由 Cindy Swearingen (cindys) 提供:http://opensolaris.org/jive/thread.jspa?messageID=484242&tstart= 0
摘要:如果您进行增量接收,这可能是 CR 6860996:
为增量接收创建临时克隆,在某些情况下,不会自动删除。
升级到更新的补丁集后,我可以成功删除此快照。显然是 Sun 压制的某个地方的错误。
虽然此解决方案可能与 OP 的问题无关,但在尝试删除 zvol 时,我也收到了同样的神秘错误消息。
在我的例子中,zvol 是由中断的 zfs 接收创建的,该接收是使用“-s”可恢复功能发送的。恢复令牌阻止它被破坏。
为了修复它,我跑了
zfs receive -A <pool/zvol>
(在 FreeBSD 10.3 上)我不认为这是问题(我认为您会收到不同的错误消息),但是您是否有任何基于该快照的克隆?
我也看到了这个问题(2009 年 11 月)。再一次,只有一个快照不能被破坏,我得到同样的荒谬消息
而且这个快照不是文件系统克隆的来源。事实上我有一个克隆的文件系统 - 但递归搜索表明它不是基于麻烦的快照
在我重命名它之前,这个快照也会搞砸我用来控制快照扩散的脚本。
版本信息:这是 x86 上的 Solaris (5.10 Generic_141445-09 i86pc) 此系统当前运行的是 ZFS 池版本 15。所有池都使用此版本进行格式化。
没有任何克隆的同样问题。
zfs版本为10时出现问题。我们尝试升级到15而不做任何更改
我很久以前遇到过这个问题并在这里写道:http: //www.bitshop.com/Blogs/tabid/95/EntryId/101/ZFS-Destroy-dataset-does-not-exist-zdb-error-16.aspx
但是,这次不是 % 相关问题。我在 Illumus / Illumian 1.0 上,这是 zpool 版本 26。
这是我要删除的非常旧的服务器/快照。
尝试使用 zdb 查看数据集。
我试图做
出现
zfs list
并出现此错误。我发现zdb看到了
没有出现在
zfs list
. 我能够轻松接着
没有错误。
这似乎可能是
zfs list
. FreeBSD 11.2-稳定版。12 年后,在 Solaris 11.4 上,上述建议均无效。
最终起作用的是做一个
zfs rollback -r yourPool/yourDataset
.然后我能够发送最新的增量快照。