ZFS: स्नैपशॉट से फ़ाइलें हटा रहा है?


10

मान लें कि मेरे पास 100 स्नैपशॉट के साथ एक डेटासेट है और rm -rfसभी स्नैपशॉट में "कैश" नाम के सभी फ़ोल्डर चाहते हैं ।

मैं वास्तव में अंतरिक्ष को मुक्त करना चाहता हूं, न कि केवल स्नैपशॉट की परतों में इसे छिपाना, इसलिए एक क्लोन बनाना और उस से हटाना और फिर एक नया स्नैपशॉट लेना ऐसा नहीं लगता है जो मुझे चाहिए।

किसी भी अर्ध-स्वचालित तरीके से ऐसा करते हैं? Zfs सूची -t स्नैपशॉट, zfs क्लोन, zfs प्रचार, zfs स्नैपशॉट के आसपास कुछ रैपिंग?

( /superuser/313197 से क्रॉस-पोस्टिंग जब से मैं देख रहा हूं कि इसमें ZFS सामान अधिक है)


3
कृपया क्रॉसपोस्ट न करें, लेकिन अपने प्रश्न के माइग्रेट होने की प्रतीक्षा करें।
स्वेन

इसके अलावा, मुझे यकीन नहीं है कि यह बिल्कुल संभव है: स्नैपशॉट केवल-पढ़ने के लिए हैं, और यदि आप क्लोन / प्रमोशन पेयर का उपयोग करते हैं, तो आप क्लोन किए गए स्नैपशॉट और "हेड" डेटासेट के बीच निर्भरता को उलट देंगे, जो कि संभवतः आप क्या कर रहे हैं चाहते हैं। : यहाँ दस्तावेज़ नहीं देख download.oracle.com/docs/cd/E19253-01/819-5461/gbcxz/index.html
स्वेन

मैं प्रवासन की प्रतीक्षा करूंगा, लेकिन लगता है कि SU पर ZFS प्रश्नों की एक उचित मात्रा है, इसलिए मुझे संदेह था कि यह स्वचालित रूप से स्थानांतरित हो जाएगा ... यह दोनों स्थानों में फिट बैठता है, इसलिए मैंने क्रॉस के बारे में अच्छा होने के लिए एक मेटा गाइड का अनुसरण किया -posting।
तिनो दीड्रीक्सन

@TinoDidriksen क्या आप उस मेटा पोस्ट को संदर्भ प्रदान कर सकते हैं? मैं इसे देखना चाहूंगा। धन्यवाद।
nhinkle

2
आपके द्वारा संदर्भित पद आधिकारिक नीति नहीं है। नहीं है एमएसओ पर एक पूछे जाने वाले प्रश्न कैसे सवाल उपयोगकर्ता सोचता है कि कई साइटों के लिए विषय पर कर रहे हैं संभाल करने के लिए समझा। संक्षेप में, क्रॉस पोस्टिंग को रोक दिया गया है। यदि आप पोस्ट करने के बाद तय करते हैं कि यह कहीं और बेहतर होगा और आपने अच्छे उत्तर नहीं दिए हैं, तो आप इसे माइग्रेट करने के लिए फ़्लैग कर सकते हैं या आप इसे हटा सकते हैं और पुनः पूछ सकते हैं, लेकिन आपको उस साइट पर पोस्ट दर्जी करना चाहिए पर पूछ रहा है। आपने प्रतीक्षा किए बिना सटीक वही प्रश्न शब्द-दर-शब्द दिया, जो क्रॉस पोस्टिंग के बारे में दोनों मेटा पोस्ट में दिशानिर्देशों को विफल करता है।
nhinkle

जवाबों:


9

स्नैपशॉट केवल पढ़ने के लिए हैं। यदि आपको उन फ़ोल्डरों की आवश्यकता है , तो आपको पूरे स्नैपशॉट को हटाना होगा।

आप एक बैकअप बना सकते हैं (टार जैसी चीज़ के साथ), आपत्तिजनक फ़ोल्डरों को छोड़कर, फिर स्नैपशॉट को हटा दें। जाहिर है कि बैकअप अब टार, या जो भी हो, प्रारूप में है; लेकिन कम से कम आपके पास अभी भी एक बैकअप प्रति है।


2
इस समाधान के साथ असली बमर यह है कि अब आपको वास्तविक के लिए एन के हर बिट डेटा को स्टोर करना होगा, जबकि एक स्नैपशॉट केवल संशोधित ब्लॉक करेगा। इस तरह, आप संभवतः टार फ़ाइलों से कैश को हटाने के साथ सहेजे गए अधिक स्थान के साथ समाप्त होने की संभावना रखते हैं।
स्वेन

Dedupe इससे मदद करेगा , लेकिन आपकी बात सही है। मुझे पूरा यकीन है कि उन स्नैपशॉट को संशोधित करने का कोई तरीका नहीं है, हालांकि वह चाहता है।
क्रिस एस

मेरे पास gzip-1 कम्प्रेशन और डिडअप दोनों हैं, इसलिए समान डेटा के आसपास कॉपी करने से केवल बहीखाता पद्धति तैयार होती है। लेकिन मैं बिल्कुल नकल से बचने का कोई तरीका पसंद करूंगा।
तिनो दीड्रीक्सन

मुझे संदेह है कि लगभग एक ही डेटा डिडअप की कई टार फाइलों के मामले में , फ़ाइल की शुरुआत में केवल एक बाइट को जोड़ने या घटाने में मदद मिलेगी, इसका मतलब यह होगा कि कोई भी ब्लॉक दूसरे के समान नहीं होगा, जो बेकार में रेंडर करता है।
स्वेन

@SvenW सवाल पूछने के बाद मैं देखता हूं कि वह ऐसा करने की कोशिश कर रहा है और अंतरिक्ष को बचाने के लिए; जब तक वह कंप्यूटर से टार फ़ाइलों को स्थानांतरित नहीं करता है, जो मेरे जवाब में वास्तव में मदद नहीं कर रहा है, जो वह बस स्नैपशॉट को वैसे भी निर्यात कर सकता है। लगता है जैसे वह चारों ओर अटक गया है।
क्रिस एस

14

आप निम्नलिखित की कोशिश कर सकते हैं:

  1. एक नए फाइलसिस्टम में सबसे पुराने स्नैपशॉट को क्लोन करें (इसे कॉल करें fsnew)।
  2. क्लोन को बढ़ावा दें ( fsnew) आपको स्नैपशॉट को नष्ट करने की अनुमति देने के लिए फाइल सिस्टम पर आधारित है।
  3. आपत्तिजनक फाइलों को हटा दें।
  4. का एक स्नैपशॉट बनाएँ fsnew

अब स्नैपचैट के बाद स्नैपचैट से फ्लैग के rsyncसाथ , उन --inplaceफ़ाइलों पर fsnew स्किप करने के लिए जिन्हें आप नहीं चाहते हैं। --inplaceझंडा लेखन की संख्या कम कर देता है और छोटे स्नैपशॉट के लिए अनुमति देता है।

  1. का एक स्नैपशॉट बनाएँ fsnew
  2. मूल स्नैपशॉट को नष्ट करें।

जब यह किया जाता है, तो आपके पास एक स्नैपशॉट होना चाहिए जो fsnewमूल फाइल सिस्टम से स्नैपशॉट से मेल खाती है जिसमें हटाए गए फ़ाइलों के साथ है।

यदि आपके पास ड्राइव पर जगह है, तो आप "नष्ट" कमांड को तब तक छोड़ना चाहते हैं जब तक आपको अपनी स्क्रिप्ट सही से काम न कर ले।


आपको --deleteविकल्प को भी पास करना rsyncहोगा, अन्यथा आप स्नैपशॉट के बीच हुए विलोपन को खो देंगे। अन्यथा यह एक महान विचार है।
टोबिया

1
  1. मूल स्नैपशॉट को नष्ट करें।

आप कार्रवाई को बढ़ावा देने के बाद मूल स्नैपशॉट को नष्ट नहीं कर सकते। यदि ऐसा है तो केवल माता-पिता के डेटासेट को नष्ट करें।

उदाहरण (क्लोन को बढ़ावा देने के बाद)।

zfs मीडिया 1/cheers/backup-auto-20190530.2105-2y-clone@auto-20190530.2105-2y को नष्ट करते हैं

'Media1/cheers/backup-auto-20190530.2105-2y-clone@auto-20190530.2105-2y' को नष्ट नहीं कर सकते: स्नैपशॉट पर निर्भर क्लोन हैं

निम्नलिखित डेटासेट को नष्ट करने के लिए '-R' का उपयोग करें:

media1/media/backup@auto-20190531.1622-2y

media1 / मीडिया / बैकअप

zfs मीडिया 1/media/backup@auto-20190531.1622-2y को नष्ट करते हैं

zfs मीडिया 1/cheers/backup-auto-20190530.2105-2y-clone@auto-20190530.2105-2y को नष्ट करते हैं

'Media1/cheers/backup-auto-20190530.2105-2y-clone@auto-20190530.2105-2y' को नष्ट नहीं कर सकते: स्नैपशॉट पर निर्भर क्लोन हैं

निम्नलिखित डेटासेट को नष्ट करने के लिए '-R' का उपयोग करें:

media1 / मीडिया / बैकअप

उस "मजाकिया" ऑपरेशन के बाद, मुझे अगले लोगों को बनाना होगा

zfs स्नैपशॉट मीडिया 1 / मीडिया / बैकअप @ 1

zfs मीडिया 1 / मीडिया / बैकअप @ 1 भेजें pv | zfs को media1 / media / backupnew प्राप्त होता है

zfs मीडिया 1 / मीडिया / बैकअप @ 1 को नष्ट करते हैं

zfs नष्ट -R media1 / media / backup

zfs मीडिया 1 / मीडिया / बैकअप मीडिया 1 / मीडिया / बैकअप का नाम बदलें

या एक को बढ़ावा देना। zfs मीडिया 1 / मीडिया / बैकअप को बढ़ावा देते हैं और इसके बाद क्लोन एयूवे को हटाते हैं, क्योंकि आपके पास src जगह में एक बड़ा स्नैपशॉट होगा))

यहाँ केवल rsync / backup ही मदद कर सकता है।


-3

किसी विशेष ZFS फाइल सिस्टम के लिए ZFS स्नैपशॉट फाइल सिस्टम .zfs/snapshotsके रूट में डायरेक्टरी के अंतर्गत पाया जा सकता है । आपको एक स्क्रिप्ट लिखने में सक्षम होना चाहिए जो इस फ़ोल्डर का पता लगाता है और rmआपको उन फ़ाइलों की आवश्यकता होती है, जिन्हें इसे स्नैपशॉट से स्वयं हटा देना चाहिए।


3
ZFS स्नैपशॉट केवल-पढ़ने के लिए होते हैं। आप उनसे हटा नहीं सकते।
स्वेन

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