2009-12-14 10 views
5

कई फ़ाइल स्टोरेज सिस्टम उसी फ़ाइल सामग्री डेटा (अन्य कारणों के साथ) के डुप्लिकेशंस से बचने के लिए हैश का उपयोग करते हैं, उदाहरण के लिए, गिट और ड्रॉपबॉक्स दोनों SHA256 का उपयोग करते हैं। फ़ाइल नाम और तिथियां अलग-अलग हो सकती हैं, लेकिन जब तक सामग्री को एक ही हैश उत्पन्न होता है, तब तक यह कभी भी एक से अधिक बार संग्रहीत नहीं होता है।क्या कोई भी सामान्य ओएस फाइल सिस्टम एक ही सामग्री डेटा को एक से अधिक बार संग्रहीत करने से बचने के लिए हैश का उपयोग करता है?

ऐसा लगता है कि अंतरिक्ष को बचाने के लिए ओएस फाइल सिस्टम में ऐसा करना एक समझदार बात होगी। क्या विंडोज या * निक्स के लिए कोई फाइल सिस्टम है जो ऐसा करता है, या क्या कोई अच्छा कारण है कि उनमें से कोई भी क्यों नहीं करता?

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

संपादित करें: तर्कसंगत रूप से यह सर्वरफॉल्ट पर जा सकता है, लेकिन मुझे लगता है कि डेवलपर्स को शामिल मुद्दों और व्यापार-बंदों को समझने की अधिक संभावना है।

+1

एक उपयोग केस मेरे हजारों वीडियो फ़ाइलों के साथ मेरा मित्र है, जिनमें से कई अलग-अलग नामों के साथ डुप्लिकेट वीडियो हैं। वह उन सभी को हैश करने के लिए कुछ कोड लिख रहा है और यह पता लगाता है कि वही वीडियो कौन सा है, इसलिए वह डुप्लीकेट को हटा सकता है, और यह मेरे लिए हुआ कि फाइल सिस्टम उसके लिए इसे संभाला जा सकता है। – RedFilter

उत्तर

7

ZFS पिछले महीने से डिडुप्लीकेशन का समर्थन करता है।

+2

यह सोलारिस द्वारा भी समर्थित है ... – prestomation

+0

मैं एक फाइलसेवर बनाने की योजना बना रहा हूं और सोलारिस मेरी पसंद बिल्कुल जेएफएस की वजह से है। – liori

+0

जानकारी के लिए धन्यवाद! – RedFilter

2

यह अंतरिक्ष को बचाएगा, लेकिन समय लागत निषिद्ध है। जिन उत्पादों का आप उल्लेख करते हैं वे पहले से ही बाध्य हैं, इसलिए हैशिंग की कम्प्यूटेशनल लागत एक बाधा नहीं है। यदि आपने फाइल सिस्टम स्तर पर धोया है, तो सभी आईओ ऑपरेशंस जो पहले से धीमे हैं, बदतर हो जाएंगे। http://blogs.oracle.com/bonwick/en_US/entry/zfs_dedup

हालांकि मैं इस एक "आम" फाइल सिस्टम फोन नहीं होगा (afaik, यह वर्तमान में केवल * बीएसडी द्वारा समर्थित है), यह निश्चित रूप से पर देख रहे हैं लायक एक है:

+0

... प्रदर्शन के बारे में मेरा बिंदु। – jldupont

+0

लेकिन आपको सभी फ़ाइलों को हैश करने की आवश्यकता नहीं होगी, केवल वे लोग जिनके पास एक ही फ़ाइल के समान आकार था ... – RedFilter

+0

लेकिन आप कैसे जानेंगे कि एक ही आकार की एक और फाइल है? क्या आप इसे एक इंडेक्स के रूप में स्टोर करेंगे फाइल सिस्टम टेबल? फिर फ़ाइलों को जोड़ना/अपडेट करना समान आकार की फ़ाइलों के लिए खोज करने के लिए महंगा हो जाता है। तकनीकी रूप से, आप निश्चित रूप से हैश फाइलें और डुप्लिकेट का पता लगाने की कोशिश कर सकते हैं, लेकिन चूंकि आईओ पहले से ही कई ऑपरेशन के लिए रेट लिमिटर है, इसलिए मुझे यकीन नहीं है कि आप ऐसा कुछ भी कर सकते हैं जो पर्याप्त प्रदर्शन करेगा और फिर भी 100 प्रतिशत सटीक होगा। – Matt

0

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

दूसरा, फ़ाइल पर अनुमतियां अक्सर उस निर्देशिका पर आधारित होती हैं जिसमें उस फ़ाइल का नाम रखा जाता है। आपको यह सुनिश्चित करना होगा कि जब आप अपना छुपा हार्ड लिंक बनाते हैं, तो लिंक के आधार पर अनुमतियों को सही ढंग से लागू किया गया था, न केवल वास्तविक सामग्री का स्थान।

तीसरा, उन परेशान अगर वे बनाने के होने की संभावना है (माना) शारीरिक रूप से अलग मीडिया पर एक फ़ाइल के तीन प्रतियां हार्डवेयर विफलता से डेटा हानि के खिलाफ सुनिश्चित करने के लिए, तो पता लगाना वास्तव में केवल की एक प्रति नहीं थी फ़ाइल, इसलिए जब वह हार्डवेयर विफल हुआ, तो सभी तीन प्रतियां गायब हो गईं।

यह मुझे दूसरे सिस्टम प्रभाव की तरह थोड़ा सा हमला करता है - समस्या के समाधान के बाद लंबे समय तक एक समस्या का समाधान (या कम से कम मामला)। $ 100US/terabyte से कम चलने वाली हार्ड ड्राइव के साथ, मुझे यह विश्वास करना मुश्किल लगता है कि इससे अधिकांश लोगों को हार्ड ड्राइव स्पेस के पूरे डॉलर की बचत होगी। उस समय, ज्यादातर लोगों की देखभाल करने की कल्पना करना मुश्किल है।

+0

दिलचस्प, मुझे गाय के बारे में पता नहीं था। दूसरा बिंदु चिंता का विषय नहीं लगता है, क्योंकि आप सामग्री के स्थान को अनदेखा करेंगे, सभी अनुमतियां लिंक पर आधारित होंगी। तीसरे बिंदु पर, एक ही प्रतिलिपि को केवल उसी भौतिक ड्राइव पर समझ में आता है, जैसे ही कोई नई डिस्क होती है (जहां तक ​​ओएस वैसे भी बता सकता है), सामग्री की एक डुप्लिकेट प्रति की आवश्यकता होगी। – RedFilter

+0

अपना आखिरी बिंदु पुन: यह फ़ाइल आकार का मामला है, जो लगातार बढ़ रहा है। विकल्प होना अच्छा होगा, esp। क्योंकि एक फाइल सिस्टम की सामग्री जल्द ही क्लाउड फैल सकती है, इसलिए एक्सफर समय पर गणना में व्यापार-बंद इसके लायक होगा (ला लाबॉक्स)। – RedFilter

2

एनटीएफएस में single instance storage है।

+0

धन्यवाद, यहां से http://blogs.techrepublic.com.com/datacenter/?p=266, "एकल इंस्टेंस स्टोरेज को विंडोज सर्वर 2008 में भी शामिल किया जाएगा, लेकिन केवल स्टोरेज संस्करण में। सुविधा नहीं होगी अन्य संस्करणों में उपलब्ध कराया गया। " यह एक्सचेंज में भी लागू किया गया है। – RedFilter

+0

एक्सचेंज के अगले संस्करण में यह चला गया है। हालांकि यह विंडोज होम सर्वर में भी लागू किया गया है, जो नीचे Win2003 है। – blowdart

4

NetAppdeduplication का समर्थन किया है (कि क्या इसके भंडारण उद्योग में कहा जाता है) एक few years अब के लिए WAFL फाइल सिस्टम (हाँ, अपने सामान्य फाइल सिस्टम नहीं) में। यह एंटरप्राइज़ फाइल सिस्टम में आज की सबसे महत्वपूर्ण विशेषताओं में से एक है (और नेट ऐप खड़ा है क्योंकि वे अपने primary storage पर अन्य समान उत्पादों की तुलना में इसका समर्थन करते हैं जो केवल उनके बैकअप या माध्यमिक भंडारण पर समर्थन करते हैं; वे प्राथमिक के लिए बहुत धीमे हैं भंडारण)।

हजारों उपयोगकर्ताओं के साथ एक बड़े उद्यम में डुप्लिकेट डेटा की मात्रा चौंकाने वाली है। उनमें से बहुत से उपयोगकर्ता अपने घर निर्देशिकाओं में एक ही दस्तावेज़, स्रोत कोड इत्यादि स्टोर करते हैं। Reports of 50-70% data deduplicated अक्सर देखा गया है, lots of space और tons of money for large enterprises बचा रहा है।

इसका मतलब यह है कि यदि आप नेटएप फाइलर द्वारा निर्यात किए गए एलयूएन पर कोई भी सामान्य फाइल सिस्टम बनाते हैं, तो आप उस लून में फाइल सिस्टम द्वारा बनाई गई चीज़ों के मुताबिक मुफ्त में समर्पण प्राप्त करते हैं। चीयर्स। पता लगाएं कि यह here और here कैसे काम करता है।

0

btrfs ब्लॉक स्तर पर डेटा के ऑनलाइन डी-डुप्लिकेशन का समर्थन करता है। मैं एक बाहरी उपकरण की आवश्यकता के रूप में duperemove की सिफारिश करेंगे।