Solaris
無法銷毀 ZFS 快照:數據集已存在
我有一台執行 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:/#
這顯然是荒謬的:它當然已經存在,這就是重點!
以前有人見過這樣的事情嗎?網路搜尋顯示沒有明顯相似之處。
如有必要,我可以提供安裝的更新檔。
升級到更新的更新檔集後,我可以成功刪除此快照。顯然是 Sun 壓制的某個地方的錯誤。
這個問題現已得到解答,由 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