Setting Up HA with Proxmox: A Comprehensive Guide for Production Clusters
در این مقاله با مراحل راه‌اندازی HA با Proxmox آشنا می‌شوید و‌یاد می‌گیرید چگونه یک کلاستر تولیدی پایدار ایجاد کنید.

Setting up HA with Proxmox: A comprehensive guide for production clusters

This comprehensive guide will help you build a stable production cluster by setting up HA with Proxmox. From the initial installation steps to security and operational configurations, everything is explained in detail.
0 Shares
0
0
0
0

 

چطور می‌توان دسترسی‌پذیری (HA) قابل‌اطمینان با Proxmox برای کلاسترهای تولیدی فراهم کرد؟

راه‌اندازی HA با Proxmox هدفش کاهش زمان قطعی سرویس و تضمین دسترسی ماشین‌های مجازی و کانتینرها در مواجهه با خطاهای سخت‌افزاری یا نرم‌افزاری است. این راهنما برای مدیران سرور، DevOps، ارائه‌دهندگان خدمات ابری و تیم‌های فنی نوشته شده و شامل اصول، پیش‌نیازها، پیکربندی عملی و نکات امنیتی است. مثال‌ها و دستورات لینوکسی واقعی ارائه شده و موضوعاتی مانند اشتراک‌گذاری ذخیره‌سازی (Ceph/NFS/iSCSI)، شبکه‌بندی، فنسینگ (STONITH) و راهکارهای مختلف کاربردی پوشش داده شده‌اند.

 

الزامات و معماری کلی برای Proxmox HA

برای داشتن HA پایدار در Proxmox به موارد زیر نیاز دارید:

  • حداقل ۳ نود فیزیکی برای تضمین quorum در حالت عادی. در صورت دو نود، باید QDevice یا مِدیاتور ثالث داشته باشید.
  • یک لایه ذخیره‌سازی مشترک برای VMs: Ceph RBD بهترین گزینه برای HA و live-migration است. NFS, iSCSI Or DRBD هم گزینه‌های دیگر هستند.
  • یک شبکه مدیریتی جدا برای ترافیک کلاستر و corosync با پهنای باند و تاخیر پایین.
  • مکانیزم فنسینگ/STONITH برای جلوگیری از split-brain.
  • زمان‌بندی پشتیبان‌گیری و مانیتورینگ.

Proposed architecture:

  • شبکه مدیریتی (Cluster Network): 2x10Gb یا 1Gb + LACP، آدرس‌دهی خصوصی (مثلاً 10.10.0.0/24).
  • شبکه ذخیره‌سازی (Ceph): رابط‌های جداگانه با MTU 9000 (jumbo).
  • شبکه سرویس‌دهی: public/VLAN برای دسترسی مشتریان و سرویس‌ها.
  • حداقل 3 نود Proxmox با Ceph MONs و OSDs یا یک لایه ذخیره‌سازی NFS با UPS و NAS HA.

 

چرا Ceph را پیشنهاد می‌دهیم؟

دلایل اصلی پیشنهاد Ceph:

  • RBD به‌عنوان یک بلاک‌استوریج توزیع‌شده اجازهٔ live migration را بدون نیاز به انتقال فایل‌های دیسک می‌دهد.
  • عدم وجود single-point-of-failure؛ قابلیت مقیاس‌پذیری عمودی و افقی.
  • یکپارچگی بومی با Proxmox از طریق pveceph.

 

گام‌های عملی: از نصب تا فعال‌سازی HA

در این مثال، یک کلاستر ۳ نودی با Ceph و HA برای VMها تنظیم می‌کنیم. مراحل اصلی به‌ترتیب زیر هستند:

۱) نصب پایه Proxmox روی هر نود

روی هر سرور Proxmox VE نصب کنید (نسخه‌های ۶/۷/۸ سازگار). بعد از نصب، آدرس مدیریت و SSH را تنظیم کنید و سیستم را به‌روز کنید:

sudo apt update && sudo apt dist-upgrade -y

۲) ایجاد کلاستر (روی نود اول)

روی نود اول کلاستر را ایجاد کنید و وضعیت را بررسی نمایید:

sudo pvecm create my-cluster
pvecm status

۳) اضافه کردن نودها به کلاستر

روی هر نود ثانویه دستور زیر را اجرا کنید و سپس وضعیت کلاستر را بررسی کنید:

sudo pvecm add <IP-نود-اول>
pvecm nodes
pvecm status

۴) شبکه کوروسینک و MTU

مطمئن شوید bindnetaddr در /etc/pve/corosync.conf درست تنظیم شده و شبکه‌ای با تاخیر پایین دارید. برای Ceph از MTU 9000 استفاده کنید و آن را در کارت شبکه و سوئیچ فعال نمایید.

۵) نصب و راه‌اندازی Ceph (نمونه ساده)

دستورات پایه برای نصب و پیکربندی Ceph در هر نود:

pveceph install
pveceph init --mon-ip <IP-نود>
pveceph createosd /dev/sdb
ceph -s

۶) فعال‌سازی HA Manager و افزودن VM به HA

در رابط وب: Datacenter → HA → Add → انتخاب resource (مثلاً vm:100 یا ct:101) و تعیین policy (restart, migrate).

از CLI با pvesh نیز می‌توانید resource را اضافه کنید:

pvesh create /cluster/ha/resources -resource vm:100 -state started -max_restart 3
ha-manager status
pvesh get /cluster/ha/status

۷) تست Failover

برای شبیه‌سازی قطع برق نود و بررسی اینکه VMها روی نودهای دیگر بالا می‌آیند:

ssh root@node1 "shutdown -h now"
ha-manager status
qm list

 

تنظیمات شبکه توصیه‌شده

توصیه‌ها برای طراحی شبکه:

  • دو شبکه فیزیکی جدا برای management and storage. VLANها برای ایزوله‌سازی ترافیک.
  • Bonding (LACP) برای redundancy و افزایش پهنای باند. نمونه پیکربندی:
auto bond0
iface bond0 inet manual
    bond-slaves eth0 eth1
    bond-mode 802.3ad
    bond-miimon 100

برای Ceph پیشنهاد می‌شود MTU روی 9000 قرار گیرد و سوئیچ شبکه نیز jumbo frames را پشتیبانی کند.

 

فنسینگ (STONITH) و جلوگیری از split-brain

فنسینگ برای قطع کردن نود معیوب ضروری است. Proxmox از fence-agents پشتیبانی می‌کند.

apt install fence-agents

نمونه فرمان IPMI برای فنسینگ:

fence_ipmilan -a <IP> -l <USER> -p <PASS> -o poweroff

در محیط‌های ابری یا دیتاسنتر می‌توان از IPMI/BMC یا fence بر پایه شبکه (مثلاً fence_virt) استفاده کرد. در صورت دو نود، حتماً یک QDevice با دستور pvecm qdevice setup یا شاهد ثالث داشته باشید.

 

نکات برای انواع کاربردها (ترید، گیم، AI/GPU، رندرینگ)

VPS مخصوص ترید: انتخاب لوکیشن نزدیک به بورس‌ها (مثلاً لندن، فرانکفورت، نیویورک)، استفاده از سرورهای با تاخیر کم و anti-DDoS، و HA با سیاست restart سریع.

Gaming VPS: پینگ پایین و پهنای باند بالا اهمیت دارد. HA برای سرورهای لیگ/مستمر مفید است؛ اما برای مسابقات رقابتی معمولاً replicate و snapshot قبل از مسابقه انجام می‌شود.

GPU Cloud (هوش مصنوعی و رندرینگ): HA برای GPU چالش دارد چون failover انتقال GPU به نود دیگر نیاز به پشتیبانی vGPU یا re-attach دارد. پیشنهاد: از مدیریت job-level (مثلاً Kubernetes + GPU scheduling) استفاده کنید تا jobs در صورت شکست نود دوباره زمان‌بندی شوند.

شرکت ارائه‌دهنده خدمات اشاره‌شده، سرور گرافیکی (GPU)، سرور ضد DDoS و VPSهای مخصوص ترید و گیم قابل ادغام با Ceph و شبکه با تاخیر پایین ارائه می‌دهد.

 

امنیت، بکاپ و مانیتورینگ

  • Authentication: فعال‌سازی 2FA برای رابط وب، مدیریت کلیدهای SSH و محدود کردن دسترسی.
  • Firewall: استفاده از Proxmox Firewall و قوانین سخت‌گیرانه برای پروت‌ها (SSH، corosync، ceph).
  • بکاپ: تعریف RTO و RPO، snapshot و backup منظم روی محل دیگری (مثلاً Storage خارج از کلاستر یا S3-compatible).
vzdump --compress lzo 100 --storage backup-storage 101

Monitoring: Prometheus + Grafana یا Zabbix برای نظارت بر سلامت نودها، corosync، ceph و VMها پیشنهاد می‌شود.

 

چک‌لیست پیش از تولید

  • تست failover در محیط تست قبل از انتقال به تولید.
  • تأیید عملکرد live migration با Ceph RBD و تست I/O.
  • پیکربندی و تست فنسینگ (قطع کردن نود و بررسی خاموش شدن یا قطع شدن).
  • تعیین policyهای HA: restart vs migrate، max_restart، timeout.
  • برنامه پشتیبان‌گیری و آرشیو لاگ‌ها.

 

مقایسه لوکیشن‌ها و توصیه‌های انتخاب

توصیه‌های کلی برای انتخاب لوکیشن بر اساس کاربرد:

  • اروپا (فرانکفورت، لندن): مناسب برای وب‌سایت‌ها و ترید اروپا؛ تأخیر پایین به بازارهای مالی اروپایی.
  • آمریکا (Ashburn، NY): مناسب برای ترید با بازارهای آمریکایی، CDN و توزیع محتوا.
  • آسیا (توکیو، سنگاپور): مناسب بازی‌ها و سرویس‌ها برای کاربران آسیایی و اپلیکیشن‌های با نیاز به پردازش در مناطق آسیا.

 

خلاصه اجرایی و بهترین پیکربندی پیشنهادی

  • حداقل ۳ نود Proxmox با شبکه جدا برای cluster و storage.
  • Ceph RBD به عنوان ذخیره‌سازی مشترک برای HA و live migration.
  • فنسینگ مبتنی بر IPMI یا fence-agent و تست منظم آن.
  • شبکه با bonding، MTU 9000 برای Ceph و VLAN برای جداسازی.
  • پیاده‌سازی مانیتورینگ و بکاپ مرتب.

 

تماس با تیم فنی و پشتیبانی

اگر می‌خواهید یک کلاستر Proxmox HA تولیدی بسازید یا نیاز به مشاوره برای انتخاب لوکیشن (از میان ۸۵+ لوکیشن جهانی)، سرور گرافیکی (GPU)، سرور ضد DDoS، VPS مخصوص ترید یا گیم، یا مشاوره ذخیره‌سازی (Ceph/NFS/iSCSI) دارید — تیم فنی آماده است تا طراحی، پیاده‌سازی و تست HA را برای شما انجام دهد.

 

Frequently Asked Questions

You May Also Like
amazon-web-service-API

Amazon (AWS) APIs and Services: Everything You Need to Know

In today's world where information technology is growing rapidly, the use of cloud infrastructure has become one of the main needs of businesses. Amazon Web Services, or AWS for short, is one of the largest and most powerful cloud service providers in the world. In this article, we will introduce what API is, the role of API in AWS, and then the most important Amazon services.