Server Clustering
Server Clustering, available in PReS Connect, enhances the processing capabilities of PReS Connect Server by load-balancing jobs between the main Server module (master) and one or more Server Extension installations.
Setting up Server Clustering requires two or more installations of PReS Connect on separate machines.
The Master server is setup by installing the PReS Connect Server module during the Installation Wizard, while any Slave Servers are setup by installing the PReS Connect Server Extension module instead.
Quick Howto
- Install the Master server (PReS Connect Server module), making sure to select the MySQL module.
- Grant access to the MySQL root user for the appropriate IP range on the Master server.
- Restart the MySQL Service on the Master server.
- Install Slave servers (PReS Connect Server Extension module).
- Install the license on the Master server (a Performance Pack license is required).
- Set the preferences for the engines (see Engine configuration) on both the Master and Slaves.
- Install the license on the Slave servers.
- Restart the Master server then, once restarted, restart the Slave servers.
What if MySQL is not on the Master server?
It is possible to setup clustering with a MySQL instance that is on a Slave server instead of on the master. In this case, the Slave server must be installed with the Server Extension and MySQL modules, the MySQL instance configured (steps 2-4 above) then the master and other slaves can be installed. The remainder of the instructions remain the same.
It is also possible to setup clustering with MySQL being installed completely separately from PReS Connect, such as using an existing MySQL instance. In this case, the instructions for the bind address must be followed, but the user does not have to be root. A user for MySQL must, however, be created and have full access (GRANT ALL PRIVILEGES) to a database called "objectiflune" that can be created before Connect is installed.
Binding and Root access on the Master server
-
The MySQL server's binding must be set to accept connections from the slave servers.
To do this, openC:\Program Files\Objectif Lune\OL Connect\MySQL\my.ini
in a text editor and change the linebind-address= 127.0.0.1
tobind-address=0.0.0.0.
Once the changes have been made and saved you need to restart the MySQL services. -
Access must be granted to the
root
user on the IPs from which the Slave server will connect.>- Open a Command Prompt in the following folder:
C:\Program Files\Objectif Lune\OL Connect\MySQL\bin
Navigate to the folder, SHIFT+Right-click and select "Open a command prompt here" - Type in the following command to connect to the database, where <password> is your MySQL password. (This password is the MySQL root password entered as part of Connect installation process. It had to be at least 8 characters long and contain mixed case characters, numeric digits and a punctuation character):
mysql --user=root --password=<password> objectiflune
You should see the prompt becomemysql>
. - Here, type the command to allow the "root" user to be accessed from a specific IP subnet range.
For example, to accept communication on 192.168.*.*, use:GRANT ALL PRIVILEGES ON objectiflune.* TO 'root'@'192.168.0.0/255.255.0.0' IDENTIFIED BY 'password';
, wherepassword
is the one provided during installation. ( ref: http://dev.mysql.com/doc/mysql-security-excerpt/5.5/en/adding-users.html)
- Open a Command Prompt in the following folder:
IP Subnets understanding is beyond the scope of this documentation. If you want to learn more, please see the Subnetwork article on Wikipedia .
Clustering Preferences and Setup
When Server extensions are installed and connected to a Master, the following options and settings change in availability or behaviour:
-
The Clean-up Service preferences requires special configuration on Clustering setups:
-
Clean-up service should not run simultaneously on all machines (staggered clean-up).
Doing so may cause jobs not to be processed since all servers are busy. - Only the machine where the MySQL Server product is installed should attempt to clean-up database items. Essentially servers that do not have MySQL should only run Orphan File Clean-up.
-
Clean-up service should not run simultaneously on all machines (staggered clean-up).