Wednesday, January 18, 2017

টেক-লিনাক্স [ LVM ]

 আজ লিনাক্স এর একটি বৈশিষ্ট্য  LVM নিয়ে  কিছু লিখার চেষ্টা করছি | একজন সিস্টেম এডমিন হিসেবে আমাদের LVM সম্পর্কে স্বচ্ছ ধারনা থাকা উচিৎ | LVM বা logical volume management  ফিচার  সম্পর্কে নিচে কিছু তথ্য দেওয়া হল |

১) LVM ডিস্ক partition বা Volume এর জায়গা কমাতে বা বাড়াতে পারে |
২) LVM এক বা একাধিক হার্ডডিস্ক  নিয়ে কাজ করতে পারে |
৩) এটার পার্টিশন টাইপ 8e |

LVM এর ব্যাখ্যা : 

ধরুন আমাদের একটা পার্টিশন আছে যেটার সম্পূর্ণ জায়গা শেষ হয়ে গেছে বা প্রায় শেষ | এখন ওই পার্টিশন এ আমরা চাইলেও আর ও কিছু জমা রাখতে পারছিনা আবার স্পেস বাড়াতেও পারছিনা | আবার আমরা এটাও জানিনা কতটুকু জায়গা নিয়ে একটা পার্টিশন করলে আর নতুন করে স্পেস বাড়াতে হবেনা বা অনেক বেশি স্পেস নিয়ে নিছি কিন্তু অতটুকু জায়গার আসলেই প্রয়োজন নাই  সুতরাং স্পেস কমায় | এই ধরনের situation এ আমরা LVM ব্যাবহার করতে পারি | অর্থাৎ প্রয়োজন অনুসারে কোনও পার্টিশন এর স্পেস বাড়াতে বা কমাতে আমরা LVM এর ব্যাবহার করে থাকি |

 LVM কিভাবে কাজ করে তা নিচে বর্ণনা করা হল : 

LVM এর সাহায্যে পার্টিশন তৈরি করার সময় কিছু নির্দিষ্ট কাজ করতে হবে |

সংক্ষেপে :
LVM = PV+ VG+ LV 

 অর্থাৎ প্রথমে আমাদের PV অর্থাৎ physical volume তৈরি করতে হবে | PV বলতে আমরা physical হার্ডডিস্ক এর  পার্টিশন  বুঝি | এই পার্টিশন গুলো এক বা একাধিক হার্ডডিস্ক থেকে নিতে পারি এবং এগুলোর পার্টিশন ID হবে 8e |
এরপর আমরা এক বা একাধিক PV নিয়ে একটা VG অর্থাৎ Volume Group তৈরি করব |
অবশেষে আমরা LV বা Logical Volume তৈরি করব যেটা আমরা তৈরি করব VG থেকে আমাদের প্রয়োজন অনুসারে স্পেস নিয়ে |
ধরুন , আমরা একটা হার্ডডিস্ক থেকে ৫০০ এমবি করে তিনটা পার্টিশন তৈরি করলাম fdisk এর সাহায্যে | পার্টিশন গুলোর টাইপ দিলাম 8e অর্থাৎ এগুলো আমরা  LVM এর কাজে ব্যাবহার করব | এরপর আমরা এই পার্টিশন তিনটা কে PV হিসেবে নিব |

[ billah@localhost  ~ ] # pvcreate /dev/sda5  /dev/sda6  /dev/sda7  ; [ /dev/sda5,  /dev/sda6 , এবং  /dev/sda7 হচ্ছে হার্ডডিস্ক পার্টিশন যেগুলো আমরা আগেই তৈরি করেছিলাম | এখানে তিনটা পার্টিশন মিলে টোটাল স্পেস হচ্ছে 1500MB  ]

এরপর আমরা উপরুক্ত PV থেকে দুইটা অংশ নিয়ে VG তৈরি করব |
[ billah@localhost  ~ ] # vgcreate  vg0  /dev/sda5  /dev/sda6    ; [ /dev/sda5,  /dev/sda6 অর্থাৎ টোটাল 1000MB নিয়ে আমরা একটা VG তৈরি করলাম যেটার নাম VG0  ]

এরপর আমরা  উপরুক্ত VG থেকে আমাদের প্রয়োজন অনুসারে স্পেস নিয়ে LV তৈরি করব |

[ billah@localhost  ~ ] # lvcreate  -n LV0  -l  20 VG0     ; [ -n দিয়ে LV এর নাম কি  হবে সেটা বুঝানো  হয়েছে এবং -l দিয়ে কয়টা extent নিয়ে LV create হবে সেটা বলা হয়েছে ; extent হচ্ছে VG এর ক্ষুদ্র অংশ যেগুলোর সাধারণ size হচ্ছে 4 MB অর্থাৎ এই command এর সাহায্যে VG থেকে 20 টা extent বা 80 MB জায়গা নিয়ে  একটা LV তৈরি করা হল |  ]

এরপর এই LV কে filesystem দিতে হবে |
[ billah@localhost  ~ ] #  mkfs.ext4  /dev/VG0/LV0 

অবশেষে LV কে কাজের উপযোগী করতে মাউন্ট করতে হবে |
[ billah@localhost  ~ ] #  mount   /dev/VG0/LV0   /mnt/LVM ; [ অর্থাৎ LV কে  mnt ফোল্ডার এর মধ্যে LVM ফোল্ডারে মাউন্ট করা হল | ]

যখন LV এর 80 MB জায়গা শেষ হয়ে যাবে তখন আবার VG থেকে স্পেস নেওয়া যাবে | যদি VG এর ১৫০০ MB স্পেস ও শেষ হয়ে যায় সেক্ষেত্রে PV তৈরি করে সেটা VG তে সংযুক্ত করে VG স্পেস বাড়িয়ে নেওয়া যাবে |
এভাবে আমরা LVM feature ব্যাবহার করে প্রয়োজন অনুসারে জায়গা বাড়াতে বা কমাতে পারি |

আজ এটুকুই |

ধন্যবাদ |


No comments:

Post a Comment