Kai Schaetzl wrote:
Toby Bluhm wrote on Fri, 27 Jun 2008 08:54:56 -0400:
I don't understand your talk about "fake" directories. They are not
fake, they truly exist in the filesystem.
They are nevertheless fake. Consider the following:
- system A has mount points / and /home
- system B nfs mounts / on A without nohide at /nfs/A
Result is that you see *all* directories of A on B, including /home. There
is no way to know that it doesn't exist on A, unless you compare the
directories on both machines. There is no indication that you are not
writing to A:/home when you write to /nfs/A/home. That is what I call
"fake". It's definitely not "hidden". "hidden" comes from "hiding" = you
don't see it. I consider this behavior *very* misleading.
That NFS only exports a single partition at a time is probably due to
the duplicate inode problem - maybe other stuff - I don't know. At any
rate, just export the additional fs and mount it where you like. Again,
nothing mysterious and it has been done that way since NFS was invented.
That may be so. I'm quite happy with this behavior as long as nfs doesn't
pretend that something is there that isn't.
I was asking "where" that faked directory actually exists as it is gone
when I unmount. If I understand your explanation correctly if I write to
/nfs/A/home I'm actually writing to A, but not to the /home filesystem (as
I think) but to a home directory on the / filesystem. Is that correct?
Yes. Let's use some examples. If A:/ is /dev/sda1 and A:/home is
/dev/sda2, then in your above situation, writes to B:/nfs/A/home will be
written to /dev/sda1 on A and _not_ /dev/sda2 on A. When A exports /,
it's actually only exporting the filesystem on /dev/sda1.
That makes clear why it is gone when I unmount. Further, if I unmount
/home on A I should still get /home when I list / on A.
Yes - you will get the /home that's on /dev/sda1
Just now that
"faked" home on /. Correct?
I understand that this directory *does* exist on A (just not where one
would think) *after* nfs mounting. However, from the standpoint of machine
B it is a fake. It is artificially being created because an ls on A shows
it. The correct behavior would be to *not list* any other mount points in
the nfs mount.
Again, it's not fake, it's not artificial. It's truly there on
/dev/sda1, the storage device. If you umount /home, rmdir /home, you
can't mount /dev/sda2 on /home any more can you? If you mkdir /home2,
you can put stuff in there until you run out of space on /dev/sda1. If
you mount /dev/sda2 on /home2, the stuff you wrote to /home2 will still
be on /dev/sda1 and will be hidden by the overlay of /dev/sda2. If you
umount A:/ from B:/nfs/A and then write to B:/nfs/A - because B:/nfs/A
will still exist as a real directory - it will be stored in /dev/sda1 on
B. Whether you mount NFS exports or local disk partitions, it works the
same way.
By your analogy, umounting /dev/sda2 /home should make /home disappear
from / because it's not mounted. Or mounting /dev/sda1 as / should just
make /dev/sda2 fall into /home without any entry in fstab.
--
Toby Bluhm
Alltech Medical Systems America, Inc.
30825 Aurora Road Suite 100
Solon Ohio 44139
440-424-2240 ext203
_______________________________________________
CentOS mailing list
CentOS@xxxxxxxxxx
http://lists.centos.org/mailman/listinfo/centos