तेजी से और कुशलता से बड़ी फ़ाइलों को संयोजित करने के लिए btrfs सुविधाओं का उपयोग करना


1

मेरा उद्देश्य पर्याप्त i / o का उत्पादन किए बिना और न ही अतिरिक्त डिस्क स्थान का उपयोग किए बिना कई 9GB फ़ाइल में कई 3GB फ़ाइलों को संयोजित करने के लिए btrfs सुविधाओं का उपयोग करना है। यदि यह डेटा के इस सेट के लिए काम करता है, तो मैं इसे अपनी पाइपलाइन में लागू करने की योजना बनाता हूं और आसानी से डिस्क स्थान की टेराबाइट को बचा सकता हूं।

मेरे पिछले प्रयास:

आम तौर पर मैं catइन छोटी 3GB फ़ाइलों को एक ही फ़ाइल में बनाता हूं , जो बहुत सारे i / o का उत्पादन करता है। Btrfs पर मैंने डिस्क स्पेस को बचाने के लिए इन फाइलों पर duperemove की कोशिश की। यह जो केवल बड़ी फ़ाइल के पहले अनुपात के लिए काम करता है, प्रभावी रूप से मुझे 9GB में से 3GB की बचत करता है (जो अच्छा है)।

एक ही परिणाम के साथ एक बेहतर तरीका cp --reflink=alwaysपहली फ़ाइल पर उपयोग करना होगा , और फिर दूसरों को जोड़ना होगा। यह पर्याप्त रूप से तेज़ होगा और समय-समय पर कटौती कदम का उपभोग करता है, फिर भी मैं अभी भी 6GB i / o और अतिरिक्त डिस्क स्थान का उत्पादन करता हूं।

मैं अब इन फ़ाइलों को संयोजित करने के लिए btrfs सुविधाओं का उपयोग करने का एक तरीका ढूंढ रहा हूं, जैसे कि वे एक-दूसरे पर संक्षिप्त रूप से अभी तक बी-ट्री में मूल सीमा का उल्लेख कर रहे हैं। (अगर मेरी btrfs की समझ सही है)

आपके विचार के लिए धन्यवाद


1
btrfsएक फाइलसिस्टम है, फाइलों को मिलाने का उपकरण नहीं। या आपका मतलब है कि आपके पास तीन फाइलें हैं, और उनमें से शीर्ष पर आप एक फाइल सिस्टम बनाना चाहते हैं?
dma_k

आपके कमेंट के लिए धन्यवाद! वास्तव में btrfs एक उपकरण नहीं है, मैं देखता हूं कि मेरे प्रश्न को किस तरह से पढ़ा जा सकता है। मैं जल्द ही स्पष्ट कर दूंगा: btrfs एक फाइल सिस्टम है जो उन्नत संपादन जैसे डुप्लीकेशन के लिए अनुमति देता है। ये और अन्य विशेषताएं फ़ाइल सीमा के पेड़, बैकफ्रेंसिंग आदि के कारण संभव हैं। मुझे उम्मीद है कि इन अंतर्निहित btrfs तंत्रों का उपयोग करने के लिए एक नई फ़ाइल बनाने के लिए एक विधि स्थापित की जाएगी जिसमें सामग्री म्यूटेंट के समान है जो वर्तमान में विशिष्ट फ़ाइलों के बिना i / o है। समापन, मैं ऐसा करने के लिए समान रूप से btrfs का उपयोग नहीं कर रहा हूँ, हालांकि इसके अंतर्निहित तंत्र ऐसे उपक्रम के लिए आवश्यक हैं।
लौरा

cp --reflinkbtrfs( यहाँ देखें ) पर ठीक काम करता है , लेकिन यह थोड़ा अलग उद्देश्य से कार्य करता है। बेशक यदि आप पहले से जानते हैं कि डेटा समान है, तो इसका उपयोग करें। लेकिन btrfs(या बेहतर कहना, एक विशेष उपयोगिता) डी-डुप्लीकेशन प्रक्रिया को पोस्ट-फैक्टम ( btrfs wiki देखें ) चला सकती है। मैंने कभी भी उस उपयोगिता का उपयोग नहीं किया है, हालांकि मैं कल्पना कर सकता हूं कि पूरे फाइलसिस्टम में डुप्लिकेट ब्लॉक खोजने में थोड़ा समय लगेगा।
dma_k
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.