DirectAdmin Multi Server Setup – Complete Guide to DNS Clustering, User Sync, Email Sync, and Cross Server Management

The Multi Server Setup (MSS) feature in DirectAdmin enables multiple servers to communicate and synchronize data. Originally designed for DNS zone mirroring, MSS has evolved into a powerful system supporting domain checks, user checks, email account synchronization, cross server user visibility, and experimental user/domain replication. This guide explains all MSS components, how they work, and how to configure them safely.

DNS ClusteringUser Sync

~4 min read • Updated Mar 1, 2026

1. What Is Multi Server Setup?


The Multi Server Setup (MSS) feature allows multiple DirectAdmin servers to communicate with each other. In all examples, we refer to:

  • Box A – the master server (where you are logged in)
  • Box B – the remote slave server

All synchronization is “push based,” meaning data is pushed from A → B and stored on B.

The original purpose of MSS was DNS zone mirroring, but its functionality has expanded significantly over the years.

---

2. DNS Zone Transfer & Domain Check


Zone Transfer

When a domain’s DNS zone is saved on box A, DirectAdmin automatically syncs it to box B. This ensures both servers maintain identical DNS records.

Domain Check

This prevents creating a domain on box A if it already exists on box B. For example, if domainB.com exists on B, DirectAdmin blocks creating it on A.

Two way DNS clustering

You can configure:

  • A → B
  • B → A

This allows both servers to act as ns1/ns2 and host users independently.

---

3. Restoring Users in a Multi Server Environment


If restoring UserA on box B while its DNS zone exists on B, use this setting:

On restore, check for domain conflict in domainowners

This changes the conflict check from named.conf to domainowners, preventing MSS from blocking the restore.

If deleting a user on A but want DNS to remain on both A+B, enable Leave DNS.

---

4. User Check – Prevent Duplicate Usernames


The User Check feature prevents creating a username on A if it already exists on B.

Why is this important?

If multiple DirectAdmin servers share a single remote MySQL/MariaDB server (box C), usernames act as database prefixes. Duplicate usernames across A and B would allow users to see each other’s databases.

Solution: Enable User Check in both directions:

  • A → B
  • B → A
---

5. E Mail Accounts Synchronization


This feature synchronizes the email account list stored in:


/etc/domain.com/passwd

from box A → box B.

Important notes:

  • It does NOT create users.
  • It does NOT create domains.
  • Both the user and domain must already exist on both servers.
---

6. Show All Users – Cross Server User Visibility


When enabled, the Show All Users page on box A also displays users from box B.

A new column indicates which server each user belongs to. Clicking a remote user provides a link to the remote server’s account view page (login required).

---

7. User Accounts Sync (Experimental)


This feature is in ALPHA and disabled by default. When enabled, creating a user/domain on A also creates it on B.

It only handles:

  • User creation
  • Domain creation
  • User deletion

It does NOT sync any other data. Useful when combined with Email Sync to ensure the remote server has the required user/domain structure.

---

8. Remote E Mail Account Sync


This feature uses the API to log in as the remote user and replicate email actions.

Supported actions:

  • Create email accounts
  • Modify email accounts
  • Delete email accounts
  • Suspend/unsuspend email accounts

Not supported:

  • POP disk usage reporting
  • Send count reporting

Optional control files:

  • cluster_email_allow.list
  • cluster_email_deny.list

Rules:

  • If neither file exists → all users/domains sync.
  • If allow exists → only items in allow sync (deny ignored).
  • If deny exists → items in deny do not sync.
---

9. Initial Email Sync


If box A has email accounts and box B does not, run:


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

10. Handling Failures & Retry Logic


DirectAdmin uses task.queue retry logic if:


remote_dns_retries > 0

Example task entry:


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

Where:

  • username – user who triggered the action
  • host – the failed remote server
  • count – retries remaining
  • request – URL encoded original request
---

11. Requirements for Email Sync


  • User must exist on both servers.
  • Domain must exist on both servers.
  • Remote server must run DirectAdmin 1.48.0+.
  • Login Key must allow CMD_API_POP.
  • “Login As” must be enabled on the remote server.

Written & researched by Dr. Shahin Siami