Amazon S3 पर संग्रहीत डेटा का बैकअप लेना


16

मेरे पास एक EC2 उदाहरण है जो एक वेब सर्वर चला रहा है जो उपयोगकर्ताओं की अपलोड की गई फ़ाइलों को S3 में संग्रहीत करता है। फ़ाइलों को एक बार लिखा जाता है और कभी नहीं बदलता है, लेकिन उपयोगकर्ताओं द्वारा कभी-कभी पुनर्प्राप्त किया जाता है। हम संभवतः प्रति वर्ष लगभग 200-500GB डेटा जमा करेंगे। हम यह सुनिश्चित करना चाहेंगे कि यह डेटा सुरक्षित है, विशेष रूप से आकस्मिक विलोपन से और इस कारण से हटाए गए फ़ाइलों को पुनर्स्थापित करने में सक्षम होना चाहेंगे।

मैंने S3 बाल्टियों के लिए संस्करण की सुविधा के बारे में पढ़ा है, लेकिन मैं यह पता नहीं लगा सकता कि कोई संशोधन इतिहास वाली फ़ाइलों के लिए वसूली संभव है या नहीं। संस्करण पर यहाँ AWS डॉक्स देखें:

http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectVersioning.html

उन उदाहरणों में, वे उस परिदृश्य को नहीं दिखाते हैं जहाँ डेटा अपलोड किया गया है, लेकिन कभी संशोधित नहीं किया गया और फिर हटा दिया गया। क्या इस परिदृश्य में फ़ाइलें पुनर्प्राप्त करने योग्य हैं?

फिर, हमने सोचा कि हम ऑब्जेक्ट जीवनचक्र प्रबंधन का उपयोग करके ग्लेशियर के लिए S3 फ़ाइलों का बैकअप ले सकते हैं:

http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html

लेकिन, ऐसा लगता है कि यह हमारे लिए काम नहीं करेगा, क्योंकि फ़ाइल ऑब्जेक्ट को ग्लेशियर में कॉपी नहीं किया गया है, लेकिन ग्लेशियर में ले जाया गया है (अधिक सटीक रूप से ऐसा लगता है कि यह एक ऑब्जेक्ट विशेषता है जिसे बदल दिया गया है, लेकिन फिर भी ...)।

तो ऐसा लगता है कि S3 डेटा का बैकअप लेने का कोई सीधा तरीका नहीं है, और S3 से स्थानीय सर्वर पर डेटा स्थानांतरित करना समय लेने वाला हो सकता है और समय के साथ महत्वपूर्ण हस्तांतरण लागत को लागू कर सकता है।

अंत में, हमने सोचा कि हम हर महीने एक मासिक पूर्ण बैकअप के रूप में सेवा करने के लिए एक नई बाल्टी बनाएंगे, और मूल बाल्टी के डेटा को नए दिन 1 पर कॉपी करेंगे। फिर कुछ नकल ( http://duplicity.nongnu.org/) का उपयोग कर ) हम हर रात बैकअप बाल्टी सिंक्रनाइज़ करेंगे। महीने के अंत में हम ग्लेशियर भंडारण में बैकअप बाल्टी की सामग्री डालेंगे, और मूल बाल्टी की एक नई, वर्तमान प्रति ... और इस प्रक्रिया को दोहराते हुए एक नया बैकअप बाल्टी बनाएँ। ऐसा लगता है कि यह काम करेगा और स्टोरेज / ट्रांसफर कॉस्ट को कम करेगा, लेकिन मुझे यकीन नहीं है कि अगर डुप्लिकेट बाल्टी-टू-बकेट को सीधे कंट्रोलिंग क्लाइंट के लिए डेटा लाए बिना ट्रांसफर कर देता है।

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

अग्रिम में आप प्रदान कर सकते हैं किसी भी जानकारी के लिए धन्यवाद!

अपडेट करें

अमेज़ॅन ने हाल ही में घोषणा की कि संस्करण अब जीवन चक्र नियमों के साथ काम करता है


aws.amazon.com/blogs/aws/archive-s3-to-glacier/… + नीचे ग्लेशियर के लिए s3 की व्याख्या करते हुए नीचे अच्छा यूट्यूब वीडियो है
समकक्ष 8

जवाबों:


10

मैंने S3 बाल्टियों के लिए संस्करण की सुविधा के बारे में पढ़ा है, लेकिन मैं यह नहीं जान सकता कि कोई संशोधन इतिहास वाली फ़ाइलों के लिए पुनर्प्राप्ति संभव है या नहीं। > संस्करण पर AWS डॉक्स यहां देखें:

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

फिर, हमने सोचा कि हम ऑब्जेक्ट जीवनचक्र> प्रबंधन का उपयोग करके ग्लेशियर के लिए S3 फ़ाइलों का बैकअप ले सकते हैं:

लेकिन, ऐसा लगता है कि यह हमारे लिए काम नहीं करेगा, क्योंकि फ़ाइल ऑब्जेक्ट को ग्लेशियर में कॉपी नहीं किया गया है लेकिन> ग्लेशियर में ले जाया गया है (अधिक सटीक रूप से ऐसा लगता है कि यह एक ऑब्जेक्ट विशेषता है जिसे बदल दिया गया है, लेकिन> फिर भी ...)।

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

अंत में, हमने सोचा था कि हम हर महीने एक मासिक पूर्ण बैकअप के रूप में सेवा करने के लिए एक नई बाल्टी बनाएंगे, और मूल बाल्टी के डेटा को नए दिन 1 पर कॉपी करेंगे। फिर डुप्लिकेटिटी ( http: //duplicity.nongnu) की तरह कुछ का उपयोग कर । org / ) हम हर रात को बैकअप बकेट को सिंक्रनाइज़ करेंगे।

ऐसा न करें, आपके पास प्रति खाते केवल 100 बाल्टियाँ हो सकती हैं, इसलिए 3 वर्षों में आपने अपने बकेट भत्ते का एक तिहाई हिस्सा सिर्फ बैकअप के साथ लिया होगा।

इसलिए, मुझे लगता है कि यहां कुछ युगल प्रश्न हैं। सबसे पहले, क्या S3 संस्करण उन फ़ाइलों की पुनर्प्राप्ति की अनुमति देता है जिन्हें कभी संशोधित नहीं किया गया था?

हाँ

क्या S3 से ग्लेशियर के लिए "कॉपी" फाइल करने का कोई तरीका है जिसे मैंने याद किया है?

मेरी जानकारी में नहीं


धन्यवाद सिरेक्स, एक स्पष्टीकरण: हमारा इरादा केवल एक समय (वर्तमान माह) में एक बैकअप बाल्टी रखने का है, और पिछले महीने के ग्लेशियर के बैकअप को संग्रहित करना है, और फिर कुछ सामान्य अवधारण नीति पर ग्लेशियर प्रतियां हटाएं (प्रत्येक माह 3 महीने के बाद) एक वर्ष के लिए त्रैमासिक)। क्या आपको लगता है कि यह संभव है, या इस रणनीति को रोकने के लिए कुछ अन्य एडब्ल्यूएस सीमा है?
Fiver

हम्म, मुझे लगता है कि उचित है। मैंने कोशिश नहीं की है कि गुस्से में (या उस मामले के लिए ग्लेशियर, हम सिडनी का उपयोग करते हैं और यह तब उपलब्ध नहीं था जब हमने इसे देखा था)
Sirex

3

मुझे एस 3 माउंट करना पसंद नहीं है, क्योंकि इसकी गति धीमी हो सकती है और पुराने स्कूल एनएफएस की तरह लटका और प्रदर्शन कर सकता है। जरूरत के अनुसार बस ऊपर / नीचे करना बेहतर है।

http://s3tools.org/s3cmd

इसकी आसान स्क्रिप्ट ... अपनी ~ / .s3cfg फ़ाइल को न भूलें


वाह, यह अच्छा लग रहा है!
जेकगॉल्ड

@nandoP +1 मैंने s3cmd का उपयोग करने और अपने स्वयं के रोल करने के बारे में सोचा था
Fiver

1

लगता है जैसे आपको S3FS की आवश्यकता हो सकती है जो मूल रूप से आपके S3 बाल्टियों को मापता है जैसे कि वे स्थानीय फ़ाइल सिस्टम थे:

http://code.google.com/p/s3fs/wiki/FuseOverAmazon

मैं इस forked संस्करण का उपयोग करना पसंद करता हूं क्योंकि यह वही फ़ोल्डर संरचना रखता है जो Amazon S3 के लिए वेब कंट्रोल पैनल में बनाई गई है:

https://github.com/tongwang/s3fs-c

तब मेरे पास कुछ शेल स्क्रिप्ट हैं जो मूल रूप rsyncसे डेटा को मेरे स्थानीय सेटअप में सिंक करने के लिए उपयोग करते हैं।

सामान्य तौर पर, मुझे लगता है कि S3FS अमेज़ॅन S3 बाल्टी के भीतर रखी गई सामग्री को पढ़ने के लिए सबसे अच्छा काम करता है। लेखन उतना सुसंगत नहीं है। लेकिन S3 बाल्टी का समर्थन करने के प्रयोजनों के लिए, S3FS का टोनी वांग कांटा महान काम करता है।


1
यह उपयोगी लगता है। क्या यह मुवक्किल को डाउनलोड किए बिना, सीधे बाल्टियों के बीच स्थानांतरण करता है?
फाइवर

संभवतः हाँ। मैं मुख्य रूप से इसका उपयोग स्थानीय सर्वर और हमारी स्थानीय मशीनों पर बैकअप के लिए करता हूं। लेकिन चूंकि इसमें लिखने की क्षमता है, इसलिए मैं इसे बाल्टी के बीच डेटा में फेरबदल करने के लिए "जाने के बीच" के रूप में उपयोग करने से इनकार नहीं करूंगा। मूल रूप से एक मध्यस्थ मशीन पर, एक माउंट बिंदु पर एक बाल्टी माउंट करें। फिर दूसरे माउंट प्वाइंट के रूप में दूसरी बाल्टी को माउंट करें। और फिर बस एक rsync करें। लेकिन जैसा कि मैंने कहा, अमेज़ॅन एस 3 के साथ संशोधन के समय / तिथियां अजीब हो सकती हैं क्योंकि यह वास्तव में एक फ़ाइल सिस्टम नहीं है। लेकिन प्रयोग करो।
जेकगोल्ड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.