آموزش کامل LVM در لینوکس | مدیریت دیسک در هاست و سرور
در این مقاله به صورت کامل و قدم به قدم LVM در لینوکس را بررسی می کنیم.
LVM یا Logical Volume Manager ابزاری است که به شما امکان می دهد دیسک ها را به صورت پویا مدیریت کنید.
این آموزش برای مدیران سرور مجازی ایران و آلمان و کسانی که به دنبال مدیریت حرفه ای هاست هستند، بسیار کاربردی است.
LVM چیست؟
LVM یک لایه نرم افزاری بین دیسک فیزیکی و فایل سیستم ایجاد می کند.
به جای کار مستقیم با پارتیشن ها، می توانید از حجم های منطقی (Logical Volumes) استفاده کنید.
این کار انعطاف پذیری بالایی در مدیریت هاست و VPS به شما می دهد.
به زبان ساده، LVM در لینوکس مثل یک سیستم مدیریت هوشمند برای فضای ذخیره سازی است که اجازه می دهد دیسک ها را ترکیب کنید، حجم ها را تغییر دهید و بدون خاموشی سرور، فضای بیشتری به سرویس ها اختصاص دهید.
مزایای استفاده از LVM در لینوکس
- افزایش یا کاهش حجم دیسک بدون ریبوت
- مدیریت چندین دیسک به صورت یکپارچه
- امکان گرفتن Snapshot برای بکاپ سریع
- انعطاف پذیری بالا برای هاستینگ و دیتابیس ها
- امکان جابجایی داده ها بین دیسک ها بدون Downtime
نصب LVM در لینوکس
برای استفاده از LVM در لینوکس باید بسته lvm2 نصب باشد.
این دستور روی توزیع های مختلف متفاوت است:
# Ubuntu / Debian sudo apt update sudo apt install lvm2 # CentOS / RHEL sudo yum install lvm2
شناسایی دیسک ها در LVM
قبل از ساخت LVM باید بدانیم چه دیسک هایی در سیستم وجود دارند.
این کار با دستور زیر انجام می شود:
lsblk -o name,size,type,mountpoint
ساخت PV، VG و LV در LVM لینوکس
۱. ساخت PV (Physical Volume)
PV اولین لایه در LVM است. یعنی دیسک یا پارتیشن خام را به LVM معرفی می کنیم.
sudo pvcreate /dev/sdb1
۲. ساخت VG (Volume Group)
VG مثل یک ظرف بزرگ است که چند دیسک (PV) را در خود نگه می دارد.
بعداً LVها را از داخل این ظرف می سازیم.
sudo vgcreate vg_data /dev/sdb1
۳. ساخت LV (Logical Volume)
LV همان چیزی است که مثل یک پارتیشن عادی می توانیم روی آن فایل سیستم بسازیم و Mount کنیم.
sudo lvcreate -n lv_web -L 20G vg_data
فرمت و Mount کردن LV در LVM لینوکس
برای استفاده از LV باید روی آن فایل سیستم بسازیم (مثل ext4 یا xfs).
sudo mkfs.ext4 /dev/vg_data/lv_web sudo mkdir -p /data/web sudo mount /dev/vg_data/lv_web /data/web echo "/dev/vg_data/lv_web /data/web ext4 defaults 0 2" | sudo tee -a /etc/fstab
افزایش حجم LV
اگر فضای دیسک پر شد، می توانیم دیسک جدید اضافه کنیم و LV را بزرگ تر کنیم.
sudo pvcreate /dev/sdc1 sudo vgextend vg_data /dev/sdc1 sudo lvextend -L +10G /dev/vg_data/lv_web sudo resize2fs /dev/vg_data/lv_web
کاهش حجم LV در LVM
کوچک کردن LV خطرناک است و اگر درست انجام نشود، داده ها از بین می روند.
برای ext4 باید فایل سیستم را آفلاین کوچک کنید.
sudo umount /data/web sudo e2fsck -f /dev/vg_data/lv_web sudo resize2fs /dev/vg_data/lv_web 15G sudo lvreduce -L 15G /dev/vg_data/lv_web sudo mount /dev/vg_data/lv_web /data/web
Snapshot در LVM لینوکس
Snapshot یک کپی لحظه ای از LV است. برای بکاپ سریع یا تست خیلی مفید است.
sudo lvcreate -L 5G -s -n lv_web_snap /dev/vg_data/lv_web sudo mount -o ro /dev/vg_data/lv_web_snap /snap/web sudo umount /snap/web sudo lvremove /dev/vg_data/lv_web_snap
ارورهای رایج و راه حل ها
- device is busy: LV هنوز Mount است → ابتدا Unmount کنید.
- not enough free space: فضای VG کافی نیست → دیسک جدید اضافه کنید.
- snapshot overflowed: Snapshot پر شده → Snapshot را حذف یا بزرگ کنید.
- filesystem corrupt after resize: قبل از کاهش، فایل سیستم چک نشده → همیشه
e2fsckاجرا کنید.
نکات امنیتی و محکم کاری
- قبل از هر تغییر، از داده ها بکاپ بگیرید.
- برای کاهش حجم، اول فایل سیستم را کوچک کنید، بعد LV را.
- برای افزایش حجم، اول LV را بزرگ کنید، بعد فایل سیستم را.
- Snapshot را طولانی مدت نگه ندارید.
- از
vgcfgbackupبرای ذخیره پیکربندی استفاده کنید.
مانیتورینگ LVM
sudo lvdisplay sudo vgdisplay sudo pvdisplay sudo lvs -a -o +devices sudo vgs -o +lv_count,vg_size,vg_free sudo pvs -o +pv_used
جمع بندی
مدیریت LVM یکی از مهارت های ضروری برای مدیران سرور است.
با این ابزار می توانید دیسک ها را به صورت پویا مدیریت کنید، Snapshot بگیرید و بدون Downtime فضای هاست و VPS را افزایش دهید.
اگر به دنبال سرور مجازی شاتل با پیکربندی حرفه ای LVM هستید،
پلن های VPS ما را بررسی کنید.