## 📏 آموزش گسترش و کاهش حجمهای منطقی در LVM (مدیریت منطقی دیسک) – سطح پیشرفته
**LVM (Logical Volume Management)** به مدیران سیستم این امکان را میدهد که فضای دیسک را بهصورت پویا گسترش یا کاهش دهند، بدون نیاز به پارتیشنبندی مجدد یا راهاندازی مجدد سیستم. در این آموزش، نحوهی **گسترش (extend)** و **کاهش (reduce)** حجمهای منطقی (Logical Volumes) را مرحلهبهمرحله آموزش میدهیم.
---
## 🧱 پیشنیازها
* داشتن یک Volume Group و Logical Volume از قبل (اگر نه، میتوانی مقاله قبلی درباره LVM را ببینی)
* بکاپ گرفتن از اطلاعات، مخصوصاً هنگام کاهش حجم!
---
## 🔼 گسترش حجم منطقی (LV)
### ✅ سناریو: افزایش اندازه LV به 15 گیگابایت
### 1️⃣ بررسی فضای موجود:
```bash
sudo vgs
```
### 2️⃣ گسترش LV:
```bash
sudo lvextend -L 15G /dev/my_vg/my_lv
```
یا افزودن فضای خاص:
```bash
sudo lvextend -L +5G /dev/my_vg/my_lv
```
### 3️⃣ گسترش فایلسیستم (برای ext4):
```bash
sudo resize2fs /dev/my_vg/my_lv
```
> برای XFS از این دستور استفاده شود:
```bash
sudo xfs_growfs /mnt/mylv
```
---
## 🔽 کاهش حجم منطقی (LV)
⚠️ **خطرناکترین عملیات LVM است! حتماً قبل از انجام از دادهها بکاپ بگیرید!**
### ✅ سناریو: کاهش حجم به 8 گیگ
### 1️⃣ حذف مانت:
```bash
sudo umount /dev/my_vg/my_lv
```
### 2️⃣ بررسی سلامت فایلسیستم:
```bash
sudo e2fsck -f /dev/my_vg/my_lv
```
### 3️⃣ کاهش اندازه فایلسیستم:
```bash
sudo resize2fs /dev/my_vg/my_lv 8G
```
### 4️⃣ کاهش اندازه LV:
```bash
sudo lvreduce -L 8G /dev/my_vg/my_lv
```
### 5️⃣ مانت مجدد:
```bash
sudo mount /dev/my_vg/my_lv /mnt/mylv
```
---
## 🧪 بررسی وضعیت نهایی
```bash
sudo lvs
sudo vgs
sudo df -h
```
---
## 🔄 نکات مهم و حرفهای
* همیشه برای **کاهش حجم، ابتدا فایلسیستم را کوچک** کنید سپس LV را.
* برای **گسترش حجم در حال استفاده** (online)، نیاز به مانت کردن مجدد نیست (در بیشتر موارد).
* در سیستمهای XFS نمیتوان کاهش حجم داد، چون `resize2fs` فقط ext3/ext4 را پشتیبانی میکند.
---
## ✅ جمعبندی
گسترش و کاهش حجم در LVM یک قابلیت حیاتی برای مدیریت پویای فضای دیسک است. با رعایت نکات بالا میتوان بهسادگی و بدون از دست رفتن دادهها، حجمها را تنظیم کرد.