ZFS: कंप्रेशन एल्गोरिथम में बदलाव के बाद मौजूदा फाइलों को फिर से कंप्रेस करें


14

मेरे पास एक पूल है जो 2011 में बनाया गया था, का उपयोग करते हुए lzjb compression, और यह कुछ साल बाद तक नहीं था कि एक उन्नयन ने मुझे संपीड़न सेट करने की अनुमति दी lz4। मेरा अनुमान है कि सरणी पर कम से कम 20% सामग्री (स्थान के अनुसार) 2013 से पहले बनाई गई थी, जिसका अर्थ है कि यह अभी भी उपयोग कर संकुचित है lzjb

मैं इसे ठीक करने और (कुछ) स्थान को पुनः प्राप्त करने के लिए विकल्पों में से एक के बारे में सोच सकता हूं:

  1. एक नए पूल में वापस जाएं और पुनर्स्थापित करें। वास्तव में व्यावहारिक नहीं है, क्योंकि मेरे पास अस्थायी प्रति धारण करने के लिए पर्याप्त अनावश्यक भंडारण नहीं है। पुनर्स्थापना के लिए पूल को कई घंटों तक ऑफ़लाइन रहने की आवश्यकता होगी।

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

वर्तमान संपीड़न एल्गोरिथ्म का उपयोग करके किसी भी विरासत ब्लॉक को फिर से संपीड़ित करने के लिए ZFS प्राप्त करने का कोई तरीका है? स्क्रब की तरह, लेकिन संपीड़न को ठीक करना।

एक संबंधित प्रश्न: क्या प्रत्येक प्रकार के संपीड़न एल्गोरिदम के उपयोग को देखने का कोई तरीका है? zdb सिर्फ अलग-अलग एल्गोरिदम में उन्हें तोड़ने के बजाय समग्र संपीड़न आँकड़े दिखाता है।


2
मुझे पूरा यकीन है कि आपने केवल दो विकल्पों का नाम दिया है। 3013 के मुद्दे पर भी चर्चा देखें कि यह कार्यक्षमता क्यों नहीं है और आप ऐसा नहीं करना चाहते हैं।
माइकल हैम्पटन

2
lz4 को माना जाता है कि lzjb से कम से कम 10% बेहतर है। यदि आपके डेटा का 20% 10% बेहतर तरीके से संपीड़ित किया जा सकता है, तो आपको अधिकतम 2% अधिक खाली स्थान मिलेगा। यह इसके लायक है?
पाइप

1
यदि आप कॉपी करने के लिए एक शेल स्क्रिप्ट लिखते हैं, तो स्क्रिप्ट export LC_ALL=Cकी शुरुआत में जोड़ें , और फ़ाइल नाम में सभी गैर-एएससीआईआई विशेष पात्रों को बरकरार रखा जाएगा। व्हॉट्सएप और डैश को अक्षुण्ण रखना मुश्किल है, दोहरे उद्धरण चिह्नों का उपयोग करें और --, जैसे cp -- "$SOURCE" "$TARGET"
अंक

4
@ पिप स्पेस एक (बहुत) छोटा लाभ है, लेकिन मैं विघटन की गति में अधिक रुचि रखता हूं। FreeBSD zpool-features manpage से: "आमतौर पर, lz4 संपीड़न लगभग 50% तेजी से सिकुड़ा हुआ डेटा पर और 200% तेजी से अचूक डेटा पर lzjb की तुलना में होता है। यह लगभग 10% बेहतर विघटन पर भी होता है, जबकि लगभग 10% बेहतर संपीड़न अनुपात देता है। "
13:19 बजे rowan194

@ लिप्स मैं मौलिक शेल प्रोग्रामिंग नियमों (चर के आसपास दोहरे उद्धरण --) या " ट्रिकियर" का पालन नहीं करूंगा । उदाहरण के लिए, SQL इंजेक्शन से बचना उतना ही महत्वपूर्ण है।
14 जुलाई को ग्लोगल

जवाबों:


14

आपको डेटा (पूर्ण या आंशिक) या zfs को एक नए पूल या ZFS फाइल सिस्टम में डेटा भेजना / प्राप्त करना होगा।

कोई अन्य विकल्प नहीं हैं।

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