Multi-server configuration
Introduction
ISPmanager 6 Business is a control panel that can be used for managing multiple servers (cluster). The panel can manage data located on both local and remote servers (cluster nodes). ISPmanager 6 Node is installed on each cluster node for managing cluster nodes through remote calls. You can manage a local node in the same as any other node except for adding a new cluster node.
Adding nodes into cluster nodes
The system completes the following steps to add a cluster node
- creates an admin user named 'ispmaster'
- registers the SSH public key of the master-server
- adds required repositories
- installs and configures ISPmanager 6 Node
- copies the template files
- configures ihttpd for managing the master-server
- registers available synchronyzers
Data synchronization starts first and performs the following operations:
- changes the cluster node's status into "Installation in progress"
- assigns the selected roles to the cluster node
- starts software synchronization on the node to install the software required for roles. Statistics collection mechanisms inform the master server that software synchronization is over and start synchronization of other types of data.
Managing data on cluster nodes
As we wrote above, ISPmanager 6 Business sends remote calls to the control panel ISPmanager 6 Node installed on each cluster node. The control panel manages two main types of data:
- User data — any data that belong to a certain user. User is a user account in the control panel (the "Accounts" module – "Users")
- System data — data identical for all cluster nodes. Data management may vary depending on data types.
Managing user data
Examples of user data are "Web-domains", "Domain names", "Mail domains", etc.
A cluster node where specific user data will be located is selected depending on a data role.
ISPmanager 6 Business locates the cluster node where user data are located, sends user requests to ISPmanager 6 Node installed on the same node, receives the reply and generated the result for the user. Thus, a specific cluster node manages user data by proxying user requests to the control panel.
System data
A different scheme is used for managing system data, such as "Firewall", "Scheduler", "Whitelist", etc.
Such data must be identical on all the cluster nodes. A distributed query is sent to all the nodes meeting a specific criterion (e.g., active mail server role for a "Blacklist").
Before executing the query, certain conditions are checked, for example, the percentage of "Ready" cluster nodes must be greater than the value specified in the Policy settings. Then the query will be executed on the corresponding cluster nodes. If the attempt fails, the changes won't be applied in ISPmanager 6 Business. If the query is executed successfully, data de-synchronization will be registered.
The corresponding data lists will be synchronized with the cluster node using the synchronization mechanisms .