btrfs- सक्षम बैकअप समाधान


14

इस महीने ओरेकल ईएल 14 वें में btrfs के उत्पादन के साथ (लिनक्स 3.2 से काम करने वाली fsck और स्क्रबिंग के साथ) मैं इसका उपयोग करने के लिए अपने वर्तमान बैकअप समाधान को फिर से डिज़ाइन करने के बारे में सोच रहा था। ध्यान दें कि मैं इसे छोटी मात्रा में डेटा के लिए करने के बारे में सोच रहा हूं, 10TB से कम, यह काफी स्थिर है (दैनिक 1% से कम परिवर्तित)। संक्षेप में एक SMB / SOHO बैकअप समाधान।

बैकअप क्या करना चाहिए:

  1. उत्पादन सर्वर पर ext [234] / XFS / JFS का LVM स्नैपशॉट करें
  2. rsync/ बैकअप सर्वर पर btrfs के लिए परिवर्तित डेटा स्थानांतरण
  3. btrfs फाइल सिस्टम को स्नैपशॉट दें
  4. पुराने स्नैपशॉट को छोड़ दें जब खाली स्थान कम चल रहा हो

पेशेवरों:

  • सभी फ़ाइलें आसानी से उपलब्ध हैं, कोई अपघटन या लूप बढ़ते की आवश्यकता नहीं है
  • पिछले स्नैपशॉट भी आसानी से उपलब्ध ...
  • ... तो मैं उन्हें केवल सांबा शेयरों (छाया प्रति समर्थन के साथ) के रूप में साझा कर सकता हूं
  • स्नैपशॉट, कॉपी-ऑन-राइट की बदौलत कम से कम जगह लेते हैं (स्नैपशॉट बिना बदलाव डिस्क पर शाब्दिक रूप से कुछ KiB लगते हैं)
  • उच्च बैकअप स्थिरता: फाइलों पर चेकसम, सभी डेटा की स्क्रबिंग और अंतर्निहित अतिरेक

प्रशन:

  • क्या कुछ बैकअप समाधान (बकुला, बैकअपपीसी आदि के रूप में) है, या आसानी से बनाया जा सकता है, कॉपी-ऑन-राइट फ़ाइल सिस्टम के बारे में पता है?
  • या क्या मुझे इन-होम rsyncसमाधान का उपयोग करने की आवश्यकता होगी ?
  • बैकअप के लिए समर्पित ZFS बक्से वाले लोग अपने लिनक्स मशीनों का बैकअप लेने के लिए क्या करते हैं?

देख नहीं सकते cons! उनमें से एक यह होगा कि Btrfs स्नैपशॉट केवल वृद्धिशील बैकअप (डिस्क पर आपकी फ़ाइल के प्रति बैकअप कोई भौतिक प्रतिलिपि नहीं) के बराबर हैं। जब डिस्क की सतह के मुद्दों का सामना करना महत्वपूर्ण हो सकता है। ध्यान दें कि आप Btrfs में शामिल देशी RAID1 समर्थन के साथ एक दोहराव के लिए बाध्य कर सकते हैं।
वाब

1
@vaab: यह एक pro- दो से अधिक प्रतियां वास्तव में जरूरत नहीं हैं अगर आप चेकसम प्राप्त कर चुके हैं और सक्रिय रूप से एफएस को स्क्रब करते हैं, तो तीन संभवतः RAID6 समर्थन के साथ आएंगे। जैसा कि मैंने कहा है, यह समर्पित बैकअप सिस्टम के लिए एक सेटअप है, सिंगल कंप्यूटर पर FS के अंदर "बैकअप" प्रतियां नहीं। यह "RAID बैकअप नहीं है" और "स्नैपशॉट बैकअप नहीं हैं" होगा। cp -aऔर उसके rsyncलिए ...
ह्यूबर्ट करियो

मैं btrfs का समर्थन करने पर भी विचार कर रहा हूं, लेकिन मैं सिर्फ यह सोच रहा था कि rsync -a --delete /home/user /mnt/butterfs/backups/ && snapper create- बैक-अप करने के बाद एक स्नैपशॉट बनाने के अलावा, आपको गाय-जागरूक से क्या मतलब है?
अनहमर

1
@unhammer: rsyncबिना --inplaceदूरस्थ फ़ाइल सिस्टम में आपको एक ही डेटा की कई प्रतियाँ मिलेंगी। (rsync आम तौर पर डेटा को एक अस्थायी छिपी हुई फ़ाइल में कॉपी करता है और फिर इसे पुरानी फ़ाइल पर ले जाता है, कॉपी-ऑन-राइट फ़ाइल सिस्टम के साथ आपको अपरिवर्तित डेटा पर इस तरह से दो प्रतियां मिलती हैं)
ह्यूबर्ट करियो

जवाबों:


5

मैंने पिछले सप्ताह में कुछ इसी तरह की खोज की है। मुझे सभी 4 चरणों को करने का कोई समाधान नहीं मिला है। घर के उपयोगकर्ताओं के कई ब्लॉग हैं जो बैकअप के ' rsync से btrfs ' -Type की कोशिश करते हैं , और सभी प्रमुख Btrfs विकी कवर करते हैं कि Btrfs स्नैपशॉट कैसे निष्पादित करें।

काफी लोग ऐसे भी हैं जो Btrfs के स्नैपशॉट को घुमाने के विभिन्न तरीकों का प्रयास कर रहे हैं । हालाँकि, आप पहले व्यक्ति हैं, जिन्होंने डिस्क स्थान के आधार पर स्नैपशॉट को घुमाना चाहते हैं। मैं खुद btrfs-Snap के साथ खेल रहा हूं जो प्रति घंटा, साप्ताहिक और मासिक स्नैपशॉट का एक सेट बनाता है, और यह अच्छा और सरल है।

Dirvish परियोजना में अपनी आवश्यकताओं के कई पूरा करने के लिए लगता है। कुछ डेवलपर्स Btrfs के साथ डिर्विश को एकीकृत करने का प्रयास कर रहे हैं । हालांकि, डर्विश प्रोजेक्ट थोड़ा ठप लग रहा है

इस समय, आप वक्र से आगे हैं।


ठीक है, मैं सिर्फ एक बैकअप समाधान चाहता हूं जैसे कि बैकअपपीसी के रूप में दर्द मुक्त: जब डिस्क स्थान कम होता है, तो यह पुराने डेटा (पुराने स्नैपशॉट) को हटा देता है। जबकि मुझे डर था कि मैं वक्र से आगे हूं, ऐसा नहीं है कि ZFS पिछले कुछ सालों से हमारे साथ नहीं है ...
हबर्ट करियो

3

एवी मिलर के अनुसार (LinuxConf.AU के दौरान उनकी बात) एक btrfs सेंड / रिसीव पर काम किया जा रहा है। यह rsync की तुलना में तेज़ होगा क्योंकि इसे फ़ाइलों में परिवर्तन खोजने के लिए निर्देशिकाओं के माध्यम से पार करने की आवश्यकता नहीं है .. मुझे नहीं पता कि क्या अभी तक एक अपेक्षित रिलीज की तारीख है।

हालाँकि, btrfs-progs में निर्मित एक उपयोगिता है जो स्नैपशॉट / आदि के बीच बदल गई हर फ़ाइल को सूचीबद्ध करता है .. btrfs सबवोल्यूम खोज-नया


2
मैं बैकअप करना चाहते करने के लिए btrfs, नहीं से ...
हुबर्ट करिओ

2

मैं एक बैकअप बैकअप की तरह OS बैकअप सिस्टम पर काम कर रहा हूँ। मैंने इस बारे में सोचा है। जो मुझे वास्तव में लागू करने से रोक रहा है, वह यह है कि आप सबवोल्यूम के बीच कड़ी नहीं कर सकते। आप केवल सबवूम्स का स्नैपशॉट भी बना सकते हैं -> प्रति बैकअप क्लाइंट में एक सबवोल्यूम। इस प्रकार फाइल लेवल डिडुप्लीकेशन फीचर इस अप्रोच के साथ सह-अस्तित्व नहीं रख सकता है। और उस फ़ाइल स्तर की कटौती आमतौर पर बहुत सी जगह बचाती है। क्या आप केवल एक सर्वर का बैकअप लेना चाहते हैं?

अगर btrfs में ब्लॉक लेवल डिडुप्लीकेशन होता है तो इस समस्या से बचा जा सकता है, लेकिन आमतौर पर यह उतना ही धीमा है ...

फिर ऐसा दृष्टिकोण निश्चित रूप से एक फाइलसिस्टम (btrfs) के साथ एक तंग एकीकरण प्रदान करेगा, इसलिए यह एक वैकल्पिक सुविधा होनी चाहिए।

मैं पूछ रहा हूं क्योंकि मैं इस तरह की गाय की विशेषता को जोड़ने के बारे में सोच रहा हूं, लेकिन यह नहीं जानता कि क्या मुझे ऊपर सूचीबद्ध कमियों के कारण होना चाहिए।

संपादित करें: UrBackup Linux के कर्नेल> = 3.6 (क्रॉस वॉल्यूम रीफ़्लिंक के साथ) के साथ अब प्रश्न में descibed के रूप में बैकअप का समर्थन करता है। इसे सेट करने का तरीका देखें


1
क्रॉस-सबवॉल्म रिफलिंक कॉपी (एक अर्ध-हार्डलिंक द्वारा किया गया cp --reflink) या तो पहले से ही लागू है या निकट भविष्य में लागू किया जाएगा। एफएस में ऑनलाइन डी-डुप्लीकेशन या तो धीमा है (कमतर) या फिर भारी मात्रा में रैम (जेडएफएस) की जरूरत है, इसलिए इसके आधार पर बैकअप सॉफ्टवेयर में वास्तव में एक खराब सुविधा होगी। किसी भी तरह से, btrfs- ओरिएंटेड बैकअप सॉफ़्टवेयर में एक बड़ा दर्शक वर्ग होगा, यह अगले ext3 माना जाता है।
ह्यूबर्ट करियो

एक और बात: आप सभी सर्वरों को एक सबवोल्यूम में रखकर इस समस्या को हल कर सकते हैं - आप स्नैपशॉट क्षमता को संरक्षित करते हुए उनके बीच की प्रतिलिपि को रीलिंक कर सकते हैं। आपको केवल कटौती करने के बाद स्नैपशॉट देना है, आप केवल एक ही सर्वर को बैकअप करने के बाद भी स्नैपशॉट कर सकते हैं! यदि आप बैकअप एक बार में करते हैं तो बैकअप अधिक स्थान नहीं लेगा। वैकल्पिक रूप से आप सभी सर्वरों का बैकअप ले सकते हैं, घटा सकते हैं और उसके बाद ही स्नैपशॉट ले सकते हैं। इस तरह आप एक ही समय में कुछ सर्वर का बैकअप ले सकते हैं।
ह्यूबर्ट करियो

आप सही हे। ऐसा नहीं सोचा था। सुविधा के लिए आप फिर दूसरे वॉल्यूम में सही स्नैपशॉट के लिए सहानुभूति रख सकते हैं। मैंने क्रॉस-वॉल्यूम हार्डलिंक (या --reflink) के लिए एक पैच भी देखा था, लेकिन ऐसा नहीं लग रहा था कि यह इसे बनाया है / या इसे मेनलाइन पर बना देगा। मैं वास्तव में उस पर गौर करूंगा! अब आप शायद ssh पर अपने बैकअप करते हैं। मेरी परियोजना स्थानीय नेटवर्क के लिए विशिष्ट है ... (ऑटो खोज और इतने पर)
उरनी

हाँ, पैच जीवित है और काम कर रहा है, दुर्भाग्य से मेनलाइन में नहीं है, मुझे नहीं पता कि क्यों। मैं क्रिस मेसन को इसके बारे में बताने की कोशिश कर रहा हूं। अपनी परियोजना के लिए, मुझे एक लाइन छोड़ने के लिए स्वतंत्र महसूस करें, मैं ख़ुशी से इसे (समय की अनुमति) का बीटा-परीक्षण करूँगा। यह निश्चित रूप से दिलचस्प लगता है।
ह्यूबर्ट करियो

अंत में वह पैच मेनलाइन लिनक्स कर्नेल 3.6 में उतरा। क्रॉस-डिवाइस रीफ्लिंक के साथ यह वास्तव में उतना काम नहीं था। मैंने इसके बारे में यहाँ लिखा है: urbackup.org/blog/?p=83 यह कोड git रिपॉजिटरी में "अगली" शाखा में है। मैं अभी इसका परीक्षण कर रहा हूं।
२१

1

Btrfs wiki पेज " Use Cases " कुछ टूल्स को सूचीबद्ध करता है: SnapBtr , Snapper, btrfs-time-machine, UrBackup।

ऑटोसनैप नामक एक अंतर्निहित टूल के लिए एक प्रस्ताव है :

ऑटोस्नाप सुविधा का उपयोग करके, आप नियमित या ईवेंट आधारित स्नैपशॉट लेने के लिए btrfs को कॉन्फ़िगर कर सकते हैं और स्नैपशॉट को स्वचालित रूप से प्रबंधित कर सकते हैं।

ऑटोसनैप केवल स्नैपशॉट लेने के बारे में नहीं है, बल्कि बनाए गए स्नैपशॉट को प्रबंधित करने के बारे में भी है, क्योंकि अब आप फाइल सिस्टम उपयोग किए गए स्थान के आधार पर स्नैपशॉट को हटाने के लिए ऑटोसनाप को कॉन्फ़िगर कर सकते हैं।

हालाँकि, अक्टूबर 2013 तक, विकी बताता है कि "ऑटोसनाप की कार्यक्षमता वर्तमान में अपस्ट्रीम संस्करण के bfs में शामिल नहीं है।"


1

मेरे पास समान कुंठाएं थीं , इसलिए मैंने कुछ स्क्रिप्ट तैयार कीं जिन्हें मैं स्नैज़र कह रहा हूं । साथ में वे स्नैपशॉट, प्रूनिंग, माप और एसएचएस के माध्यम से परिवहन की पेशकश करते हैं (लेकिन आज के रूप में / साथ ही स्थानीय फाइल सिस्टम से / भेज सकते हैं)। माप सिर्फ sha512sum और स्नैपशॉट पथ के PGP हस्ताक्षर की रिपोर्ट हैं। यह रिलीज के लिए बिल्कुल तैयार नहीं है, लेकिन मुझे प्रतिक्रिया सुनने में अच्छा लगेगा अगर किसी के पास इस शुरुआती स्तर पर समीक्षा करने का समय हो।

आम तौर पर मैं के लिए अलग सबवॉल्यूम है - CLI-केवल इस बिंदु पर है, लेकिन मैं कुछ समय यह आसान कई btrfs सबवॉल्यूम साथ सिस्टम पर उपयोग करने के लिए बनाने के लिए लिया है /var/cache, /homeआदि जो / कम snapshotting से बाहर रखा जाना करने की जरूरत है या हो सकता है अधिक आक्रामक प्रूनिंग शेड्यूल।

मुझे डर है कि प्रूनिंग एल्गोरिथ्म पूरी तरह से स्नैपशॉट के सेट और उनकी तारीखों की उपस्थिति पर निर्णय लेता है, जब तक डिस्क उपयोग की कमी पूरी नहीं हो जाती है, तब तक कुछ भी नहीं होता है - जो आप पहले हटाते हैं? पहले प्रति घंटा की संख्या को कम करें, या दिन के समय? शायद सबसे पुराना ड्रॉप, जैसे। yearlies? अलग-अलग तैनाती की अलग प्राथमिकताएं होंगी; और मुझे नहीं पता कि क्या यह एकमात्र बैकअप स्तरीय है (जिस स्थिति में आप कानूनी / बीमा दायित्वों के मामले में सबसे पुराना बैकअप नहीं छोड़ सकते हैं), या बस एक मध्यवर्ती एक (उस स्थिति में जहां आपके पास संभवत: उन वर्षस्थली कहीं सुरक्षित रूप से संग्रहीत हैं। कहीं और)।

मैं कुछ बिंदु पर ZFS समर्थन और / या अंतर जोड़ रहा हूँ; यह ज्यादातर पॉज़िक्स-ईश शेल में लिखा गया है और इस समय "शून्य" निर्भरता की प्रबल इच्छा के कारण है, मुझे उम्मीद है कि कुछ बिंदु पर समानांतर में एक क्लीनर पायथन वैकल्पिक कार्यान्वयन बनाए रखा जाएगा।


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

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

@ csirac2 आप स्नैज़र को बनाए रख रहे हैं? मैं इस प्रकार के समाधान की तलाश में हूं। अगर यह सक्रिय रूप से बनाए रखा जा रहा है तो मुझे स्नज़र में दिलचस्पी है। GitHub हाल की गतिविधि को दिखाने के लिए प्रतीत नहीं होता ...
MountainX

@MountainX जब मुझे स्नैज़र पर बहुत प्रारंभिक प्रतिक्रिया नहीं मिली, तो मैं एक प्रकार का उत्साह खो गया .. जब मैंने इसे लिखना शुरू किया, तो वास्तव में केवल OpenSUSE के स्नैपर और मुट्ठी भर शेल / अजगर स्क्रिप्ट थे जो स्वचालित रूप से btrfs के आसपास तैर रही थीं। जब तक मैं इसे दुनिया के साथ साझा करने के लिए चारों ओर हो गया, तब तक बहुत सारे अन्य विकल्प पॉप अप हो गए, और मैं कहूंगा कि btrbk में बहुत अधिक गति है (स्वचालित परीक्षण की कमी [शायद अब तय हो गई है?] हालांकि संबंधित थी)। अगर मुझे यह सब फिर से करना पड़ा तो मैंने शायद btrfs संगतता को जोड़ने के लिए sanoid लेखक के साथ सहयोग किया होगा। आपके विचार सुनने के इच्छुक हैं।
सीएससीआर 2
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.