ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

This content has been translated automatically.  Click here  to view the French version.
Help / WLanguage / Managing databases / HFSQL Cluster
  • Overview
  • Connection to the coordinator
  • Cluster startup
  • Automatic start at boot time
  • Manual startup after a forced stop
  • Managing nodes
  • How to manage nodes?
  • Stopping the cluster
  • Automatic stop when switching the servers off
  • Stopping the cluster manually
  • Failure of one or more nodes
  • Resynchronizing the cluster
  • Fixing potential problems detected by the HFSQL Control Center
  • No source for synchronization
  • No IP address is associated with the DNS name
  • A node is missing in the DNS record of the cluster
  • A DNS entry does not correspond to a node
  • The cluster is associated with no DNS name
  • Managing HFSQL databases
  • Ribbon functions
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Overview
Most HFSQL cluster management tasks are done via the HFSQL Control Center.
The most common management tasks are:
Remark: To learn more about adding and deleting nodes from an HFSQL Cluster, refer to Installing and configuring HFSQL Cluster.
Caution:
A specific installation package is required to use HFSQL Cluster.
This pack can be downloaded at no extra cost on PC SOFT site, in the download section of modules common to version 2024.
Connection to the coordinator
To connect to the coordinator via the HFSQL Control Center:
  1. Start the HFSQL Control Center.
  2. In the home window, click "Connect to an HFSQL cluster".
  3. In the "New connection" section, enter:
    • the address of the coordinator.
    • the password for cluster management (optional). This password was chosen when installing the cluster.
      • This password must be specified to manage the cluster nodes.
      • This password is not required to manage the cluster databases.
  4. Validez. The cluster characteristics are displayed in the HFSQL Control Center.
Remarks:
  • The option "Connect to an HFSQL cluster" must be used to manage the databases. The cluster databases are managed like the HFSQL Client/Server databases.
  • If the HFSQL Control Center is already running, you can use the drop-down menu to connect to a cluster:
Cluster startup

Automatic start at boot time

The HFSQL cluster is started automatically when the various servers in the cluster are booted up.
The cluster starts in the following order:
  1. Starting the service of the coordinator (ClusterManager service).
  2. Starting the HFSQL servers of different nodes.
  3. Connecting the nodes to the coordinator.
  4. Checking the synchronization of all the databases.
    In case of desynchronization, a synchronization is started on the nodes whose database is not updated. If no node owns an updated database for sure (if the cluster was stopped by a general power failure for example), you will have to manually choose the node that will be used as data source for the synchronization. To learn more about the details of this procedure, see Resynchronizing the cluster.
  5. The cluster is available to process the connection requests from the client applications.

Manual startup after a forced stop

If the cluster has been stopped voluntarily using the HFSQL Control Center ("Stop cluster" option) or using the HClusterStop function, it is possible to restart it with the "Start cluster" button in the HFSQL Control Center or with the HClusterStart function.
Managing nodes

How to manage nodes?

In the HFSQL Control Center, the "Node administration" section of the HFSQL cluster properties shows the different nodes of the HFSQL cluster and their status.
It is possible to:
  • Access the selected node. In this case, the node must be active. You must then specify the associated username and password.
  • Reintegrate the selected node. This option allows you to reintegrate a node waiting to be added, for example.
  • Exclude node.
Reminder:
  • To add a new node to the HFSQL cluster, install an HFSQL server in Cluster mode on the target computer. When the setup is completed, the node automatically appears in the list of cluster nodes.
  • To remove a node from the HFSQL cluster, uninstall the HFSQL server on the target machine.
Stopping the cluster

Automatic stop when switching the servers off

When a server hosting a node of an HFSQL cluster is switch down, the node is automatically excluded from the cluster. Its database will be automatically resynchronized when the server is restarted.
Caution: Stopping the ClusterManager service does not stop the cluster.

Stopping the cluster manually

To stop the server manually, go to the HFSQL Control Center, cluster administration tab, "Cluster" group, and click "Stop cluster".
It can be restarted as indicated in Cluster startup
Failure of one or more nodes
Several cases may occur when one or more nodes of an HFSQL Cluster fail (hardware failure, failure of the operating system or network problems).
The table below presents the different cases that can occur for a cluster of N nodes among which n are enabled:
Number of nodes
enabled (= n)
Effect
n > N/2More than half the nodes are enabled: the cluster operates as usual.
n = N/2Exactly half of the nodes are enabled: the cluster operates normally if the coordinator is enabled, otherwise the cluster stops.
n < N/2Less than half the nodes are enabled: the cluster stops.

This operating rule prevents the cluster from being divided into two sections ("split-brain" phenomena) further to a network failure and that each section keeps on operating independently and desynchronizes the databases. Only the section containing more than half of the nodes will remain active. If the cluster is divided into two segments of equal size, the presence of the coordinator is used to decide between the groups.
Resynchronizing the cluster
A synchronization of the databases is performed when a cluster is started or when a node is added.
Two cases may occur:
  • The cluster is started and the active nodes have a synchronous database.
    The new node is automatically synchronized with the current status of the rest of the cluster. There is no action to perform. As soon as the new node is synchronized, it joins the cluster and it processes the connection requests from the client applications.
  • The cluster is stopped and no node owns for sure the most updated version of the database.
    In most cases, this case occurs after a general failure (power failure, network down, etc.). In this case, the cluster cannot be automatically restarted. The HFSQL Control Center must be used to select one of the nodes as source for synchronization. Its database will be used as reference and the other nodes will be synchronized according to it.
    Remark: The reference node must be chosen with great care. Indeed, the databases of the other nodes will be overwritten by the database of the reference node.
Remark: During the synchronization, a progress bar shows the synchronization progress in the HFSQL Control Center (in the node administration table, "Status" column for example). You also have the ability to follow the synchronization progress via HClusterSynchronizationInfo. HClusterSynchronizationErrorInfo is used to find out the last synchronization error.
Fixing potential problems detected by the HFSQL Control Center
The HFSQL Control Center can signal a number of problems regarding the status of an HFSQL cluster and it can automatically correct some of them. The list of potential problems is as follows:

No source for synchronization

ProblemWaiting for a source of synchronization.
ReasonNone of the cluster nodes includes a database for an automatic synchronization.
ResolutionChoose a reference node for the synchronization.

No IP address is associated with the DNS name

ProblemNo IP address is associated with the DNS name (<DSN name>) of the cluster (<Cluster name>).
ReasonNo DNS entry corresponds to the DNS name chosen for the cluster. The client computers cannot connect to the databases of the cluster.
ResolutionAdd a DNS entry for the IP of each cluster node corresponding to the DNS name chosen for the cluster. This operation can be automatically performed from the HFSQL Control Center.

A node is missing in the DNS record of the cluster

ProblemA cluster node is installed on the computer (<Computer name>), but its IP address (<IP address>) is not associated with the DNS name of the cluster (<DNS name>).
ReasonOne of the cluster nodes is not referenced in the DNS under the DNS name chosen for the cluster. this node will never by used by the client applications.
ResolutionAdd a DNS entry for the IP of the node corresponding to the DNS name chosen for the cluster. This operation can be automatically performed from the HFSQL Control Center.

A DNS entry does not correspond to a node

ProblemThe <Computer name> computer (IP address: <IP address>) is associated with the DNS name of the cluster (<DNS name>) while it does not correspond to a node of this cluster.
ReasonThe DNS record of the cluster name contains an IP address that does not correspond to a node. If a client application tries to connect to this address, it will receive no response and the connection time will be longer.
ResolutionDelete the extra DNS entry. This operation can be automatically performed from the HFSQL Control Center.

The cluster is associated with no DNS name

ProblemNo DNS name was entered for the cluster.
ReasonThe client applications cannot connect to the cluster.
ResolutionChoose a DNS name for the cluster and associate it with all the IPs of the different nodes. This operation can be automatically performed from the HFSQL Control Center.
Managing HFSQL databases
The method for managing the databases of an HFSQL cluster is the same as the method for managing a stand-alone HFSQL server. You must connect to the database from the HFSQL Control Center.
If the connection to the database from the HFSQL Control Center is established by using the DNS name of the cluster, this connection uses any node of the cluster (according to the algorithm for load balancing).
If the connection to the database is established by explicitly using the name of a node (by ignoring the algorithm for load balancing), the database of this node is viewed. In this case, you have the ability to view the list of users connected to the node.
Remarks
  • Regardless of the connection method used, the data viewed is strictly the same because of the replication mechanism of the cluster.
  • If the cluster is waiting for a synchronization, you cannot connect to the database.
  • If a node is currently resynchronized, you cannot connect to the database of this node.
Ribbon functions
The ribbon displayed by the Control Center for a cluster node allows you to perform various operations:
  • Cluster stop and start.
  • Connection to the cluster.
  • Creating a new database: Creates an empty database on the various cluster nodes.
  • New in version 2024
    Importing an HFSQL Classic database : Imports HFSQL Classic data files on different cluster nodes.
    Remark: This feature is only available if the cluster uses version 2024 Update 1.
  • New backup: Allows you to make a backup.
  • Rights management: Manage node rights.
  • Cluster configuration: Allows server configuration (only necessary functions are available).
Minimum version required
  • Version 15
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 01/31/2024

Send a report | Local help