ML
    • Recent
    • Categories
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Mounting an NFS Home Share on CentOS 7 Clients

    IT Discussion
    nfs nfs 3 centos centos 7 file server home ntg lab scale scale hc3 rhel rhel 7 linux
    3
    13
    9.1k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • scottalanmillerS
      scottalanmiller
      last edited by scottalanmiller

      Home directories present both a unique challenge and opportunity for utilizing remote shares in UNIX. As an opportunity they allow us to keep servers lean and share home directories broadly giving end users consistent files and environments with minimal effort, reducing storage needs and speeding system deployment. The challenge is that we want to avoid the overhead and risks of having home directories continuously mounted when unneeded. Home directories are probably the most common usage of NFS shares to normal servers (outside of unique uses such as backup targets and virtualization shared storage.)

      To tackle the problems associated with persistent mount mounts (such as delays or failures at boot time) on Linux we look to the use of automounting - that is a daemon that will look for a filesystem require and initiate the NFS mount at the time of use rather than proactively.

      Note: In my examples, nfs is the /etc/hosts entry for my NFS server. You will need to use the name of your server wherever you see me referencing nfs as a server name.

      The Linux daemon that handles this is autofs. Autofs is not installed in a CentOS 7 minimal install so we need to add it.

      yum -y install autofs nfs-utils
      

      Now to configure autofs to look for home directories to mount:

      echo "/home /etc/auto.home" >> /etc/auto.master
      echo "* nfs:/home/&" >> /etc/auto.home
      

      Now to move the old /home out of the way in case something is there already.

      mv /home /tmp/home.old; mkdir /home
      

      And we can start up AutoFS:

      systemctl enable autofs.service
      systemctl restart autofs.service
      reboot
      

      Now we have two convenient ways for testing the automounter. By default the "net" filesystem is enabled and we can simply navigate to...

      cd /net/nfs/home
      

      And our files should be visible there. You will often need to navigate directly into a subfolder of the mount to see them.

      If you have home directories created on the share already then we can test mounting in that way:

      sudo su - username
      

      This should, if all is working, take you right into the newly mounted home directory. You can test with these commands:

      pwd
      df .
      
      1 Reply Last reply Reply Quote 9
      • A
        Alex Sage
        last edited by Alex Sage

        If the NFS server is down I assume the only way I could login would be with the root account?

        scottalanmillerS 1 Reply Last reply Reply Quote 1
        • scottalanmillerS
          scottalanmiller @Alex Sage
          last edited by scottalanmiller

          @anonymous said:

          If the NFS server is down I assume the only way I could login would be with the root account?

          That's correct, unless you take other measures. You can always have an admin account that is not on the NFS, which would be recommended.

          So example:

          Normal Account: anon:/home/anon
          Special Account: anonadmin:/opt/home/anonadmin

          /home would be mounted via NFS
          /opt/home would be local to the /opt filesystem (we use /opt over /var in this example because /var is often remotely mounted as well and more volatile.)

          This is a solid workaround so that if anything is wrong with the mounting system on either end, or in the network, that the machine remains reachable and manageable in a simple manner. It is also common to place "utility" accounts in /opt/home for a similar reason. If you have an application that runs and needs a home directory, you likely don't want it mounting it over NFS and pulling data externally like a user would.

          1 Reply Last reply Reply Quote 2
          • scottalanmillerS
            scottalanmiller
            last edited by

            Keep in mind that this is not a process for "normal" servers, this is a technique used for servers with users. If you had a pure server that there is no reason for users to log into, you would not likely want to do this in most cases. You would probably not have user accounts at all.

            1 Reply Last reply Reply Quote 1
            • stacksofplatesS
              stacksofplates
              last edited by stacksofplates

              I've never used autofs, does it do the /etc/fstab stuff for you, or just replace it altogether for the home folder?

              scottalanmillerS 1 Reply Last reply Reply Quote 0
              • scottalanmillerS
                scottalanmiller @stacksofplates
                last edited by

                @johnhooks said:

                I've never used autofs, does it do the /etc/fstab stuff for you, or just replace it altogether for the home folder?

                AutoFS does not use fstab at all, it is specifically to replace that as the connections are not permanent, they are ephemeral. It mounts filesystems at the time of use, not proactively. This is better for security as the mounts are not discoverable and better for performance as they are not mounted when not used. It's also good for reliability as if a mount fails now, it will attempt a remount later. It also unmounts after a time of disuse.

                AutoFS uses mount commands under the hood, not the fstab during startup. You can use it with any filesystem. Home is common, and the /net filesystem is standard, but you could use it for anything. It's fully customizable.

                stacksofplatesS 1 Reply Last reply Reply Quote 2
                • scottalanmillerS
                  scottalanmiller
                  last edited by

                  Tested on the second CentOS 7 server and working there, too. So far so good. And the NFS from OpenSuse Leap 42.1 over the Scale cluster is insanely fast, it looks instant when using it.

                  1 Reply Last reply Reply Quote 1
                  • stacksofplatesS
                    stacksofplates @scottalanmiller
                    last edited by

                    @scottalanmiller said:

                    @johnhooks said:

                    I've never used autofs, does it do the /etc/fstab stuff for you, or just replace it altogether for the home folder?

                    AutoFS does not use fstab at all, it is specifically to replace that as the connections are not permanent, they are ephemeral. It mounts filesystems at the time of use, not proactively. This is better for security as the mounts are not discoverable and better for performance as they are not mounted when not used. It's also good for reliability as if a mount fails now, it will attempt a remount later. It also unmounts after a time of disuse.

                    AutoFS uses mount commands under the hood, not the fstab during startup. You can use it with any filesystem. Home is common, and the /net filesystem is standard, but you could use it for anything. It's fully customizable.

                    I realized how stupid this question was after I walked away and got in the shower. I was hoping to make it back before you read it haha.

                    1 Reply Last reply Reply Quote 2
                    • scottalanmillerS
                      scottalanmiller
                      last edited by

                      No such luck 🙂

                      1 Reply Last reply Reply Quote 1
                      • stacksofplatesS
                        stacksofplates
                        last edited by

                        What happens if you are connected and then lose connection to the NFS server? Does it store data until reconnection?

                        scottalanmillerS 1 Reply Last reply Reply Quote 0
                        • scottalanmillerS
                          scottalanmiller @stacksofplates
                          last edited by

                          @johnhooks said:

                          What happens if you are connected and then lose connection to the NFS server? Does it store data until reconnection?

                          Store data? Where would it "store data"? What are you picturing? The filesystem would be gone, same as any "mapped drive" situation.

                          stacksofplatesS 1 Reply Last reply Reply Quote 0
                          • stacksofplatesS
                            stacksofplates @scottalanmiller
                            last edited by

                            @scottalanmiller said:

                            @johnhooks said:

                            What happens if you are connected and then lose connection to the NFS server? Does it store data until reconnection?

                            Store data? Where would it "store data"? What are you picturing? The filesystem would be gone, same as any "mapped drive" situation.

                            Store as in cache somewhere until it can reconnect.

                            1 Reply Last reply Reply Quote 0
                            • scottalanmillerS
                              scottalanmiller
                              last edited by

                              No, there is nothing like that. The filesystem is just not there. It would warn you, though, so you would know not to be trying to save to something that doesn't exist.

                              1 Reply Last reply Reply Quote 1
                              • 1 / 1
                              • First post
                                Last post