- Storage Quorum -
- SPS for Linux: Heartbeat recommendations for using Storage Quorum
What are SIOS Heartbeat recommendations for using Storage Quorum?
In order to use storage quorum, SIOS recommends that you increase the LCMHEARTBEATS to allow for a longer time before the path is marked as failed. This will change the timeout period from the default of 15 seconds to 45 seconds.
Edit the /etc/default/LifeKeeper file and change LCMNUMHBEATS to 9:
Since you will be making a change to a LifeKeeper core parameter, you will need to recycle LifeKeeper.
To minimize downtime, you can use “lkstop -f“ that will leave the resources running.
While LifeKeeper is stopped, failures of protected resources will not be detected or acted upon.
# lkstop -f
- SPS for Linux: Storage quorum failed to prevent failover when communication between nodes is lost
Incomplete storage quorum configuration caused failures during lost communication processing
All comm paths between cluster nodes must be created and “ALIVE” before running qwk_storage_init on each node in the cluster.
If this is not the case, execute the following commands to reinitialize the storage quorum configuration once all comm paths are ALIVE.
- SPS for Linux: How do you tune parameters for storage quorum when using Amazon S3 storage
How do you tune parameters for storage quorum when using Amazon S3 storage?
Once you set up storage quorum using the documentation, there may be questions on how to tune the heart beat parameters.
Click here for more information.
Here are several things that you can do to help determine if the default values are sufficient in your environment:
There are 2 main parameters in /etc/default/LifeKeeper that affect the storage quorum timeout value::
- QWK_STORAGE_HBEATTIME (default is 6) – Specifies the interval in seconds between reading and writing the QWK objects.
- QWK_STORAGE_NUMHBEATS (default is 4) – Specifies the number of consecutive heartbeat checks that, when missed, indicates that the target node has failed. A missed heartbeat occurs when the QWK object has not been updated since the last check.
When using an Amazon S3 bucket to store the QWK objects (i.e., QWK_STORAGE_TYPE=aws_s3), SIOS suggests running the following commands to ensure good connectivity in your environment:
- Execute ping s3.amazonaws.com and make sure the time is under a second. This ensures good connectivity from the EC2 node to the global AWS domain.
- Execute ping <bucketname>.s3.amazonaws.com, which will resolve to the IP address of the hosting S3 service. This should also be less than a second.
Another thing to consider is the amount of data being transferred for overall S3 activities on this node. It is possible that file transfers are taking place. You may measure the response time using ping, as in the examples above. (See above ping format).
By comparing network responsiveness in both high-traffic and low-traffic situations, you can tune the number of missed heartbeats (QWK_STORAGE_NUMHBEATS) and the heartbeat time (QWK_STORAGE_HBEATTIME) mentioned above.
The parameters above must be specified in /etc/default/LifeKeeper before running qwk_storage_init.
In most cases where your ping to the Amazon S3 service resolves to less than a second, the default is sufficient. However, if the connection to the Amazon S3 service is slow or you see degradation, we recommend increasing the QWK_STORAGE_HBEATTIME (see parameter above) from 6 to 7. This will increase the loss timeout from 24 seconds (6 × 4) to 28 seconds (7 × 4). SIOS does not recommend increasing the timeout much larger than 30 seconds.
If you change the default settings, be sure to change them on each system in the cluster and reinitialize storage quorum by executing the following commands on each system in the cluster while all comm paths are “ALIVE”: