Add New Nodes to a Database Instance
Once you have added and installed new nodes, you need to complete the enlargement process by adding the new nodes to storage, the volume, and the database. The following steps apply:
- Shutdown All Databases
- Add Nodes to Storage
- Add Nodes to Volumes
- Add New Nodes to Database
- Reorganize Database
- Either remove any database quota (Maximal Volume Size) that might be set or set it to a high enough value during the enlargement / reorganize process.
- You must enlarge the database with a number of nodes that is a multiple of the redundancy you have chosen for the volume. Otherwise, you will first need to drop the redundancy. For example, it is possible to enlarge without dropping the redundancy if you add two, four, six, eight, ... (a multiple of two) number of nodes to a cluster if the redundancy is set to “2”.
- When reducing or increasing the redundancy, a recovery process will take place. DO NOT continue with the enlargement procedure during the recovery process.
In case of potential data loss during the procedure, ensure you have a recent backup available offline that is stored outside of the cluster.
- You have added, installed, and activated new nodes (refer to Add Node(s) for details on how to add data nodes).
- You have access to a user in EXAoperation with at least Administrator privileges.
- You know the MAC addresses and the disk layout of the running part of the cluster.
You can follow the below steps to add a new node to a database instance. As an example, the below steps describes the procedure for adding 2 data nodes to a 2-node system with a data volume redundancy of 2.
- Log in to EXAoperation as an admin user.
- From Services > EXASolution check for running operations.
- Select the database instances that should be shut down and click Shutdown.
- Refresh the page until the status of all instances change from Running to Created.Additionally, you can also monitor the procedure in the logservices.
If you stop the database while there are operations running, these operations will be aborted. It is recommended to wait until all running operations have completed before stopping the database.
- After you have
addedthe nodes in the Add Node(s) step, they will appear in the storage overview screen as shown below:
- Next, from the Services > EXAStorage screen, select the new unused nodes and click Add Unused Disks.
- The unused disks are added, and the state for these disks are displayed as ONLINE.
- Go to Services > EXAStorage and click on the name of the volume instance to open the volume details screen.
- The EXAStorage Volume screen is displayed as shown below:
- Click Edit to edit the volume.
- Select the new nodes that you want to add to the volume from the List of Nodes to add and click the arrow to add them.
- In the Master Nodes to add field, type the number of active nodes that you are adding to the volume and click Apply to save your changes.
- You are returned to the volume information screen, and the new nodes added are visible in the Node list.
Ensure you are editing the correct volume.
As a good practice one node should be assigned to only one database. Two databases should not share same node.
- Go to Services > EXASolution and select the database instance.
- The database instance screen is displayed.
- Click Edit to edit the database instance.
- Select the new nodes that you want to add from the Add Reserve Nodes and click the arrow to add them. Click Apply to save your changes.
- You are returned to the volume information screen, and the new nodes are visible in the Node list as reserve nodes.
- Select Enlarge from the Actions drop down list and click Submit.
- Enter the number of additional active (or master) database nodes. In our example, the number of nodes we are adding to the database is '2'.
- Click Apply. The database starts up.
- Once the process has completed, the active data nodes are running.
Ensure you are editing the database instance.
After completing all the operations in EXAoperation, run the REORGANIZE DATABASE command from your SQL client to finish the process. This will evenly re-distribute the data among the 2 new nodes.
Failure to perform this step would result in a data imbalance between the nodes and could result in decreased performance.