ZFS anlık görüntüsü yok edilemiyor: veri kümesi zaten var


11

Solaris 10 8/07 çalıştıran bir sunucu (T5220, ben önemli olsa da) ve iç disk üzerinde bir ZFS havuzu, "mysql" var. İçinde cron bir komut dosyası ile saatlik anlık bir dosya sistemi "mysql / data / 4.1.12" var.

Bu saatlik enstantanelerden biri olarak yaratılan ve yok olmayacak bir enstantanem var. Ben benim komut dosyası onu yok denemek ve başarısız olmayacak şekilde "mysql/data/4.1.12@wibble" sırayla yeniden adlandırdı, ama ben bu konuda şüphe rağmen, aslında dizi içinde oldu. Başarıyla yeniden adlandırır. Anlık görüntü, .zfs / snapshots dizininden başarıyla gezilebilir ve okunabilir. Buna dayalı klonları yoktur.

Yok etmeye çalışmak bunu yapar:

(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:/# 

görünüşe göre saçma: tabii ki zaten var, işte bu nokta!

Daha önce böyle bir şey gören var mı? Web aramaları açıkça benzer bir şey göstermiyor.

Gerekirse kurulu yamalar sağlayabilirim.

Yanıtlar:


10

Bu sorun, Cindy Swearingen (cindys) 'in izniyle burada yanıtlanmıştır: http://opensolaris.org/jive/thread.jspa?messageID=484242&tstart=0

Özet: Artımlı alımlar yaparsanız, bu CR 6860996 olabilir:

Artımlı bir alım için geçici bir klon oluşturulur ve bazı durumlarda otomatik olarak kaldırılmaz.

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

3

Daha yeni yama setlerine geçtikten sonra, bu anlık görüntüyü başarıyla silebilirim. Açıkça Sun'ın ezdiği bir yerde bir hataydı.


2

Sorunun bu olduğunu sanmıyorum (farklı bir hata mesajı aldığını düşünüyorum), ancak bu anlık görüntüye dayalı herhangi bir klon var mı?


Buna dayalı klonlar yok; İlk başta şüphelendiğim bu, ama o değil.
Morven

2

Bu çözüm muhtemelen OP sorunu ile ilgili olmasa da, ben de aynı şifreli hata mesajı bir zvol silmeye çalışırken vardı.

Benim durumumda, zvol, "-s" sürdürülebilir özelliği kullanılarak gönderilen kesintiye uğramış bir zfs alma tarafından oluşturulmuştu. Özgeçmiş simgesi yok edilmesini engelliyordu.

Düzeltmek için koştum zfs receive -A <pool/zvol> (FreeBSD 10.3'te)


Bilmenizde fayda var; durum böyledir.
Morven

1

Ben de bu sorunu gördüm (Kasım 2009). Yine sadece bir anlık görüntü yok edilemez ve aynı saçma mesajı alıyorum

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

Ve bu anlık görüntü ve dosya sistemi klonunun kaynağı değildir. Aslında bir klonlanmış dosya sistemim var - ancak yinelemeli bir arama, zahmetli anlık görüntüye dayanmadığını gösteriyor

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

Yeniden adlandırıncaya kadar bu anlık görüntü, anlık görüntülerin çoğalmasını kontrol etmek için çalıştırdığım komut dosyalarını da bozacaktır.

Sürüm bilgileri: Bu Solaris on x86 (5.10 Generic_141445-09 i86pc) Bu sistem şu anda ZFS havuzu sürüm 15 çalıştırıyor. Tüm havuzlar bu sürüm kullanılarak biçimlendirilmiş.


1

Klon olmadan aynı problem.

Sorunlar, zfs sürümü 10 iken ortaya çıkar.


 zfs destroy -rR zpool/mailboxes
 cannot destroy 'zpool/mailboxes@bug': dataset already exists



1

Veri kümesine zdb ile bakmayı deneyin.

zdb -e -d tank

Yapmaya çalışıyordum

zfs destroy -r tank/dataset

ki bu ortaya çıkıyor zfs list ve bu hatayı alıyordum.

Bulduğum şey zdb gördü

tank/dataset/dataset

ki bu görünmüyordu zfs list. Kolayca yapabildim

zfs destroy -r tank/dataset/dataset

ve sonra

zfs destroy -r tank/dataset

hatasız.

Bu belki bir hata gibi görünüyor zfs list. FreeBSD 11.2-SABİT.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.