فارسی (Farsi)
€EUR

افزایش اندازه پارتیشن و فایل‌سیستم در VPS لینوکس

3 min
سرور مجازی (VPS/VDS)

پس از ارتقای دیسک در VPS Linux Infrawire خود، دیسک مجازی بزرگ‌تر می‌شود اما پارتیشن و فایل‌سیستم همچنان اندازه قبلی را دارند. باید هر دو را دستی بزرگ کنید و این کار در حالت روشن و بدون جدا کردن (unmount) فایل‌سیستم ریشه انجام می‌شود.

این راهنما پارتیشن‌های معمولی (ext4 و XFS) و پیکربندی‌های LVM را روی Ubuntu 24.04، Debian 12، AlmaLinux 9 و Rocky 9 پوشش می‌دهد.

📋 پیش‌نیازها

  • یک VPS که دیسکش قبلاً بزرگ شده است (اندازه جدید در lsblk دیده می‌شود)
  • دسترسی SSH با کاربر root (آی‌پی و رمز root را در پنل کاربری خود می‌یابید)
  • یک نسخه پشتیبان تازه از داده‌های مهم

1. پیش از دست‌زدن به پارتیشن‌ها پشتیبان بگیرید

تغییر اندازه فایل‌سیستم mount‌شده ext4 یا XFS کاری رایج است، اما اشتباه در جدول پارتیشن می‌تواند داده‌ها را نابود کند. ابتدا موارد مهم را ذخیره کنید:

Bash
# بایگانی داده‌هایی که از دست‌رفتنشان قابل‌جبران نیست tar -czf /root/backup-etc.tar.gz /etc rsync -avz /var/www/ USER@BACKUP_HOST:/backups/www/ # ذخیره جدول پارتیشن (برای بازیابی مفید است) sfdisk -d /dev/vda > /root/vda-partition-table.txt

2. دیسک، پارتیشن و فایل‌سیستم را شناسایی کنید

Bash
lsblk -f df -hT /

خروجی معمول: دیسک vda با ۸۰ گیگابایت، پارتیشن vda1 با ۴۰ گیگابایت که روی / mount شده و فایل‌سیستم ext4 یا xfs. اگر ریشه روی /dev/mapper/... است، از LVM استفاده می‌کنید: بخش ۵ را ببینید. نام دیسک ممکن است sda یا nvme0n1 هم باشد (پارتیشن‌ها در آن صورت با p1 تمام می‌شوند).

3. پارتیشن را با growpart بزرگ کنید

ابزار را نصب کنید. در Ubuntu و Debian نام بسته cloud-guest-utils و در AlmaLinux و Rocky نام آن cloud-utils-growpart است:

Bash
# Ubuntu / Debian apt update && apt install -y cloud-guest-utils # AlmaLinux / Rocky dnf install -y cloud-utils-growpart

سپس پارتیشن شماره ۱ دیسک /dev/vda را بزرگ کنید (به فاصله بین دیسک و شماره توجه کنید):

Bash
growpart /dev/vda 1

اگر پیام NOCHANGE آمد، پارتیشن از قبل همه فضا را اشغال کرده است. بعضی ایمیج‌ها بعد از پارتیشن ریشه یک پارتیشن کوچک هم دارند (مثلاً swap): در این حالت growpart نمی‌تواند ریشه را بزرگ کند و ابتدا باید آن پارتیشن را حذف یا جابه‌جا کنید.

بررسی کنید هسته اندازه جدید را می‌بیند:

Bash
lsblk /dev/vda # اگر هنوز اندازه قبلی نمایش داده می‌شود: partprobe /dev/vda

4. فایل‌سیستم را بزرگ کنید

دستور متناسب با نوع فایل‌سیستم خود (که lsblk -f نشان می‌دهد) را به کار ببرید.

برای ext4:

Bash
resize2fs /dev/vda1

برای XFS (پیش‌فرض در AlmaLinux و Rocky). آرگومان، نقطه mount است نه دستگاه، و XFS را فقط می‌توان بزرگ کرد و هرگز کوچک نمی‌شود:

Bash
xfs_growfs /

5. حالت LVM: pvresize و lvextend

وقتی حجم منطقی ریشه روی LVM قرار دارد، یک لایه دیگر هم هست: پارتیشن، سپس حجم فیزیکی، سپس حجم منطقی و در نهایت فایل‌سیستم.

Bash
lsblk pvs && vgs && lvs # 1. بزرگ‌کردن پارتیشنی که حجم فیزیکی را در بر دارد (اینجا vda3) growpart /dev/vda 3 # 2. اطلاع‌دادن به LVM که حجم فیزیکی بزرگ‌تر شده است pvresize /dev/vda3 # 3. گسترش حجم منطقی و فایل‌سیستم آن در یک مرحله (-r) lvextend -r -l +100%FREE /dev/mapper/VG_NAME-LV_NAME

گزینه -r ابزار مناسب (resize2fs یا xfs_growfs) را خودش فراخوانی می‌کند. VG_NAME-LV_NAME را مطابق خروجی lvs تنظیم کنید، مثلاً /dev/ubuntu-vg/ubuntu-lv. برای استفاده از بخشی از فضای آزاد، به‌جای -l +100%FREE بنویسید -L +10G.

6. نتیجه را بررسی کنید

Bash
df -h / lsblk

ستون Size در df -h اکنون باید با ظرفیت جدید برابر باشد و lsblk باید پارتیشن را در تمام دیسک نشان دهد. نیازی به راه‌اندازی مجدد نیست و برنامه‌های شما در تمام مدت به کار خود ادامه می‌دهند.

🛠️ عیب‌یابی

growpart: command not found: بسته نصب نیست. cloud-guest-utils (apt) یا cloud-utils-growpart (dnf) را نصب کنید.

NOCHANGE: partition 1 could not be grown: یا دیسک واقعاً بزرگ نشده است (lsblk را با سفارش خود مقایسه کنید) یا بلافاصله بعد از پارتیشن موردنظر، پارتیشن دیگری قرار دارد. با fdisk -l /dev/vda بررسی کنید.

resize2fs: Bad magic number in super-block: فایل‌سیستم احتمالاً XFS است نه ext4. lsblk -f را اجرا کنید و به‌جای آن از xfs_growfs / استفاده کنید.

xfs_growfs: / is not a mounted XFS filesystem: نام دستگاه داده‌اید یا فایل‌سیستم ext4 است. نقطه mount را بدهید و ابتدا نوع را بررسی کنید.

lvextend اعلام می‌کند extent آزاد وجود ندارد: مرحله growpart یا pvresize را جا انداخته‌اید. pvs را اجرا و ستون PFree را بررسی کنید.


🎉 فضای اضافی دیسک اکنون قابل استفاده است: بدون ریبوت، بدون قطعی، و df -h گواه آن است!

با آخرین پیشنهادها، تخفیف‌ها و تبلیغات ویژه به‌روز بمانید.

مشاهده تخفیف‌ها

ما از کوکی استفاده می‌کنیم

ما از کوکی‌های تحلیلی برای بهبود تجربه شما در سایت خود استفاده می‌کنیم. هیچ داده‌ای به اشخاص ثالث فروخته نمی‌شود. اطلاعات بیشتر در سیاست حفظ حریم خصوصی ما.