Floating IPs
Floating IPs
A floating IP is a virtual IP address that isn't permanently tied to one node —— StorONE moves it between nodes as needed, so clients keep using the same address regardless of which physical node is actually serving it. This is what lets a client connection survive a node failover: the client keeps talking to the same IP, and StorONE points that IP at whichever node is currently able to serve it.
Floating IPs are used for two things:
- Client connectivity
—— the address hosts actually connect to for iSCSI, NFS, SMB, or object access, instead of connecting to a node's own fixed IP. - Replication pairing
—— a floating IP can be paired with a floating IP on a remote system, which is how StorONE keeps NAS/object replication targets reachable at a stable address across a failover. See Pairing floating IPs for replication for that side of things; this page covers the mechanics of the floating IP itself.
Because a floating IP can run on any node in the cluster, it needs to know which network interface to use on each node it might land on —— that's why creating or editing one asks for a node-to-interface mapping rather than a single interface name.
Creating a floating IP
Using the web interface
- Open Inventory > Floating IPs.
- Click Create.
- Under Name, enter a name for the floating IP.
- Under IP Address, enter the Address, Mask, and, if needed, a Gateway.
- Under Interfaces per Node, add one row per node the floating IP might run on, choosing the network interface to use on that node.
- Confirm to create the floating IP.
Using the CLI
floatingips create <name> --address=<ip> --mask=<subnet> [--gateway=<ip>] --nodes=<text...> --interfaces=<text...>
| Option | Description |
|---|---|
<name> |
The name for the new floating IP. |
--address=<ip> |
The IP address of the floating IP. |
--mask=<subnet> |
The subnet mask of the floating IP. |
--gateway=<ip> |
The gateway of the floating IP. |
--nodes=<text...> |
The nodes to host the floating IP on, paired positionally with --interfaces. |
--interfaces=<text...> |
The network interface on each corresponding node, paired positionally with --nodes. |
Examples
Create a floating IP on a two-node cluster, using eth0 on both nodes:
floatingips create clients-vip --address 10.10.20.50 --mask 255.255.255.0 --gateway 10.10.20.1 --nodes s1-node-01,s1-node-02 --interfaces eth0,eth0
Create one where the two nodes use different interface names:
floatingips create clients-vip --address 10.10.20.50 --mask 255.255.255.0 --nodes s1-node-01,s1-node-02 --interfaces eth0,eth1
Editing a floating IP
You can rename a floating IP, change its address/mask/gateway, or update its node-to-interface mapping. One exception: if this floating IP is the inactive side of a replication pair (a "stub" waiting to be activated —— see Pairing floating IPs for replication), you can't change its address or mask directly here —— make that change on the active side instead.
Using the web interface
- Open Inventory > Floating IPs, select the floating IP, and click Edit.
- Under Parameters, update the name, address, mask, and/or gateway as needed.
- Under Interfaces Per Node, update the node-to-interface mapping if needed.
- Confirm the change.
Using the CLI
floatingips edit <name> [--newname=<name>] [--address=<ip> --mask=<subnet> --gateway=<ip> --nodes=<text...> --interfaces=<text...>]
| Option | Description |
|---|---|
<name> |
The name of the floating IP to edit. |
--newname=<name> |
The new name for the floating IP. |
--address=<ip> |
The new IP address for the floating IP. |
--mask=<subnet> |
The new subnet mask for the floating IP. |
--gateway=<ip> |
The new gateway for the floating IP. |
--nodes=<text...> |
The nodes to host the floating IP on, paired positionally with --interfaces. |
--interfaces=<text...> |
The network interface on each corresponding node, paired positionally with --nodes. |
Examples
Rename clients-vip to nfs-vip:
floatingips edit clients-vip --newname nfs-vip
Change the address:
floatingips edit nfs-vip --address 10.10.20.60 --mask 255.255.255.0
Listing floating IPs
Using the web interface
Open Inventory > Floating IPs. Use the toolbar's filtering options to search by name or IP address.
Using the CLI
floatingips list [<name>] [--ip=<ip>]
| Option | Description |
|---|---|
<name> |
Filter by floating IP name. |
--ip=<ip> |
Filter by IP address. |
Examples
List every floating IP:
floatingips list
Find the floating IP with a specific address:
floatingips list --ip 10.10.20.50
Deleting a floating IP
Using the web interface
- Open Inventory > Floating IPs, select the floating IP, and click Delete.
- Confirm the deletion.
Using the CLI
floatingips delete <name> [--force]
| Option | Description |
|---|---|
<name> |
The floating IP to delete. |
--force |
Skip the confirmation prompt. |
Examples
Delete nfs-vip:
floatingips delete nfs-vip
Delete without a confirmation prompt:
floatingips delete nfs-vip --force
Next: Pairing floating IPs for replication —— pairing, unpairing, and activating floating IPs across systems.