This section explains the difference between Host-Managed Networking and Qumulo-Managed Networking and gives instructions for configuring interface tagging by using alternative names for Host-Managed Networking with floating IP addresses in Qumulo Core.
Understanding the Difference Between Host-Managed Networking and Qumulo-Managed Networking
This section explains the difference between the two networking modes in Qumulo Core. You can choose a networking mode depending on the version of Qumulo Core that you want to install.
-
Host-Managed Networking: This is the default networking mode for Qumulo Core Product Package installations of Qumulo Core 7.8.0.1 (and higher).
In this networking mode:
- You’re responsible for configuring most of your network infrastructure.
- Qumulo provides configurations only for tenants and floating IP addresses.
Note
You can use Host-Managed Networking with or without the Qumulo REST API. However, using floating IP addresses requires tagging with alternative names and REST API access.To disable Host-Managed Networking, enable Qumulo-Managed Networking when you install the Qumulo Core Product Package.
-
Qumulo-Managed Networking: This is the default networking mode for Qumulo Core Product Package installations of Qumulo Core versions lower than 7.8.0.1.
In this networking mode:
- Qumulo is responsible for configuring your entire network infrastructure.
- You can change only a limited number of settings.
To enable Host-Managed Networking for Qumulo Core versions lower than 7.8.0, enable Qumulo-Managed Networking when you install the Qumulo Core Product Package.
How Alternative Names Work in Qumulo Core
In Linux, the alternative name (altname) is an optional, user-defined alias for a network interface. For more information see ip link in Linux documentation.
In Qumulo Core, alternative names let you use the Qumulo REST API to configure floating IP addresses for your Qumulo cluster when using Host-Managed Networking and to assign the roles of front end (for client traffic) or back end (for inter-node traffic) to network interfaces. Without alternative names, Qumulo Core uses all valid and connected network interfaces.
Enabling Persistent Alternative Names
This section explains how to configure alternative names to be always enabled while systemd-networkd is running by using a 10-altname.link file or by creating a systemd service.
To Enable Persistent Alternative Names by Using a .link File
If you use systemd-networkd as your network manager, you can let the network configuration system manage alternative names directly by creating a .link file.
-
Use SSH to connect to your node.
-
Create the
10-altname.linkfile in the/etc/systemd/network/directory. -
Add one of the following to the
10-altname.linkfile:-
The PCI address of the NIC and the corresponding alternative name
For example:
[Match] Path=pci-0000:01:00.0 [Link] AlternativeNames=qumulo-backend -
The permanent MAC address of the NIC and the corresponding alternative name
Important
If you change the NIC in the node, you must update the10-altname.linkfile.[Match] PermanentMACAddress=b4:96:91:f6:33:1c [Link] AlternativeNames=qumulo-backend
-
-
To enable the alternative names, restart
systemd-networkd.
To Enable Persistent Alternative Names by Creating a systemd Service
If you use a network manager other than systemd-networkd or need an alternative name configuration that doesn’t depend on a specific networking manager, you can configure a systemd service.
Step 1: Create the Alternative Name Script
-
Use SSH to connect to your node.
-
Create the
qumulo_set_altname.shscript in the/var/opt/qumulo/altname/directory. -
Add the alternative name commands to the
qumulo_set_altname.shfile. For example:#!/bin/bash /usr/sbin/ip link property add dev bond0 altname qumulo-frontend1 /usr/sbin/ip link property add dev bond0 altname qumulo-backend -
Use the
chmod +xcommand to make the script executable.
Step 2: Create the Service Definition
-
Create the
qumulo-set-altname.servicefile in the/etc/systemd/system/directory. -
Add the service definition to the
qumulo-set-altname.servicefile. For example:[Unit] Description=Assign Qumulo altname to frontend NIC After=network-pre.target Before=network.target [Service] Type=oneshot ExecStart=/var/opt/qumulo/altname/qumulo_set_altname.sh [Install] WantedBy=multi-user.targetIn this example, the
ExecStartparameter specifies the location of thequmulo_set_altname.shfile.
Step 3: Start the Service
-
To configure your service to start with the node, run the
systemctlcommand and specify the service name.systemctl enable qumulo-set-altname.service -
To start the service and enable alternative names immediately, do one of the following:
-
Restart the node
-
Run the
systemctl start qumulo-set-altname.servicecommand.
-
Assigning Front-End and Back-End Roles to a Network Interface (NIC)
This section explains how to assign front-end and back-end roles by applying an alternative name to a network interface.
To Assign the Front-End Role to a NIC
The front-end role instructs a NIC to serve client traffic. To assign this role, run the ip link command and specify the network interface name and the alternative name (which includes the network ID).
In the following example, the network interface name is eth0 and the alternative name is qumulo-frontend1 (the network ID is 1).
sudo ip link property add \
dev eth0 \
altname qumulo-frontend1
To Assign the Back-End Role to a NIC
The back-end role instructs a NIC to facilitate inter-node communication. To assign this role, run the ip link command and specify the network interface name and the alternative name.
Qumulo Core permits only one interface to be tagged as
qumulo-backend.In the following example, the network interface name is eth1 and the alternative name is qumulo-backend.
sudo ip link property add \
dev eth1 \
altname qumulo-backend
Example Network Configurations
This section gives examples of network configurations with and without alternative names for front-end client traffic, back-end inter-node traffic, and combined QFSD traffic.
Click to expand
Example Configurations with Alternative Names
-
Two Network Interfaces with a Link (Front-End and Back-End): In the following example, Qumulo Core labels interface
eth0asUSE_FOR_FRONTENDandeth1(the interface with a higher PCIe address) asUSE_FOR_BACKEND.sudo ip link \ property add \ dev eth0 \ altname qumulo-frontend1sudo ip link \ property add \ dev eth1 \ altname qumulo-backend -
Two Network Interfaces with a Link (Front-End and Back-End on the Same Link): In the following example, Qumulo Core labels interface
eth0withUSE_FOR_FRONTEND_AND_BACKEND, and uses onlyeth0for QFSD traffic.sudo ip link \ property add \ dev eth0 \ altname qumulo-frontend1sudo ip link \ property add \ dev eth0 \ altname qumulo-backend -
Three Network Interfaces with a Link (Three Front-End and One Back-End on the Same Link): In the following example, Qumulo Core labels interfaces
eth0andeth1asUSE_FOR_FRONTENDandeth2asUSE_FOR_FRONTEND_AND_BACKEND.sudo ip link \ property add \ dev eth0 \ altname qumulo-frontend1sudo ip link \ property add \ dev eth1 \ altname qumulo-frontend2sudo ip link \ property add \ dev eth2 \ altname qumulo-frontend3sudo ip link \ property add \ dev eth2 \ altname qumulo-backend
Example Network Interface Labels without Alternative Names
- One Network Interface with a Link: Qumulo Core labels the interface with
USE_FOR_.FRONTEND_AND_ BACKEND - Two Network Interfaces with a Link: Qumulo Core labels the interface with the lower PCIe address as
USE_FOR_and the interface with the higher PCIe address asFRONTEND_AND_ BACKEND USE_FOR_.FRONTEND -
Three Network Interfaces with a Link: Qumulo Core labels the interface with the lowest PCIe address as
USE_FOR_and the interfaces with the next highest and the highest PCIe addresses asFRONTEND_AND_ BACKEND USE_FOR_.FRONTEND Note
Although the interface with the lowest PCIe address is labeled for both front-end and back-end connections, only front-end traffic flows through this interface.