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.
CODE
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.
CODE
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.
CODE
yum update yum install centos-release-gluster yum install glusterfs-server - Start the GlusterFS daemon and set it to start at boot.
CODE
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.
CODE
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.
CODE
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.CODE[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.
CODE
yum update yum install glusterfs-server - Start the GlusterFS daemon and set it to start at boot.
CODE
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.
CODE
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.
CODE
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.CODE[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.
CODE
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.
CODE
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.
CODE
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.
CODE
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.CODE[gluster11] name=Gluster 11 baseurl=https://mirror.stream.centos.org/SIGs/9-stream/storage/x86_64/gluster-11 gpgcheck=1 gpgkey=https://centos.org/keys/RPM-GPG-KEY-CentOS-SIG-Storage enabled=1 - Install GlusterFS server.
CODE
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.
CODE
systemctl start glusterd systemctl enable glusterd
Prepare TLS certificates
- Create the TLS certificates for GlusterFS.
CODE
openssl genrsa -out /etc/ssl/glusterfs.key 2048Note: 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.
CODE
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.
CODE
cp /etc/ssl/glusterfs.pem /etc/ssl/glusterfs.ca - Set ownership, read, write, and execute permissions on the
glusterfs.keyfile.CODEchown <user>:<group> /etc/ssl/glusterfs.key chmod o-rwx /etc/ssl/glusterfs.key - Create the directory and control file to make GlusterFS use TLS.
CODE
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.CODE
tar -C /etc/ssl -cvzf glusterkeys.tgz glusterfs.ca glusterfs.key glusterfs.pem