Date: Mon, 12 Feb 2007 13:42:04 -0600 From: Tillman Hodgson <tillman@seekingfire.com> To: freebsd-questions@freebsd.org Subject: Re: Mounting multiple NFS shares to the same point Message-ID: <20070212194204.GD543@seekingfire.com> In-Reply-To: <54db43990702121104x7aea5f53tab517d32e85c9b19@mail.gmail.com> References: <20070212170553.GA543@seekingfire.com> <54db43990702121104x7aea5f53tab517d32e85c9b19@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Feb 12, 2007 at 02:04:38PM -0500, Bob Johnson wrote: > On 2/12/07, Tillman Hodgson <tillman@seekingfire.com> wrote: > >Is this normal behaviour? Are there any problems with (performance, > >perhaps) that might occur if an NFS share is mounted twice? What if my > >backup job is still running, would it be interrupted by the second mount > >75 minutes later (according to the `periodic` entires in crontab) or > >will it be fine? > > This is normal behavior. There may be exceptions, but in general you > can mount one filesystem over another (it isn't unique to NFS). Only > the most recently mounted filesystem will be visible. Unmount it, and > the one below it will become visible again. It does not reduce > performance, it's just the way it works. For example, when you mount > an NFS volume, you are mounting it over a directory on your local UFS > volume, which is then no longer visible. In some cases this is useful: > for example, you can populate the UFS directory with files that > provide default values for something when the NFS mount is not there, > or that can tell a script that the NFS mount is not present. I can understand what you're describing, and it makes sense in the case of mounting an NFS share onto a node in another filesystem. It still seems like a bad default operation (especially from a POLA point of view) for the case where you mount the same device or NFS export twice on the same mount point. My expectation was that it would either error or else recognize the duplication and realize that it didn't need to do anything. How do other Unix variants handle the same situation? I checked into Linux, and it appears to let you do the same thing (which surprised me), though in one case it will complain (mounting the *same* device/share over top of itself). A friend tested that case and reported that it gives this kind of error for both real devices and NFS shares: mount: /dev/hda1 already mounted or /mnt busy mount: according to mtab, /dev/hda1 is already mounted on /mnt That error is actually what I was expecting to see for the case of doubled-up NFS mounts :-) If it refused to mount in that case it would be obvious to the administrator what the actual results would be. Otherwise ... > I'm not sure whether you are backup up TO or FROM the NFS mount, but > either way, you aren't going to get the results you want if the second > mount occurs while the backup is in progress. ... they could end up in a situation like this :-) (Note that that in this case I'm backing up TO the NFS mount, and it's possible that the same NFS share could be mounted on the same spot twice, depending on how long it takes for the daily backup job to run). I'll build some shell script logic using magic files and/or grep'ing through the output of `mount` with some time-based backoffs if the previous script hasn't finished running. It doesn't feel clean, though, and there's race conditions that I'll have to think about how to handle. Backups aren't something that I want to be so ... indeterministic. It doesn't inspire trust in the backup set ;-) -T -- "I don't believe in art. I believe in artists." -- Marcel Duchamp
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070212194204.GD543>