AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 66414
Accepted
Morven
Morven
Asked: 2009-09-18 12:23:11 +0800 CST2009-09-18 12:23:11 +0800 CST 2009-09-18 12:23:11 +0800 CST

无法销毁 ZFS 快照:数据集已存在

  • 772

我有一台运行 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:/# 

这显然是荒谬的:它当然已经存在,这就是重点!

以前有人见过这样的事情吗?网络搜索显示没有明显相似之处。

如有必要,我可以提供安装的补丁。

solaris
  • 9 9 个回答
  • 11705 Views

9 个回答

  • Voted
  1. Edward Harvey
    2010-06-04T04:48:18+08:002010-06-04T04:48:18+08:00

    这个问题现已得到解答,由 Cindy Swearingen (cindys) 提供:http://opensolaris.org/jive/thread.jspa?messageID=484242&tstart= 0

    摘要:如果您进行增量接收,这可能是 CR 6860996:

    为增量接收创建临时克隆,在某些情况下,不会自动删除。

    1. Determine clone names:
    
    # zdb -d <poolname> | grep %
    
    2. Destroy identified clones:
    
    # zfs destroy <clone-with-%-in-the-name>
    
    It will complain that 'dataset does not exist', but you can check
    again(see 1)
    
    3. Destroy snapshot(s) that could not be destroyed previously
    
    • 10
  2. Best Answer
    Morven
    2010-05-21T14:58:21+08:002010-05-21T14:58:21+08:00

    升级到更新的补丁集后,我可以成功删除此快照。显然是 Sun 压制的某个地方的错误。

    • 3
  3. ACyclic
    2016-09-16T16:22:04+08:002016-09-16T16:22:04+08:00

    虽然此解决方案可能与 OP 的问题无关,但在尝试删除 zvol 时,我也收到了同样的神秘错误消息。

    在我的例子中,zvol 是由中断的 zfs 接收创建的,该接收是使用“-s”可恢复功能发送的。恢复令牌阻止它被破坏。

    为了修复它,我跑了zfs receive -A <pool/zvol> (在 FreeBSD 10.3 上)

    • 3
  4. Mark
    2009-09-18T13:26:16+08:002009-09-18T13:26:16+08:00

    我不认为这是问题(我认为您会收到不同的错误消息),但是您是否有任何基于该快照的克隆?

    • 2
  5. Gary Mitchell
    2009-11-24T04:12:51+08:002009-11-24T04:12:51+08:00

    我也看到了这个问题(2009 年 11 月)。再一次,只有一个快照不能被破坏,我得到同样的荒谬消息

    # zfs destroy blue/viss02_backup/46home1f@200910211357
    cannot destroy 'blue/viss02_backup/46home1f@200910211357': dataset already exists
    

    而且这个快照不是文件系统克隆的来源。事实上我有一个克隆的文件系统 - 但递归搜索表明它不是基于麻烦的快照

    # zfs get -H -o value -r origin blue | uniq
    -
    blue/viss02_backup/zones/puppis@200902031605
    -
    

    在我重命名它之前,这个快照也会搞砸我用来控制快照扩散的脚本。

    版本信息:这是 x86 上的 Solaris (5.10 Generic_141445-09 i86pc) 此系统当前运行的是 ZFS 池版本 15。所有池都使用此版本进行格式化。

    • 1
  6. Frank Contrepois
    2009-11-24T06:54:30+08:002009-11-24T06:54:30+08:00

    没有任何克隆的同样问题。

    zfs版本为10时出现问题。我们尝试升级到15而不做任何更改

    
     zfs destroy -rR zpool/mailboxes
     cannot destroy 'zpool/mailboxes@bug': dataset already exists
    
    
    • 1
  7. Steve Radich-BitShop.com
    2012-07-04T15:38:17+08:002012-07-04T15:38:17+08:00

    我很久以前遇到过这个问题并在这里写道: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。

    这是我要删除的非常旧的服务器/快照。

    • 1
  8. Bill McGonigle
    2019-06-23T12:58:42+08:002019-06-23T12:58:42+08:00

    尝试使用 zdb 查看数据集。

    zdb -e -d tank
    

    我试图做

    zfs destroy -r tank/dataset
    

    出现zfs list并出现此错误。

    我发现zdb看到了

    tank/dataset/dataset
    

    没有出现在zfs list. 我能够轻松

    zfs destroy -r tank/dataset/dataset
    

    接着

    zfs destroy -r tank/dataset
    

    没有错误。

    这似乎可能是zfs list. FreeBSD 11.2-稳定版。

    • 1
  9. Copy Run Start
    2022-04-02T09:12:05+08:002022-04-02T09:12:05+08:00

    12 年后,在 Solaris 11.4 上,上述建议均无效。

    最终起作用的是做一个zfs rollback -r yourPool/yourDataset.

    然后我能够发送最新的增量快照。

    • 1

相关问题

  • 从现有目录创建 zfs 的正确方法?

  • 在 Solaris lp 或 lpr 上打印

  • 如何将 ZFS ACL 从一个文件克隆到另一个文件?

  • Solaris DNS

  • 在 solaris 10 上为 mysql 设置 max_allowed_pa​​cket

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve