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

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

در این مقاله به بررسی نحوه افزایش فضای هارد در لینوکس با دستورات ترمینال می‌پردازیم. با در نظر گرفتن نکات ایمنی و سناریوهای مختلف، شما می‌توانید فضای دیسک سرور خود را به صورت امن و کارآمد افزایش دهید.
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).

نکته: فایل‌سیستم‌های رایج شامل ext4، XFS و btrfs هستند. 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 مانند noatime و 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 پیش از تغییر می‌تواند ریسک را به‌طور قابل‌توجهی کاهش دهد.

سؤالات متداول

شاید دوست داشته باشید
آموزش کامل RAID سرور سخت‌افزاری و نرم‌افزاری

آموزش کامل RAID سرور سخت‌افزاری و نرم‌افزاری

این مقاله به آموزش کامل RAID در سرورهای سخت‌افزاری و نرم‌افزاری می‌پردازد و شامل مفاهیم، مزایا، نحوه پیاده‌سازی و نکات کلیدی است. با مطالعه این راهنما می‌توانید بهترین گزینه RAID را با توجه به نیازهای خود انتخاب کنید.
راه اندازی انواع تانل های میکروتیک به میکروتیک یا ابونتو — ویژگی، امنیت و سرعت

راه اندازی انواع تانل های میکروتیک به میکروتیک یا ابونتو — ویژگی، امنیت و سرعت

این مقاله راهنمایی کامل برای راه اندازی تانل های میکروتیک به میکروتیک و ابونتو را ارائه می‌دهد. با بررسی انواع تانل‌ها و مقایسه امنیت و عملکرد، نکات کاربردی برای بهینه‌سازی سرعت و امنیت ارائه می‌شود. مناسب برای مدیران شبکه، تریدرها و گیمرها.