LVM
LVM سرواژگان Logical Volume Manager به معنای «مدیر حجم منطقی»، راهکاری برای انتزاع حجمهای منطقی از فضای فیزیکی است که بر افزایش انعطاف تمرکز دارد. با LVM میتوان کارهایی مثل افزودن دیسکهای جدید، انتقال دادهها به آنها، برداشتن دیسکهای قدیمی، تغییر اندازهٔ حجمهای منطقی و… را به سرعت و بدون پیاده کردن حجمها انجام داد.
محتویات
مفاهیم
این انعطاف از طریق سطحی از انتزاع به دست میآید که شامل سه مفهوم است:
حجم فیزیکی
حجم فیزیکی یا PV سرواژگان Physical Volume و نزدیکترین مفهوم به سختافزار است. این حجم میتواند افرازی از دیسک، یک دیسک کامل یا هر افزارهٔ بلوکی دیگری (مثلاً یک آرایهٔ RAID) باشد.
به خاطر داشته باشید هنگامی که عنصری فیزیکی برای PV بودن در LVM برپا شد، باید فقط از طریق LVM مدیریت شود؛ در غیر این صورت، ممکن است موجب خرابی دادهها شود.
گروه حجمی
تعدادی از حجمهای فیزیکی میتوانند در یک گروه حجمی یا VG سرواژگان Volume Group قرار گیرند که مانند دیسکی مجازی و قابل گسترش است.
گروههای حجمی انتزاعی بوده و در پروندهٔ افزارهای در /dev ظاهر نمیشوند، پس خطر استفادهٔ مستقیم از آنها وجود ندارد.
حجم منطقی
سومین مفهوم، حجمهای منطقی یا LVها سرواژگان Logical Volume هستند که بخشی از یک گروه حجمیند. اگر قیاس «گروه حجمی به مثابه دیسک» را در نظر بگیریم، حجم منطقی به مثابه یک افراز است.
حجمهای منطقی به عنوان یک افزارهٔ بلوکی در /dev قرار گرفته و میتوانند مانند یک افراز عادی استفاده شوند.
نکات
نکتهٔ مهم این است که بخش کردن گروه حجمی به حجمهای منطقی، کاملاً مستقل از مولفهٔ فیزیکی آن است. گروه حجمیای با فقط یک مولفهٔ فیزیکی (مثلاً یک دیسک) میتواند به دهها حجم فیزیکی تقسیم شود. به طور مشابه، یک گروه حجمی میتواند از چندین دیسک فیزیکی استفاده کرده و به شکل یک حجم منطقی بزرگ ظاهر شود. تنها محدودیت، این است که به شکل واضحی، مجموع حجم تخصیصی به حجمهای منطقی نمیتواند بیشتر از ظرفیت کل حجمهای فیزیکی در گروه حجمی باشد.
منطقی است که نوعی همگنی میان مولفههای فیزیک یک گروه حجمی و تقسیمش به حجمهای منطقیای که الگوهای استفادهٔ مشابه دارند باشد. برای مثال، اگر سختافزار موجود دارای دیسکهای سریع و دیسکهایی کند است، سریعها در یک گروه حجمی و کندها در در گروهی دیگر افزوده شوند. بخشهای گروه حجمی نخست میتوانند برای کاربردهایی که نیاز به دسترسی سریع به داده دارند استفاده شده و بخشهای دومی برای نگهداری دادههای کمتر مورد نیاز.
در هر صورت، به خاطر داده باشید که یک حجم منطقی به هیچ حجم فیزیکی خاصی متّصل نیست. امکان تعیین دقیق این که دادههای یک حجم منطقی به صورت فیزیکی در کجا قرار دارند وجود دارد، ولی این این امکان برای استفادهٔ روزمره کارایی ندارد. به طور خلاصه: هنگام استفاده از حجمهای فیزیکی مختلف، یک حجم منطقی میتواند بین فضاهای فیزیکی مختلف آن گروه حجمی، جابهجا شود.
نصب
با فرمان زیر ابزار مدیریت lvm را نصب میکنیم.
$ sudo apt install lvm2
مثال
فرض کنید یک دیسک به اندازهٔ حجمی 2TB در اختیار داریم که میخواهیم آن را با lvm مدیریت کنیم.
اخطار:
با توجه به حساسیت کار و امکان از دست دادن دادهها پیش از شروع گامها بررسیهای لازم را انجام دهید.با فرمان lsblk یا fdisk میتوان از متصل بودن دیسک به سامانه و اینکه میخواهیم روی کدام یک از دیسکها کار کنیم اطمینان حاصل کرد.
$ lsblk -f
$ fdisk -l
فرض کنیم دیسک مورد نظر به عنوان sdb شناخته شده است.
افرازش دیسک
نخستین گام افراز بندی دیسک است.
$ fdsik /dev/sdb
تمام فضای دیسک را به یک قسمت افراز میکنیم.(sdb1)
اگر دیسکهای دیگری هم داریم به همین شکل کار را ادامه میدهیم.
ساخت یک حجم فیزیکی physical volume
برای هریک از افرازها یک حجم فیزیکی با فرمان زیر میسازیم.
$ pvcreate /dev/sdb1
با فرمان pvdisplay از ساخت حجم فیزیکی اطمینان حاصل میکنیم.
$ pvdisplay
ساخت یک گروه منطقی logical group
دستهای از حجمهای فیزیکی را در یک گروه منطقی قرار میدهیم.
$ vgcreate mynew_vg /dev/sdb1
اگر دو حجم داشته باشیم به این شکل از آنها یک گروه منطقی میسازیم.
$ vgcreate mynew_vg /dev/sdb1 /dev/sdc1
ساخت یک حجم منطقی logical volume
روی گروه منطقی mynew_vg یک حجم منطقی به اندازهٔ 1000GB با نام database میسازیم.
$ lvcreate -L 1000G -n database mynew_vg
در این مرحله میتوان گروههای منطقی را با فرمان vgdisplay بررسی کرد.
$ vgdisplay