آشنایی با مفهوم LVM در لینوکس

تصویر ساده از فناوری LVM
تصویر ساده از فناوری LVM

فرض کنید بر روی ماشین شما دو هارد ۱۰۰ گیگابایت وجود داشته باشد اما شما به فضایی پارتیشینی بیش از ۱۰۰ گیگ نیاز داشته باشید چه می کنید؟ اگر بعد از مدتی تصمیم به تغییر اندازه پارتیشین گرفتید بدون این که اطلاعات شما از دست برود چه راه حلی دارید؟ اگر یکی از دستگاه های ذخیره سازی از بین رفت تکلیف اطلاعات موجود بر روی آن چیست؟

پرسش های زیادی از این دست وجود دارد یکی از پاسخ ها به این سوالات فناوری LVM است. LVM فناوری است که امکان مجازی سازی فضای ذخیره سازی را برای کاربر فراهم می کند و از دید کاربر محدودیت های فیزیکی سخت افزارهای ذخیره سازی را پنهان می کند. این گونه فرض کنید دو هارد مثال گفته شده در یک گروه ذخیره سازی قرار می گیرد شما به عنوان استفاده کننده یک فضای ذخیره سازی یکپارچه ۲۰۰ گیگابایتی در اختیار دارید می توانید از این فضا پارتیشن هایی مجازی ایجاد کنید هر زمانی لازم شد بدون خطر از دست رفتن اطلاعات، اندازه این پارتیشن های مجازی را بزرگ یا کوچک کنید.

فضای فیزیکی

هر پارتیشن یا دیسک یک PV یا فضای فیزیکی ایجاد می کند. فرض کنید ما فضایی فیزیکی با سه نام sdb1 ،sdb2 و sdb3 در اختیار داریم می خواهیم انها را به فضای PV تبدیل کنیم برای این کار از دستور pvcreate استفاده می کنیم:

sudo pvcreate /dev/sdb1 /dev/sdb2 /dev/sdb3

با اجرای این دستور پیام تصدیق چند بار ظاهر می شود با زدن دکمه y تایید کنید پس از اجرا این دستور ما سه فضای PV در اختیار داریم. برای مشاهده فضاهای فیزیکی در ترمینال از دستور pvs استفاده می شود:

sudo pvs

مشاهده لیست pv  های موجود
مشاهده لیست pv های موجود

ایجاد VG

از مجموع هر چند pv یک vg (گروه فضا) ایجاد می شود. با استفاده از دستور vgcreate می توان فضاهای فیزیکی را به گروه اضافه کرد.

sudo vgcreate LVMVolGroup /dev/sda /dev/sdb

با اجرای دستور فوق سه فضای pv باهم ترکیب شده و در گروه با نام LVMVolGroup قرار می گیرد. برای مشاهده لیست VG می توان از دستور زیر استفاده کرد:s

sudo vgs

خروجی دستور vgs
خروجی دستور vgs

همانطور که مشاهده می کنید گروه مجازی با نام LVMVolGroup ایجاد شده است و حجم آن تقریبا برابر مجموع حجم های PV ها است.

تخصیص پارتیشن مجازی (lv)

پس از اینکه گروه مجازی ایجاد شد می توانیم متناسب با نیاز پارتیشن های مجازی با حجم های مختلف ایجاد کنیم برای این کار می توانیم از دستور lvcreate استفاده کرد:

sudo lvcreate -L 4G -n projects LVMVolGroup

با اجرای دستور فوق یک lv با نام projects و با حجم ۴ گیگابایت به وجود می آید برای مشاهده lv ها موجود از دستور lvs می توان استفاده کرد:

خروجی دستور lvs
خروجی دستور lvs


منبع

برای مطالعه بیشتر و نکات جزیی تر می توانید به منبع زیر مراجعه کنید:

https://www.digitalocean.com/community/tutorials/an-introduction-to-lvm-concepts-terminology-and-operations