मेरे पास एक स्थानीय FreeNAS प्रणाली है और बैकअप के लिए ZFS स्नैपशॉट का उपयोग करना चाहते हैं।
FreeNAS में अंतर्निहित प्रतिकृति कार्य हैं जो उपयोग करते हैं
zfs send snapshot_name
एक रिमोट सिस्टम के लिए एक स्नैपशॉट भेजने के लिए। लेकिन इसके लिए दूसरे छोर पर ZFS के साथ एक सिस्टम की जरूरत है।
मैं स्नैपशॉट को एक फ़ाइल में भेजना चाहता हूं और इस संपीड़ित और एन्क्रिप्टेड फ़ाइल को रिमोट मशीन पर भेजना चाहता हूं।
इसके साथ संभव है
zfs send snapshot_name | gzip | openssl enc -aes-256-cbc -a -salt > file.gz.ssl
हर दिन मैं भंडारण पूल का एक स्नैपशॉट बनाता हूं और 30 दिनों के लिए हर स्नैपशॉट रखता हूं।
हर स्नैपशॉट के साथ मैं इस स्नैपशॉट को फ़ाइल में पाइप करूँगा।
- Snapshot_file 1 में हर फ़ाइल है (
मान लें 2GB)
- Snapshot_file 2 में केवल स्नैपशॉट_ file 1 में परिवर्तन होता है (
मान लें 5MB) - Snapshot_file 3 में स्नैपशॉट_फ़ाइल 2 में परिवर्तन होता है; और इसी तरह।
31 दिन स्नैपशॉट_फाइल 1 डिलीट हो रहा है (क्योंकि मैं केवल पिछले 30 दिनों से बदलाव चाहता हूं)
इसलिए स्नैपशॉट_फाइल 2 को हर फाइल को होल्ड करने की जरूरत है (2 जीबी के स्नैपशॉट_फाइल 1 + 5 एमबी बदलाव)
लेकिन इस दृष्टिकोण के साथ हर दिन (31 दिन से) एक नई 2 जीबी फाइल बनानी होगी और रिमोट सिस्टम पर भेजनी होगी। यह बहुत अधिक उपरि है।
X दिनों के इतिहास के साथ बैकअप रणनीति के रूप में एक फ़ाइल में स्नैप किए गए स्नैपशॉट का उपयोग करने के लिए सबसे अच्छा तरीका क्या होगा?
पुनश्च: मुझे पता है कि वहाँ बहुत सारे बैकअप सॉफ़्टवेयर हैं (उदाहरण के लिए rdiff- बैकअप), जिनका मैं उपयोग कर सकता था। लेकिन मैं उत्सुक हूं कि यह कैसे किया जा सकता है।
zfs recv
दूसरे छोर पर (zfs set compression=gzip-9
उदाहरण के लिए एक पूल पर ) का उपयोग क्यों नहीं करते हैं । स्नैपशॉट फ़ाइलें संग्रहीत करना मेरे लिए बहुत अक्षम लगता है।