GlusterFS is a scalable, distributed file system that aggregates storage across multiple servers. It is available for installation on Ubuntu via the APT package manager, though the default repository may not offer the latest version. To get the most up-to-date release, it is recommended to install GlusterFS from Gluster's official PPA.

On Ubuntu systems, GlusterFS installation requires several dependencies such as libaio1 and fuse. These dependencies are necessary for ensuring proper operation, especially when setting up distributed storage across multiple nodes. For newer versions of Ubuntu, like 24.04, extra configurations might be needed for compatibility, particularly with kernel modules and firewall rules.

Once installed, GlusterFS is managed by the glusterd service, which handles the creation and management of storage clusters. To ensure smooth operation, the service must be enabled to start on boot and configured to allow communication over specific ports. These steps are crucial to setting up a high-availability, scalable file storage solution on Ubuntu.

Steps to install GlusterFS server on Ubuntu or Debian:

  1. Launch terminal.
  2. Search for the latest official GlusterFS PPA for APT (optional).
    $ wget -O - --quiet https://launchpad.net/ubuntu/+ppas\?name_filter\=glusterfs | grep "~gluster.*ubuntu/glusterfs"
      <td><a href="/~gluster/+archive/ubuntu/glusterfs-3.12">glusterfs 3.12</a></td>
      <td><a href="/~gluster/+archive/ubuntu/glusterfs-4.1">glusterfs-4.1</a></td>
      <td><a href="/~gluster/+archive/ubuntu/glusterfs-6">glusterfs-6</a></td>
      <td><a href="/~gluster/+archive/ubuntu/glusterfs-8">glusterfs-8</a></td>
      <td><a href="/~gluster/+archive/ubuntu/glusterfs-3.10">glusterfs-3.10</a></td>
      <td><a href="/~gluster/+archive/ubuntu/glusterfs-3.13">glusterfs-3.13</a></td>
      <td><a href="/~gluster/+archive/ubuntu/glusterfs-4.0">glusterfs-4.0</a></td>
      <td><a href="/~gluster/+archive/ubuntu/glusterfs-5">glusterfs-5</a></td>
      <td><a href="/~gluster/+archive/ubuntu/glusterfs-7">glusterfs-7</a></td>
      <td><a href="/~gluster/+archive/ubuntu/glusterfs-9">glusterfs-9</a></td>

    Related: PPA: GlusterFS

  3. Add the latest GlusterFS PPA to APT (optional).
    $ sudo add-apt-repository ppa:gluster/glusterfs-9
    [sudo] password for user:
    Repository: 'deb http://ppa.launchpad.net/gluster/glusterfs-9/ubuntu/ hirsute main'
    Description:
    GlusterFS 9
    More info: https://launchpad.net/~gluster/+archive/ubuntu/glusterfs-9
    Adding repository.
    Press [ENTER] to continue or Ctrl-c to cancel.
    Adding deb entry to /etc/apt/sources.list.d/gluster-ubuntu-glusterfs-9-hirsute.list
    Adding disabled deb-src entry to /etc/apt/sources.list.d/gluster-ubuntu-glusterfs-9-hirsute.list
    Adding key to /etc/apt/trusted.gpg.d/gluster-ubuntu-glusterfs-9.gpg with fingerprint F7C73FCC930AC9F83B387A5613E01B7B3FE869A9
    ##### snipped
  4. Update APT's package repository.
    $ sudo apt update
    Hit:1 http://ppa.launchpad.net/gluster/glusterfs-9/ubuntu hirsute InRelease
    Hit:2 http://archive.ubuntu.com/ubuntu hirsute InRelease
    Get:3 http://security.ubuntu.com/ubuntu hirsute-security InRelease [101 kB]
    Get:4 http://archive.ubuntu.com/ubuntu hirsute-updates InRelease [109 kB]
    Hit:5 http://archive.ubuntu.com/ubuntu hirsute-backports InRelease  
    Fetched 209 kB in 1s (147 kB/s)
    Reading package lists... Done
    Building dependency tree... Done
    Reading state information... Done
    All packages are up to date.
  5. Install the glusterfs-server package and required dependencies.
    $ sudo apt install --assume-yes glusterfs-server
    Reading package lists... Done
    Building dependency tree... Done
    Reading state information... Done
    The following additional packages will be installed:
      attr fuse3 glusterfs-client glusterfs-common keyutils libaio1 libfuse3-3
      libgfapi0 libgfchangelog0 libgfrpc0 libgfxdr0 libglusterd0 libglusterfs0
      libnfsidmap2 liburcu6 liburing1 nfs-common python3-prettytable rpcbind
      xfsprogs
    Suggested packages:
      open-iscsi watchdog xfsdump quota
    The following packages will be REMOVED:
      fuse
    The following NEW packages will be installed:
      attr fuse3 glusterfs-client glusterfs-common glusterfs-server keyutils
      libaio1 libfuse3-3 libgfapi0 libgfchangelog0 libgfrpc0 libgfxdr0
      libglusterd0 libglusterfs0 libnfsidmap2 liburcu6 liburing1 nfs-common
      python3-prettytable rpcbind xfsprogs
    0 upgraded, 21 newly installed, 1 to remove and 3 not upgraded.
    Need to get 4,752 kB of archives.
    After this operation, 22.1 MB of additional disk space will be used.
    ##### snipped 
  6. Enable access to port 5667 from the local firewall.
    $ sudo ufw allow 5667
    Rules updated
    Rules updated (v6)
  7. Enable glusterd to automatically start during system boot.
    $ sudo systemctl enable glusterd
    Created symlink /etc/systemd/system/multi-user.target.wants/glusterd.service → /lib/systemd/system/glusterd.service.
  8. Start the glusterd service.
    $ sudo systemctl start glusterd
  9. Create a cluster for GlusterFS.

This guide is tested on Ubuntu:

Version Code Name
22.04 LTS Jammy Jellyfish
23.10 Mantic Minotaur
24.04 LTS Noble Numbat
Discuss the article:

Comment anonymously. Login not required.