ZFS सिंक अविश्वसनीय, धीमी WAN से अधिक है। ZFS प्रतिकृति, या rsync?


10

मुझे WAN पर एक ऑफ-साइट बैकअप कार्य करने का काम सौंपा गया है। दोनों स्टोरेज बॉक्स FreeBSD आधारित NAS बॉक्स हैं जो ZFS चल रहे हैं।

सप्ताह में एक या दो बार, 15-60 गीगा फोटोग्राफी डेटा कार्यालय एनएएस को डंप हो जाता है। मेरा काम यह पता लगाना है कि इस डेटा को साइट से कैसे प्राप्त किया जा सकता है, जितना संभव हो सके बहुत कम DSL कनेक्शन (~ 700Kb / s अपलोड) का उपयोग करके। प्राप्त बॉक्स बहुत बेहतर आकार में है, 30Mb / s डाउन, 5Mb / s ऊपर।

मुझे पता है, हार्ड ड्राइव को ऑफ-साइट ले जाने से डेटा बहुत तेज़ी से आगे बढ़ेगा, लेकिन यह इस मामले में एक विकल्प नहीं है।

मेरे विकल्प या तो प्रतीत होते हैं:

  • ZFS वृद्धिशील ssh पर भेजें
  • rsync

rsync एक समय सम्मानित समाधान है, और किसी चीज़ को बाधित होने पर भेजने को फिर से शुरू करने की सभी महत्वपूर्ण क्षमता है। यह कई फ़ाइलों पर पुनरावृत्ति करने और डेडअप के बारे में नहीं जानने का नुकसान है।

ZFS स्नैपशॉट भेजना थोड़ा कम डेटा स्थानांतरित कर सकता है (यह फ़ाइल सिस्टम के बारे में बहुत अधिक जानता है, डिडअप कर सकता है, मेटाडेटा परिवर्तन को rsync से अधिक कुशलता से पैकेज कर सकता है) और केवल कॉपी करने के बजाय फाइल सिस्टम को ठीक से नकल करने का लाभ है व्यक्तिगत रूप से फ़ाइलें (जो अधिक डिस्क गहन है)।

मैं ZFS प्रतिकृति प्रदर्शन के बारे में चिंतित हूं [1] (हालांकि यह लेख एक वर्ष पुराना है)। मैं इस बात से भी चिंतित हूं कि यदि कुछ नीचे जाता है तो हस्तांतरण को फिर से शुरू करने में सक्षम है - स्नैपशॉट की क्षमता इसमें शामिल नहीं है। पूरे सिस्टम को पूरी तरह से हाथों-हाथ लेने की जरूरत है।

[१] http://wikitech-static.wikimedia.org/articles/z/f/s/Zfs_replic.html

किसी भी विकल्प का उपयोग करते हुए, मुझे ट्रैफ़िक को डी-प्रायोरिटी में निर्दिष्ट पोर्ट के माध्यम से रूट करने में सक्षम होना चाहिए, फिर राउटर पर क्यूओएस का उपयोग करना चाहिए। मुझे प्रत्येक हस्तांतरण के दौरान दोनों साइटों पर उपयोगकर्ताओं पर एक बड़े नकारात्मक प्रभाव से बचने की आवश्यकता है, क्योंकि इसमें कई दिन लगेंगे।

इसलिए ... इस मुद्दे पर मेरी सोच है। क्या मैंने कोई अच्छा विकल्प याद किया है? क्या किसी और ने भी कुछ ऐसा ही सेट किया है?


पर विचार करें यूनिसन
sampablokuper

जवाबों:


8
  1. यदि आप प्रति दिन अधिकतम 6GB (शून्य ओवरहेड और शून्य प्रतिस्पर्धी ट्रैफ़िक मानकर) स्थानांतरित कर सकते हैं और आपको "15-60 गिग्स" को "प्रति सप्ताह एक या दो बार" की आवृत्ति पर स्थानांतरित करने की आवश्यकता है, जो 15-120 तक काम करता है प्रति सप्ताह जीबी, या प्रति दिन 2-17 जीबी से कहीं भी। क्योंकि चोटी की मांग के लिए योजना बनाना आवश्यक है, और 17 जीबी आपके सैद्धांतिक अधिकतम 6 जीबी से भी अधिक है , यह संभावना है कि आपको बहुत गंभीर बैंडविड्थ समस्या है। कनेक्शन को अपग्रेड करने में क्या लगेगा? यदि कनेक्शन अपग्रेड करना असंभव है, तो कृपया निर्धारित आधार (जैसे साप्ताहिक) पर भौतिक मीडिया को मेल करने के विकल्प पर विचार करें।

  2. यह मानते हुए कि आप बैंडविड्थ गणित को थोड़ा और अधिक समझ बनाने के लिए प्राप्त कर सकते हैं, rsync सबसे अच्छा विकल्प होने की संभावना है। अत्यधिक अनावश्यक डेटा (जैसे वर्चुअल मशीन चित्र) की नकल करते समय डेडुप्लिकेशन जागरूकता बेहद मूल्यवान होगी, लेकिन जब यह अद्वितीय डिजिटल सामग्री (ऑडियो, वीडियो, फ़ोटो) की बात आती है तो इसका बहुत कम या कोई लाभ नहीं होना चाहिए ... जब तक कि, बेशक, उपयोगकर्ता अनजाने में समान फ़ाइलों की डुप्लिकेट प्रतियां संग्रहीत करना।


मुझे लगता है कि मैं उपलब्ध बैंडविड्थ का उपयोग कर सकता हूं, और अधिकांश डेटा डंप सीमा के छोटे छोर की ओर जाते हैं। व्यावहारिक रूप से, डेटा के पिछले महीने से देखते हुए, यह एक दिन के औसत से लगभग 2-3 गिग होने वाला है। मुझे तुरंत प्रतिकृति की आवश्यकता नहीं है।
पॉल मैकमिलन

और हाँ, भौतिक मीडिया को मेल करना कहीं बेहतर है ... काश यह एक विकल्प होता।
पॉल मैकमिलन

डिडअप के बारे में अच्छी बात है। जो चीज कॉपी हो जाती है, उसमें से अधिकांश को डुप्लिकेट नहीं किया जाएगा - उपयोगकर्ता काफी घने नहीं हैं।
पॉल मैकमिलन

1
केवल एक चीज जो मैं जोड़ूंगा वह है शायद rsync का उपयोग न करना। मुझे भी rsync की सुस्ती का अनुभव हुआ क्योंकि मैं इसे ट्रांसफर प्रक्रिया के रूप में उपयोग कर रहा था, सिंक प्रक्रिया के लिए नहीं। तब मुझे एहसास हुआ कि मेरे अधिकांश मौजूदा डेटा में बदलाव नहीं हुआ है और केवल नए डेटा की प्रतिलिपि बनाने की आवश्यकता है, मेरे लिए, मैंने केवल नई फ़ाइलों पर cp का उपयोग किया और यह बहुत तेज था। अगर मेरे पास ऐसी फाइलें थीं जो बदल गईं (या केवल फाइलों के कुछ हिस्से) तो मैं rsync का उपयोग करूंगा। इसलिए मैं नई फ़ाइलों को अलग करने और फिर से शुरू करने योग्य स्थानांतरण पद्धति चुनने का सुझाव देता हूं। इसके अलावा, संपीड़न एक सीपीयू और रैम / बैंडविड्थ ट्रेड-ऑफ (दोनों सिरों पर) होगा।
स्कॉट मैकक्लेनिंग

हम्म ... मैंने पढ़ा है कि उचित कॉन्फ़िगरेशन के साथ, rsync को अपेक्षाकृत जल्दी जाने के लिए बनाया जा सकता है। आपने कितना अनुकूलन का प्रयास किया?
पॉल मैकमिलन

13

कुछ शोध करने के बाद मेरा मानना ​​है कि आप स्नैपशॉट भेजने के बारे में सही हैं। ZFS SENDऔर RECEIVEकमांड को bzip2 में पाइप किया जा सकता है और फिर उस फाइल को rsync-ed को दूसरी मशीन में डाला जा सकता है।

यहाँ कुछ स्रोतों का उपयोग किया गया है:

मुझे प्रतिकृति स्क्रिप्ट वाली कोई पोस्ट नहीं मिली, लेकिन मुझे ऐसा कोई व्यक्ति मिला जिसने उनकी बैकअप स्क्रिप्ट पोस्ट की हो । उस ने कहा, मुझे यह समझ नहीं आया कि यह कबाड़ हो सकता है।

कई वेबसाइट ने अक्सर ऐसा करने के लिए क्रॉन जॉब स्थापित करने की बात की। यदि यह मामला है, तो आप बैंडविड्थ और उपयोगकर्ताओं को कम प्रभाव के साथ / बैकअप को दोहरा सकते हैं और एक अच्छा आपदा वसूली सुविधा हो सकते हैं क्योंकि ऑफ़साइट डेटा अधिक अद्यतित है। (जब आरंभ हो रहा है तो डेटा के प्रारंभिक भाग के बाद।)

फिर, मुझे लगता है कि आप सही विचार स्नैपशॉट भेजने वहाँ का उपयोग करने के फायदे का एक बहुत हो रहा है था SEND/ RECEIVE

संपादित करें: बस एक देखा video1 video2 मई suports मदद करता है कि के उपयोग SEND/ RECEIVEऔर rsync के बारे में बातचीत (3m49s में शुरू होता है)। बेन रॉकवुड वक्ता थे और यहां उनके ब्लॉग की एक कड़ी है ।


1
मुझे लगता है कि वास्तविक फ़ाइल भिन्नता के बजाय rsync का उपयोग रोक / फिर से शुरू करने की कार्यक्षमता तक सीमित है। यह समझ में आता है, क्योंकि फ़ाइल सिस्टम खुद (और यह परिवर्तन फ़ाइलें उत्पन्न करता है) rsync से बेहतर जानता है कि क्या हो रहा है।
Mc में पॉल मैकमिलन

एक अतिरिक्त नोट के रूप में: ZSTD, gzip और bzip के लिए एक आधुनिक तेज प्रतिस्थापन, कई थ्रेड्स, और अधिक संपीड़न संपीड़न स्तरों का समर्थन करता है। इसमें एक योगदानित वैकल्पिक सुविधा भी है जिसे 'अनुकूली संपीड़न' कहा जाता है। इस मोड के साथ, समय को बचाने के लिए जितना संभव हो उतना कम्प्रेशन करते हुए, नेटवर्क पाइप को पूर्ण रखने के लिए कम्प्रेशन स्तर को स्वचालित रूप से ऊपर और नीचे ट्यून किया जाता है। यह आपको इतना कम्प्रेशन करने से रोकता है कि यह एक अड़चन बन जाता है, या आपके द्वारा की जा रही कम्प्रेशन से गायब हो जाता है क्योंकि नेटवर्क बहुत धीमा है।
एलन जूड

2

बैकअप का उद्देश्य क्या है और उन्हें एक्सेस करने की आवश्यकता कैसे होगी?

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

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

Rsync के साथ आप --backup फ़्लैग का उपयोग उन फ़ाइलों के बैकअप को संरक्षित करने के लिए कर सकते हैं जिन्हें बदल दिया गया है, और --suffix फ़्लैग के साथ आप यह नियंत्रित कर सकते हैं कि पुराने संस्करणों का नाम कैसे बदला जाए। इससे एक बैकअप बनाना आसान हो जाता है, जहाँ आप पुराने संस्करणों की फ़ाइलों को पसंद कर सकते हैं

file_1.jpg
file_1.jpg.20101012
file_1.jpg.20101008
etc.

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

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


2

ZFS को um रेज़्युमेबल सेंड ’फीचर प्राप्त करना चाहिए, जो इस वर्ष के मार्च के आसपास कुछ समय के लिए बाधित रुकावट को जारी रखने की अनुमति देगा। मैट अहरेंस और कुछ अन्य लोगों द्वारा इस सुविधा को पूरा किया गया है, और जल्द ही ऊपर की ओर होना चाहिए।


बस कुछ समय के लिए 'resumable send' OpenZFS (FreeBSD, Linux, MacOS इत्यादि पर) में है। अब एक 'कंप्रेस्ड सेंड' फीचर भी है, जहां डेटा डिस्क के स्ट्रीम के रूप में डिस्क पर होने के साथ ही कंप्रेस्ड रहेगा।
एलन जूड

0

शायद वान संपीड़न डिवाइस एक समाधान होगा ...? हम रिवरबेड का उपयोग करते हैं और हम उनके साथ काफी खुश हैं (उदाहरण के लिए नेटएप स्नैप मिरर को बहुत अच्छी तरह से संपीड़ित किया जा रहा है, 80-90% तक)

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