আমার একটি স্থানীয় ফ্রিএনএএস সিস্টেম আছে এবং ব্যাকআপের জন্য জেডএফএস স্ন্যাপশট ব্যবহার করতে চাই।
ফ্রিএনএএস-এ অন্তর্নির্মিত প্রতিলিপি টাস্ক রয়েছে যা ব্যবহার করে
zfs send snapshot_name
একটি রিমোট সিস্টেমে স্ন্যাপশট প্রেরণ। তবে এর অন্য প্রান্তে জেডএফএস সহ একটি সিস্টেম দরকার।
আমি স্ন্যাপশটটি এএ ফাইলে প্রেরণ করতে চাই এবং এই সংকীর্ণ এবং এনক্রিপ্ট করা ফাইলটি দূরবর্তী মেশিনে প্রেরণ করতে চাই।
এটি দিয়েই সম্ভব
zfs send snapshot_name | gzip | openssl enc -aes-256-cbc -a -salt > file.gz.ssl
প্রতিদিন আমি স্টোরেজ পুলের একটি স্ন্যাপশট তৈরি করি এবং প্রতিটি স্ন্যাপশট 30 দিনের জন্য রাখি।
নেওয়া প্রতিটি স্ন্যাপশটের সাথে আমি এই স্ন্যাপশটটি একটি ফাইলে পাইপ করব।
- স্ন্যাপশট_ফায়াল 1 এর প্রতিটি ফাইল রয়েছে (আসুন
2 জিবি বলি) - স্ন্যাপশট_ফিল 2 তে কেবল স্ন্যাপশট_ফায়াল 1 এর পরিবর্তন রয়েছে (আসুন 5 এমবি বলি)
- স্ন্যাপশট_ফাইল 3 স্ন্যাপশট_ফিল 2 তে পরিবর্তনগুলি ধারণ করে; ইত্যাদি।
দিনে 31 স্ন্যাপশট_ফায়াল 1 মুছে ফেলা হচ্ছে (কারণ আমি কেবল গত 30 দিনের পরিবর্তন চাই)
সুতরাং স্ন্যাপশট_ফায়াল 2 টি প্রতিটি ফাইল ধরে রাখতে হবে (2 জিবি স্ন্যাপশট_ফায়াল 1 + 5 এমবি পরিবর্তন)
তবে এই পদ্ধতির সাথে প্রতিদিন (31 তারিখ থেকে) একটি নতুন 2 জিবি ফাইল তৈরি করতে হবে এবং একটি রিমোট সিস্টেমে প্রেরণ করতে হবে। এটি অনেক বেশি ওভারহেড।
এক্স দিনের ইতিহাস সহ ব্যাকআপ কৌশল হিসাবে কোনও ফাইলে পাইপযুক্ত স্ন্যাপশট ব্যবহার করার জন্য সর্বোত্তম পদ্ধতির কী হবে?
পিএস: আমি জানি যে সেখানে প্রচুর পরিমাণে ব্যাকআপ সফ্টওয়্যার রয়েছে (উদাহরণস্বরূপ rdiff-ব্যাকআপ), যা আমি ব্যবহার করতে পারি। তবে কীভাবে এটি করা যায় তা আমি আগ্রহী।
zfs recv
অন্য প্রান্তে কেন ব্যবহার করবেন না (zfs set compression=gzip-9
উদাহরণস্বরূপ একটি পুলে )। স্ন্যাপশট ফাইলগুলি সঞ্চয় করা আমার কাছে খুব অকার্যকর মনে হচ্ছে।