কম্পিউটার টিউটোরিয়াল

MergerFS দিয়ে একাধিক ড্রাইভ এক ভার্চুয়াল স্টোরেজে মার্জ করুন – začатеকারদের গাইড

mhddfs ২০১২ সাল থেকে বর্জিত, আর মেইনটেইন করা হয় না, এবং পরিচিত সিকিউরিটি ইশিউ আছে—আমরা mergerfs-এ স্যুইচ করার পরামর্শ দিই, যা আধুনিক, সক্রিয়ভাবে মেইনটেইন হওয়া বিকল্প যা হোম ল্যাব কমিউনিটি अपनाেছে, এবং আমরা একটি কমপ্লিট বেগিনার-ফ্রেন্ডলি সেটআপ গাইড লিখেছি স্যুইচ করতে সাহায্য করার জন্য 👉 mergerfs গাইড পড়ুন।


ধরা যাক আপনার কাছে ৩০GB মুভি আছে এবং আপনার ৩টি ড্রাইভ আছে, প্রতিটি ২০ GB আকারের। তাহলে আপনি কীভাবে স্টোর করবেন?

জবাবস্বরূপ আপনি আপনার ভিডিওগুলো দুই বা তিনটি ভিন্ন ভলিউমে বাঁটে ম্যানুয়ালি ড্রাইভে স্টোর করতে পারেন। এটি নিশ্চিতভাবে ভালো আইডিয়া নয়, এটি একটি ক্লান্তিকর কাজ যেটি ম্যানুয়াল ইন্টারভেনশন এবং আপনার অনেক সময় নেয়।

অন্য একটি সমাধান হল ডিস্কের RAID অ্যারে তৈরি করা। RAID সবসময় স্টোরেজ নির্ভরযোগ্যতা এবং ব্যবহারযোগ্য ডিস্ক স্পেস ক্ষতির জন্য কুখ্যাত। আরেকটি সমাধান হল mhddfs।

MergerFS দিয়ে একাধিক ড্রাইভ এক ভার্চুয়াল স্টোরেজে মার্জ করুন – začатеকারদের গাইড

Mhddfs – লিনাক্সে একাধিক পার্টিশন কম্বাইন

mhddfs লিনাক্সের জন্য একটি ড্রাইভার যা একাধিক মাউন্ট পয়েন্টকে এক ভার্চুয়াল ডিস্কে কম্বাইন করে। এটি একটি FUSE-ভিত্তিক ড্রাইভার, যা বড় ডেটা স্টোরেজের জন্য সহজ সমাধান প্রদান করে। এটি সমস্ত ছোট ফাইল সিস্টেমকে কম্বাইন করে একটি বড় একক ভার্চুয়াল ফাইল সিস্টেম তৈরি করে যাতে এর সদস্য ফাইল সিস্টেমের প্রতিটি কণা—ফাইল এবং ফ্রি স্পেস—থাকে।

কেন mhddfs দরকার?

আপনার সকল স্টোরেজ ডিভাইস একটি একক ভার্চুয়াল পুল তৈরি করে এবং এটি বুটে সরাসরি মাউন্ট করা যায়। এই ছোট ইউটিলিটি যত্ন নেয় কোন ড্রাইভ ফুল এবং কোন ড্রাইভ খালি, এবং ডেটা কোন ড্রাইভে লিখবে তা বুদ্ধিমানের মতো নিয়ন্ত্রণ করে। একবার ভার্চুয়াল ড্রাইভ সফলভাবে তৈরি হলে, আপনি আপনার ভার্চুয়াল ফাইল সিস্টেম SAMBA দিয়ে শেয়ার করতে পারেন। আপনার ক্লায়েন্ট সবসময় একটি বড় ড্রাইভ এবং প্রচুর ফ্রি স্পেস দেখবে।

mhddfs-এর ফিচার

  1. ফাইল সিস্টেমের অ্যাট্রিবিউট এবং সিস্টেম ইনফরমেশন পান।
  2. ফাইল সিস্টেমের অ্যাট্রিবিউট সেট করুন।
  3. ডিরেক্টরি ও ফাইল তৈরি, পড়া, রিমুভ এবং লিখুন।
  4. সিঙ্গেল ডিভাইসে ফাইল লক এবং হার্ডলিংক সাপোর্ট।
mhddfs-এর সুবিধাmhddfs-এর অসুবিধা
হোম ইউজারদের জন্য পারফেক্টmhddfs ড্রাইভার লিনাক্স কার্নেলে বিল্ট-ইন নয়
চলানো সহজরানটাইমে প্রচুর প্রসেসিং পাওয়ার লাগে
ডেটা লসের কোনো প্রমাণ নেইকোনো রिडান্ডেন্সি সমাধান নেই
ফাইল স্প্লিট করে নাহার্ডলিংক মুভিং সাপোর্টেড নয়
কম্বাইনড ভার্চুয়াল ফাইল সিস্টেমে নতুন ফাইল যোগ করুন
এই ফাইলগুলো কোথায় সংরক্ষিত হবে তা ম্যানেজ করুন
এক্সটেন্ডেড ফাইল অ্যাট্রিবিউট

লিনাক্সে Mhddfs ইনস্টলেশন

Debian এবং সমান সিস্টেমে, mhddfs প্যাকেজ নিচের কমান্ড দিয়ে ইনস্টল করতে পারেন:

# apt-get update && apt-get install mhddfs
MergerFS দিয়ে একাধিক ড্রাইভ এক ভার্চুয়াল স্টোরেজে মার্জ করুন – začатеকারদের গাইড

Debian-ভিত্তিক সিস্টেমে Mhddfs ইনস্টল

RHEL/CentOS লিনাক্স সিস্টেমে, আপনাকে epel-রিপোজিটরি অন করতে হবে এবং তারপর নিচের কমান্ড চালিয়ে mhddfs প্যাকেজ ইনস্টল করুন:

# yum install mhddfs

Fedora 22+ সিস্টেমে, dnf প্যাকেজ ম্যানেজার দিয়ে পাওয়া যায়:

# dnf install mhddfs
MergerFS দিয়ে একাধিক ড্রাইভ এক ভার্চুয়াল স্টোরেজে মার্জ করুন – začатеকারদের গাইড

Fedora-এ Mhddfs ইনস্টল

যদি কোনো কারণে mhddfs প্যাকেজ epel রিপোজিটরিতে উপলব্ধ না থাকে, তবে নিচের ডিপেন্ডেন্সি রিসলভ করে সোর্স থেকে ইনস্টল ও কম্পাইল করতে হবে:

  1. FUSE হেডার ফাইল
  2. GCC
  3. libc6 হেডার ফাইল
  4. uthash হেডার ফাইল
  5. libattr1 হেডার ফাইল (ঐচ্ছিক)

এরপর লেটেস্ট সোর্স প্যাকেজ ডাউনলোড করুন নিচের সাজেশন অনুযায়ী এবং কম্পাইল করুন:

# wget https://mhddfs.uvw.ru/downloads/mhddfs_0.1.39.tar.gz
# tar -zxvf mhddfs*.tar.gz
# cd mhddfs-0.1.39/
# make

আপনি কারেন্ট ডিরেক্টরিতে বাইনারি mhddfs দেখতে পাবেন। রুট হিসেবে এটি /usr/bin/ এবং /usr/local/bin/-এ কপি করুন।

# cp mhddfs /usr/bin/
# cp mhddfs /usr/local/bin/

সব সেট, mhddfs ব্যবহার করার জন্য প্রস্তুত।

Mhddfs কীভাবে ব্যবহার করব?

১. আমার সিস্টেমে বর্তমানে মাউন্ট করা সকল HDD দেখি:

$ df -h

MergerFS দিয়ে একাধিক ড্রাইভ এক ভার্চুয়াল স্টোরেজে মার্জ করুন – začатеকারদের গাইড

স্যাম্পল আউটপুট

Filesystem Size Used Avail Use% Mounted on
/dev/sda1 511M 132K 511M 1% /boot/efi
/dev/sda2 451G 92G 336G 22% /
/dev/sdb1 1.9T 161G 1.7T 9% /media/avi/BD9B-5FCE
/dev/sdc1 555M 555M 0 100% /media/avi/Debian 8.1.0 M-A 1

এখানে 'Mount Point' নামটি লক্ষ্য করুন, যা আমরা পরে ব্যবহার করব।

২. একটি ডিরেক্টরি তৈরি করুন /mnt/virtual_hdd যেখানে এই সকল ফাইল সিস্টেম গ্রুপ করা হবে:

# mkdir /mnt/virtual_hdd

৩. এবং তারপর সকল ফাইল সিস্টেম মাউন্ট করুন। রুট হিসেবে বা এমন ইউজার হিসেবে যিনি FUSE গ্রুপের সদস্য।

# mhddfs /boot/efi, /, /media/avi/BD9B-5FCE/, /media/avi/Debian\ 8.1.0\ M-A\ 1/ /mnt/virtual_hdd -o allow_other
MergerFS দিয়ে একাধিক ড্রাইভ এক ভার্চুয়াল স্টোরেজে মার্জ করুন – začатеকারদের গাইড

লিনাক্সে সকল ফাইল সিস্টেম মাউন্ট

নোট: আমরা এখানে সব HDD-এর মাউন্ট পয়েন্ট নাম ব্যবহার করেছি। আপনার কেসে মাউন্ট পয়েন্ট ভিন্ন হবে। অথচ "-o allow_other" অপশনটি এই ভার্চুয়াল ফাইল সিস্টেমকে সৃষ্টিকর্তা মাত্র নয়, সবার জন্য দৃশ্যমান করে।

৪. এখন "df -h" চালান সকল ফাইল সিস্টেম দেখতে। এতে আপনার তৈরি করা ভার্চুয়াল ফাইল সিস্টেম থাকা উচিত।

$ df -h
MergerFS দিয়ে একাধিক ড্রাইভ এক ভার্চুয়াল স্টোরেজে মার্জ করুন – začатеকারদের গাইড

ভার্চুয়াল ফাইল সিস্টেম মাউন্ট যাচাই

আপনি যে সকল অপশন একটি মাউন্টেড ড্রাইভে করতেন, সেগুলো এই তৈরি করা ভার্চুয়াল ফাইল সিস্টেম-এও করতে পারবেন।

৫. এই ভার্চুয়াল ফাইল সিস্টেমকে প্রতিটি সিস্টেম বুট-এ তৈরি করতে, নিচের লাইন কোডটি (আপনার কেসে ভিন্ন হবে, আপনার মাউন্ট পয়েন্টের উপর নির্ভর করে), /etc/fstab ফাইলের শেষে রুট হিসেবে যোগ করুন:

mhddfs# /boot/efi, /, /media/avi/BD9B-5FCE/, /media/avi/Debian\ 8.1.0\ M-A\ 1/ /mnt/virtual_hdd fuse defaults,allow_other 0 0

৬. যেকোনো সময় আপনি যদি Virtual_hdd-এ নতুন ড্রাইভ যোগ/বাদ দিতে চান, তবে নতুন ড্রাইভ মাউন্ট করুন, মাউন্ট পয়েন্ট /mnt/virtual_hdd-এর কন্টেন্ট কপি করুন, ভলিউম un-mount করুন, যেটি বাদ দিতে চান সেই ড্রাইভ ইজেক্ট করুন এবং/অথবা যেটি ইনক্লুড করতে চান সেই নতুন ড্রাইভ মাউন্ট করুন, mhddfs কমান্ড দিয়ে সামগ্রিক ফাইল সিস্টেম Virtual_hdd-এর অধীনে মাউন্ট করুন এবং হয়ে যাবে।

Virtual_hdd কীভাবে Un-Mount করব?

ভার্চুয়াল_hdd আনমাউন্ট করা খুব সহজ:

# umount /mnt/virtual_hdd
MergerFS দিয়ে একাধিক ড্রাইভ এক ভার্চুয়াল স্টোরেজে মার্জ করুন – začатеকারদের গাইড

ভার্চুয়াল ফাইলসিস্টেম আনমাউন্ট

লক্ষ্য করুন এটি umount, unmount নয়। অনেক ইউজার এটিকে ভুল টাইপ করে।

আজকের জন্য এতটুকু। আমি আরেকটি পোস্টে কাজ করছি যা আপনারা পড়তে পছন্দ করবেন। তখন পর্যন্ত টিউন্ড এবং টেকমিন্টের সাথে জড়িত থাকুন। কমেন্টে আপনার মূল্যবান ফিডব্যাক দিন। লাইক ও শেয়ার করুন এবং আমাদের ছড়িয়ে দিতে সাহায্য করুন।

  1. সি/সি++-তে মাল্টিডাইমেনশনাল অ্যারে (Multidimensional Arrays)

  2. পাইথন Tkinter-এ PDF ভিউয়ার

  3. অ্যান্ড্রয়েড SQLite-এ BLOB ডেটা টাইপ ব্যবহার করার পদ্ধতি

  4. iOS-এ রানটাইমে লোকেশন পারমিশন রিকোয়েস্ট করা