آموزش جامع راهاندازی و پیکربندی UPS روی لینوکس با ابزار NUT — Configure a UPS on Linux with NUT
خلاصه
استفاده از UPS برای محافظت از سرورها و ایستگاههای کاری ضروری است، اما سختافزار به تنهایی برای جلوگیری از آسیب قطع ناگهانی برق کافی نیست. ابزار متنباز NUT یا Network UPS Tools استاندارد صنعتی برای نظارت بر وضعیت باتری و مهار خاموش شدن ایمن سیستمها در لینوکس محسوب میشود.
خریدن یک منبع تغذیه بدون وقفه یا همان UPS برای محافظت از سرورها و لَبسیستمهای حساس در برابر قطع ناگهانی برق حیاتی است. با این حال، اتصال سختافزار به تنهایی کافی نیست؛ اگر سیستمعامل از وضعیت باتری باخبر نباشد، هنگام تمام شدن شارژ، سیستم دچار خاموشی ناگهانی (Hard Crash) شده و احتمال آسیب به فایلسیستم وجود دارد. ابزار NUT (مخفف Network UPS Tools) استاندارد متنباز برای حل این مشکل است که طیف وسیعی از مدلهای UPS را پشتیبانی کرده و فرمان خاموشسازی ایمن را صادر میکند.
معماری و اجزای اصلی NUT
برای درک نحوه کارکرد این ابزار، پیش از دستکاری فایلهای کانفیگ باید با سه بخش اصلی آن آشنا شوید:
- درایور (Driver): یک باینری اختصاصی برای هر مدل که مستقیماً با سختافزار UPS از طریق USB، پورت سریال یا SNMP گفتگو میکند.
- دیمن upsd: سرویسی که دادههای خواندهشده از UPS را پردازش کرده و روی سوکت شبکه یا لوکال سرویس میدهد.
- دیمن upsmon: ابزار مانیتورینگ که وضعیت باتری را زیر نظر گرفته و در شرایط بحرانی فرمان شاتدان سیستم را اجرا میکند.
در سناریوهای رایج خانگی یا سرورهای تکماشینی (Standalone)، هر سه بخش روی یک سیستمعامل اجرا میشوند.
مراحل نصب و راهاندازی
ابتدا پکیجهای مربوطه را نصب کنید. در توزیعهای مبتنی بر دبیان مانند Ubuntu با دستور زیر کار پیش میرود:
sudo apt update && sudo apt install nut nut-client nut-server
در توزیعهای ردهپایی مانند RHEL یا Fedora نیز پکیجها یکجا عرضه میشوند. سپس باید سختافزار را متصل کرده و مدل آن را اسکن کنید تا درایور مناسب شناخته شود:
nut-scanner -q
خروجی این ابزار یک بلوک متنی شامل driver، پورت و شناسههای سختافزاری (vendorid و productid) به شما میدهد که باید آن را در فایل تنظیمات اصلی ذخیره کنید.
پیکربندی فایلها
تنظیمات NUT در مسیر /etc/nut/ قرار دارند. مهمترین فایلها عبارتند از:
nut.conf: مشخص میکند نقش این سیستم چیست (مقدارstandaloneبرای یک سیستم منفرد).ups.conf: مشخصات درایور و اتصال سختافزاری UPS در آن تعریف میشود.upsd.confوupsd.users: برای تعیین دسترسی لوکال دیمن سرور و تعریف کاربران با کلمه عبور اختصاصی جهت ارتباط امن دیمن مانیتورینگ.upsmon.conf: هسته مرکزی تصمیمگیری است که در آن دستور شاتدان (SHUTDOWNCMD) و آستانه بحرانی باتری تنظیم میشود.
خط کلیدی در تنظیمات مانیتورینگ معمولاً به شکل زیر است:
MONITOR myups@localhost 1 upsmon_local strong_password master
دستور پیشفرض خاموشی /sbin/shutdown -h +0 است که بلافاصله پس از رسیدن سطح باتری به بحران، سیستم را خاموش میکند.
فعالسازی و تست نهایی
پس از ذخیره تنظیمات، سرویسهای مربوطه را فعال و استارت کنید:
sudo systemctl enable --now nut-server nut-monitor
برای بررسی وضعیت زنده و سلامت ارتباط با سختافزار از ابزار upsc استفاده کنید:
upsc myups@localhost ups.status
اگر مقدار متغیر ups.status برابر با OL (Online) باشد یعنی هم thứی چیز عادی است. وضعیت OB نشاندهنده کارکرد روی باتری و LB هشدار بحرانی است. برای تست عملیاتی بدون ریسک خرابی، میتوانید کابل برق UPS را به طور موقت بکشید و تغییر وضعیت را با دستورات حلقوی مانیتور کنید.
نکات عیبیابی (Troubleshooting)
- خطای دسترسی به USB: اگر درایور بالا نمیآید، احتمالاً کاربر
nutبه گره سختافزاری دسترسی ندارد. قوانین udev معمولاً این موضوع را حل میکنند. - خطای Driver not connected: لاگهای سیستم را با دستور
journalctl -u nut-driver@myupsبررسی کنید تا وجود اشکال در نامگذاری یا نسخه درایور مشخص شود. - شاتدان ناخواسته هنگام استارت: مطمئن شوید پارامتر
MINSUPPLIESبه درستی روی ۱ تنظیم شده باشد و پیش از استارت سرویسها، ارتباط با UPS برقرار باشد.
این مطلب بهصورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل