Updating the Distributed DDNS Data Node database cluster allows you to take advantage of new features, while maintaining support of your DDNS Database Node database cluster software. Performing a rolling update can be time consuming, depending on the size of the database and the number of nodes that exist in the cluster. During the database update, the cluster operates at a reduced capacity while nodes update.
Before you begin
BlueCat recommends performing a database backup of the cluster before proceeding to update the database. For more information on performing a database backup, refer to Configuring Auto Backup service.
Performing a rolling update of the database cluster
- Log in to the console of the BDDS of the first node in the cluster.
- Load the Distributed DDNS Data Node image using the following
command:
docker load -i <node_tar_file>
- Ensure that there are no connections to the first node by transferring all client connections from the first node.
- Stop and remove the old Distributed DDNS Data Node container from the BDDS
by running the following
commands:
docker stop <node1_name> docker rm <node1_name>
Attention: Ensure that you do not remove any Docker volumes created by the old Distributed DDNS Data Node container. Verify that the daemon-config, mariadb-config, mariadb-data, mariadb-backup, and dbssl-config volumes are still available on the BDDS by running the following command:docker volume ls
- Install the updated version of the Distributed DDNS Data Node image by
running the following
command:
docker run -d \ --restart=unless-stopped \ --net=host \ --name <node_name> \ -v mariadb-config:/etc/mysql \ -v mariadb-data:/var/lib/mysql \ -v mariadb-backup:/opt/backup/ \ -v dbssl-config:/etc/ddns_ssl/ \ -v daemon-config:/daemon_run \ <new_mariadb_image_name>
For example:docker run -d --restart=unless-stopped \ --net=host \ --name node1 \ -v mariadb-config:/etc/mysql \ -v mariadb-data:/var/lib/mysql \ -v mariadb-backup:/opt/backup/ \ -v dbssl-config:/etc/ddns_ssl \ -v daemon-config:/daemon_run \ quay.io/bluecat/distributed_ddns_database:21.2
- Verify that the node has successfully joined the cluster and finished
synchronizing by checking the Distributed DDNS Data Node container log using
the following
command:
docker logs -f <node1_name>
The node must successfully join the cluster and synchronize before you proceed to update the remaining nodes in the cluster.
Once the node has successfully installed the updated software, you can proceed to update the next node in the cluster.
Performing a database schema update
- Log in to the console of the BDDS of a node in the cluster.
- Check if a database schema update is available using the following
command:
docker exec <node_name> dbmigration --check-upgrade-path
The command displays a list of available updates.
- Update the database schema using the following
command:
docker exec <node_name> dbmigration --upgrade-schema
The command updates the database schema to the latest version that matches the database software installed on the nodes.
Once the database schema has been updated, the remaining nodes in the cluster install the updated schema through replication.