- 论坛徽章:
- 0
|
如果我们要使用远程服务端共享出来的资料,则必须手工将共享资源mount到本地客户端,该mount点一直存在,除非系统重启或者系统管理员手工卸载,当存在大量的共享的文件系统(或资源)时,工作量将会增加很多,这时,就可以使用autofs来实现自动装配文件系统(资源)。
自动装配文件系统主要依靠automountd后台监控程序来实现,该程序的主要配置文件为/etc/auto_master,该文件定义了mount目录和mount所需的映射文件名及其参数,默认内容为:
# Master map for automounter
#
+auto_master
/net -hosts -nosuid,nobrowse
/home auto_home -nobrowse
其中+auto_master行表明在NIS或NIS+中的任何auto_master映射应该被自动地合成一体。
该文件中每行包含三项:
第一项为autofs文件系统被装配的位置;
第二项是和第一项配合使用,用来设定和装配点一起使用的映射文件名(位于/etc目录下),该文件中包含了额外的装配点,映射文件的格式为:
MountPoint Options Location
如在/etc/auto_master中指定 /home装配点所对应的文件为/etc/auto_home,则该文件中另外设定的装配点将和在/etc/auto_master文件中指定的装配点相结合构成一个绝对的装配点。如/etc/auto_home中存在着一行:
public -rw remote:/usr/share/man
则automount程序将把远程服务器端所共享的/usr/share/man目录自动装配到/home/public目录下(该目录无需手工创建,系统会自动创建),/home/public即为两个文件中第一项参数所共同设定的目录。
第三项(可选)为装配点的参数( 如nosuid)。
需要重新运行automount命令的情况:
Automount Map Run if Entry Is Added or Deleted Run if Entry Is Modified
auto_master Yes Yes
direct map Yes No
indirect map No No
例子1:自动装配共享资源
首先在服务器端共享一些资源(或文件系统)
remote#/usr/lib/nfs/nfsd
remote#/usr/lib/nfs/mountd
remote#share -F nfs /usr/share/man
然后在本地客户端手工编辑/etc/auto_home文件,增加一行:
public -rw remote:/usr/share/man
重启automountd进程
#/usr/lib/autofs/automountd
或者:
#/etc/init.d/autofs stop
#/etc/init.d/autofs start(有的系统中没有这个命令)
这时使用命令:
#cd /home/public
则automountd进程会自动将remote:/usr/share/man共享点装配到/home/public目录下(该目录会自动创建)。
例子2:自动装配共享的光驱或软驱
在/etc/auto_master文件中加入一行:
/mnt auto_cdrom -nobrowse [nobrowse参数指定不允许列出,如用ls命令无法列出内容]
然后手工创建/etc/auto_cdrom文件,并加入:
cdrom -ro remote:/cdrom/share_package
重启automountd进程:
#/usr/lib/autofs/automountd
这时可以直接进入/mnt/cdrom目录了,如果是automount本地光盘,则将上行更改为:
cdrom -fstype=hsfs,ro :/dev/dsk/c0t6d0s2
说明:
automountd监控程序检测被装配点的激活状态,如果在5分钟内没有激活该装配点,则automontd程序自动将装配点卸载,以节省系统开销
来篇更易懂的:首先要明白autofs有什么好处:
auto mount 它是属於 dynamic mount, 也就是说,当你有使用这个 mount 的目录
时, 系统才会自动的帮你把这个目录mount进来.
它不同於 static mount , 是在於 static mount 是在系统开机时, 便 mount 进来
了,而且除非系统关机,或是 root 把它 unmount 掉, 不然的话,你随时打 mount,
都可以看到它有 mount 上.
使用 auto mount 的好处是,因为它是在你有用到该目录时才做 mount 的动作,
所以用它来 mount NFS 的话,可以不必等对方的 server 起来, 你就能开机,而且
auto mount 它有设定说,在一定时间内,如果该目录没被使用,则系统会自动将它
unmount 掉. 这样又可减少因 mount NFS 而影响系统效率.
在 solaris 中,要设定 automount ,你可以去 man automount.
以下简单说明如何设定 automount.
1. 修改 /etc/auto_master
这个档是 automount 的主要设定档,它里面有定义要 mount 那些目录.
另外,它亦可以参考到另一个你自己设定的 automount 设定档.
下面举一个例子说明如何设定 ( auto_myconfig 是自己的设定档)
% more /etc/auto_master
# Master map for automounter
#
+auto_master
/net -hosts -nosuid,nobrowse
/- /etc/auto_myconfig
/home auto_home -nobrowse
/xfn -xfn
% more /etc/auto_myconfig
/usr/local -rw,intr sparc:/usr/local
在/etc/auto_myconfig 中,则是去mount一台叫 sparc 它所share出来
/usr/local的目录,并将它mount到自己机器的/usr/local
ps. 如果你使用automount 的话,在你自己的机器上,并不需要自己去建立
要mount的目录, 以上面为例,你并不需要在/usr下建立local 这
个目录再做mount. auto mount它会自动帮你建立这个目录,且帮你
mount上去.
2. 改好了auto mount 的设定档之後,你必需重跑autofs 才会使你修改的
auto mount生效. 执行方法如下:
% su
% cd /etc/init.d
% autofs stop
% autofs start
也就是说, 你要以root的身份,先让aufofs停掉, 再让它重新start就可
以了.
这里有更好的英文资料-AUTOMOUNTER PSD/FAQ
:
http://www.sunhelp.org/faq/autofs.html
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/26090/showart_319230.html |
|