Set up external file shares using GlusterFS
Prepare the GlusterFS server
The steps to prepare the GlusterFS server differ slightly depending on what operating system you are using.
Prepare the GlusterFS server with CentOS 7
If you are using CentOS 7, complete the following steps to prepare the GlusterFS server.
- Install and configure one of the supported operating systems according to your organization's requirements.
- Install the prerequisites.
yum install -y wget curl chrony
- Configure chronyd to synchronize the system clock. Search for "chronyd" on access.redhat.com. For other linux distributions, check the website for your specific distribution.
- Configure your firewall to allow access for Splunk SOAR (On-premises) nodes and other members of your GlusterFS cluster. For a complete list of ports, see Splunk SOAR (On-premises) ports and endpoints.
- Format and mount the storage partition. This partition must be separate from the operating system partition. The partition must be formatted with a file system that supports extended attributes.
mkfs.xfs /dev/<device_name> mkdir -p /data/gluster echo '/dev/<device_name> /data/gluster xfs defaults 0 0' >> /etc/fstab mount -a && mount
- Install the GlusterFS server.
yum update yum install centos-release-gluster yum install glusterfs-server
- Start the GlusterFS daemon and set it to start at boot.
systemctl start glusterd systemctl enable glusterd
Prepare the GlusterFS server with RHEL 7
If you are using RHEL 7, complete the following steps to prepare the GlusterFS server.
- Install and configure one of the supported operating systems according to your organization's requirements.
- Install the prerequisites.
yum install -y wget curl chrony
- Configure chronyd to synchronize the system clock. Search for "chronyd" on access.redhat.com. For other linux distributions, check the website for your specific distribution.
- Configure your firewall to allow access for Splunk SOAR (On-premises) nodes and other members of your GlusterFS cluster. For a complete list of ports, see Splunk SOAR (On-premises) ports and endpoints.
- Format and mount the storage partition. This partition must be separate from the operating system partition. The partition must be formatted with a file system that supports extended attributes.
mkfs.xfs /dev/<device_name> mkdir -p /data/gluster echo '/dev/<device_name> /data/gluster xfs defaults 0 0' >> /etc/fstab mount -a && mount
- Create a new repository file, for example,
etc/yum.repos.d/CentOS-Gluster-9.repo
, with the following content.[gluster9] name=Gluster 9 baseurl=https://vault.centos.org/centos/7/storage/$basearch/gluster-9/ gpgcheck=1 gpgkey=https://centos.org/keys/RPM-GPG-KEY-CentOS-SIG-Storage enabled=1
- Install the GlusterFS server.
yum update yum install glusterfs-server
- Start the GlusterFS daemon and set it to start at boot.
systemctl start glusterd systemctl enable glusterd
Prepare the GlusterFS server with RHEL 8
If you are using RHEL 8, complete the following steps to prepare the GlusterFS server.
- Install and configure one of the supported operating systems according to your organization's requirements.
- Install the prerequisites.
yum install -y wget curl chrony
- Configure chronyd to synchronize the system clock. Search for "chronyd" on access.redhat.com. For other linux distributions, check the website for your specific distribution.
- Configure your firewall to allow access for Splunk SOAR (On-premises) nodes and other members of your GlusterFS cluster. For a complete list of ports, see Splunk SOAR (On-premises) ports and endpoints.
- Format and mount the storage partition. This partition must be separate from the operating system partition. The partition must be formatted with a file system that supports extended attributes.
mkfs.xfs /dev/<device_name> mkdir -p /data/gluster echo '/dev/<device_name> /data/gluster xfs defaults 0 0' >> /etc/fstab mount -a && mount
- Create a new repository file, for example,
/etc/yum.repos.d/CentOS-Gluster-9.repo
, with the following content.[gluster9] name=Gluster 9 baseurl=https://vault.centos.org/centos/8-stream/storage/$basearch/gluster-9/ gpgcheck=1 gpgkey=https://centos.org/keys/RPM-GPG-KEY-CentOS-SIG-Storage enabled=1
- Install GlusterFS server.
yum update yum install https://vault.centos.org/centos/8-stream/PowerTools/x86_64/os/Packages/python3-pyxattr-0.5.3-18.el8.x86_64.rpm yum install glusterfs-server
- Start the GlusterFS daemon and set it to start at boot.
systemctl start glusterd systemctl enable glusterd
Prepare the GlusterFS server with RHEL 9
If you are using RHEL 9, complete the following steps to prepare the GlusterFS server.
- Install and configure one of the supported operating systems according to your organization's requirements.
- Install the prerequisites.
yum install -y wget curl chrony
- Configure chronyd to synchronize the system clock. Search for "chronyd" on access.redhat.com. For other linux distributions, check the website for your specific distribution.
- Configure your firewall to allow access for Splunk SOAR (On-premises) nodes and other members of your GlusterFS cluster. For a complete list of ports, see Splunk SOAR (On-premises) ports and endpoints.
- Format and mount the storage partition. This partition must be separate from the operating system partition. The partition must be formatted with a file system that supports extended attributes.
mkfs.xfs /dev/<device_name> mkdir -p /data/gluster echo '/dev/<device_name> /data/gluster xfs defaults 0 0' >> /etc/fstab mount -a && mount
- Create a new repository file, for example,
/etc/yum.repos.d/CentOS-Gluster-11.repo
, with the following content.[gluster11] name=Gluster 11 baseurl=https://mirror.stream.centos.org/SIGs/9-stream/storage/x86_64/gluster-11/Packages gpgcheck=1 gpgkey=https://centos.org/keys/RPM-GPG-KEY-CentOS-SIG-Storage enabled=1
- Install GlusterFS server.
yum update yum install https://mirror.stream.centos.org/9-stream/CRB/x86_64/os/Packages/python3-pyxattr-0.7.2-4.el9.x86_64.rpm yum install glusterfs-server
- Start the GlusterFS daemon and set it to start at boot.
systemctl start glusterd systemctl enable glusterd
Prepare TLS certificates
- Create the TLS certificates for GlusterFS.
openssl genrsa -out /etc/ssl/glusterfs.key 2048
Note: For RHEL 9, certificates go in /etc/pki/tls instead of /etc/ssl - Generate the .pem key for GlusterFS. You can use a certificate from a CA instead of generating a self-signed certificate.
openssl req -new -x509 -days 3650 -key /etc/ssl/glusterfs.key -subj '/CN=gluster' -out /etc/ssl/glusterfs.pem
- Copy the glusterfs.pem file to a .ca file.
cp /etc/ssl/glusterfs.pem /etc/ssl/glusterfs.ca
- Set ownership, read, write, and execute permissions on the
glusterfs.key
file.chown <user>:<group> /etc/ssl/glusterfs.key chmod o-rwx /etc/ssl/glusterfs.key
- Create the directory and control file to make GlusterFS use TLS.
mkdir -p /var/lib/glusterd/ touch /var/lib/glusterd/secure-access
- Copy the files for the TLS configuration. Store the copies in a safe place.
Note: You will need these files to connect client machines to the file share.
tar -C /etc/ssl -cvzf glusterkeys.tgz glusterfs.ca glusterfs.key glusterfs.pem