Difference between revisions of "OPS335 NFS Lab"
m (Added the instruction for installing nfs back into the server portion.) |
(Updated for Winter 2014. Moved NFS service to VM 2. Removed some things that are no longer valid.) |
||
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 | + | In this lab you'll set up a Fedora 20 host as an NFS (Network File System) server. Then you'll set up a Fedora 20 guest VM (Virtual Machine) that will import its /home directory from this host. |
− | {{Admon/important|Prerequisites|Before you begin make sure your Fedora | + | {{Admon/important|Prerequisites|Before you begin make sure your Fedora 20 virtual machines are up to date (yum update).<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 learnid 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 | + | 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: |
yum install nfs-utils | yum 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) | ||
− | + | *Build the server's list of exports | |
− | * | + | exportfs -r |
− | + | *Start your nfs server and enable your nfs service. | |
− | |||
− | |||
− | |||
− | *Start your nfs server | ||
− | |||
*Run and record the output of the following commands: | *Run and record the output of the following commands: | ||
exportfs | exportfs | ||
− | |||
showmount -e | showmount -e | ||
NOTE: You'll have to adjust your firewall on the host to get NFS to work. Run netstat to determine the ports needed. | NOTE: You'll have to adjust your firewall on the host to get NFS to work. Run netstat to determine the ports needed. | ||
− | ===Part B: Setting up the | + | ===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 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. | *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 | *Add the following line to the bottom of the /etc/fstab file on vm03 | ||
− | 192.168.x. | + | 192.168.x.3:/home /home nfs4 defaults 0 0 |
{{Admon/important|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.}} | {{Admon/important|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.}} | ||
*Logout of vm03 and shut it down. | *Logout of vm03 and shut it down. | ||
− | ====Testing NFS mounts on your | + | ====Testing NFS mounts on your client==== |
*Restart vm03 and login using your learnid. | *Restart vm03 and login using your learnid. | ||
*Check that the home directory is mounted | *Check that the home directory is mounted | ||
mount | grep /home | 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. | *On vm03, create an empty file using the touch command. | ||
touch empty_file_created_on_vm03 | touch empty_file_created_on_vm03 | ||
*Now shutdown vm03. | *Now shutdown vm03. | ||
− | *Now on | + | *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=== | ===Part C: Setting up Automount on the VM=== | ||
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: |
yum install autofs | yum install autofs | ||
*Move the existing file /etc/auto.master: | *Move the existing file /etc/auto.master: | ||
Line 62: | Line 54: | ||
/home /etc/auto.home --timeout=60 | /home /etc/auto.home --timeout=60 | ||
*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. | + | * -fstype=nfs4,rw,nosuid,soft 192.168.x.3:/home/& |
*Start autofs with the command | *Start autofs with the command | ||
systemctl start autofs.service | systemctl start autofs.service | ||
*And ensure the service will start at boot: | *And ensure the service will start at boot: | ||
systemctl enable autofs.service | systemctl enable autofs.service | ||
− | *Log out of vm03 | + | *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 77: | Line 67: | ||
*Run and record the output of the command | *Run and record the output of the command | ||
df -hT | df -hT | ||
− | *Back on the | + | *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 should see the files you created on vm03. | ||
− | *You may encounter errors with SELinux during the lab. It is required that you leave it running. Use the following commands to determine what booleans need to be flipped. | + | *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 | audit2allow < /var/log/audit/audit.log | ||
audit2why < /var/log/audit/audit.log | audit2why < /var/log/audit/audit.log | ||
==Completing the Lab== | ==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. | ||
+ | |||
Answer the following questions in your log book: | Answer the following questions in your log book: | ||
#What does the no_root_squash option for an NFS mount mean? | #What does the no_root_squash option for an NFS mount mean? | ||
Line 95: | Line 86: | ||
#What is the role of the /etc/mtab file on the host? | #What is the role of the /etc/mtab file on the host? | ||
#What port did you have to open? | #What port did you have to open? | ||
− |
Revision as of 15:34, 31 December 2013
Contents
NFS and Automount
In this lab you'll set up a Fedora 20 host as an NFS (Network File System) server. Then you'll set up a Fedora 20 guest VM (Virtual Machine) that will import its /home directory from this host.
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 full installation of Fedora 20. If it is not there use the following command:
yum 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)
- Build the server's list of exports
exportfs -r
- Start your nfs server and enable your nfs service.
- Run and record the output of the following commands:
exportfs showmount -e
NOTE: You'll have to adjust your firewall on the host 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
- 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 full installation of Fedora 20, you will not need to install autofs, but on other installations you might need:
yum 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 with the command
systemctl start autofs.service
- And ensure the service will start at boot:
systemctl enable autofs.service
- Log out of vm03 and log bak 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
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.
Answer the following questions in your log book:
- What does the no_root_squash option for an NFS mount mean?
- Explain the meaning of the defaults option in an fstab entry. What do the numbers mean at the end?
- What is the function of the 'exportfs' command?
- What is the purpose of the 'showmount' command?
- What is the meaning of the "timeout=60" phrase?
- What is the meaning of the asterisk (*) 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 host?
- What port did you have to open?