ZFS स्नैपशॉट को नष्ट नहीं कर सकता: डेटासेट पहले से मौजूद है


11

मेरे पास एक सर्वर है (T5220, हालांकि मुझे संदेह है कि यह मायने रखता है) सोलारिस 10 8/07 चल रहा है और मेरे पास आंतरिक डिस्क पर एक ZFS पूल, "mysql" है। इसके भीतर मेरे पास एक फाइलसिस्टम "mysql / data / 4.1.12" है, जिसे मैं क्रोन से स्क्रिप्ट के साथ प्रति घंटा स्नैपशॉट करता हूं।

मेरे पास एक स्नैपशॉट है, जो प्रति घंटा स्नैप में से एक के रूप में बनाया गया है, जो नष्ट नहीं होगा। मैंने इसका नाम बदलकर "mysql/data/4.1.12@wibble" कर दिया है, ताकि मेरी स्क्रिप्ट कोशिश न करे और इसे नष्ट करने में विफल रहे, लेकिन यह मूल रूप से अनुक्रम के भीतर था, हालांकि मुझे संदेह है कि यह मायने रखता है। यह सफलतापूर्वक नामकरण करता है। स्नैपशॉट को सफलतापूर्वक .zfs / स्नैपशॉट निर्देशिका के माध्यम से नेविगेट और पढ़ा जा सकता है। इसके आधार पर कोई क्लोन नहीं है।

इसे नष्ट करने की कोशिश यह करता है:

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

जो स्पष्ट रूप से निरर्थक है: बेशक यह पहले से ही मौजूद है, यह बात है!

किसी को भी इस तरह से पहले कुछ भी देखा? वेब खोजें स्पष्ट रूप से कुछ भी नहीं दिखाती हैं।

यदि आवश्यक हो तो मैं स्थापित पैच प्रदान कर सकता हूं।

जवाबों:


10

इस मुद्दे पर अब जवाब दिया गया है, सिंडी स्विंगरिंग (सिंडीज़) के सौजन्य से: http://opensolaris.org/jive/thread.jspa?messageID=484242&tstart=0

सारांश: यदि आप वेतन वृद्धि प्राप्त करते हैं, तो यह सीआर 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

3

अधिक हाल के पैच सेट में अपग्रेड होने के बाद, मैं इस स्नैपशॉट को सफलतापूर्वक हटा सकता था। स्पष्ट रूप से एक बग कहीं था जिसे सूर्य ने कुचल दिया।


2

मुझे उम्मीद नहीं है कि यह मुद्दा है (मुझे लगता है कि आपको एक अलग त्रुटि संदेश मिलता है), लेकिन क्या आपके पास उस स्नैपशॉट के आधार पर कोई क्लोन है?


इसके आधार पर कोई क्लोन नहीं; यह वही है जो मुझे पहली बार में संदेह था, लेकिन यह नहीं है।
मोरवेन

2

जबकि यह समाधान संभवतः ओपी के मुद्दे से असंबंधित है, मेरे पास एक ही क्रिप्टोकरंसी संदेश भी था जब एक ज़ोल को हटाने की कोशिश की गई थी।

मेरे मामले में, zvol को एक बाधित zfs प्राप्त द्वारा बनाया गया था, जिसे "-s" रेज्यूमेबल फीचर का उपयोग करके भेजा गया था। फिर से शुरू टोकन इसे नष्ट होने से रोक रहा था।

इसे ठीक करने के लिए, मैं भागा zfs receive -A <pool/zvol> (FreeBSD 10.3 पर)


जानने के लिए उपयोगी; यह निश्चित रूप से संभव है कि यह मामला था।
मोरवेन

1

मैंने इस समस्या को भी देखा है (nov 2009)। फिर से सिर्फ एक स्नैपशॉट नष्ट नहीं किया जा सकता है और मुझे एक ही निरर्थक संदेश मिलता है

# 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 (5.10 Generic_141445-09 i86pc) पर सोलारिस है। यह प्रणाली वर्तमान में ZFS पूल संस्करण 15 चला रही है। सभी संस्करण इस संस्करण का उपयोग करके स्वरूपित किए गए हैं।


1

किसी भी क्लोन के बिना एक ही समस्या।

समस्याएँ तब होती हैं जब zfs संस्करण 10. था। हम बिना किसी बदलाव के 15 में अपग्रेड करने का प्रयास करते हैं


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


1

मैं इसमें बहुत पहले भागा था और यहाँ लिखा था: http://www.bitshop.com/Blogs/tabid/95/EntryId/101/ZFS-Destroy-dataset-does-not-exist-zdb-errat-16.aspx

हालाँकि यह समय% संबंधित समस्या नहीं है। मैं इल्लुमस / इल्लुमियन 1.0 पर हूं, जो कि ज़ूलू संस्करण 26 है।

यह एक बहुत पुराना सर्वर / स्नैपशॉट है जिसे मैं हटाने की कोशिश कर रहा हूं।


1

डेटासेट को 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-STABLE।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.