अमेज़न S3 के साथ RSYNC का उपयोग करना [बंद]


39

मैं हमारी ~ 100gb सर्वर छवियों का बैकअप लेने के लिए Amazon S3 का उपयोग करने में रुचि रखता हूं (जो Acronis बैकअप टूल के माध्यम से बनाया गया है)

जाहिर है, हर रात एस 3 पर अपलोड करना बैंडविड्थ और लागत के मामले में महंगा होगा। मैं S3 के साथ rsync का उपयोग करने पर विचार कर रहा हूं और s3rsync पर आया हूं। मैं सोच रहा था कि क्या किसी को भी इस का उपयोग करने का कोई अनुभव था, या कोई अन्य उपयोगिता?


1
एक चीज जो मैंने s3rsync के बारे में देखी है वह यह है कि आप वर्तमान में 10GB बकेट साइज़ (FAQ की जाँच करें) तक सीमित हैं। आपके पास कई बाल्टी हो सकती हैं, लेकिन आपको अपने डेटा को 10GB की मात्रा में विभाजित करना होगा।
दाना

जवाबों:


35

मैं हाल ही में Google पर इस थ्रेड पर ठोकर खाई और ऐसा लग रहा है कि प्रश्न पूछे जाने के बाद से परिदृश्य थोड़ा बदल गया है। यहां सुझाए गए अधिकांश समाधान या तो अब बनाए नहीं रखे गए हैं या वाणिज्यिक रूप से बदल गए हैं।

FUSE के साथ काम करने वाली कुछ निराशाओं और कुछ अन्य समाधानों के बाद, मैंने पायथन का उपयोग करके S3 और Google संग्रहण के लिए अपना स्वयं का कमांड-लाइन rsync "क्लोन" लिखने का फैसला किया।

आप GitHub पर परियोजना देख सकते हैं: http://github.com/seedifferently/boto_rsync

एक अन्य परियोजना जिसे मुझे हाल ही में अवगत कराया गया, वह है "दोहराव।" यह थोड़ा अधिक विस्तृत दिखता है और इसे यहाँ पाया जा सकता है: http://duplicity.nongnu.org/

उम्मीद है की यह मदद करेगा।

अद्यतन करें

AWS में पायथन टीम अपनी क्लाउड सेवाओं के लिए बोटो-आधारित CLI परियोजना पर कड़ी मेहनत कर रही है। शामिल किए गए औज़ारों में S3 के लिए एक इंटरफ़ेस है जो कि (और कई मायनों में सुपरसीड्स) डुप्लिकेट करता है, बोटो-rsync द्वारा प्रदान की गई अधिकांश कार्यक्षमता:

https://github.com/aws/aws-cli

विशेष रूप से, syncकमांड को rsync की तरह कार्य करने के लिए कॉन्फ़िगर किया जा सकता है:

http://docs.aws.amazon.com/cli/latest/reference/s3/sync.html


महान योगदान! धन्यवाद और मैं जल्द ही आपके कोड को एक शॉट दूंगा। क्या आपके पास अजगर / django सीखने के लिए कोई भी पढ़ना चाहिए? चीयर्स
iainlbc

S3cmd और S3sync की तुलना में आपके कार्यक्रम के क्या फायदे / अंतर हैं?
जेम्स मैकमोहन

@JamesMcMahon s3cmd / s3sync S3 के लिए अधिक पूर्ण-विशेषताओं वाला CLIs हैं (बाल्टी, सूची सामग्री आदि का प्रबंधन करें), जबकि रोटो-ट्यून कड़ाई से rimync की नकल करने का प्रयास है।
सेठ

एक s3fs फ्यूज है: github.com/s3fs-fuse/s3fs-fuse जो बहुत बढ़िया काम करता है और इसे rsync के साथ जोड़ा जा सकता है लेकिन मुझे यकीन नहीं है कि कैसे कुशलता से।
स्टेनिस्लाव

यह बहुत अच्छा होगा यदि आप बता सकते हैं कि "सिंक कमांड को rsync की तरह कार्य करने के लिए कैसे कॉन्फ़िगर किया जा सकता है"।
trusktr

10

मेरे पास S3cmd और S3sync के साथ भी अच्छी किस्मत है , जो दोनों स्वतंत्र हैं।


+1 S3cmd.- के लिए
fnkr

S3cmd में बड़े फाइलन (> 300k फाइलें) के साथ एक मुद्दा है .. यह लगभग 100g प्रति 100k काम करने वाली मेमोरी की इतनी अच्छी मात्रा में खाता है कि उस सीमा को ध्यान में रखा जा सके ..
Tuxie

7

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


4
नहीं, rsync उस तरह काम नहीं करता है। यह किसी भी फ़ाइल प्रकार के साथ काम करता है और इसे इसके सिंकिंग फ़ाइल के आंतरिक ज्ञान की कोई आवश्यकता नहीं है। इसके बजाय यह फ़ाइल के विखंडू की हैश की तुलना करता है और केवल उन विखंडनों को स्थानांतरित करता है जो अलग-अलग होते हैं। en.wikipedia.org/wiki/Rsync
एलन डोनली

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

4

मैंने कभी S3rsync की कोशिश नहीं की।

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

द्वैधता के साथ आपको S3sync के रूप में किसी अन्य सर्वर के माध्यम से जाने की आवश्यकता नहीं होगी, फिर भी यदि आप अपने डेटा को एन्क्रिप्ट करते हैं तो यह S3sync को आज़माने के लिए लायक होना चाहिए।


1

S3 में एडब्ल्यूएस आयात / निर्यात नामक एक ऐड-ऑन सेवा भी है जो आपको अपने शुरुआती 100Gb डेटा के साथ USB ड्राइव भेजने की अनुमति देती है और वे अपने डेटा केंद्रों पर कुछ बैकेंड टूल का उपयोग करके इसे S3 क्लाउड पर लोड करेंगे। एक बार जब आपका 100Gb वहां आ जाता है, तो आप हर रात के बैकअप के लिए अंतर बैकअप कर सकते हैं जो सब कुछ बदल गया है।

साइट http://aws.amazon.com/importexport/ है

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


3
आप कैसे मानते हैं कि वे 128Gb फ्लैश ड्राइव "लोड" करते हैं? मैं दुनिया का सबसे बड़ा यूएसबी हब, यूएसबी कनेक्टर के सीलिंग पैच पैनल के लिए एक मंजिल, 3/4 ग्राहक आपूर्ति फ्लैश ड्राइव से भरा हुआ हूं, सभी एक ही ब्लेड सर्वर के पीछे जा रहे हैं।
पॉल

क्या छवि है !! वास्तव में शायद दुनिया के सबसे बड़े यूएसबी हब के साथ डेटा सेंटर के एक अंधेरे कोने में कुछ गरीब आदमी अपने पीसी से जुड़ा हुआ है :)
बंदरवरी

0

आप मिनियो क्लाइंट उर्फ "एमसी" की कोशिश कर सकते हैं । एमसी अमेज़ॅन एस 3 संगत क्लाउड स्टोरेज और फाइल सिस्टम के साथ काम करने के लिए न्यूनतम उपकरण प्रदान करता है।

mc निम्नलिखित आदेशों को लागू करता है

  ls        List files and folders.
  mb        Make a bucket or folder.
  cat       Display contents of a file.
  pipe      Write contents of stdin to one or more targets. When no target is specified, it writes to stdout.
  share     Generate URL for sharing.
  cp        Copy one or more objects to a target.
  mirror    Mirror folders recursively from a single source to many destinations.
  diff      Compute differences between two folders.
  rm        Remove file or bucket [WARNING: Use with care].
  access    Manage bucket access permissions.
  session   Manage saved sessions of cp and mirror operations.
  config    Manage configuration file.
  update    Check for a new software update.
  version   Print version.

आप अपना ऑपरेशन करने के लिए मिरर कमांड का उपयोग कर सकते हैं। "लोकलर्ड" स्थानीय निर्देशिका और एस 3 [अमेज़ॅन एस 3 के लिए उपनाम] और एस 3 में आपकी बाल्टी का "रिमोटडिर" नाम है।

$ mc mirror localdir/ S3/remoteDir

आप उसी के लिए क्रोनजॉब भी लिख सकते हैं। इसके अलावा, नेटवर्क के खराब होने की स्थिति में आप उस विशेष समय से अपलोड को पुनः आरंभ करने के लिए "$ mc सत्र" का उपयोग कर सकते हैं।

पुनश्च: मैं minio परियोजना में योगदान देता हूं और आपकी प्रतिक्रिया और योगदान प्राप्त करना पसंद करूंगा। आशा करता हूँ की ये काम करेगा।


-1

नया जंगल डिस्क सर्वर संस्करण (बीटा) आपके लिए उपयोगी हो सकता है। इसमें ब्लॉक-ले-डे-डुप्लीकेशन है, इसलिए यदि आपकी Acronis छवियों में कुछ भी सामान्य है, तो इससे आपको बैकअप की आवश्यकता की मात्रा बहुत कम हो जाएगी। सर्वर बैकअप के लिए सुविधाएँ एकदम सही हैं। जारी नोटों की जाँच करें।

मैं दो हफ्तों के लिए बीटा का परीक्षण कर रहा हूं और, जीयूआई के साथ कुछ छोटे मुद्दों से अलग है कि मुझे यकीन है कि फाइनल में तय किया जाएगा, उत्पाद के बारे में उत्साहित हूं।

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