Difference between revisions of "OPS335 NFS Lab"

From CDOT Wiki
Jump to: navigation, search
(NFS and Automount)
(Updates for Fall 2015. Mostly typo fixes.)
Line 1: Line 1:
 
[[Category:OPS335]][[Category:OPS335 Labs]]
 
[[Category:OPS335]][[Category:OPS335 Labs]]
 
==NFS and Automount==
 
==NFS and Automount==
In this lab you'll set up a Fedora 20 VM as an NFS (Network File System) server. Then you'll set up another Fedora 20 VM as NFS client that will import its /home directory from this NFS server.
+
In this lab you'll set up a Fedora VM as an NFS (Network File System) server. Then you'll set up the other VMs as NFS clients that will import their /home directories from this NFS server.
{{Admon/important|Prerequisites|Before you begin make sure your Fedora 20 virtual machines are up to date (yum update).<br />
+
{{Admon/important|Prerequisites|Before you begin make sure your virtual machines are up to date.<br />
 
Ensure all machines are using the firewalls you created in previous labs.<br />
 
Ensure all machines are using the firewalls you created in previous labs.<br />
Ensure both host and VM's have firewalls set up according to prior labs. And ensure you are using your learnid account (the first user created - this will be
+
Ensure both host and VM's have firewalls set up according to prior labs. And ensure you are using your seneca account (the first user created - this will be
 
<b>critical</b> for success) }}
 
<b>critical</b> for success) }}
 
===Part A: Setting up the NFS Server===
 
===Part A: Setting up the NFS Server===
 
On your VM 2 machine perform the following tasks:
 
On your VM 2 machine perform the following tasks:
*You do not need to install nfs, as it is present by default on the full installation of Fedora 20.  If it is not there use the following command:
+
*You do not need to install nfs, as it is present by default on the server installation of Fedora 22.  If it is not there use the following command:
  yum install nfs-utils
+
  dnf install nfs-utils
 
*edit /etc/exports so that it contains ONLY the following line (where 192.168.x.4 is the IP address of your guest VM):
 
*edit /etc/exports so that it contains ONLY the following line (where 192.168.x.4 is the IP address of your guest VM):
 
   /home 192.168.x.4(rw,root_squash,insecure)
 
   /home 192.168.x.4(rw,root_squash,insecure)
Line 49: Line 49:
 
On vm03 as root perform the following tasks:
 
On vm03 as root perform the following tasks:
 
*Comment or remove the line from /etc/fstab that you entered earlier.
 
*Comment or remove the line from /etc/fstab that you entered earlier.
*With a full installation of Fedora 20, you will not need to install autofs, but on other installations you might need:
+
*With a server installation of Fedora 22, you will not need to install autofs, but on other installations you might need:
  yum install autofs
+
  dnf install autofs
 
*Move the existing file /etc/auto.master:
 
*Move the existing file /etc/auto.master:
 
  mv /etc/auto.master /etc/auto.master.orig
 
  mv /etc/auto.master /etc/auto.master.orig
Line 59: Line 59:
 
*Create the file /etc/auto.home and add ONLY the following line:
 
*Create the file /etc/auto.home and add ONLY the following line:
 
  *        -fstype=nfs4,rw,nosuid,soft      192.168.x.3:/home/&
 
  *        -fstype=nfs4,rw,nosuid,soft      192.168.x.3:/home/&
*Start autofs with the command
+
*Start autofs, and ensure the service will automatically start at boot.
systemctl start autofs.service
+
 
*And ensure the service will start at boot:
+
*Log out of vm3 and log back in using your learn account.
systemctl enable autofs.service
 
*Log out of vm03 and log bak in using your learn account.
 
 
*Open a terminal and enter the command:
 
*Open a terminal and enter the command:
 
  mount | grep home
 
  mount | grep home
Line 92: Line 90:
 
#What is the meaning of the ampersand (&) in the file /etc/auto.home?
 
#What is the meaning of the ampersand (&) in the file /etc/auto.home?
 
#What is the role of the /etc/mtab file on the nfs server?
 
#What is the role of the /etc/mtab file on the nfs server?
#What port did you have to open?
+
#What port does nfs-server use?

Revision as of 17:02, 9 November 2015

NFS and Automount

In this lab you'll set up a Fedora VM as an NFS (Network File System) server. Then you'll set up the other VMs as NFS clients that will import their /home directories from this NFS server.

Important.png
Prerequisites
Before you begin make sure your virtual machines are up to date.

Ensure all machines are using the firewalls you created in previous labs.
Ensure both host and VM's have firewalls set up according to prior labs. And ensure you are using your seneca account (the first user created - this will be

critical for success)

Part A: Setting up the NFS Server

On your VM 2 machine perform the following tasks:

  • You do not need to install nfs, as it is present by default on the server installation of Fedora 22. If it is not there use the following command:
dnf install nfs-utils
  • edit /etc/exports so that it contains ONLY the following line (where 192.168.x.4 is the IP address of your guest VM):
 /home 192.168.x.4(rw,root_squash,insecure)
  • Start enable your nfs service (now known as nfs-server.service).
  • Build the server's list of exports
 exportfs -r
  • Run and record the output of the following commands:
exportfs
showmount -e

NOTE: You'll have to adjust your firewall on VM2 to get NFS to work. Run netstat to determine the ports needed.

Part B: Setting up the NFS Client

Configuring the NFS client

  • Ensure the VM guest network is functioning properly. You can use the "host cbc.ca" command to see if DNS queries are being answered.
  • Ensure you have full connectivity to the internet.
  • Again, you should not have to install any NFS software.
  • Add the following line to the bottom of the /etc/fstab file on vm03
192.168.x.3:/home  	/home	nfs4	defaults	0 0
Important.png
Warning:
Do not change any other lines in this file. Do not change any lines in /etc/fstab on your host machine. Doing so can make your machine fail to boot.
  • Run the following command to avoid an error that would be caused by logging in while root_squash is active:
setsebool -P use_nfs_home_dirs 1
  • Logout of vm03 and shut it down.

Testing NFS mounts on your client

  • Restart vm03 and login using your learnid.
  • Check that the home directory is mounted
mount | grep /home
  • If it is not, try running 'mount /home' as root and observe any errors.
  • On vm03, create an empty file using the touch command.
touch empty_file_created_on_vm03
  • Now shutdown vm03.
  • Now on the NFS server, us ls -l in your learnid's home directory to check for the file you just created.

Part C: Setting up Automount on the VM

On vm03 as root perform the following tasks:

  • Comment or remove the line from /etc/fstab that you entered earlier.
  • With a server installation of Fedora 22, you will not need to install autofs, but on other installations you might need:
dnf install autofs
  • Move the existing file /etc/auto.master:
mv /etc/auto.master /etc/auto.master.orig
  • This is a great way to keep a back up in case you need to restore the file in the future. Now create another:
vi /etc/auto.master
  • Add only the following line:
/home   /etc/auto.home   --timeout=60
  • Create the file /etc/auto.home and add ONLY the following line:
*        -fstype=nfs4,rw,nosuid,soft      192.168.x.3:/home/&
  • Start autofs, and ensure the service will automatically start at boot.
  • Log out of vm3 and log back in using your learn account.
  • Open a terminal and enter the command:
mount | grep home
  • How does it differ from the previous mount?
  • Create another empty file with the name
touch another_empty_file_from_vm03
  • Run and record the output of the command
df -hT
  • Back on the nfs server run and record the output of ls -l in your home directory.
  • You should see the files you created on vm03.
  • You may encounter errors with SELinux during the lab (though it has not been a problem recently). It is required that you leave it running. Use the following commands to determine what booleans need to be flipped.
audit2allow < /var/log/audit/audit.log
audit2why < /var/log/audit/audit.log

Part D: Setting up Automount on the other VM

  • Now that you have VM3 automatically mounting home directories from VM2, configure VM1 to do the same.

Completing the Lab

During this lab you have gained experience getting multiple services to cooperate with each other, and have used your first client-side service.

Exploration questions:

  1. What does the no_root_squash option for an NFS mount mean?
  2. Explain the meaning of the defaults option in an fstab entry. What do the numbers mean at the end?
  3. What is the function of the 'exportfs' command?
  4. What is the purpose of the 'showmount' command?
  5. What is the meaning of the "timeout=60" phrase?
  6. What is the meaning of the asterisk (*) in the file /etc/auto.home?
  7. What is the meaning of the ampersand (&) in the file /etc/auto.home?
  8. What is the role of the /etc/mtab file on the nfs server?
  9. What port does nfs-server use?