This section explains how to install the Qumulo Core Product Package on a user-managed, Linux-based host system from a .deb or .rpm package.

The Qumulo Core Product Package permits flexible deployment: For example, it can let your organization adhere to its security and compliance requirements, or use a specific Linux distribution that has become standardized across the entire system fleet.

How is the Qumulo Core Product Package Different from the Qumulo USB Installer?

Whereas the Qumulo USB Installer is designed for specific models of third-party hardware bundled with Qumulo Core, the Qumulo Core Product Package is designed for installation on your own hardware.

Because Qumulo has no control over the host operating system (OS), the following are the main differences in functionality between the two.

Click to expand
  • Web UI: The Qumulo Core Product Package has no kiosk mode. The Qumulo Core Web UI runs directly on your node.
  • Well-Known admin User: When you use the Qumulo Core Product Package, changing the admin user's password has no effect on the host OS. You must create your own users on the host OS.
  • Automatic SSH Configuration: Any SSH configuration set by using multitenancy REST APIs have no effect on the host OS. You must configure SSH on the host OS.
  • System Partitions and Directories: The Qumulo Core Product Package has no /config partition for storing logs and container images or /history partitions for storing configuration files.

    The Qumulo Core container stores logs and container images in the /var/opt/qumulo/history directory and configuration files in the /etc/qumulo directory. You can also configure your own mounts and partitions on the host OS.

  • Core Dump Handler: You must configure the core dump handler on the host OS. For more information, see core Linux Manual Page.

For more information, see Creating a Qumulo Core USB Drive Installer in the Qumulo-Certified Platinum-Tier Hardware Servicing Guide.

Prerequisites

Before installing the Qumulo Core Product Package, you must ensure your system satisfies the minimum requirements and prepare and configure the host operating system.

Step 1: Ensure Minimum System Requirements

Ensure that your host system meets the minimum requirements.

Click to expand
Requirement Description
Linux Distribution A systemd-based Linux distribution<
Kernel We've tested support for the following kernel versions:
  • Debian 6.1.0 (and higher)
  • Rocky or Red Hat Enterprise Linux (RHEL) 5.14 (and higher)
  • Ubuntu 5.15 (and higher)
CPU
Memory
  • Minimum: 3 GB
  • Recommended: 128 GB (or more) for hybrid and all-flash nodes
  • ECC DIMMs
Data Drives
  • Hybrid nodes must have at least 2 SSDs and 4 HDDs
  • All-flash systems must have at least 2 SSDs.
  • All data drives must be unpartitioned.

Step 2: Prepare the Host Operating System

Before configuring your host operating system (OS) for installing the Qumulo Core Product Package, certain Linux distributions require some preliminary configuration.

To Prepare a Rocky or Red Hat Enterprise Linux (RHEL) 9.3 System

Click to expand
  • To enable the io_uring kernel interface, use the sysctl command. For example: sudo sysctl -w kernel.io_uring_disabled=0
  • Set SELinux to permissive mode. For more information, see Changing SELinux States and Modes in the Red Hat Documentation.

To Prepare a Debian 11 System

Click to expand
  • To ensure that you have the features that the Qumulo Core Product Package requires, update the 5.10 kernel that Debian 11 ships with to a newer kernel, such as 6.1.0 (and higher). For more information, see How to Upgrade the Linux Kernel in the Debian documentation.

Step 3: Configure the Host Operating System

Before installing the Qumulo Core Product Package, you must configure your host operating system.

To ensure that Qumulo Core has full control over network configuration, disable or remove the default network configuration tool (such as ENI, netplan.io, NetworkManager).

To Install the Qumulo Core Product Package

  1. To install Qumulo Core, use the correct installation package for your Linux distribution:

    • For the .deb package, run the apt command. For example:

      sudo apt install ./qumulo-core.deb
      
    • For the .rpm package, run the dnf command. For example:

      sudo dnf install ./qumulo-core.rpm
      
  2. To verify that the Qumulo Core service has started successfully, run the systemctl command. For example:

    sudo systemctl status qumulo-qcore.service
    

Upgrading the Qumulo Core Product Package

Qumulo Core Product Package upgrades follow the standard Qumulo Core upgrade process. All Qumulo Core Product Package upgrades are instant software upgrades and never require a node to reboot (however, you can use the the Qumulo REST API or qq reboot_start command to perform a manual or rolling reboot).

Troubleshooting the Qumulo Core Product Package

Depending on the issue, you can troubleshoot the Qumulo Core Product Package from the host operating system or from within the Qumulo container. The following sections outline common scenarios and some potential troubleshooting approaches to them.

From the Host Operating System

Scenario Troubleshooting Approach
Examine a container that starts successfully To get shell access to the container, run the following command:
machinectl shell qcore
Examine a container that doesn't start successfully To check the logs for the container service, run the following command:
sudo journalctl -u qumulo-qcore.service
View QFSD logs To view the logs within the container, run the following command:
journalctl -M qcore -u qumulo-qfsd.service
Use the qshc tool To be use the qsh tool, run the following command:
export PATH=$PATH:/opt/qumulo/bin/qsh
Alternatively, add the path to your shell configuration file.

From within the Container

Scenario Troubleshooting Approach
Examine a container that is unable to create a cluster To check the QFSD logs, run the following command:
journalctl -u qumulo-qfsd

Configuring Interface Tagging with Alternative Names

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 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.

To Enable Alternative Names

You can configure alternative names to be always enabled while systemd-networkd is operating.

  1. To your /etc/systemd/network/ directory, add the file 10-altname.link.

  2. Add the PCI address and alternative name for the network interface to the 10-altname.link file. For example:

    [Match]
    Path=pci-0000:01:00.0
    [Link]
    AlternativeNames=qumulo-backend
    
  3. To enable the changes, restart systemd-networkd.

  4. To put your alternative names into effect, restart QFSD.

Assigning a Front-End of Back-End Role to a Network Interface

  • To assign the front-end role to a network interface, for serving client traffic, 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 network interface, for inter-node communication, 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 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 an the highest PCIe addresses as USE_FOR_FRONTEND.