linux – autofs mount的mount to NFS导出显示空内容

前端之家收集整理的这篇文章主要介绍了linux – autofs mount的mount to NFS导出显示空内容前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用autofs在文件夹/ mnt / iso中挂载一些iso文件
Fedora-13-x86_64-DVD.iso
Fedora-14-x86_64-DVD.iso
Fedora-15-x86_64-DVD.iso

autofs工作正常,我可以看到iso文件内容

# ls /mnt/iso/fedora.13/
# ls /mnt/iso/fedora.14/
# ls /mnt/iso/fedora.15/

完成autofs测试后.我强制卸载所有iso文件夹:

# umount -l /mnt/iso/*

然后我在/ etc / exports中导出/ mnt / iso:

/mnt/iso        192.168.0.0/24(ro,insecure,crossmnt,all_squash)

NFS服务也正常工作.我可以通过nfs客户端从另一台机器挂载/ mnt / iso:

# mount -t nfs4 <nfs-server>:/mnt/iso /mnt

我可以在/ mnt /文件夹中看到所有iso mount:

# ls /mnt
dr-xr-xr-x 15 nobody nobody 4096 2011-06-11 10:23 .
drwxr-xr-x 24 root   root   4096 2011-02-08 08:45 ..
drwxr-sr-x  7 nobody nobody 4096 2010-05-13 09:06 fedora.13
drwxr-sr-x  7 nobody nobody 4096 2010-10-22 02:32 fedora.14
drwxrwsr-x  7 nobody nobody 4096 2011-05-14 03:50 fedora.15

但是,当我尝试列出每个文件夹的内容时:

#  ls /mnt/fedora.13

屏幕上没有显示任何内容.使用这样的命令

#  ls /mnt/fedora.13/*

提示

ls: cannot access /mnt/fedora.13/*: No such file or directory

我成功列出nfs客户端机器中iso文件内容的唯一情况是使用以下步骤:

从客户端计算机卸载nfs共享:

# umount /mnt

使用ls显示nfs服务器中/ mnt / iso的所有子树:

# ls /mnt/iso/*

autofs将自动挂载所有iso文件.

在客户端计算机中挂载nfs文件夹:

# mount -t nfs4 <nfs-server>:/mnt/iso /mnt

列出/ mnt的子树:

# ls /mnt/*

然后,您可以看到nfs客户端计算机中的所有内容.

但是,这会破坏autofs的目的,因为我需要先在autofs机器中显示一次内容.

有没有人有任何想法?我使用以下内容

> Fedora 13 x86_64
> autofs-5.0.5-28
> nfs-utils-1.2.2.2-2

解决方法

我认为你在马问题之前有一个购物车,因为当你使用NFS导出文件系统时它会锁定到源目录.你试图在那个时候甚至没有那个源目录,只能稍后通过mount安装一些东西.

这是行不通的,因为一旦你给NFS一个共享内容的句柄,它就会一直共享那个东西,即使它最终位于一层坐骑下面.

假设你设置一个文件’frog’的目录并用nfs导出它:

[server] $mkdir /mnt/test && touch /mnt/test/frog
[server] $echo '/mnt/test *(ro)' >> /etc/exports
[server] $exportfs -a

然后你将它安装在某个客户端上,你会看到文件frog如预期的那样:

[client] $mkdir /mnt/test
[client] $mount -t nfs server:/mnt/test /mnt/test
[client] $ls $/mnt/test
frog

现在假设您在服务器上的该文件夹上安装了其他内容

[server] $mkdir /mnt/test2 && touch /mnt/test2/fish
[server] $mount -o bind /mnt/test2 /mnt/test
[server] $ls /mnt/test
fish

漂亮.但是nfs服务的是什么?

[client] $ls /mnt/test
frog

你甚至无法在服务器上找到那个文件frog,因为它有一个不同的东西安装在它上面,但NFS正在提供在层下!

简而言之,如果您想通过NFS导出文件系统,则需要在NFS启动时正确安装它们并导出它们,并且需要保持这些系统.导出使用autofs自行挂载的文件系统永远不会正常工作.您需要永久安装这些ISO才能通过NFS导出它们.

猜你在找的Linux相关文章