~4 min read • Updated Mar 1, 2026
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.listcluster_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 باید روی سرور مقصد فعال باشد.
Written & researched by Dr. Shahin Siami