شاید یکی از اولین و اساسی ترین کارهایی که باید تو لینوکس یاد گرفت اینه که چطور با استوریج ها یا همون هارد دیسک هامون رفتار کرد اغلب کسایی که توی کار با سیستم عامل لینوکس تازه کارن این چلنج بزرگ براشون میتونه باشه که ممکنه به قیمت از دست دادن اطلاعتشون هم ختم بشه ولی این داستانی هست که برای اینکه ادم بهتر بشه نیازه یادش بگیره و ازش استفاده کنه
تو روش های قدیم مرسوم برای مدیریت هارد ها اینطوری بود که ادمین هر هارد جدید رو به عنوان یه پارتیشن یا ماونت پوینت جدید به سیستم معرفی میکرد که یه مشکل خیلی اساسی وجود داشت این بود که اکستند یا تغییر فضای اون پارتیشن تقریبا غیر ممکن بود یا حداقل من نمیشناسم و ریسک خیلی بالایی هم داشت به قیمت از دست دادن دیتا!!!اینجاست که lvm میاد وسط , lvm در حقیقت یه متد یا فناوری مدیریت استوریج هاست که یه سری مزیت برای ما داره
معماری و واژه شناسی lvm
قبل از اینکه بریم سراغ دستورات مرتبط با اون اول راجع به کانسپت lvm و نحوه عملکرد اون صحبت میکنمLVM یا Logical Volume Management در حقیقت با ایجاد یه لایه انتزاعی در بالای دیسک های ذخیره سازی عمل می کند. با lvm و انتزاعی کردن استوریج هامون ما یه virtual partition خواهیم داشت . پارتیشنهای مجازی امکان اضافه کردن و حذف را بدون نگرانی از اینکه فضای مجاور کافی روی یک دیسک خاص دارید یا خیر رو میدهند
اجزا و بلوک های اصلی در lvm شامل
- Physical volume (PV)
در حقیت هر وسیله ذخیره سازی فیزیکی رو میتونیم یه pv بگیم به عنوان مثل یه هارد دیسک درایو ( HDD ) یا Solid State Drive ( SSD ) و یا حتی یه پارتیشن همونطور که در تصویر هم مشخصه به طورمعمول فضاس کل هارد دیسک رو به عنوان یه pv تعریف میکنن - Volume group (VG)
یک VG شامل مجموعه ای از Physical Volume ها است در حقیقت یونیت مرکزی در معماری lvm هست , VG چیزی است که ما ایجاد می کنیم وقتی که چندین حجم فیزیکی (PV) رو برای ایجاد یک ساختار ذخیره سازی واحد ترکیب می کنیم این یونیت برابر است با ظرفیت ذخیره سازی ترکیت PV هایی در یک گروه که اینجا همون VG است قرار دادیم
به زبون خیلی ساده تر وقتی ما سه تا هارد دیسک ۱۰۰ گیگ داریم میتونیم یه VG با ظرفیت ۳۰۰ گیگ درست کنیم که سیستم عامل اون رو میشناسه - (LV) Logival Volume
اگر یه بصورت یه هرم نگله کنیم به lvm و معماری اون LV در بالای اون قرار میگیره بعد از این که تمام کامپوننت ها اماده شد اون ساخته میشه , در واقع همون پارتیشن هایی هستن که ما باهاشون سرکار داریم
LV ها مستقیماً روی دیسک خاصی عمل نمیکنند، بلکه فضای خودشون رو از فضای دیسک موجود در VG دریافت میکننداین به این معنیه که یک LV ممکن است شامل فضای ذخیره سازی موجود از چندین PV باشه - Physical Extent (PE)
کوچکترین اندازه یا فضایی است که می توان از PV گرفت و به LV اختصاص داد ، پیشفرض این فضا 4 مگابایت می باشد و برای درک بهتر آن کافیست را قسمتی از دیسک فرض کنید که می توان آن را به هر پارتیشنی اختصاص داد.
حالا یه مثال میزینم تا با کامند هاش هم اشنا بشیم
اول برای اینکه دیسک جدیدی که به سرور وصل کردیم پیدا کنیم رو با دستور fdisk -l پیدا میکنیم نتیجهش یه چیزی مثل عکس زیر میشه
این کاکمد بهمون میگه ما یه دیسک با فضای ۱۰ گیگ داریم (/dev/sdb) که پارتیشن ندارند و به صورت دیسک خام در دسترس هستند بعد که دیسک مورد نظر رو پیدا کردیم اول یه PV میسازیم
$ sudo pvcreate /dev/sdb
Physical volume “/dev/sdb” successfully created.
$
با کامند pvs یا pvdisplay میتونیم وضعیت pv هامون رو ببینیم
بعد از ساختن pv باید بریم سراغ ساختن VG که در حقیقت میتونه شامل چندیت PV باشه
Syntax:
$ sudo vgcreate <vg_name> <pv> <physical volume>
$ sudo vgcreate vg01 /dev/sdb
Volume group “vg01” successfully created
$
برای دیدن VG مون هم از کامند vgs یا vgdisplay استفاده میکنیم
خروجی کامند بالا تایید می کند که vg01 ساخته شده و و اندازه هر PE که مقدار پیشفرض است ۴ مگ است
و در مرحبع بعد یه LV میسازیم
Syntax:
$ sudo lvcreate -L <Size> -n <lv_name> <vg_name>
$ sudo lvcreate -L 9.99G -n lv01 vg01
Rounding up size to full physical extent 9.99 GiB
Logical volume “lv01” created.
$
برای اینکه ببینیم وضعیت LV هامون چطوره میتونیم از lvs و lvdisplay استفاده کنیم
خروجی کامند بالا نشون میده که ما با موفقیت LV رو ساختیم و بنابراین میتونیم از این پارتیشن lvm استفاده کنیم
برای اینکه بتونیم از این پارتیشن استفاده کنیم اول باید فرمتش کنیم
Syntax:
$ sudo mkfs.ext4 <LV_Path>
$ sudo mkfs.ext4 /dev/vg01/lv01
کامند بالا میگه که پارتیشنمون رو با EXT4 فرمت کردیم و برای دسترسی به اون حال باید یه جایی اونو ماونت کنیم
$ sudo mkdir /data
$ sudo mount /dev/vg01/lv01 /data
با کامند های بالا پارتیشن مون رو /data ماونت میکنیم ومیتونیم استفاده کنیم
Leave A Comment