如何使用终端命令在 Linux 系统中增加硬盘空间
آموزش قدم به قدم افزایش فضای هارد در لینوکس با استفاده از دستورات ترمینال با رعایت نکات ایمنی

如何使用终端命令在 Linux 系统中增加硬盘空间

本文将探讨如何使用终端命令在 Linux 系统中增加硬盘空间。通过讲解安全技巧和不同场景,您可以安全高效地增加服务器磁盘空间。.
0 股票
0
0
0
0

چطور به‌صورت ایمن و مرحله‌به‌مرحله فضای هارد یک سرور لینوکسی را افزایش دهم؟

افزایش فضای هارد یا extend در لینوکس یکی از عملیات رایج برای مدیران سیستم، DevOps و کاربران سرور است—به‌ویژه وقتی حجم دیتابیس، لاگ‌ها، یا داده‌های مدل‌های هوش مصنوعی رشد می‌کند. در این راهنما قدم‌به‌قدم و مبتنی بر خط فرمان توضیح می‌دهیم چگونه در محیط‌های مختلف (VM در دیتاسنتر ابری، سرور اختصاصی یا ماشین مجازی محلی) فضای دیسک را افزایش دهید.

مقدمات و نکات ایمنی قبل از افزایش فضای هارد

قبل از هر تغییر روی پارتیشن یا LVM، 完整备份 یا snapshot بگیرید تا در صورت بروز خطا بتوانید سیستم را بازیابی کنید.

“همیشه قبل از تغییر در جدول پارتیشن، LVM یا فایل‌سیستم یک بکاپ معتبر و قابل بازیابی داشته باشید.”

دستورهای مهم برای بررسی اولیه:

  • df -h
  • lsblk -f
  • blkid
  • fdisk -l 或者 lsblk -o NAME,SIZE,TYPE,MOUNTPOINT برای شناسایی سخت‌افزار

در محیط‌های ابری ابتدا حجم دیسک را از پنل کنترل یا API افزایش دهید، سپس داخل سیستم‌عامل عملیات مربوطه را انجام دهید.

بررسی سناریوها — LVM vs Non-LVM و فایل‌سیستم‌ها

سازمان‌دهی سناریوها کمک می‌کند روش درست را انتخاب کنید:

  • سناریو 1: دیسک افزایش پیدا کرده و از LVM استفاده شده است (معمول‌ترین حالت در سرورهای ابری).
  • سناریو 2: دیسک افزایش یافته اما بدون LVM (پارتیشن root با فایل‌سیستم ext4 或者 XFS).
  • سناریو 3: افزایش حجم یک پارتیشن جداگانه (مثلاً /var یا /home).

笔记: فایل‌سیستم‌های رایج شامل ext4XFSbtrfs 没错。. ext4 را می‌توان offline یا online resize کرد؛ XFS تنها گسترش (grow) را در حالت mounted پشتیبانی می‌کند.

گام‌به‌گام: افزایش فضای هارد در سیستم‌های LVM

1. افزایش اندازه دیسک از پنل (برای VM)

در پنل ابری یا مجازی‌ساز اندازه دیسک را افزایش دهید (مثلاً 50G -> 100G). برای ماشین محلی با QEMU از دستور زیر استفاده کنید:

qemu-img resize disk.img +50G

2. شناسایی دستگاه جدید

برای دیدن وضعیت فعلی دستگاه‌ها از lsblk 使用示例:

$ lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda     252:0    0  100G  0 disk
└─vda1  252:1    0   40G  0 part /

3. اسکن مجدد دستگاه در لینوکس

برای SCSI/virtio:

echo 1 | sudo tee /sys/class/block/vda/device/rescan
# یا
sudo partprobe /dev/vda

4. pvresize برای PV که روی whole-disk است

اگر PV روی whole-disk است (/dev/vdb) کافی است:

sudo pvresize /dev/vdb
sudo pvs
sudo vgs

5. گسترش پارتیشن pv (مثلاً /dev/vda1) با growpart

وقتی PV داخل یک پارتیشن است، از growpart استفاده کنید:

sudo apt install cloud-guest-utils
sudo growpart /dev/vda 1
sudo pvresize /dev/vda1
sudo lvdisplay
sudo lvextend -l +100%FREE /dev/mapper/vg0-root
# برای ext4:
sudo resize2fs /dev/mapper/vg0-root
# برای XFS:
sudo xfs_growfs /

6. دستورات کلیدی برای مدیریت LVM

فرمان‌های پرکاربرد:

sudo pvs; sudo vgs; sudo lvs
sudo lvextend -r -l +100%FREE /dev/vg0/lv_root
# گزینه -r فایل‌سیستم را به‌صورت خودکار resize می‌کند

گام‌به‌گام: افزایش فضای هارد در سیستم‌های Non-LVM (پارتیشن استاندارد)

1. افزایش حجم دیسک از پنل و اسکن داخل سیستم

همانند حالت LVM ابتدا حجم را از پنل افزایش دهید و سپس rescan انجام دهید.

2. استفاده از growpart و resize2fs برای ext4

برای پارتیشن root یا هر پارتیشن ext4:

sudo growpart /dev/vda 1
sudo resize2fs /dev/vda1

مثال برای پارتیشن دوم:

sudo growpart /dev/vda 2
sudo resize2fs /dev/vda2

笔记: اگر resize2fs نیاز به unmount داشته باشد، از حالت single-user یا Live CD استفاده کنید.

3. گسترش XFS

为了 XFS که تنها در حالت mounted گسترش‌پذیر است:

sudo growpart /dev/vda 1
sudo xfs_growfs /mountpoint
# معمولاً:
sudo xfs_growfs /

4. تغییر جدول پارتیشن با parted/fdisk (با احتیاط)

اگر نیاز به حذف و ایجاد مجدد پارتیشن با اندازه جدید دارید، حتماً start sector را حفظ کنید و از پشتیبان جدول پارتیشن استفاده کنید.

sudo parted /dev/vda
# در داخل parted:
print
rm 1
mkpart primary ext4 START 100%

مثال عملی: گسترش root در اوبونتو در ابری

مراحل نمونه:

  1. در پنل: افزایش دیسک از 40G به 80G.
  2. داخل VM اجرا کنید:
sudo lsblk
sudo growpart /dev/vda 1
# اگر LVM:
sudo pvresize /dev/vda1
sudo lvextend -r -l +100%FREE /dev/mapper/ubuntu--vg-root
# یا برای non-LVM:
sudo resize2fs /dev/vda1
# تایید:
df -h

نکات مربوط به فایل‌سیستم رمزنگاری‌شده (LUKS)

اگر پارتیشن رمزنگاری شده دارید، ابتدا کانتینر رمزنگاری را باز کنید و سپس عملیات resize را انجام دهید.

sudo cryptsetup status cryptroot
sudo cryptsetup luksOpen /dev/vda1 cryptroot
# سپس:
sudo pvresize /dev/mapper/cryptroot
# یا برای فایل‌سیستم:
sudo resize2fs /dev/mapper/cryptroot

در صورت استفاده از LVM داخل LUKS، pvresize روی /dev/mapper/cryptroot انجام شود و سپس lvextend.

نکات پرفورمنس و امنیت بعد از گسترش دیسک

پرفورمنس: برای SSD/NVMe از mount options مانند 没时间nodiratime استفاده کنید و در صورت نیاز discard برای TRIM در نظر بگیرید.

پایداری:/etc/fstab از UUID استفاده کنید تا تغییر در نام دستگاه باعث مشکل نشود:

sudo blkid

مانیتورینگ و Alert: نصب و پیکربندی Prometheus node_exporter یا ابزارهای مانیتورینگ برای هشدار نسبت به فضای آزاد توصیه می‌شود.

“محدود کردن دسترسی SSH، استفاده از کلیدهای SSH و نگهداری بکاپ‌های منظم از بهترین روش‌های امنیتی پس از تغییرات دیسک است.”

常见错误及解决方法

错误: “device does not contain a recognized partition table” — بررسی کنید rescan انجام شده و جدول پارتیشن صحیح است (fdisk -l).

错误: resize2fs می‌گوید filesystem is mounted and needs to be checked — اجرای e2fsck -f /dev/… در حالت unmounted یا single-user.

XFS: مطمئن شوید mountpoint صحیح را به xfs_growfs می‌دهید؛ اشتباه بودن mountpoint باعث خطا می‌شود.

موارد مخصوص کاربردها — ترید، گیم، AI، رندرینگ

سرور VPS مخصوص ترید: نیاز به فضای لاگ و دیتای بک‌تست دارد؛ توصیه به استفاده از SSD و Snapshot روزانه است.

سرور گیمینگ: فضای بازی‌ها و فایل‌های temporary بزرگ است؛ استفاده از NVMe برای کاهش I/O latency توصیه می‌شود.

GPU / AI: مدل‌ها و دیتاست‌ها می‌توانند ده‌ها یا صدها گیگابایت باشند؛ پیشنهاد افزودن دیسک جداگانه و mount به /data یا استفاده از Thin LVM.

رندرینگ: نگهداری temp و cache در دیسک مجزا برای جلوگیری از پر شدن root اهمیت دارد.

جمع‌بندی و توصیه پایانی

مراحل کلی: افزایش حجم از پنل → rescan در سیستم → growpart/parted → pvresize یا resize2fs/xfs_growfs → lvextend (در صورت LVM).

همیشه بکاپ بگیرید و در صورت تردید از پشتیبانی شرکت یا تکنسین کمک بگیرید. استفاده از snapshot پیش از تغییر می‌تواند ریسک را به‌طور قابل‌توجهی کاهش دهد.

常见问题解答

您可能也喜欢