IN THIS ARTICLE
Outlines how to enable IP Failover in Qumulo Core
- Cluster running Qumulo Core
- Command line (CLI) tools installed via API & Tools tab
For details on configuring your DNS server to point to the floating IPs, check out the Set Explicit DNS Hostnames and IP Mappings article.
IP Failover is a high-availability feature that allows a node's virtual IP address(es) to be reassigned to other nodes in the cluster should a node go offline for any reason.
In addition to the fixed IP range assigned to a cluster, an administrator can set a floating range of addresses that can be reshuffled amongst online nodes as necessary. When using IP Failover, it is recommended that the cluster's client-facing DNS record be pointed at these floating IPs as opposed to the fixed range.
For example, in a BIND zone, your records may look something like this where 10.101.1.201-204 is the floating range:
Clients mount the cluster using one of the following recommended mount options:
mount -t nfs -o rsize=65536,wsize=65536,intr,hard,tcp,rdirplus,readahead=128 your.qumulo.ip:/share /path/to/mountpoint
Mac Client with Local Locking Enforced
mount -t nfs -o rsize=65536,wsize=65536,intr,hard,tcp,locallocks,rdirplus,readahead=128 your.qumulo.ip:/share /path/to/mountpoint
- Please note that modern Linux distributions auto negotiate a 1MB read/write block size (rsize/wsize of rsize=1048576).
mount -t nfs -o intr,hard,tcp your.qumulo.ip:/share /path/to/mountpoint
Linux Client with Local Locks Enforced
mount -t nfs -o intr,hard,tcp,local_lock=all your.qumulo.ip:/share /path/to/mountpoint
In a node outage scenario, any IP in the floating range that was assigned to the offline node would move to another available node ensuring that connected clients can continue writing and reading to/from the cluster. Typically the time it takes to fail an IP over to another node will cause only a momentary blip in any running workloads. Please note that certain connections like SMB will have to re-connect, as they require a new TCP connection. However, the failover is fast enough that most operating systems' retry mechanism can handle it.
We recommend assigning enough floating IP addresses so that each node will have the total number of nodes minus one for the number of floating IP addresses (up to 10 per node). The math to use is (N-1)*N where N is the total number of nodes in the cluster. Assuming many client connections, this best practice could help evenly distribute the connections from the lost node onto the remaining nodes as needed. For example, in a 4 node cluster when 1 node goes offline, its 3 virtual IPs would then float to each of the remaining 3 nodes.
Configure IP Failover via the Web UI
- Log in to your cluster's Web UI as 'admin'.
- Hover over the Cluster menu and select Network Configuration.
- On the Network Configuration page, click on Edit Static Settings.
- In the fields for Persistent IPv4 Addresses and Floating IPv4 Addresses, enter your fixed and floating ranges.
- Click Save.
Configure IP Failover via the QQ CLI
- Using a node's IP address, ssh to the cluster as admin.
- Login as root.
- Run the following qq command replacing the IP range with your preferred floating range.
qq network_conf_mod --floating-ip-ranges 10.100.1.201-204
Once IP failover is configured, confirm that your clients are using the new floating IPs. If a client already has a mount point based on a previous static IP, you will need to unmount and remount the Qumulo cluster, ensuring that the new mount picks up the floating IP set. The DNS record must be updated to list the floating IPs and not the static ones for the cluster before remounting.
You should now be able to successfully configure IP failover in Qumulo Core
Like what you see? Share this article with your network!