分类:
2008-02-26 09:33:24
1. AutoFS的概念
a) NFS的缺点
i. 在client端,为了每次重启OS后,都能自动挂载,必须要将那些NFS文件系统写入到/etc/fstab中.如果太多,会影响对/etc/fstab文件的管理.
ii. 在NFSclient端OS启动时,要求server端的NFS资源(已经注册到/etc/fstab中的NFS资源)必须能够访问.否则client端的请求将会被挂起,直到挂载超时为止.影响client端的启动时间.
iii. 只有超级用户才能挂载NFS文件系统.普通用户不可以. 不够灵活.
b) AutoFS的优点
i. Client端可以自动挂载NFS文件系统.不必在/etc/fstab中添加信息.
ii. AutoFS可以通过NIS管理其配置文件(AutoFS”maps”).所以,管理员可以非常容易的在存放NIS AutoFS表的种信念NIS服务器上修改NFS配置.
iii. AutoFS只是按需挂载NFS文件系统.因此,如果client端在OS重启时西药访问一个停机server的文件系统,一个停机的server只会延迟一个client的引导过程.(注:我觉得这个和NFS没什么区别.反正都得延迟.不知道书上说的到底是什么意思.)
iv. AutoFS可以被配置成允许普通用户自动挂载NFS.而不需要root的协助.
v. 默认情况下,AutoFS在5分钟内没有被访问,将自动卸载该文件系统.
vi. AutoFS可以为NFSserver提供简单的负载均衡能力.如果多个不同的server都可以提供同一个NFS文件系统,将自动搜寻并且挂载响应最快的server上的文件系统.
2. AutoFS maps
a) 是数据库文件(即ASCII文件).有以下三类文件:
i. 挂载主表
ii. 直接挂载列表
iii. 间接挂载列表
b) 可以解答的问题有:
i. 要挂载哪些文件系统
ii. 哪些NFSserver提供这些文件系统.
iii. 当挂载这些文件系统时应该使用什么挂载选项.
iv. 该文件是由系统管理员管理.
v. 文件名为/etc/auto*
vi. 如果某些AutoFS map文件用NIS管理,则它们不会出现在/etc下.
c) AutoFS的命令和守护进程
i. 步骤:
1. 首先配置AutoFS,也就是先创建map文件,然后配置这些文件.这样,通过命令,kernel就可以维护这个自动挂载列表了.
2. 系统通过autofs相应的进程发起请求给automountd
3. server接受这个请求后,就自动挂载到client端了.
4. 这时候,可以在client端执行操作.
5. 当client端闲置5分钟后,client端自身就会通过autofs_proc进程发出请求,送给automountd.然后automountd跟server端交互,说我的nfs连接现在不需要了,将它切断.
3. 使AutoFS生效
a) 配置文件是/etc/rc.config.d/nfsconf,这里面要配置的是:
i. NFS_CLIENT=1 #因为AutoFS是纯client端的应用,client端必须开启NFS.
ii. AUTOMOUNT=1 #安腾系列不需要配置.默认即是.
iii. AUTOFS=1
b) 这时候,配置完毕,即可将client端的服务启动了:
i. /sin/init.d/nfsclient start
c) 如果原来已经启动了,需要重新生效,则:
i. /sbin/init.d/nfsclient stop
ii. /sbin/init.d/nfsclient start
d) 检查AutoFS是否启动
ii. ps –ef |grep autofs_proc
4. 配置AutoFS map
a) 该主表名称不能改变!!!
b) 配置自动挂载主表/etc/auto_master
i. 内有两列
1. 左侧为client端的mount点
2. 右侧指定AutoFS需要读取的一些表文件(这些表文件,用来决定哪些FS应挂载到左侧的这些目录下)
ii. 直接挂载列表
1. 在auto_master中,左侧有个 “ /- “ ,它就表明是直接挂载方式.
2. 直接挂载是惟一的.
3. /- 所对应的 ( 如/etc/auto.direct ) 就是直接挂载列表.
iii. 间接挂载
1. 除了直接挂载外的都是间接挂载.
2. 间接挂载可以是多个.
iv. 关于/net目录
1. 这个目录下原本不会显示任何文件
2. 但如果在/net后接一个NFSserver的名称,则该系统会将这个NFSserver的所有nfs文件系统全部挂载到/net下面.
a) /net –hosts #涵盖所有的server
b) /net –soft ,nosuid #在NFSserver端出现问题后,client端可以自动断掉这个NFS,防止被挂起..关于逗号后面的suid是说明client端对nfs的使用权限与其属主保持一致.
5. 配置AutoFS直接挂载列表
a) 直接挂载列表需要手工创建
b) 内容
i. 第一列:直接挂载要求说明挂载点的绝对路径.
ii. 第二列:指定权限
iii. 第三列:需要挂载的资源,格式为nfsserverhost:/dir
1. 例如gamesvr:/usr/contrib/games
6. 间接挂载列表
a) 首先需要/etc/auto_master中包含该间接挂载的总目录(例如/drawings目录)
b) 第一列: 在间接挂载列表中记录的挂载点都是总目录下的相对路径(例如/drawings/aa)
c) 第二列: 权限
d) 第三列: 需要挂载的资源,格式为nfsserverhost:/dir
e) 注: 在间接挂载列表中的挂载点都无法直接用ls查看.在例子中的/drawings目录下的所有文件或者目录都是隐藏的. 也就是说,间接挂载点无需创建,即使创建了,也无法显示该目录或文件.但当挂载的nfs资源可以访问的时候,可以正常直接访问client端的挂载点.
7. 区别(直接挂载和间接挂载)
a) 直接挂载的缺点:
i. 每次添加,删除,修改autofs资源的时候,都需要修改直接挂载列表.
b) 直接挂载的优点:
i. 挂载点直接可见.
c) 间接挂载的缺点:
i. 挂载点不可见,如果想访问挂载上的nfs资源,必须了解间接挂载列表中的设置.
d) 间接挂载的优点:
i. 简便,直接访问即可.配置得当的话,可以不用再维护间接挂载列表了
8. 间接挂载方式的用途(挂载用户主目录,十分简便,配置好后,无需维护.)
9. 直接挂载方式的用途(挂载根目录下的第一层目录,间接挂载无法实现)
10. trouble shooting
a) /etc/rc.config.d/nfsconf中的配置有问题.
i. NFS_CLIENT=1
ii. AUTOMOUNT=1
iii. AUTOFS=1
b) Autofs的相关进程没有运行
i. ps –ef |grep automountd
ii. ps –ef |grep autofs_proc
c) 挂载列表配置有问题
d) 主机名解析失败
e) 网络连接有问题,无法连接到NFSserver
f) NFSserver上的问题
i. NFSserver端的服务没有启动
ii. NFSserver 已经down掉了
iii. NFSserver的client数目已经达到了NFS的最大连接数
iv. NFSserver没有正确输出NFS资源
v. NFSserver压力太大,对请求的响应超时.
g) 如果以上各个方面都没问题,可能是AutoFS本身有问题,可以重启试试
i. /sbin/init.d/nfs.client stop
ii. /sbin/init.d/nfs.client start
iii. /usr/lib/netsvc/fs/autofs/automountd
iv. /usr/sbin/automount