Multi Server Setup در DirectAdmin – راهنمای کامل ارتباط، همگام‌سازی DNS، کاربران، ایمیل و مدیریت خوشه‌ای

Multi Server Setup (MSS) یکی از قدرتمندترین قابلیت‌های DirectAdmin برای ایجاد ارتباط بین چند سرور است. این سیستم امکان همگام‌سازی DNS، جلوگیری از ایجاد دامنه یا کاربر تکراری، نمایش کاربران از سرورهای دیگر، همگام‌سازی ایمیل‌ها و حتی ایجاد خودکار کاربران روی سرورهای لینک‌شده را فراهم می‌کند. در این مقاله، تمام قابلیت‌ها، کاربردها، نکات مهم و ساختارهای عملی MSS را بررسی می‌کنیم.

DNS ClusteringUser Sync

~4 دقیقه مطالعه • بروزرسانی ۱۰ اسفند ۱۴۰۴

1. Multi Server Setup چیست؟


Multi Server Setup (MSS) قابلیتی است که اجازه می‌دهد چند سرور DirectAdmin با یکدیگر ارتباط برقرار کنند. در این ساختار، سرور A به‌عنوان Master و سرور B به‌عنوان Slave در نظر گرفته می‌شود و داده‌ها از A به B «پوش» می‌شوند.

هدف اولیه MSS، ایجاد DNS Zone Mirroring بود، اما در سال‌های اخیر قابلیت‌های بسیار بیشتری به آن اضافه شده است.

---

2. Zone Transfer و Domain Check


Zone Transfer

این قابلیت باعث می‌شود هر تغییری در DNS یک دامنه روی سرور A، به‌صورت خودکار روی سرور B ذخیره شود.

Domain Check

این قابلیت از ایجاد دامنه تکراری جلوگیری می‌کند. مثلاً اگر domainB.com روی سرور B وجود داشته باشد، ایجاد آن روی سرور A مسدود می‌شود.

ساختار پیشنهادی:

  • A = ns1
  • B = ns2
  • کاربران می‌توانند روی هر دو سرور ایجاد شوند.
---

3. نکات مهم هنگام Restore کاربران


اگر کاربر userA روی سرور B ریستور شود، اما zone آن روی B وجود داشته باشد، باید تنظیم زیر را فعال کنید:

On restore, check for domain conflict in domainowners

این کار باعث می‌شود MSS در هنگام ریستور تداخل ایجاد نکند.

اگر هنگام حذف کاربر می‌خواهید DNS روی هر دو سرور باقی بماند، گزینه Leave DNS را فعال کنید.

---

4. User Check – جلوگیری از ایجاد کاربر تکراری


این قابلیت از ایجاد کاربری مثل fredB روی سرور A جلوگیری می‌کند اگر fredB روی سرور B وجود داشته باشد.

چرا مهم است؟

اگر چند سرور از یک دیتابیس MySQL مشترک (مثلاً سرور C) استفاده کنند، نام کاربری نقش prefix دیتابیس را دارد. بنابراین وجود کاربر یکسان روی دو سرور باعث می‌شود کاربران دیتابیس‌های یکدیگر را ببینند.

راه‌حل: فعال‌سازی User Check در هر دو جهت:

  • A → B
  • B → A
---

5. همگام‌سازی E Mail Accounts


این قابلیت فایل /etc/domain.com/passwd را بین سرور A و B همگام‌سازی می‌کند.

نکات مهم:

  • کاربر باید روی هر دو سرور وجود داشته باشد.
  • دامنه نیز باید روی هر دو سرور ایجاد شده باشد.
  • این قابلیت User یا Domain را ایجاد نمی‌کند.
---

6. Show All Users – نمایش کاربران سرورهای دیگر


با فعال‌سازی این گزینه، صفحه Show All Users روی سرور A، کاربران سرور B را نیز نمایش می‌دهد.

در جدول کاربران، یک ستون اضافه می‌شود که مشخص می‌کند کاربر روی کدام سرور قرار دارد.

برای کاربران remote، لینک ورود به صفحه مدیریت حساب روی سرور B نمایش داده می‌شود.

---

7. User Accounts Sync (آزمایشی)


این قابلیت هنوز در مرحله ALPHA است و برای محیط‌های Production توصیه نمی‌شود.

با فعال‌سازی آن، هر کاربر/دامنه‌ای که روی A ایجاد شود، روی B نیز ایجاد می‌شود.

این قابلیت برای هماهنگی با Email Sync مفید است، اما هنوز کامل نیست.

---

8. همگام‌سازی حساب‌های ایمیل بین سرورها


این قابلیت از API برای ایجاد، تغییر، حذف و suspend/unsuspend ایمیل‌ها روی سرور B استفاده می‌کند.

پشتیبانی می‌کند:

  • ایجاد ایمیل
  • تغییر رمز یا تنظیمات
  • حذف ایمیل
  • تعلیق/رفع تعلیق

پشتیبانی نمی‌کند:

  • گزارش مصرف فضای POP
  • گزارش تعداد ارسال‌ها

فایل‌های کنترل:

  • cluster_email_allow.list
  • cluster_email_deny.list

اگر allow وجود داشته باشد، فقط موارد داخل آن sync می‌شوند.

---

9. SYNC اولیه


اگر سرور A ایمیل دارد و B ندارد، برای همگام‌سازی اولیه:


echo "action=rewrite&value=email_passwd" >> /usr/local/directadmin/data/task.queue
---

10. مدیریت خطاها و Retry


DirectAdmin از سیستم task.queue برای retry استفاده می‌کند، اگر:


remote_dns_retries > 0

فرمت ورودی task.queue:


action=sync&type=cluster&value=email&username=fred&host=1.2.3.4&count=10&request=longrequest
---

11. پیش‌نیازهای Email Sync


  • کاربر و دامنه باید روی هر دو سرور وجود داشته باشند.
  • نسخه DirectAdmin روی سرور مقصد باید 1.48.0+ باشد.
  • Login Key باید اجازه CMD_API_POP داشته باشد.
  • Login As باید روی سرور مقصد فعال باشد.

نوشته و پژوهش شده توسط دکتر شاهین صیامی