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:
- Launch terminal.
- 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
- 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
- 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.
- 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
- Enable access to port 5667 from the local firewall.
$ sudo ufw allow 5667 Rules updated Rules updated (v6)
- 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.
- Start the glusterd service.
$ sudo systemctl start glusterd
- 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 |
Mohd Shakir Zakaria is an experienced cloud architect with a strong development and open-source advocacy background. He boasts multiple certifications in AWS, Red Hat, VMware, ITIL, and Linux, underscoring his expertise in cloud architecture and system administration.
Comment anonymously. Login not required.