بلاگ ابرفردوسی > آموزش سرور ابری : آموزش اتصال هارد به سرور لینوکس

آموزش اتصال هارد به سرور لینوکس

اتصال هارد به سرور لینوکس

پر شدن ناگهانی فضای ذخیره‌سازی، یکی از دغدغه‌های همیشگی در مدیریت زیرساخت است و در چنین شرایطی، اضافه کردن یک دیسک جدید سریع‌ترین راهکار محسوب می‌شود. بااین‌حال، بسیاری از ادمین‌ها هنگام اجرای این فرایند با چالش‌هایی مثل عدم شناسایی درست دیسک یا پاک شدن ناگهانی مانت (Mount) پس‌از ریبوت سرور مواجه می‌شوند؛ چون اتصال هارد به سرور لینوکس یک فرایند چندمرحله‌ای و حساس است. این عملیات صرفاً با اضافه شدن فیزیکی یا مجازی دیسک به پایان نمی‌رسد؛ بلکه سیستم‌عامل باید دستگاه جدید را بشناسد، ساختار آن را آماده کند و آن را به دایرکتوری‌های داخلی خود گره بزند تا برای ذخیره اطلاعات قابل استفاده شود.

در این راهنما از ابر فردوسی، یاد می‌گیرید که چطور این پیکربندی را بدون خطا انجام دهید. در ادامه مراحل زیر را با هم پیش می‌بریم:

  • شناسایی هارد جدید در لینوکس با استفاده از دستورات محیط ترمینال
  • پارتیشن‌بندی اصولی و فرمت کردن دیسک با فایل‌سیستم مناسب
  • Mount هارد در لینوکس به‌صورت موقت در مسیر دلخواه
  • پیکربندی فایل fstab جهت تنظیم Mount خودکار هارد در لینوکس پس‌از هربار بوت شدن سیستم
مراحل اتصال هارد به سرور لینوکس

پیش‌نیازها و هشدارهای مهم قبل‌از شروع

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

برای شروع، جدول زیر را بررسی کنید تا مطمئن شوید همه‌چیز  را برای افزایش فضای ذخیره سازی لینوکس‌تان مهیا کرده‌اید:

پیش‌نیازاهمیت و دلیل نیازوضعیت
دسترسی Root یا Sudoاجرای دستورات هارد و پارتیشن‌بندی نیاز به بالاترین سطح دسترسی سیستم دارد.الزامی
بکاپ کامل از داده‌هادر صورت انتخاب اشتباه دیسک هدف، امکان بازیابی اطلاعات تقریباً صفر است.حیاتی
اطمینان از اتصال فیزیکی/مجازیدیسک باید در سطح هایپروایزر (در سرور ابری) یا سخت‌افزار متصل شده باشد.الزامی
⚠️ هشدار امنیتی
لینوکس دستورات شما را دقیقاً همان‌طورکه تایپ می‌کنید اجرا می‌کند، نه آن‌طورکه در ذهن دارید! اگر به‌جای دیسک جدید (مثلاً sdb)، دیسک اصلی سیستم‌عامل (sda) را برای فرمت انتخاب کنید، سیستم بدون هیچ هشداری آن را پاک خواهد کرد. قبل‌از فشردن کلید Enter، نام دیسک را سه بار چک کنید.

شناسایی هارد جدید در لینوکس

سیستم‌عامل لینوکس با دیسک‌ها به‌عنوان فایل برخورد می‌کند که معمولاً در دایرکتوری /dev/ قرار دارند. پس‌از اتصال سخت‌افزاری یا اضافه کردن دیسک در پنل سرور ابری، اولین قدم، شناسایی هارد در لینوکس است تا متوجه شویم سیستم‌عامل چه نامی به این عضو جدید خانواده اختصاص داده است.

تفاوت دیسک و پارتیشن در مدیریت فضای ذخیره سازی لینوکس

پیش‌از دیدن خروجی دستورات، باید بتوانید تفاوت دیسک خام و پارتیشن را تشخیص دهید:

  • دیسک (Disk): کل فضای سخت‌افزاری خام است (مثل یک زمین بزرگ سندنخورده). در لینوکس با نام‌هایی مثل sda، sdb یا nvme0n1 دیده می‌شود.
  • پارتیشن (Partition): بخش‌های تقسیم‌بندی‌شده از آن دیسک هستند (مثل اتاق‌های یک خانه). پارتیشن‌ها با یک عدد در انتهای نام دیسک مشخص می‌شوند؛ مانند sda1 یا sdb1.

پیدا کردن نام دیسک با دستورات lsblk و fdisk

برای مشاهده تمام فضاهای ذخیره‌سازی متصل به سرور، دستور زیر بهترین و خواناترین خروجی را به شما می‌دهد:

lsblk

خروجی این دستور ساختاری درختی دارد و به‌راحتی می‌توانید دیسک جدیدی را که هنوز پارتیشن‌بندی نشده (و جلوی آن مسیر مانت مشخص نیست) پیدا کنید:

خروجی دستور lsblk در لینوکس برای پیداکردن دیسک‌های پارتیشن‌بندی‌نشده

در خروجی بالا، sdb همان دیسک ۱۰۰ گیگابایتی جدید ما است؛ چون هیچ زیرشاخه (پارتیشن) یا نقطه اتصالی (Mountpoint) ندارد. اگر به جزئیات بیشتری نیاز دارید (مثلاً حجم دقیق به بایت یا جدول پارتیشن)، دستور زیر را با دسترسی مدیریت اجرا کنید:

sudo fdisk -l

این دستور تمام دیسک‌ها و وضعیت پارتیشن‌های آن‌ها را به‌صورت متنی و مفصل‌تر لیست می‌کند و برای بررسی نهایی قبل‌از هر اقدامی فوق‌العاده است تا مطمئن شویم فرایند افزایش فضای دیسک سرور لینوکس روی قطعه درستی انجام می‌شود.

💡 ترفند کاربردی
اگر دیسک را در سطح ابری یا فیزیکی اضافه کرده‌اید اما در خروجی lsblk چیزی نمی‌بینید، نیازی به ریبوت سرور نیست. با اجرای دستور زیر می‌توانید کانال‌های SCSI را مجبور کنید تا بدون قطعی سرور، دیسک‌های جدید را اسکن و شناسایی کنند:
echo “- – -” | sudo tee /sys/class/scsi_host/host*/scan

پارتیشن‌بندی هارد و تقسیم‌بندی فضای خام

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

در لینوکس برای این کار دو ابزار معروف وجود دارد: fdisk و parted. اما چه زمانی باید از کدام استفاده کرد؟

  • ابزار fdisk: ابزار قدیمی و صمیمی ادمین‌ها؛ برای دیسک‌های کوچک‌تر از ۲ ترابایت (ساختار MBR) فوق‌العاده سریع و راحت است.
  • ابزار parted: گزینه‌ای جدید و پیشرفته؛ برای دیسک‌های بزرگ‌تر از ۲ ترابایت (ساختار GPT) و سناریوهای ابری امروزی عملاً تنها گزینه منطقی است.

مراحل ساخت سریع پارتیشن جدید با fdisk

مراحل ساخت پارتیشن با fdisk

فرض می‌کنیم دیسک جدید شما sdb نام دارد و حجم آن کمتر از ۲ ترابایت است. برای یک پارتیشن‌بندی سریع، مراحل زیر را در ترمینال دنبال کنید:

1.  ورود به محیط ابزار:

sudo fdisk /dev/sdb
دستور sudo fdisk /dev/sdb

2.  ایجاد پارتیشن جدید: کلید n (مخفف New) را بزنید و Enter کنید.

3.  انتخاب نوع پارتیشن: کلید p (مخفف Primary) را انتخاب کنید.

4.  تنظیمات پیش‌فرض حجم: برای شماره پارتیشن و بخش‌های Sector، کلید Enter را چندبار بزنید تا کل فضای دیسک به یک پارتیشن اختصاص داده شود.

5.  ذخیره و خروج: در نهایت کلید w (مخفف Write) را بزنید تا تغییرات روی دیسک اعمال و از برنامه خارج شوید.

6.  اکنون اگر دستور lsblk را بزنید، فرزند جدید دیسک را با نام sdb1 خواهید دید.

اگر دیسک شما بزرگ‌تر از ۲ ترابایت است، یا نیاز به ساخت پارتیشن‌های متعدد با ساختار GPT دارید، فرایند کار کمی متفاوت خواهد بود. در این حالت برای جلوگیری از خطاهای ساختاری، بهتر است به راهنمای آموزش کامل پارتیشن‌ بندی لینوکس با دستورات fdisk و parted مراجعه کنید تا این کار را با جزئیات تخصصی‌تر انجام دهید.

فرمت کردن پارتیشن جدید

 ساختن پارتیشن تازه اول کار است. برای اینکه سیستم‌عامل بتواند فایل‌ها را روی دیسک ذخیره کند، باید یک فایل‌سیستم (File System) روی آن بسازیم. از اینجا به بعد، بحث آموزش فرمت و Mount هارد در لینوکس وارد مرحله عملیاتی می‌شود. انتخاب فایل‌سیستم کاملاً به سناریو و توزیع لینوکس شما بستگی دارد. امروزه، دو انتخاب اصلی روی میز دارید: ext4 و XFS.

مقایسه ext4 و XFS

ویژگیext4XFS
توزیع پیش‌فرضاوبونتو و دبیانردهت و سنت‌آواس
نقطه قوت اصلیپایداری بالا و امکان کوچک کردن حجم پارتیشنعملکرد فوق‌العاده در مدیریت فایل‌های حجیم
سرعت در فایل‌های کوچکسریع‌تر و بهینه‌ترکمی کندتر از ext4

دستور نمونه برای فرمت پارتیشن با فایل‌سیستم ext4

ازآنجاکه اکثر سرورها از اوبونتو استفاده می‌کنند، فرمت با سیستم فایل ext4 مرسوم‌تر است. برای این کار (مثلاً روی پارتیشن sdb1 که در گام قبل ساختیم)، دستور زیر را اجرا کنید:

sudo mkfs.ext4 /dev/sdb1

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

⚠️ هشدار خیلی مهم
در این مرحله مطمئن شوید که حتماً نام پارتیشن (مانند sdb1) را وارد کرده‌اید و نه نام خود دیسک خام (sdb) را؛ فرمت کردن اشتباه دیسک خام می‌تواند ساختار پارتیشن‌ها را به‌هم بریزد.

ساخت Mount Point

لینوکس مثل ویندوز نیست که بعداز فرمت کردن دیسک، یک آیکون شیک به نام درایو D به شما تحویل دهد. در لینوکس همه‌چیز (حتی سخت‌افزارها) به شکل یک فایل دیده می‌شوند و تمام دایرکتوری‌ها زیر پرچم ریشه یا همان / (Root) قرار دارند. برای اینکه دیسک فرمت‌شده قابل استفاده باشد، باید آن را به یکی از شاخه‌های این درخت متصل کنید. به این پوشه واسط، نقطه اتصال یا Mount Point می‌گویند.

در واقع، Mount Point همان دایرکتوری خالی روی سیستم‌عامل است که به‌عنوان دروازه ورود به هارد جدید عمل می‌کند. اگر دیسک را به این پوشه متصل نکنید، اطلاعات شما جایی برای ذخیره شدن روی سخت‌افزار جدید نخواهند داشت.

مراحل ساخت یک مسیر خالی برای دیسک

به عنوان یک قاعده کلی و استاندارد در لینوکس، پوشه‌های موقت یا دیسک‌های ثانویه را در دایرکتوری /mnt یا /media می‌سازند. فرض کنیم می‌خواهید یک پوشه به نام data برای هارد جدیدتان ایجاد کنید:

sudo mkdir -p /mnt/data

سوئیچ -p چه کار می‌کند؟ این سوئیچ یک شگردِ مخفی کوچک است؛ اگر به هر دلیلی پوشه‌های والد (مثل /mnt) وجود نداشته باشند، سیستم بدون خطا ابتدا آن‌ها را می‌سازد و سپس پوشه نهایی data را ایجاد می‌کند.

پوشه‌ای که به‌عنوان Mount Point انتخاب می‌کنید، باید کاملاً خالی باشد. اگر دیسک جدید را روی پوشه‌ای مانت کنید که از قبل حاوی فایل است (مثلاً پوشه هوم یا دانلودها)، فایل‌های قبلی شما حذف نمی‌شوند، اما تا زمانی که دیسک جدید متصل است، کاملاً مخفی و غیرقابل‌دسترس خواهند شد!

مانت کردن دیسک روی سیستم‌عامل

حالا که هم پارتیشن فرمت‌شده (/dev/sdb1) و هم پوشه واسط (/mnt/data) آماده هستند، نوبت به اتصال نهایی می‌رسد. در این مرحله یاد می‌گیریم چگونه هارد جدید را در لینوکس Mount کنیم. برای این کار، دستور mount را همراه با نام پارتیشن و آدرس پوشه‌ای که ساختیم اجرا می‌کنیم:

sudo mount /dev/sdb1 /mnt/data

با اجرای این دستور، اتصال هارد به سرور لینوکس در این لحظه با موفقیت انجام شده است و هر فایلی که در مسیر /mnt/data بریزید، مستقیماً روی هارد جدید شما ذخیره می‌شود.

چگونه از صحت اتصال دیسک مطمئن شویم؟

برای اینکه مطمئن شوید عملیات باموفقیت انجام شده و دیسک اضافه شده است، از دستور زیر برای بررسی وضعیت فضاهای ذخیره‌سازی استفاده کنید:

df -h

در خروجی این دستور، باید خطی شبیه به نمونه زیر را مشاهده کنید که نشان می‌دهد پارتیشن شما به پوشه موردنظر متصل شده و حجم آن آماده استفاده است:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        40G  5.2G   35G  13% /
/dev/sdb1       100G   60M  95G   1% /mnt/data

آموزش Mount کردن هارد در Ubuntu (گام تکمیلی)

اگر از توزیع محبوب اوبونتو (به‌ویژه نسخه دسکتاپ یا سرور با دسترسی کاربران غیر روت) استفاده می‌کنید، اتصال هارد به سرور لینوکس اوبونتو یک نکته ظریف دارد. پس‌از اجرای دستور فوق، مالکیت پوشه مانت‌شده همچنان در اختیار روت (root) قرار دارد و کاربران معمولی نمی‌توانند چیزی روی آن بنویسند. برای حل این چالش و مدیریت بهینه فضای ذخیره سازی لینوکس، باید مالکیت پوشه را به کاربری خودتان منتقل کنید:

sudo chown -R $USER:$USER /mnt/data

دستور بالا مالکیت پوشه و تمام زیرشاخه‌های آن را به نام کاربری فعلی شما تغییر می‌دهد تا بدون نیاز به نوشتن مداوم sudo بتوانید فایل‌هایتان را جابه‌جا کنید.

💡 ترفند کاربردی
دستوری که در این بخش برای Mount هارد در لینوکس اجرا کردیم، یک اتصال موقت است. یعنی اگر همین حالا سرور شما به‌هردلیلی ریبوت یا خاموش شود، این اتصال قطع خواهد شد و بعداز روشن شدن سرور، دوباره باید دستور mount را دستی تایپ کنید! در بخش بعدی یاد می‌گیریم چطور این مشکل را برای همیشه حل کنیم.

تنظیم Mount خودکار هارد در لینوکس با fstab

اتصال موقتی که در بخش قبل با دستور mount ایجاد کردیم، با اولین ریبوت سرور مثل دود هوا می‌شود و از بین می‌رود! برای اینکه بعداز هربار روشن شدن سرور مجبور نباشید دستورات را به‌صورت دستی وارد کنید، باید فرایند اتصال را دائمی کنید. فرایند اتصال هارد به سرور لینوکس زمانی به بلوغ و پایداری می‌رسد که مشخصات دیسک جدید را در فایل تنظیمات اصلی سیستم‌عامل، یعنی فایل /etc/fstab ثبت کنید.

تهیه بکاپ از fstab

اشتباه نوشتن حتی یک کاراکتر، یک فاصله (Space) اضافی یا جابه‌جا زدن پارامترها در فایل /etc/fstab، بزرگ‌ترین فاجعه را برای یک مدیر سیستم رقم می‌زند: سیستم در بوت بعدی بالا نمی‌آید (Boot Failure). برای اینکه کارتان به جراحی آفلاین سرور نکشد، همین حالا و قبل‌از باز کردن این فایل، یک نسخه پشتیبان از آن بگیرید:

sudo cp /etc/fstab /etc/fstab.bak

ثبت UUID

شاید وسوسه شوید که در فایل تنظیمات، مسیر سرراستی مثل /dev/sdb1 را بنویسید. اما در لینوکس اگر سرور ریبوت شود، سخت‌افزاری جابه‌جا شود یا فضاهای ذخیره‌سازی در سطح سرور ابری تغییر کنند، ممکن است نام دیسک‌ها جابه‌جا شود (مثلاً دیسک sdb تبدیل به sdc شود). در این سناریو، لینوکس تلاش می‌کند دیسک اشتباهی را مانت کند و ساختار شما به‌هم می‌ریزد.

اما UUID (شناسه منحصربه‌فرد جهانی دیسک) مثل کد ملی هارد شما است؛ سخت‌افزار جابه‌جا هم بشود، این کد ثابت می‌ماند و سیستم همیشه دیسک درست را پیدا می‌کند. برای این کار مراحل زیر را دنبال کنید:

۱. پیدا کردن UUID دیسک جدید:

دستور زیر را اجرا کنید تا شناسه پارتیشن فرمت‌شده (مثلاً sdb1) را به‌دست آورید:

sudo blkid /dev/sdb1

خروجی چیزی شبیه به خط زیر خواهد بود. عبارتی که در بخش UUID=”…” قرار دارد را کپی کنید:

/dev/sdb1: UUID="1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d" BLOCK_SIZE="4096" TYPE="ext4"
پیدا کردن UUID دیسک جدید با دستور sudo blkid /dev/sdb1

۲. ویرایش فایل fstab:

فایل را با یک ویرایشگر متنی مانند nano باز کنید:

sudo nano /etc/fstab

۳. اضافه کردن الگوی مانت خودکار:

به انتهای فایل بروید و یک خط جدید با ساختار زیر اضافه کنید (توصیه می‌شود بین بخش‌ها از کلید Tab استفاده کنید تا فاصله‌گذاری استاندارد رعایت شود):

UUID=1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d    /mnt/data    ext4    defaults    0    2

اجرای دستور mount -a:

تحت هیچ شرایطی قبل‌از اجرای دستور زیر، سرور را ریبوت نکنید! با اجرای دستور زیر، سیستم‌عامل فایل fstab را از بالا به پایین بدون نیاز به ریبوت تست می‌کند تا مطمئن شود ساختار آن درست است:

sudo mount -a

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

رفع خطاهای رایج در فرایند اتصال دیسک

حتی باتجربه‌ترین مهندسان زیرساخت هم گاهی در مسیر اتصال هارد به سرور لینوکس با دیوارهای سختی از جنس خطاهای ترمینال مواجه می‌شوند. برای اینکه زمان بروز چالش دستپاچه نشوید، در این بخش چکیده‌ای از تجربیات عیب‌یابی در مدیریت فضای ذخیره سازی لینوکس را در قالب جدول زیر در اختیارتان گذاشته‌ایم:

جدول عیب‌یابی خطاهای دیسک در لینوکس

نوع چالش / خطاعلت احتمالیراهکار رفع خطا
دیسک جدید در خروجی lsblk دیده نمی‌شودعدم شناسایی سخت‌افزاری در سطح مجازی‌ساز یا نیاز به رفرش کانال‌هابدون نیاز به ریبوت، دستور زیر را برای اسکن مجدد پورت‌های دیسک سرور اجرا کنید: echo “- – -” | sudo tee /sys/class/scsi_host/host*/scan
ارور در زمان ساخت پارتیشن با fdiskلینوکس هنوز جدول پارتیشن قدیمی دیسک را در حافظه خود نگه داشته استدستور sudo partprobe را بزنید تا هسته لینوکس مجبور شود جدول پارتیشن‌های جدید را بدون ریبوت بازخوانی کند.
خطای mount: mount point does not existپوشه‌ای که به‌عنوان مقصد یا همان دروازه ورود دیسک انتخاب کرده‌اید ساخته نشده استاملای مسیر را چک کنید یا با دستور زیر مطمئن شوید دایرکتوری مقصد وجود دارد: sudo mkdir -p /mnt/data
سرور پس‌از ریبوت بالا نمی‌آید (Emergency Mode)وجود اشتباه تایپی در ساختار کدهای فایل /etc/fstab یا کپی کردن UUID اشتباهازطریق دسترسی کنسول (VNC) وارد سرور شوید، رمز روت را بزنید و فایل بکاپ را جایگزین کنید: cp /etc/fstab.bak /etc/fstab
💡 ترفند کاربردی
اگر به‌دلیل اشتباه در فایل fstab سرور شما درحالت “Read-Only” بالا آمده و اجازه ویرایش فایل را به شما نمی‌دهد، ابتدا با دستور زیر ریشه سیستم‌عامل را با دسترسی نوشتن مجدداً بارگذاری (Remount) کنید و سپس به اصلاح فایل fstab بپردازید:
mount -o remount,rw /

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

فرایند اتصال هارد به سرور لینوکس بسته به نوع سخت‌افزار و سیستم‌عاملی که استفاده می‌کنید، می‌تواند جزئیات متفاوتی داشته باشد. در این بخش، تنظیمات دیسک را در ۴ سناریوی واقعی و پرکاربرد بررسی می‌کنیم تا دقیقاً براساس شرایط خود جلو بروید.

سناریوی اول- اضافه کردن هارد دوم به اوبونتو

اگر از توزیع محبوب اوبونتو استفاده می‌کنید، فرایند اضافه کردن هارد دوم به اوبونتو تفاوت چندانی با ساختار کلی لینوکس ندارد؛ اما برای راحتی کار، اوبونتو ابزارهای گرافیکی مانند GParted را نیز در نسخه‌های دسکتاپ ارائه می‌دهد. در محیط سرور، پس‌از فرمت دیسک با فرمت ext4، پیشنهاد می‌شود مسیر /mnt/storage را به‌عنوان نقطه اتصال انتخاب کنید و حتماً دسترسی‌های پوشه را با دستور chown برای کاربر خود آزاد کنید تا برای نوشتن اطلاعات با خطای عدم دسترسی مواجه نشوید.

سناریوی دوم- اتصال SSD جدید به سرور لینوکس

در اتصال SSD به سرور، هدف اصلی ما رسیدن به بالاترین سرعت خواندن و نوشتن است. دیسک‌های SSD (به‌ویژه پروتکل‌های مدرن NVMe) ساختار نام‌گذاری متفاوتی دارند و در پوشه /dev/ به‌صورت nvme0n1 ظاهر می‌شوند.

💡 ترفند کاربردی
برای دیسک‌های SSD، هنگام ثبت تنظیمات در فایل fstab، گزینه‌ی noatime را به پارامترهای defaults اضافه کنید (مثلاً defaults,noatime). این کار مانع از آن می‌شود که سیستم‌عامل با هربار خواندن یک فایل، زمان آخرین دسترسی آن را روی دیسک بنویسد؛ در نتیجه عمر حافظه SSD شما افزایش می‌یابد و سرعت سرور بهینه‌تر می‌شود.

سناریوی سوم- افزایش فضای دیسک سرور لینوکس

گاهی شما دیسک جدیدی اضافه نمی‌کنید، بلکه دیسک فعلی ماشین مجازی یا سرور ابری خود را ارتقا داده‌اید و اکنون به‌دنبال افزایش فضای دیسک سرور لینوکس هستید. در این وضعیت، پس‌از تغییر حجم دیسک در پنل مدیریت، دیسک خام بزرگ‌تر می‌شود اما پارتیشن فعلی همچنان کوچک است. در این سناریو باید از ابزاری مثل growpart برای بزرگ کردن پارتیشن و سپس دستور resize2fs (برای ext4) یا xfs_growfs (برای XFS) استفاده کنید تا سیستم‌عامل متوجه افزایش فضای دیسک سرور شود.

سناریوی چهارم- مانت کردن هارد اکسترنال در لینوکس

سناریوی مانت کردن هارد اکسترنال معمولاً برای جابه‌جایی اطلاعات یا بکاپ‌گیری‌های فیزیکی کاربرد دارد. هارد دیسک‌های اکسترنال معمولاً با فایل‌سیستم‌های ویندوزی مثل NTFS یا exFAT فرمت شده‌اند. برای اینکه لینوکس بتواند روی این دیسک‌ها اطلاعات بنویسد، ابتدا باید پکیج‌های پیش‌نیاز را نصب کنید:

sudo apt install ntfs-3g exfat-fuse

پس‌از نصب این ابزارها، سیستم‌عامل به‌راحتی هارد اکسترنال شما را شناسایی می‌کند و می‌توانید آن را بدون از دست رفتن داده‌های قبلی به یک پوشه موقت متصل کنید.

اتصال هارد جدید در زیرساخت حرفه‌ای

کلنجار رفتن با دستورات ترمینال، دغدغه فضا برای فایل‌های لاگ، ترس از سوختن هارد فیزیکی و فاجعه اشتباه نوشتن در فایل fstab، همگی بخشی از دردسرهای سنتی مدیریت زیرساخت هستند. واقعیت این است که امروزه، خرید، نصب و کانفیگ مداوم هارد دیسک‌های جدید برای سرورهای فیزیکی، فرایندی زمان‌بر و پرهزینه است.

اگر به‌دنبال فضایی پایدارتر، مدیریت ساده‌تر و مقیاس‌پذیری بدون دردسر هستید، منطقی‌ترین راهکار، انتقال زیرساخت به سرور ابری است.

شرکت رایانش ابری ابر فردوسی با در اختیار داشتن پیشرفته‌ترین مراکز داده، زیرساختی پایدار و منعطف را برای پروژه‌های شما آماده کرده است با مزایایی که در کمتر زیرساخت ایرانی پیدا می‌کنید

ویژگی ابر فردوسیدستاورد آن برای مدیریت زیرساخت شما
سخت‌افزار نسل جدید HPEبهره‌گیری از پردازنده‌های قدرتمند INTEL XEON و AMD EPYC همراه با رم‌های DDR4
دیسک‌های پرسرعت NVMeسرعت فوق‌العاده در پردازش داده‌ها و دیتابیس‌های سنگین بدون گلوگاه (IOPS بالا)
مقیاس‌پذیری فوری منابعارتقای حجم دیسک، تعداد هسته‌های CPU و میزان RAM در چند ثانیه بدون قطعی سرویس
پرداخت براساس مصرف (Hourly)محاسبه هزینه سرور فقط به‌ازای ساعت‌های روشن بودن؛ در زمان خاموشی هزینه‌ای برای CPU و RAM نمی‌پردازید
بازارچه ابری و سیستم آنیتحویل سرور به‌صورت آنی همراه با نصب اتوماتیک وب‌سرورها (Nginx، لایت‌اسپید)، کنترل‌پنل‌ها و سیستم‌ها (داکر، وردپرس)
اتوماسیون با کلید APIامکان برنامه‌نویسی و مدیریت خودکار منابع سرور، فایروال و سیستم‌های پشتیبان‌گیری

برای اینکه پایداری و سرعت این زیرساخت را ارزیابی کنید، نیازی به پرداخت هزینه‌های سنگین ندارید. ابر فردوسی امکان استفاده از دمو و تست رایگان را برای شما فراهم کرده است. شما می‌توانید با استفاده از اعتبار ۱۰۰ هزار تومانی هدیه، کیفیت و کارایی سیستم ما را کاملاً مجانی تست کنید و سپس با خیالی آسوده برای پروژه‌های خود تصمیم بگیرید. هم‌چنین ضمانت بازگشت وجه، این مسیر را برای شما هموارتر می‌کند.

سرور ابری

جمع‌بندی

در این راهنما مسیر کامل و استاندارد اتصال هارد به سرور لینوکس را از بررسی پیش‌نیازهای امنیتی و شناسایی نام دیسک خام در محیط ترمینال تا پارتیشن‌بندی، فرمت با فایل‌سیستم مناسب و در نهایت پایدارسازی اتصال ازطریق فایل fstab مرور کردیم. مدیریت دیسک در لینوکس نیاز به دقت بالایی دارد؛ اما با رعایت اصول امنیتی مثل تهیه نسخه پشتیبان از فایل‌های پیکربندی سیستم، می‌توانید این فرایند را بدون چالش به پایان برسانید.

شما از کدام توزیع لینوکس برای مدیریت سرورهای خود استفاده می‌کنید؟ آیا هنگام تنظیم فایل fstab یا کار با دستورات پارتیشن‌بندی با خطای خاصی مواجه شده‌اید که سیستم شما را با چالش روبه‌رو کند؟ تجربیات، سؤالات و چالش‌های فنی خود را در بخش نظرات با ما به اشتراک بگذارید تا با هم آن‌ها را دیباگ کنیم!

منابع:
Docs.redhat | man7 | linuxcommandlibrary | managing_storage_devices | gist.github | AutomaticallyMountPartitions | xda-developers | ostechnix | linuxtechi | simplified

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

آیا بعد از اتصال دیسک جدید نیاز به ریبوت سرور هست؟

خیر؛ در اکثر توزیع‌های لینوکس و به‌ویژه در سرور ابری، نیازی به ریبوت نیست. اگر دیسک پس‌از اتصال در خروجی دستورات دیده نشد، با اجرای دستور زیر می‌توانید کانال‌های SCSI را بدون
قطعی سرور مجبور به اسکن و شناسایی هارد جدید در لینوکس کنید:
echo “- – -” | sudo tee /sys/class/scsi_host/host*/scan

تفاوت lsblk و fdisk -l برای شناسایی هارد چیست؟

ابزار lsblk کل فضاهای ذخیره‌سازی را در یک ساختار درختی بسیار تمیز، خوانا و همراه با وضعیت مانت (Mount Point) نشان می‌دهد و بهترین ابزار برای شروع است.
دستور sudo fdisk -l اطلاعات بسیار جزئی‌تر و فنی‌تری مانند ساختار سکتورها، جدول پارتیشن (MBR یا GPT) و کدهای هگزادسیمال سیستم فایل را در اختیارتان می‌گذارد.

برای پارتیشن‌بندی هارد از fdisk استفاده کنیم یا parted؟

بستگی به حجم دیسک شما دارد. اگر حجم دیسک کمتر از ۲ ترابایت است و می‌خواهید از ساختار سنتی MBR استفاده کنید، fdisk فوق‌العاده سریع و راحت است. اما اگر قصد اتصال SSD جدید به سرور لینوکس را دارید یا حجم دیسک شما بیش‌از ۲ ترابایت است، باید از parted استفاده کنید تا بتوانید جدول پارتیشن GPT را بسازید.

آیا باید از نام /dev/sdX در fstab استفاده کنیم یا UUID؟

تحت هیچ شرایطی از نام‌هایی مثل /dev/sdb1 در فایل fstab استفاده نکنید. این نام‌ها پویا هستند و ممکن است پس‌از ریبوت سرور یا جابه‌جایی اسلات‌های دیسک ابری، جای دیسک‌ها عوض شوند و سیستم با ارور مواجه شود. همیشه از UUID (شناسه منحصربه‌فرد جهانی دیسک) استفاده کنید تا Mount خودکار بدون مشکل انجام شود.

چگونه خطای fstab را قبل‌از ریبوت سرور تست کنیم؟

پس‌از تغییر و ذخیره فایل /etc/fstab، به‌هیچ‌وجه سرور را ریبوت نکنید. ابتدا دستور زیر را اجرا کنید:
sudo mount -a
اگر این دستور بدون هیچ خطا و خروجی اجرا شد، یعنی پیکربندی شما کاملاً درست است و سرور در بوت بعدی بدون چالش بالا خواهد آمد. در غیر این صورت، بلافاصله باید خطای اعلام‌شده را اصلاح کنید.

چگونه خطای mount: wrong fs type را رفع کنیم؟

این خطا معمولاً به دو دلیل رخ می‌دهد:
۱. شما پارتیشن را هنوز فرمت نکرده‌اید و می‌خواهید یک دیسک خام را مانت کنید (باید ابتدا دستور mkfs.ext4 را بزنید).
۲. در فایل fstab یا دستور مانت، نوع سیستم فایل (Type) را اشتباه وارد کرده‌اید (مثلاً دیسک شما XFS است اما شما آن را ext4 معرفی کرده‌اید).

چگونه یک دیسک جدید را بدون از دست رفتن داده‌های قبلی اضافه کنیم؟

اگر دیسک جدید شما حاوی اطلاعات قبلی است (مثل هارد اکسترنال یا دیسک بکاپ)، اصلا نباید مراحل پارتیشن‌بندی (fdisk) یا فرمت (mkfs) که در مقاله گفته شد را روی آن اجرا کنید؛ زیرا این کار کل داده‌ها را پاک می‌کند. در این سناریو، شما مستقیم به سراغ مراحل آخر می‌روید؛ یعنی ابتدا یک پوشه خالی به‌عنوان Mount Point می‌سازید و سپس با دستور mount آن را به سیستم متصل می‌کنید.

یاسین اسدی

اگه می‌خوای زندگیت تغیر کنه کتاب نخون؛ نوشته‌های منو بخون!
پست های مرتبط

خطای 504 کلودفلر؛ آموزش کامل رفع ارور 504 Gateway Timeout

مواجه شدن با خطای 504 کلودفلر (Cloudflare 504 Error) به این معنی است که شبکه توزیع محتوا (CDN) زمان زیادی را منتظر پاسخ سرور شما مانده و در نهایت منصرف شده است. این وضعیت که با نام…

۱۷ مرداد ۱۴۰۵

آموزش آپلود پروژه پایتون روی سرور ابری (Nginx، Flask و…)

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

۱۷ مرداد ۱۴۰۵

خطای 502 nginx: راهنمای کامل و سریع رفع ارور Bad Gateway

وقتی هنگام مدیریت یا بازدید از یک سایت با خطای 502 nginx مواجه می‌شوید، یعنی ارتباط بین وب‌سرور شما و سرورهای بالادستی (Upstream) قطع شده است. این ارور که به‌صورت 502 Bad Gateway نمایش داده می‌شود، یکی…

۷ مرداد ۱۴۰۵
0 0 رای ها
به مقاله امتیاز بدید
0 نظرات