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.

    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.

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.

  1. Use SSH to connect to your node.

  2. Create the 10-altname.link file in the /etc/systemd/network/ directory.

  3. Add one of the following to the 10-altname.link file:

    • 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

      [Match]
      PermanentMACAddress=b4:96:91:f6:33:1c
      
      [Link]
      AlternativeNames=qumulo-backend
      
  4. 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

  1. Use SSH to connect to your node.

  2. Create the qumulo_set_altname.sh script in the /var/opt/qumulo/altname/ directory.

  3. Add the alternative name commands to the qumulo_set_altname.sh file. 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
    
  4. Use the chmod +x command to make the script executable.

Step 2: Create the Service Definition

  1. Create the qumulo-set-altname.service file in the /etc/systemd/system/ directory.

  2. Add the service definition to the qumulo-set-altname.service file. 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.target
    

    In this example, the ExecStart parameter specifies the location of the qumulo_set_altname.sh file.

Step 3: Start the Service

  1. To configure your service to start with the node, run the systemctl command and specify the service name.

    systemctl enable qumulo-set-altname.service
    
  2. To start the service and enable alternative names immediately, do one of the following:

    • Restart the node

    • Run the systemctl start qumulo-set-altname.service command.

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.

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 eth0 as USE_FOR_FRONTEND and eth1 (the interface with a higher PCIe address) as USE_FOR_BACKEND.
    sudo ip link \
      property add \
      dev eth0 \
      altname qumulo-frontend1
    sudo 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 eth0 with USE_FOR_FRONTEND_AND_BACKEND, and uses only eth0 for QFSD traffic.
    sudo ip link \
      property add \
      dev eth0 \
      altname qumulo-frontend1
    sudo 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 eth0 and eth1 as USE_FOR_FRONTEND and eth2 as USE_FOR_FRONTEND_AND_BACKEND.
    sudo ip link \
      property add \
      dev eth0 \
      altname qumulo-frontend1
    sudo ip link \
      property add \
      dev eth1 \
      altname qumulo-frontend2
    sudo ip link \
      property add \
      dev eth2 \
      altname qumulo-frontend3
    sudo 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_FRONTEND_AND_BACKEND and the interface with the higher PCIe address as USE_FOR_FRONTEND.
  • Three Network Interfaces with a Link: Qumulo Core labels the interface with the lowest PCIe address as USE_FOR_FRONTEND_AND_BACKEND and the interfaces with the next highest and the highest PCIe addresses as USE_FOR_FRONTEND.