How to set up a basic NFS server for Hipchat Data Center
Reference configuration only
This article provides an example configuration to help you set up your Hipchat Data Center deployment, however third-party software might require extra configuration work to function in your environment. Atlassian provides best-effort to assist you with your deployment, but does not directly support these components.
Purpose
Provide guidance on installing and configuring a basic NFS server for use in a Small-scale Hipchat Data Center environment.
In this How To guide, we will install and configure NFSv4 on a CentOS 7 Linux server.
Before you begin, we recommend familiarizing yourself with installing and administering CentOS 7 using the Linux command line.
Prepare
- Make sure the system on which NFS will be installed meets the Hardware Requirements for the Data Stores Node.
- Download and install CentOS 7 on the server using the minimal ISO image.
Install and Configure
Install the
nfs-utils
package on the server usingyum
.sudo yum -y install nfs-utils
If you haven't already, create a directory on the NFS server for sharing. This example command creates a directory named "hipchatfiles" on the root filesystem of the server.
sudo mkdir /hipchatfiles
Next, set the ownership and permissions on the directory. If you have a different directory name, make sure you substitute that for "/hipchatfiles" in the commands below.
sudo chmod -R 755 /hipchatfiles sudo chown nfsnobody:nfsnobody /hipchatfiles
Start the NFS services on the server.
sudo systemctl start rpcbind sudo systemctl start nfs-server sudo systemctl start nfs-lock sudo systemctl start nfs-idmap
Run the following
enable
commands on the NFS server so that the services automatically start when the server is rebooted.sudo systemctl enable rpcbind sudo systemctl enable nfs-server sudo systemctl enable nfs-lock sudo systemctl enable nfs-idmap
As the root user, edit the
/etc/exports
file on the server in a text editor. Add the following line to provide information on how the/hipchatfiles
directory is shared with other systems./hipchatfiles *(rw,sync,no_root_squash)
The example above allows any client interface to connect to the shared directory with both read and write permissions. The
sync
option ensures no data is acknowledged on the share until it is written to disk, and theno_root_squash
option allowsroot
users from remote systems to make changes to files on the shared directory. Enablingno_root_squash
helps avoid issues with mounting and writing to the NFS share during Data Center setup.The
/etc/exports
configuration is for example purposes. Your organization may have policies in place about which systems and networks can access the NFS share. Learn more about configuring the/etc/exports
parameters in the exports man page.Save the changes to the
/etc/exports
file and restart the NFS services.sudo systemctl restart nfs-server
Make sure the directory is being shared out from the server using the
showmount -e
command. The output should look something like this.showmount -e Export list for centos1.example.com: /hipchatfiles *
Open the firewall ports on the CentOS 7 server so that the NFS services are accessible from remote hosts:
sudo firewall-cmd --permanent --zone=public --add-service=nfs sudo firewall-cmd --permanent --zone=public --add-service=mountd sudo firewall-cmd --permanent --zone=public --add-service=rpc-bind sudo firewall-cmd --reload
- Continue on to configure the rest of the small-scale Hipchat Data Center deployment using the instructions in the Deployment Guide.