This site is best viewed using the updated version of Mozilla Firefox

রেড হ্যাট লিনাক্স : Logical Volume Manager (LVM)

আজকের টিউটোরিয়ালে আমরা শিখবো LVM সম্পর্কে। আমরা যখন কোন হার্ডডিস্ক পার্টিশন করি তখন পার্টিশনটির একটি সাইজ নির্দিষ্ট করে দিই যা পরবর্তীতে আর বাড়ানো যায় না। সেই নির্দিষ্ট সাইজের পার্টিশনটিতে ডাটা জমতে জমতে এমন একটা সময় আসে যখন আর কোন ফ্রি স্পেস অবশিষ্ট থাকে না। ফ্রি স্পেস না থাকলে ঐ পার্টিশন বা মাউন্ট করা ডাইরেক্টরীটিতে নতুন ডাটা রাখা সম্ভব হয় না। ধরুন, এটা যদি হয় কোন মেইল সার্ভার বা ডাটাবেজ সার্ভার সেক্ষেত্রে আবার নতুন ডাটা রাখার জন্য ঐ পার্টিশনের পুরাতন কোন ডাটা ডিলিট করাও যাবে না কারণ ডাটাগুলো খুবই গুরুত্বপূর্ণ। এক্ষেত্রে আমাদের খুবই সমস্যার মধ্যে পড়তে হয়। সেই সমস্যার সমাধান হিসেবে লিনাক্সে রয়েছে এমন একটি ব্যবস্থা যার সাহায্যে আমরা পার্টিশনের কোন ডাটা ডিলিট না করে ঐ পার্টিশনের ফ্রি স্পেস বাড়াতে পারি। আর এই কাজটি করা হয় Logical Volume Manager অর্থাৎ LVM এর মাধ্যমে।

এজন্য লিনাক্স ইন্সটলেশনের সময়ই আমাদের হার্ডডিস্কটিকে সাধারণভাবে পার্টিশন না করে LVM পার্টিশন করতে হবে। পরবর্তীতে যখন হার্ডডিস্কে জায়গা স্বল্পতা দেখা দিবে তখন মেশিনটিতে নতুন আরেকটি হার্ডডিস্ক যুক্ত করতে হবে এবং তাতে LVM পার্টিশন তৈরী করতে হবে। এবং LVM পার্টিশনযুক্ত হার্ডডিক্স দুইটিকে লজিক্যালি একটি হার্ডডিস্ক হিসেবে কাজ করাতে হবে। তো দেখা যাক কাজটি কিভাবে করতে হয়।

ধরুন, আমাদের হার্ডডিস্কে তিনটি পর্টিশন আছে। এই পার্টিশন তিনটি হলোঃ /dev/sda5, /dev/sda6/dev/sda7 যার প্রত্যেকটির সাইজ 300MB । আমরা এখন এই পার্টিশন তিনটিকে LVM এর মাধ্যমে এমনভাবে কনফিগার করবো যাতে তিনটি পার্টিশনের জায়গা একত্রিত হয়ে একটি পার্টিশন হিসেবে কাজ করে এবং জায়গা বেড়ে যায়। অর্থাৎ আমাদের ফিজিক্যাল পার্টিশন তিনটি কিন্তু লজিক্যাল পার্টিশন হবে একটি। পরবর্তীতে যদি আবারো জায়গা স্বল্পতা দেখা দেয় তবে চতুর্থ আরেকটি পার্টিশন এর সাথে যুক্ত করে জায়গা আরো বাড়ানো যাবে।

প্রথমে আমরা তিনটি ফিজিক্যাল পার্টিশনের প্রত্যেকটিকে Physical Volume (PV) হিসেবে কনফিগার করবো। অতঃপর তিনটি Physical Volume (PV) কে একত্রিত করে একটি Volume Group (VG) তৈরী করবো। সবশেষে এই Volume Group (VG) থেকে এক বা একাধিক Logical Volume (LV) তৈরী করবো। আমাদের তৈরী করা সেই Logical Volume (LV) গুলোই হবে এক একটি লজিক্যাল পার্টিশন যার স্পেস আমরা ইচ্ছা করলেই বাড়াতে বা কমাতে পারবো। নিচের চিত্রটি দেখুনঃ

তো শুরু করা যাক…………

প্রথমে আমরা তিনটি নতুন Logical Partition তৈরী করবো। এবং পার্টিশন তিনটির Partition ID পরিবর্তন করে “8e” করবো। পার্টিশন তিনটির ফাইল সিস্টেম এখনই ডিফাইন করা যাবে না এবং পার্টিশনগুলোকে মাউন্ট করাও যাবে না। উপরিউল্লেখিত কাজটি করার পর আমরা মেশিনটি রিস্টার্ট দিব।

অতঃপর আমরা পার্টিশন তিনটির Physical Volume (PV) তৈরী করবো।

# pvcreate /dev/sda5 /dev/sda6 /dev/sda7

Physical Volume (PV) তৈরী করার সময় এর কোন নাম দিতে হয় না। Physical Volume (PV) তৈরী করা হলে আমরা তিনটি Physical Volume (PV)কে একত্রিক করে একটি Volume Group (VG) তৈরী করবো।

# vgcreate VG1 /dev/sda5 /dev/sda6 /dev/sda7

Volume Group (VG) তৈরী করার সময় এর একটি নাম দিতে হয়। আমরা আমাদের Volume Group (VG) টির নাম দিয়েছি VG1

Volume Group (VG) তৈরী করার মাধ্যমে আমরা তিনটি ফিজিক্যাল পার্টিশনকে একটি ভলিউম গ্রুপে যুক্ত করলাম। আমাদের তৈরী করা এই Volume Group (VG) এর সাইজ হলো 900MB এবং আইডেন্টিটি হবে /dev/VG1 । এখন এই Volume Group (VG) থেকে আমরা এক বা একাধিক Logical Volume (LV) তৈরী করবো।

# lvcreate -n LV1 –L 250M VG1

আমরা এখানে LV1 নামে একটি Logical Volume (LV) তৈরী করেছি যার সাইজ 250MB এবং আইডেন্টিটি হবে /dev/VG1/LV1 । এখন আমরা এই Logical Volume (LV) টির ফাইল সিস্টেম ডিফাইন করবো।

# mkfs.ext4 /dev/VG1/LV1

অতঃপর Logical Volume (LV) টি কে ব্যবহার করার জন্য আমরা /newlv নামে একটি ডাইরেক্টরী তৈরী করবো এবং এই ডারেক্টরীর মধ্যে Logical Volume (LV) টি কে মাউন্ট করবো।

# mkdir /newlv

# mount /dev/VG1/LV1 /newlv

এবং স্থায়ীভাবে মাউন্ট করার জন্য /etc/fstab ফাইলে নিচের মতো করে এন্ট্রি দিব।

# vi /etc/fstab

/dev/VG1/LV1 /newlv ext4 defaults 0 0

/etc/fstab ফাইলের এন্ট্রি চেক করার জন্য নিচের কমান্ড দিব।

# mount –a

আমাদের Logical Volume (LV) তৈরী করার কাজ শেষ। আমরা নিচের কমান্ডের সাহায্যে Volume Group (VG) ও Logical Volume (LV) এর তথ্য দেখতে পারি।

# vgdisplay

# lvdisplay


Extending Logical Volume Size

আমরা LV1 নামে 250MB এর যে Logical Volume তৈরী করেছি তার সাথে যদি আরো 100MB স্পেস যোগ করতে চাই তাহলে নিচের কমান্ডের সাহায্যে তা করতে পারি।

# lvextend -L +100M /dev/VG1/LV1

# resize2fs /dev/VG1/LV1

# df -h

Logical Volume এর সাইজ বাড়ানোর জন্য Logical Volume টি কে আনমাউন্ট করার প্রয়োজন হয় না এবং কোন ঝামেলাও নেই বললেই চলে।


Reducing Logical Volume Size

এখন আমাদের LV1 নামে যে 350MB সাইজের Logical Volume আছে তা থেকে যদি 100MB স্পেস কমাতে চাই তাহলে নিচের কমান্ডের সাহায্যে তা করতে পারি। Logical Volume এর সাইজ কমানোর জন্য আমাদেরকে একটু সতর্ক থাকতে হবে এবং অবশ্যই Logical Volume টি কে আনমাউন্ট করে নিতে হবে। প্রথমে আমরা নিচের কমান্ডের সাহায্যে মাউন্ট পয়েন্টগুলো দেখে নিব।

# df -h

অতঃপর Logical Volume টি কে আনমাউন্ট করে নিব।

# umount /newlv

Logical Volume এর ফাইল সিস্টেম চেক করবো।

# e2fsck –f /dev/VG1/LV1

Logical Volume কে Warning দিব যে তার সাইজ 250MB করা হবে, এর জন্য সে যেন প্রস্তুত হয়।

# resize2fs /dev/VG1/LV1 250M

সবশেষে Logical Volume এর সাইজ কমানোর জন্য নিচের কমান্ড দিব।

# lvreduce –L 200M /dev/VG1/LV1

এবং /etc/fstab ফাইলের এন্ট্রি চেক করবো।

# mount –a


Extending Volume Group

এখন আমরা চাচ্ছি প্রত্যেকটি 300MB এর তিনটি ফিজিক্যাল পার্টিশন দিয়ে আমরা 900MB এর যে Volume Group তৈরী করেছি এই Volume Group এর সাইজ বাড়াবো। এর জন্য আমাদের নতুন আরেকটি পার্টিশন যেমনঃ /dev/sda8 নামে একটি পার্টিশন তৈরী করবো এবং এর Partition ID পরিবর্তন করে “8e” করবো। অতঃপর মেশিনটি রিবুট দিব।

মেশিন রিবুট দেওয়ার পর আমরা আমরা /dev/sda8 পার্টিশনটির Physical Volume (PV) তৈরী করবো।

# pvcreate /dev/sda8

Physical Volume (PV) তৈরী করার পর নিচের কমান্ডের মাধ্যমে তা VG1 নামের Volume Group (VG) এ যুক্ত করে নিব।

# vgextend VG1 /dev/sda8


আশাকরি এই টিউটোরিয়ালটি দেখে প্র্যাকটিস করলে আপনারা সঠিকভাবে LVM এর মাধ্যমে হার্ডডিস্ক পার্টিশন করতে পারবেন। ভাল থাকবেন। আল্লাহ হাফেজ।