Rescue Mode در سرور چیست و چطور در بحران سرور را برگردانیم؟

Rescue Mode در سرور چیست و چطور در بحران سرور را برگردانیم؟
تصور کنید در ابتدای روز کاری قصد دارید وبسایت شرکت را بررسی کنید، اما سایت در دسترس نیست! در ابتدا ممکن است این موضوع یک اختلال موقت به نظر برسد، اما با بررسی بیشتر متوجه میشوید اتصال SSH نیز برقرار نمیشود، هیچ ارتباطی با سرور شکل نمیگیرد و رفتهرفته مشخص میشود که مسئله فراتر از یک اختلال ساده است. وبسایت، سرویس ایمیل، دیتابیس و تمامی زیرساختهای وابسته به سرور بهطور کامل از دسترس خارج شدهاند. در چنین شرایطی، این فقط یک مشکل فنی نیست، بلکه وقفهای جدی در بخشی از عملیات شرکت است که میتواند بر خدمات شرکت و اعتماد مشتریان تأثیر مستقیم بگذارد.
این سناریو برای بسیاری از مدیران سرور حداقل یک بار اتفاق افتاده است. گاهی سیستمعامل بالا نمیآید، گاهی بوتلودر خراب میشود، گاهی یک آپدیت ساده ناخواسته همه چیز را از کار میاندازد، و گاهی هم یک حمله یا بدافزار باعث فروپاشی سرویس میشود.
نکته مهم اینجا تفاوت تجربه این مشکل در دو نوع زیرساخت متفاوت است. اگر از هاست اشتراکی استفاده میکنید، عملاً دست شما بسته است. شما به سیستمعامل دسترسی ندارید، نمیتوانید لاگها را چک کنید و کاری از دستتان برنمیآید جز اینکه منتظر بمانید تیم پشتیبانی شرکت هاستینگ مشکل را حل کند. اما اگر از سرور مجازی یا سرور اختصاصی استفاده میکنید، قضیه کاملاً متفاوت است. شما صاحب سرور هستید، دسترسی روت دارید و میتوانید وارد جزئیات شوید. با این حال، ابزاری که در چنین شرایط بحرانی واقعاً نجاتبخش خواهد بود، چیزی نیست جز Rescue Mode؛ همان حالت نجات اضطراری که مستقل از سیستمعامل اصلی اجرا میشود و اجازه میدهد از بیرون به فایلهای سرور دسترسی پیدا کنید و مشکل را ریشهیابی کنید.
تفاوت اصلی زمانی مشخص میشود که این اتفاق را در دو نوع زیرساخت متفاوت تجربه کنید. اگر از هاست اشتراکی استفاده میکنید، عملاً دست شما بسته است. شما به سیستمعامل دسترسی ندارید، نمیتوانید لاگها را چک کنید و کاری از دستتان برنمیآید جز اینکه منتظر بمانید تیم پشتیبانی شرکت هاستینگ مشکل را حل کند. اما در سرور مجازی یا سرور اختصاصی، شرایط کاملاً فرق میکند. در این شرایط کنترل کامل سرور در اختیار شماست، به دسترسی روت مجهز هستید و میتوانید وضعیت سیستم را دقیقتر بررسی کنید. با این حال، زمانی که سرور اصلی از دسترس خارج میشود، یکی از مهمترین ابزارهایی که میتواند در عیبیابی و بازیابی به کمک شما بیاید، Rescue Mode است.
Rescue Mode چیست و دقیقاً چه کاری انجام میدهد؟
Rescue Mode یا «حالت نجات»، یک محیط بوت اضطراری است که مستقل از سیستمعامل اصلی سرور شما اجرا میشود. به زبان ساده، وقتی سرور شما به هر دلیلی از بوت شدن عادی خودداری میکند، Rescue Mode یک سیستمعامل موقت و سبک (معمولاً یک توزیع لینوکس مینیمال) را در اختیارتان میگذارد تا بتوانید به فایلهای سرور دسترسی پیدا کنید و مشکل را برطرف کنید.
Rescue Mode با حداقل امکانات بالا میآید و به شما اجازه میدهد که بدون نیاز به بوت کامل سیستمعامل اصلی، به فایلها و تنظیمات سرور دسترسی داشته باشید و مشکلات را برطرف کنید. به طور کلی، ویژگیها و قابلیتهای این حالت را میتوان در موارد زیر تعریف کرد:
- دسترسی کامل به فایلسیستم
- دسترسی Root از طریق SSH
- ویرایش فایلهای پیکربندی
- بازیابی و بکاپگیری از دادهها
- پشتیبانی از سرورهای اختصاصی و ابری
- دسترسی به شبکه برای انتقال فایلها به سرورهای دیگر یا دانلود بستههای نرمافزاری
در چه شرایطی به Rescue Mode نیاز پیدا میکنیم؟
همه مشکلات سرور به Rescue Mode ختم نمیشود، اما در سناریوهای زیر این ابزار واقعاً نجاتبخش خواهد بود:
بالا نیامدن سیستمعامل سرور
سیستمعامل در حین بوت متوقف میشود، با خطای Kernel Panic مواجه میگردد یا بهصورت مداوم وارد چرخه ریستارت میشود. در چنین شرایطی بدون Rescue Mode عملاً هیچ راهی برای دسترسی و ورود به سرور وجود ندارد.
خرابی بوتلودر
گراب (GRUB) یا سایر بوتلودرها به هر دلیلی خراب شدهاند و سیستم نمیداند چطور باید بوت شود. با Rescue Mode میتوانید بوتلودر را از نو نصب کنید.
از دست رفتن دسترسی SSH
اگر فایروال را اشتباه تنظیم کردهاید، سرویس SSH از کار افتاده یا کلیدهای احراز هویت پاک شدهاند، ممکن است نتوانید به سرور متصل شوید. Rescue Mode ورودی جداگانه و مستقل در اختیار شما میگذارد.
حملات یا فایلهای مخرب
اگر سرور هک شده یا بدافزاری روی آن نصب شده، میتوانید از این طریق فایلهای مشکوک را شناسایی، حذف یا بررسی کنید (بدون اینکه بدافزار اجرا شود).
خطا بعد از آپدیت
بروزرسانی کرنل، تغییرات در تنظیمات GRUB یا بهروزرسانی کتابخانههای سیستمی در برخی موارد منجر به از کار افتادن سرور میشود. تلخترین بخش ماجرا وقتی است که این مشکل اغلب راهحلی ساده دارد، اما عدم دسترسی به سیستمعامل اصلی مانع از اعمال آن میشود.
در چنین شرایطی اگر از یک سرور مجازی استفاده کنید، دسترسی به Rescue Mode سریعتر و سادهتر خواهد بود.
آموزش قدمبهقدم ورود به Rescue Mode و نجات سرور
در این بخش فرض میکنیم سروری مبتنی بر لینوکس دارید و ارائهدهنده خدمات شما از Rescue Mode پشتیبانی میکند :
ورود به پنل مدیریت سرور
اولین قدم برای فعالسازی rescue mode لینوکس، ورود به پنل مدیریتی ارائهدهنده سرور شماست. بسته به شرکت هاستینگ، این پنل میتواند SolusVM، Proxmox، Virtualizor یا پنل اختصاصی خود ارائهدهنده باشد. پس از ورود، سرور مورد نظر را انتخاب کنید.
فعالسازی Rescue Mode
در بخش مدیریت سرور، به دنبال گزینهای با عنوان Rescue Mode، «Recovery Mode یا Netboot بگردید. با فعال کردن این گزینه، به سیستم اعلام میکنید که دفعه بعد سرور را با یک محیط دسترسی اضطراری سرور بوت کند. پس از فعالسازی، سرور را ریبوت کنید.
دریافت اطلاعات ورود
پس از ریبوت، ارائهدهنده معمولاً یک IP موقت، نام کاربری (معمولاً root) و رمز عبور موقت برای نجات سرور لینوکس در اختیار شما قرار میدهد. این اطلاعات را ذخیره کنید. توجه داشته باشید که این اطلاعات با اطلاعات عادی سرور شما متفاوت است.
اتصال از طریق SSH
در این مرحله با استفاده از دستور SSH ، به IP موقت Rescue Mode متصل شوید و رمز عبور را وارد کنید:
ssh username@IP
مانت کردن دیسک اصلی
در این مرحله، دیسک اصلی سرور شما هنوز در دسترس نیست. باید آن را به صورت دستی مانت کنید. ابتدا با دستور زیر ببینید دیسک اصلی چه نامی دارد:
lsblk
دیسک اصلی معمولاً /dev/sda یا /dev/vda است. سپس یک پوشه برای مانت بسازید و با دستور زیر دیسک را به آن متصل کنید:
mkdir /mnt/root
mount /dev/sda1 /mnt/root
رفع مشکل و ریبوت
بسته به نوع مشکل، اقدامات متفاوتی انجام میدهید. برای رفع مشکل بوت سرور، ابتدا باید تشخیص دهید چه چیزی مانع از بالا آمدن سیستم میشود. مثلاً اگر فایل fstab خراب است، با دستور زیر آن را ویرایش کنید:
nano /mnt/root/etc/fstab
اگر رمز روت را گم کردهاید و نیاز به دسترسی اضطراری سرور دارید، با دستور chroot وارد محیط اصلی شوید و رمز را عوض کنید:
chroot /mnt/root
passwd root
پس از اتمام کار، از محیط chroot خارج شده، دیسک را آن مانت کنید و با دستور زیر سرور را ریبوت نمایید:
exit
umount /mnt/root
reboot
فراموش نکنید قبل از ریبوت، Rescue Mode را در پنل غیرفعال کنید تا سرور دوباره به طور عادی بوت شود. با این مراحل، فرآیند تعمیر سرور مجازی یا مدیریت سرور اختصاصی خود را با موفقیت به پایان رساندهاید.
تفاوت Rescue Mode در سرور مجازی و سرور اختصاصی
اگرچه هر دو نوع سرور از Rescue Mode پشتیبانی میکنند، اما تجربه کار با آن در سرور مجازی و سرور اختصاصی تفاوتهایی دارد:
- در سرور مجازی، معمولاً Rescue Mode از طریق پنل مجازیسازی در دسترس است. فعالسازی آن چند کلیک ساده است و معمولاً زیر ۵ دقیقه محیط نجات آماده میشود. همچنین حجم دیسکها کوچکتر است و Mounting فایلها سریعتر انجام میشود.
- در سرور اختصاصی، شرایط کمی متفاوت است. گاهی برای فعالسازی Rescue Mode نیاز به درخواست تیکت به پشتیبانی دارید. همچنین به دلیل سختافزار فیزیکی، زمان بوت شدن محیط نجات ممکن است بیشتر باشد. دسترسی به دیسکهای سخت بزرگ و RAID نیز کمی تخصص بیشتری میخواهد.
اگر پروژه شما حساسیت بالایی دارد و نمیخواهید هیچ ریسکی را بپذیرید، کار با سرور اختصاصی کنترل کاملی در اختیار شما میگذارد. اما برای بیشتر کاربران، سرور مجازی با Rescue Mode ساده و سریع، گزینه مناسبی است.
آیا کاربران هاست هم میتوانند از Rescue Mode استفاده کنند؟
در هاست اشتراکی، شما تنها یک فضای میزبانی روی یک سرور بزرگ را در اختیار دارید و مالکیت یا کنترل مستقیمی روی سیستمعامل یا سطح روت ندارید و مدیریت سرور بر عهده شرکت هاستینگ است. بنابراین زمانی که سرور با مشکل مواجه شود، شما نمیتوانید خودتان وارد Rescue Mode شوید، فایلی را تعمیر کنید یا بکاپ اضطراری بگیرید.
در این شرایط، تنها گزینه شما ارسال درخواست به تیم پشتیبانی شرکت هاستینگ و انتظار برای رفع مشکل است. این فرآیند بسته به پیچیدگی مشکل و حجم درخواستها، ممکن است ساعتها زمان ببرد.
این محدودیت یکی از تفاوتهای اساسی هاست با سرور مجازی و اختصاصی به شمار میرود. در واقع در هاست اشتراکی، شما کنترل کمتری دارید اما در مقابل هزینه کمتری پرداخت میکنید.
مزایا و محدودیتهای Rescue Mode که باید بدانید
Rescue Mode این امکان را فراهم میکند که حتی در شرایطی که سیستمعامل سرور قابل اجرا نیست، همچنان به فایلها و ساختار دیسک دسترسی داشته باشید. این ویژگی باعث میشود بتوان بدون نیاز به بالا آمدن کامل سیستمعامل، فرآیندهایی مثل بررسی خطاها، تعمیر فایلسیستم، اصلاح تنظیمات اشتباه و مهمتر از همه بازیابی اطلاعات حیاتی را انجام داد.
در مقابل، استفاده از Rescue Mode بدون دانش فنی میتواند پرریسک باشد. کار با پارتیشنها، فایلهای سیستمی و دستورات سطح پایین نیاز به دقت بالایی دارد و یک اشتباه کوچک ممکن است باعث از دست رفتن دادهها یا پیچیدهتر شدن مشکل شود. به همین دلیل، این محیط بیشتر برای sysadmins یا کاربران فنی طراحی شده و استفاده از آن نیازمند آگاهی کافی از ساختار سیستم است.
چطور از بروز چنین بحرانهایی در سرور جلوگیری کنیم؟
Rescue Mode یک ابزار فوقالعاده است، اما بهترین سناریو این است که هرگز به آن نیاز پیدا نکنید. برای کاهش احتمال بروز بحران در سرور، این سه اصل حیاتی را جدی بگیرید:
بکاپگیری منظم:
هیچچیز جای بکاپ را نمیگیرد. حتی با داشتن Rescue Mode، اگر بکاپ نداشته باشید و دیسک به طور فیزیکی از کار بیفتد، کاری از دست شما برنمیآید.
مانیتورینگ مداوم:
با ابزارهایی مانند Zabbix، Prometheus یا حتی سرویسهای ساده uptime monitoring، از وضعیت سرور خود مطلع باشید. پیش از آنکه مشکل حاد شود، وارد عمل شوید.
انتخاب زیرساخت مناسب:
کیفیت سختافزار، ثبات مجازیساز، سرعت پشتیبانی و وجود قابلیت Rescue Mode همه به ارائهدهنده شما بستگی دارد.
به صورت کلی به شرط انتخاب ارائهدهنده معتبر با تیم پشتیبانی قوی، سرور اختصاصی برای پروژههای حساس و سرور مجازی (VPS) برای پروژههای متوسط و استارتاپی گزینه مناسبی ست و معمولاً پاسخگوی نیازها خواهد بود.
Rescue Mode آخرین راه نجات یا اولین ابزار حرفهای؟
Rescue Mode شاید در نگاه اول ابزار مناسبی برای مواقع بحرانی به نظر برسد، اما برای افرادی که مدیریت سرور انجام میدهند، یک قابلیت کاربردی است که باید به آن مسلط باشند. در کنار این موضوع، انتخاب زیرساخت مناسب و استفاده از روشهایی مثل Backup منظم میتواند احتمال رسیدن به چنین شرایطی را کاهش دهد. اگر با سرور کار میکنید، یادگیری Rescue Mode یک ضرورت است، نه یک انتخاب. چون در لحظات حساس میتواند نقش تعیینکنندهای داشته باشد.
سوالات متداول
خیر. محیط Rescue Mode دسترسی مستقیم به سرویس دیتابیس ارائه نمیدهد و تنها فایلهای دیتابیس قابل مشاهده هستند. برای اجرای کوئری یا دسترسی به دادهها، باید محیط دیتابیس را به صورت دستی در chroot راهاندازی کنید یا فایلهای مربوطه را به سروری دیگر منتقل نمایید.
بله شما باید پیش از مانت کردن، دیسک رمزگذاری شده را با دستور cryptsetup open و وارد کردن رمز عبور، باز کنید. توجه داشته باشید که شرکت ارائهدهنده هاست به رمز عبور شما دسترسی ندارد و بدون آن امکان بازیابی دادهها وجود نخواهد داشت.
بله، منعی ندارد. هر سرور دارای محیط نجات مستقل خود است و میتوانید به صورت همزمان از طریق اتصالات جداگانه SSH به آنها متصل شوید.
پس از مانت کردن دیسک اصلی در مسیری مانند `/mnt/root`، فایلهای لاگ در آدرس `/mnt/root/var/log/` در دسترس هستند و میتوانید آنها را بررسی کنید.
سرویس AWS قابلیتی با نام مستقیم Rescue Mode ارائه نمیدهد. روش مشابه به این شکل است: سرور مورد نظر متوقف، دیسک EBS جدا، سپس به یک سرور موقت و سالم متصل شده و پس از مانت کردن دیسک، عملیات تعمیر انجام میشود. در نهایت دیسک به سرور اصلی بازگردانده میشود.
بله. پس از ورود به محیط chroot، دستور passwd username را وارد کنید. امکان تغییر رمز هر کاربری که روی سیستم تعریف شده باشد، وجود دارد.
خیر. Rescue Mode بر روی حافظه RAM اجرا میشود و قطعی اتصال تأثیری بر دادههای سرور اصلی نخواهد داشت. کافی است مجدداً متصل شده و مراحل مانت دیسک را تکرار کنید.
از نظر فنی بله و با استفاده از chroot قابل انجام است. اما این کار دارای ریسک بالایی بوده و معمولاً برای رفع مشکلات بوت ضرورتی ندارد. توصیه میشود تنها در صورت آگاهی کامل از فرآیند، اقدام نمایید.
از نظر فنی، لاگ فعالیتها قابل مشاهده است. اما شرکتهای حرفهای ارائهدهنده هاست به حریم خصوصی مشتریان خود احترام گذاشته و جز در موارد نقض قوانین یا درخواستهای قانونی رسمی، به این لاگها دسترسی نخواهند داشت.
خیر. Rescue Mode صرفاً یک محیط موقتی برای تعمیر و بازیابی سرور فعلی است. برای نصب مجدد سیستمعامل، باید از گزینه Reinstall OS یا نصب تازه موجود در پنل کاربری استفاده کنید.




























شما میتوانید دیدگاه خود را در مورد این مطلب با ما با اشتراک بگذارید.