ISPmanager 5 Business at work

From ISPWiki
Jump to: navigation, search

Introduction

ISPmanager 5 Business is a software product for shared hosting automation that can be used as a single solution for managing multiple servers.

Principles of operation:

  • A single control panel is used for managing multiple servers ("multi-server configuration")
  • All servers must run the same operating system ("homogeneous environment")
  • You can define specific rules for each server depending on its role in shared hosting ("specific usage of a server")
  • Certain software applications are installed on each server depending on its role ("specific use of software programs")
  • Software applications that specify a particular server role, are installed on all the servers that are managed with ISPmanager 5 Pro ("homogeneous software environment")
  • Users' name server and their identifiers are identical for all the servers that are managed by ISPmanager 5 Pro ("single name spaces and identifiers")
  • All user data related to a specific role are located only on one server ("data integrity within a user role")
  • Administrative settings configured on the server are identical on all the servers (homogeneous configurations)
  • You do not need to include the server running ISPmanager 5 Pro into the group of shared-servers and it may not perform specific functions (except for hosting automation on CloudLinux)

The following is a detailed description of the above principles.

Multiserver configuration

ISPmanager 5 Business is used for managing multiple servers.

ISPmanager 5 Pro can manage an unlimited number of servers. Before you start using a server, its operating system will be defined, required repositories will be connected, and required software will be installed. The ISPmanager 5 Node control panel is installed on each server for remote management. Most operations on server management are performed through this panel.

Roles and software environment homogeneity

Every server performs specific functions. Therefore, depending on hosting needs appropriate software programs should be configured on that server. A server role is a set of operational characteristics, software programs, and configuration methods.

The following table describes server roles in ISPmanager 5 Business:

Role name Description Software Packages
Main role (Web-server) This is the primary role of the server and the primary role for users. It includes Web-server, FTP-server Nginx, Apache ITK, PHP-FPM, PHP, Quota, Awstats, Webalizer, ProFTPD, phpMyAdmin, archivers ispmanager-pkg-nginx, ispmanager-pkg-httpd-itk, ispmanager-pkg-phpfpm, ispmanager-pkg-php, ispmanager-pkg-quota, ispmanager-pkg-awstats, ispmanager-pkg-webalizer, ispmanager-pkg-proftpd, ispmanager-pkg-myadmin, zip, ispmanager-pkg-logrotate
Primary name server (NS1) This server is used as the primary name server for all the ISPmanager 5 Business servers. This role can be assigned to one server only DNS server PowerDNS ispmanager-pkg-pdns, ispmanager-pkg-logrotate
Secondary name server (NSn) This server is used as the secondary name server, managing DNS-queries and synchronizing information with the primary name server DNS server PowerDNS ispmanager-pkg-pdns, ispmanager-pkg-logrotate
Email server This server is used as an MTA, and POP3, IMAP-servers managing email domains and user mailboxes, as well as provides web-interface of the mail client. Exim, Dovecot, Postgrey, OpenDKIM, Spamassassin, Sieve, Roundcube, ClamAV, MySQL, Nginx, Apache ITK, PHP-FPM, PHP, Quota ispmanager-pkg-exim, ispmanager-pkg-dovecot, ispmanager-pkg-greylisting-exim, ispmanager-pkg-opendkim-exim, ispmanager-pkg-spamassassin-exim, ispmanager-pkg-sieve, ispmanager-pkg-roundcube, ispmanager-pkg-clamav-exim, ispmanager-pkg-mysql, ispmanager-pkg-nginx, ispmanager-pkg-httpd-itk, ispmanager-pkg-phpfpm, ispmanager-pkg-php, ispmanager-pkg-quota, ispmanager-pkg-logrotate
MySQL server This server is used for managing MySQL databases MySQL database ispmanager-pkg-mysql, ispmanager-pkg-logrotate
PostgreSQL-server This server is used for managing PostgreSQL databases PostgerSQL database ispmanager-pkg-postgresql, ispmanager-pkg-logrotate
Backup server Under development

Any role can be assigned to any server, or to any number of servers (except for the primary name server role).

After assigning a specific role to the server, the appropriate software programs will be installed. Together with identical operating system this constitute homogeneous software environment for each server role within the server space.

Different roles for each server enables administrator to define specific usage of a server for each server.

User management

Let's consider basic user management operations in IPSmanager 5 Business. As we wrote above, a single user name space and user identifiers (UID, GID) are determined for all servers.

Creating user

First you need to select a user identifier. A user identifier (UID and GID are identical by default) is selected from the base of available identifiers.

A user will be created on the least-loaded server with the main role (Web-server). In the operating system of the selected server a user account will be created. Then the user is considered created.

Identifier space size and server selection method are specified in the "Policy" module.

User location is a server containing the data of the main role (Web-server). All real files will be located on that server, and the user can access that server through FTP and SSH. That's why the server with main role is selected upon user creation.

Selecting servers for user roles

Servers for user roles, which differ from the main role, are selected only when needed. Actually, they are selected while trying to create an object associated with that role. According to the rules set in the "Policy" module, the least-loaded server is selected. The corresponding role is assigned to that server, and the object is created.

When selecting the least-loaded server, the following rule must be met: if a server where a user (data of the main role) is located, performs a required role, that server will be always selected to store data of other users.

Example 1. A user is created on the server that has all roles. When trying to create, for example, a MySQL database, databases of this user (MySQL-server role) will be created on this server.

Example 2. A user is created on the server with the main role only. When trying to create the MySQL database, MySQL databases of that user (MySQL-server role) will be created on the least-loaded server, and databases will be created on a different server

The above scheme allows for better load distribution. For example, a user can create a database later, and the server load will be estimated when creating a first database, rather when creating the user).

If you select a server to locate user data, all data corresponding to a specific role, will be created and processed on that server. User data associated with the role selected cannot be located on multiple servers.

This allows for a number of variants of server usage for shared-hosting. For example, if each server has all roles, user data will be always stored on that very server . Or email server - there is a separate server (or servers) for managing emails only. Database server - one or several servers has the only role - MySQL-server, or MySQL- and PostgreSQL-server. You can also combine scenarios for server usage.

Editing users

Users are modified on all the servers containing user data. If any of the servers is not accessible, the administrator will receive a notification enabling to re-send the user edit request to the server.

Deleting users

Users are deleted on all the servers containing user data. If any of the servers is not accessible, the administrator will receive a notification enabling to re-send the user deletion request to the server.

The User identifier will be also released upon deletion. Identifiers that were used by the users can be used once again by other users (the id that was released first will be first used by a new user) allowing to increase the time gap between id release and its usage for by new user. This can be useful, for example, when deleting a user and recovering from the backup copy (with the same id).

Configuration

All the servers that are managed by ISPmanager 5 Pro, meet the following requirement: homogeneity of server configuration.

Common server settings - Admin scheduler, Firewall, etc. are applied for all the servers

Server settings corresponding to a specific role - Blacklist, Whitelist for the "email server" role. They are applied for all the servers with the specified role.

Mechanisms for automatic data synchronization with ISPmanager 5 Pro can be used for all of the above mentioned data lists. The mechanisms can be used, for example, if the server was inaccessible while applying the settings.

The server with ISPmanager 5 Pro may not be included into the list of servers and may not have a specific role. But if you want to apply settings and collect information (current statuses of services, network services, etc.) and use the File manager, you can add it into the list of servers and do not assign any role.