বেশির ভাগ ডেস্কটপ লিনাক্স ব্যবহারকারী সম্ভবত "কপি-অন-রাইট" ফাইল সিস্টেম যেমন ZFS বা Btrfs সম্পর্কে শুনেছেন, এবং সেসব CoW ফাইল সিস্টেমের সুবিধা সম্পর্কেও জানেন। কম্প্রেশন, বিল্ট-ইন RAID কার্যকারিতা, এবং স্ন্যাপশট ক্ষমতা এদের অসামান্য উন্নত ও আধুনিক ফাইল সিস্টেম করে তুলেছে। কিন্তু এই ফাইল সিস্টেমগুলো দিয়ে কীভাবে শুরু করবেন? যেহেতু Btrfs সম্পূর্ণ FOSS এবং লিনাক্স কার্নেলে অন্তর্নির্মিত, তাই এটি শুরু করার জন্য একটি عالی বিন্দু। এখানে আমরা Btrfs-এর জন্য আমাদের বিগিনার গাইডে আপনাকে নিয়ে যাচ্ছি।
লিনাক্সের অধীনে Btrfs সমর্থন
ZFS-এর চেয়ে Btrfs-এর একটি বড় সুবিধা হলো এটি ইতিমধ্যে ইন-ট্রি, অর্থাৎ এটি ইতিমধ্যে লিনাক্স কার্নেলের ভিতরে রয়েছে। কোনো কিছু ইনস্টল বা কনফিগার করার প্রয়োজন নেই—আপনি কেবল এটি ব্যবহার করতে পারেন। তবুও, আপনার বিভিন্ন ডিস্ট্রোর Btrfs-এর জন্য সমর্থন যাচাই করা উচিত, কারণ কিছু অন্যদের চেয়ে ভালো। এটি ২.৬.২৯ সংস্করণ থেকে মেইনলাইন কার্নেলের অংশ, এবং আমরা ৫.১০-এর কাছে পৌঁছাচ্ছি, তাই এটি সম্ভবত ভালো কাজ করবে।
Btrfs পার্টিশন তৈরি করা
প্রথমে আপনি Btrfs কাজের জন্য 사용할 পার্টিশন তৈরি করতে পূর্ণাঙ্গ mkfs কমান্ড ব্যবহার করবেন। আপনি যদি টার্মিনালে আরামদायक না হন, তবে পার্টিশন পরিচালনার জন্য GParted ব্যবহার করতে পারেন। এটি সুবিধাজনক যদি আপনি ডিস্কে লিখার আগে আপনার পার্টিশনগুলো দেখতে চান।
একটি Btrfs পার্টিশন তৈরি করতে, আপনার ডিস্ক বা পার্টিশন চিহ্নিত করুন এবং mkfs.btrfs কমান্ড ব্যবহার করুন। আমার ডেমো সিস্টেমে তিনটি ডিস্ক আছে, এবং আমি এই প্রথমটির জন্য "/dev/vdb1" বেছে নিচ্ছি। যদি সেখানে কোনো বিদ্যমান পার্টিশন টেবিল থাকে তবে -f অপশন নির্দিষ্ট করতে হতে পারে।
এটি সম্পূর্ণ হলে, আপনি সাবভলিউমটি কোথায় মাউন্ট করবেন সেটি সিদ্ধান্ত নিতে হবে। এটি নির্ভর করে আপনি এটি কী জন্য ব্যবহার করছেন: যদি এটি একটি গেম লাইব্রেরির জন্য হয়, তবে আপনি আপনার "/home" ডিরেক্টরিতে "Games" নামে একটি ডিরেক্টরি তৈরি করে এটি "~/Games"-এ মাউন্ট করতে পারেন। যদি এটি কোনো ব্যাকআপ সমাধানের জন্য হয়, তবে আপনি مدیریت সুবিধার্থে "/mnt" ডিরেক্টরিতে মাউন্ট করতে চাইতে পারেন। আমি জিনিসগুলো সহজ রাখতে "/mnt/btrfs" নামে একটি ডিরেক্টরি তৈরি করব।
আমি আমার "/dev/vdb" Btrfs ডিভাইসকে সেই মাউন্ট পয়েন্টে নিচের কমান্ড দিয়ে মাউন্ট করব:
sudo mount -t btrfs /dev/vdb /mnt/btrfs
নির্দিষ্ট ডিভাইস এবং মাউন্ট পয়েন্টগুলো আপনি যা করছেন তার উপর নির্ভর করে পরিবর্তিত হবে।
Btrfs সাবভলিউম তৈরি করা
Btrfs-এ, একটি সাবভলিউম হলো শুধু একটি ডিরেক্টরি যেখানে Btrfs তার বিশেষ CoW পদ্ধতিতে ম্যানিপুলেট করতে পারে। এটি করতে, আপনাকে btrfs-এর অধীনে subvolume create কমান্ড ব্যবহার করতে হবে।
btrfs subvolume create /mnt/btrfs/backups
আমি এই সিস্টেমের ব্যাকআপের জন্য একটি সাবভলিউম তৈরি করছি, কিন্তু আপনি এটি যা ইচ্ছে নাম দিতে পারেন। আপনি এই ডিরেক্টরিটি অন্য যেকোনো ডিরেক্টরির মতোই ব্যবহার করতে পারেন, শুধু জানতে হবে যে এটি Btrfs-এ অন্তর্নির্মিত টুলগুলোর সুবিধা পাবে।
Btrfs সাবভলিউম স্ন্যাপশট করা
Btrfs-এর চমৎকার অংশগুলোর একটিই হলো এর বিল্ট-ইন স্ন্যাপশট ক্ষমতা। এর জন্য কিছু টুল আছে, যেমন Snapper, কিন্তু btrfs কমান্ড নিজেই একটি চমৎকার subvolume snapshot সাবকমান্ড 갖고 আছে। আমার "/mnt/btrfs/backups" ডিরেক্টরিতে "btrfs-test.txt" নামে একটি ফাইল আছে।
এই ডিরেক্টরি (বা যেকোনো Btrfs সাবভলিউম) স্ন্যাপশট করার কমান্ড সিনট্যাক্স হলো btrfs subvolume snapshot /PATH/TO/SUBVOLUME /PATH/TO/SUBVOLUME/SNAPSHOT। আমার কেসে, আমি নিচের কমান্ডটি চালাব:
btrfs subvolume snapshot /mnt/btrfs/backups /mnt/btrfs/backups/snapshots/
আপনি যদি আপনার ডেটা ট্র্যাক রাখতে চান, তবে আমি সাজেস্ট করব স্ন্যাপশট ডিরেক্টরিটি ডেট-স্ট্যাম্প করুন যাতে জানতে পারেন কখন কী ঘটেছে।
আপনি -r ফ্ল্যাগও ব্যবহার করতে পারেন স্ন্যাপশটটি রিড-অনলি করার জন্য, যা btrfs send এবং receive ফাংশনগুলোর জন্য গুরুত্বপূর্ণ যা আমরা পরে কভার করব।
আপনি যদি যেটি স্ন্যাপশট পাঠিয়েছিলেন সেটি যে ডিরেক্টরিতে সেই तरफ নেভিগেট করেন, তবে আপনি স্ন্যাপশট নেওয়ার আগে যে ডেটা ছিল সেটি সব একই স্ট্রাকচারে সুন্দরভাবে পাবেন। এটি আপনার ডেটা কোনো দুর্ঘটনার ঘটনায় সুরক্ষিত রাখার একটি সুন্দর ট্রিক।
আপনি এটি আপনার পুরো সিস্টেমের স্ন্যাপশট নেওয়ার জন্য ব্যবহার করতে পারেন এবং btrfs send ও btrfs receive কমান্ড ব্যবহার করে অন্য একটি btrfs ডিভাইসে পাঠাতে পারেন। সেটি এইরকম দেখাবে:
sudo btrfs send /mnt/btrfs/backups/ro-snapshot/ | btrfs receive /mnt/btrfs-send-test/
এটি চমৎকার যদি আপনার সিস্টেমে একটি NAS বা RAID অ্যারে-এ Btrfs ডিভাইস থাকে এবং আপনি আপনার অপারেটিং সিস্টেমের স্ন্যাপশট নিয়ে সেখানে পাঠাতে চান। আপনি mount কমান্ড দিয়ে স্ন্যাপশটগুলোর একটিকে মাউন্ট করতে পারেন, যা আপনাকে সেই ডেটা অ্যাক্সেস দেবে।
আপনি যদি Btrfs সম্পর্কে এই আর্টিকেলটি উপভোগ করেন, তবে আমাদের অন্যান্য লিনাক্স কন্টেন্টও চেক আউট করুন, যেমন লিনাক্সের জন্য নতুন PC বিল্ড করা, ৮টি টুল যা আপনাকে সহজে আপনার নিজস্ব লিনাক্স ডিস্ট্রো তৈরি করতে সাহায্য করবে, এবং ২০২০ সালের ১২টি সেরা লিনাক্স গেম।