سوالات متداول درباره LVM

LVM مخفف Logical Volume Management ابزاری است که امکان مدیریت Disk Drive ها و پارتیشن ها را می دهد و به وسیله آن به راحتی می توان پارتیشن را resize کرد. امروزه در تمامی توزیع های لینوکسی LVM وجود داشته و می توانید در زمان نصب توزیع لینوکسی یا پس از نصب توزیع از LVM برای مدیریت دیسک ها و پارتیشین ها استفاده کنید. LVM امکان resize کردن پارتیشن، ایجاد Snapshot Backup یا ترکیب چندین دیسک برای اجرا شدن تحت یک پارتیشن واحد و بسیاری دیگر از امکانات را فراهم می کند.به طور کلی LVM انعطاف پیذیری بهتری در مدیریت دیسک ها و پارتیشن ها را می دهد. بدون وجود LVM، تغییر اندازه یا resize کردن یک پارتیشن کاری دشوار است و ممکن است اطلاعات پارتیشن از بین برود و یا باعث Downtime و از دسترس خارج شدن سیستم شود ولی با استفاده از LVM به راحتی می توان این کار را انجام داد.در این مطلب می توانید درباره LVM بخوانید. در ادامه تعدادی از پرسش های متدوال درباره لینوکس مطرح و پاسخ داده می شود.

  • نخستین پرسش اینکه آیا می توان بدون Unmount کردن پارتیشن های LVM یا همان Logical Volume ها، اندازه آنها را افزایش (Increase) داد؟

بله. ویژگی LVM این است که بر خلاف سیستم فایل های قدیمی (پارتیشن های قدیمی)، برای افزایش اندازه آن نیازی به Unmount کردن ندارد. می توانید راهنمای افزایش Logical Volume را از اینجا بخوانید.

  • چه گام هایی را برای افزایش اندازه Logical Volume (به طبع بدون Unmount کردن آن) انجام دهیم؟

سه گام زیر لازم است که انجام شود :

1 – گسترش (Extend) دادن Logical Volume.

2 – افزایش دادن (Increase) اندازه سیستم فایل (پارتیشن).

3 – بررسی اینکه آیا افزایش صورت گرفته است. (توسط دستور df یا lvs).

  • آیا می توان بدون Unmount کردن Logical Volume اندازه آنرا کاهش داد؟ چگونه اندازه Logical Volume را کاهش دهیم؟

امکان کاهش اندازه Logical Volume بدون Unmount کردن آن وجود ندارد. گام های زیر را برای کاهش اندازه Logical Volume انجام می دهیم : (راهنمای کاهش Logical Volume را می توانید از اینجا بخوانید.)

1 – نخست سیستم فایل را Unmount می کنیم.

2 – دستور e2fsck بر روی Volume Device اجرا می کنیم.

3 – اندازه سیستم فایل را کاهش می دهیم (دستور resize2fs).

4 – کاهش Logical Volume با lvreduce.

5 – در نهایت mount کردن دوباره سیستم فایل.

  • آیا می توانیم دیسک های (Physical Volume) جدید را scan کینم؟ یعنی چگونه از وجود دیسک های جدید متصل شده به سیستم، متلع شویم. (حال می تواند یک Hard Disk یا یک SAN جدید متصل شده باشد.)

در مطلب “پیکربندی LVM از خط فرمان” دستور های مرتبط با LVM گفته شده است. دستوری که برای هدف فوق به کار می بریم، دستور  pvscan (مخفف Physical Volume Scan) است.

  • چگونه از وجود Volume Group ها مطلع شویم؟

دستوری که برای هدف فوق به کار می بریم، دستور gvscan است. (مطلب “نشان دادن جزییات از Linux LVM“)

  • چگونه از وجود Logical Volume ها مطلع شویم.

دستوری که برای هدف فوق به کار می بریم، دستور lvscan است. (مطلب “نشان دادن جزییات از Linux LVM“)

  • چگونه می توانیم Logical Volume را stop کنیم؟ یا به عبارتی چگونه آنرا غیر فعال کنیم؟

برای این کار از دستور lvchange به صورت زیر استفاده می کنیم.

lvchange -an /dev/vg_name/lv_name

دستور بالا واضح است، نام گروه و نام Logical Volume مشخص شده است. هر Group Volume شامل یک یا چند Logical Volume است.

  • چگونه می توانیم Logical Volume را دوباره فعال کنیم؟ (تغییر از حالت غیر فعال به حالت فعال)

برای این کار از دستور lvchange به صورت زیر استفاده می کنیم.

lvchange -ay /dev/vg_name/lv_name

  • چگونه Volume Group را غیر فعال یا disable کنیم؟

برای این کار از دستور gvchange به صورت زیر استفاده می کنیم.

vgchange -an volume_group_name

  • چگونه Volume Group را دوباره فعال کنیم؟ (تغییر از حالت غیر فعال به حالت فعال)

vgchange -ay volume_group_name

  • چگونه گزارشی از Logical Volune ها بدست بیاوریم؟ (کسب اطلاعات از Logical Voulme ها)

دستوری که برای هدف فوق به کار می بریم، دستور lvs است. (مطلب “نشان دادن جزییات از Linux LVM“)

  • چگونه اطلاعات Physical Volume ها را بدست بیاوریم؟

دستوری که برای هدف فوق به کار می بریم، دستور pvs است. (مطلب “نشان دادن جزییات از Linux LVM“)

  • چگونه اطلاعات Volume Group را بدست بیاوریم؟

دستوری که برای هدف فوق به کار می بریم، دستور gvs است. (مطلب “نشان دادن جزییات از Linux LVM“)

  • اطلاعات با جزییات بیشتر از Group Volume ها را چگونه بدست بیاوریم؟

از دستور vgdisplay به صورت زیر استفاده می کنیم : (و همچنین مطلب “نشان دادن جزییات از Linux LVM“)

vgdisplay  vg_name

  • اطلاعات با جزییات بیشتر از Logical Volume ها را چگونه بدست بیاوریم؟

از دستور lvdisplay به صورت زیر استفاده می کنیم : (و همچنین مطلب “نشان دادن جزییات از Linux LVM“)

lvdisplay  /dev/vg_name/lv_name

  • اطلاعات با جزییات بیشتر از Physical Volume ها را چگونه بدست بیاوریم؟

از دستور pvdisplay به صورت زیر استفاده می کنیم : (و همچنین مطلب “نشان دادن جزییات از Linux LVM“)

pvdisplay /dev/disk_name

به طور مثال برای دیسک sdb

pvdisplay /dev/sdb

امکان تغییر نام Volume Group f وجود دارد. اما لازم است که Volume های mount شده را با نام جدید گروه re-mount کنید. (لازم است که فایل etc/fstab/ ویرایش شود). فرض کنید قبل از تغییر نام گروه old_vg_name که شامل یک Logical Volume به نام lv1 باشد، پس میری مانند زیر در زیر دایرکتوری dev/ و به طبع در فایل etc/fstab/ وجود دارد.

ls -l /dev/mapper/old_vg_name-lv1

و پس از تغییر نام آن به new_vg_name تغییر کرده است، پس باید خط مروبطه در فایل fstab نیز با نام جدید ویرایش شود.

dev/mapper/new_vg_name-lv1/

  • چگونه از پیکربندی LVM یک Backup تهیه کنیم؟

با استفاده از دستور vgcfgbackup به صورت زیر یک نسخه پشتیبان تهیه می کنیم که محل پیشفرض قرار گیری آن در مسیر etc/lvm/backup/ است.

vgcfgbackup vg_name

  • چگونه یک Logical Volume را از گام نسخت ایجاد کنیم؟

پاسخ این سوال نیز مرتبط با مطلب “پیکربندی LVM از خط فرمان” است و شامل گام های زیر می باشد:

1 – ایجاد Physical Volume از یک دیسک (به طور مثال دیسک sdc) با دستور pvcreate به صورت زیر :

pvcreate /dev/sdc

2 – ایجاد Volume Group توسط دستور vgcreate به صورت زیر (به طور مثال گروهی به نام vg02 از Physical Volume که در گام قبل ایجاد کردیم).

vgcreate vg02 /dev/sdc

3 – ایجاد Logical Volume (پارتیشن) توسط دستور lvcreate به صورت زیر (به طور مثال پارتیشنی به نام vol1 عضو گروه vg02 f به اندازه 100 مگابایت)

lvcreate -L 100M -n vol1 vg02

4 – نصب سیستم فایل (به طور مثال از نوع ext4) بر روی Logical Volume (پارتیشن) توسط دستور mkfs به صورت زیر :

mkfs -t ext4 /dev/vg02/vol1

5 – در نهایت mount یا متصل کردن Logical Volume (پارتیشن) بر روی یک دایرکتوری با دستور mount به صورت زیر :

mount -t ext4 /dev/vg02/vol1 /vol1

  • فرض کنید گروهی به نام vg02 وجود دارد و می خواهید که آنرا به اندازه 50 گیابایت گسترش دهید. چگونه انجام می گیرد؟ (یعنی می خواهیم دیسکی به اندازه 50 گیابایت را به گروه اضافه کنیم تا از فضای آن برای افزایش حجم Logical Volume های عضو گروه استفاده کنیم)

برای این کار گام های زیر را انجام می دهیم :

1 – نخست لازم است دیسک 50 گیابایتی به سیستم متصل شود (یا به صورت یک هارد دیسک یا با استفاده از SAN).

2 – سپس ایجاد Physical Volume توسط دستور pvcreate.

3 – در نهایت افزودن دیسک به گروه (Extend کردن گروه) توسط دستور vgextend.

به طور مثال دیسک sdc را به سیستم متصل کرده ایم  و می خواهیم آنرا به Group Volume به نام vg02 اضافه کنیم.

pvcreate /dev/sdc

vgextend vg02 /dev/sdc

  • با فرض اینکه گروهی به نام vg02 دارای دو Physical Volume به نام های sdc و sdd باشد، چگونه (یکی از) آنها را از گروه حذف کنیم؟ (مانند sdd).

برای این کار از دستور vgreduse به صورت زیر استفاده می کنیم :

vgreduce vg02 /dev/sdd

  • چگونه LVM را به طور کامل حذف کنیم؟

برای این کار باید گام های زیر را انجام دهیم :

1 – تمامی Logical Volume ها را Unmount می کنیم.

2 – سپس توسط دستور lvremove تمامی Logical Volume ها را حذف می کنیم.

3 – توسط دستور vgremove گروه ها را از بین می بریم.

4 – در نهایت توسط دستور pvremove تمامی Physical Volume ها را از سیستم حذف می کنیم.

همچنین لازم است پست های مرتبط زیر را در صورت لزوم مطالعه کنید.