免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 13432 | 回复: 39
打印 上一主题 下一主题

Solaris 9/10 SCSA中文教材(310-015,310-202):AutoFS原理和使用介绍 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-06-05 01:20 |只看该作者 |倒序浏览
关键词:
310-014,310-015,tk,testking,pass4sure,考试圣经,题库,教材


灌水漫900纪念一下,哇哈哈哈~


哥们,看帖要推荐啊,点这里\"\"
                                                              第07章 AutoFS
纲要:

在UNIX世界里,可以通过NFS创建并使用共享资源,然而随着共享资源的增加,特别是许多共享资源并不是经常使用的话,如果都把它配置在Solaris的/etc/vfstab文件中的话,将是非常繁琐而且不太必要,而如果每次都采用Mount命令手工挂接的话也非常麻烦。此时就可以使用Solaris的AutoFS功能。

AutoFS是一个客户端的守护进程,它能够根据实际需要,实时触发对NFS共享资源的自动挂接。默认情况下,AutoFS将把所有的共享资源按需挂接在/etc/hostname/share_dir挂接点,而且可以根据特定需求把特定资源挂接到特定的挂接点。



结构:

Solaris AutoFS 介绍

第1节 AUTOFS基本概念
第2节 使用AUTOMOUND MAP
  2.1 自动挂接地图
  2.2 配置AutoFS地图
  2.3 更新自动挂接地图
第3节 停止和开启AUTOMOUNT SYSTEM
第4节 配置实例


===========================================================================
===========================================================================

如果你觉得此文对你有所帮助,你可以点这里

===========================================================================
===========================================================================

第1节 AutoFS基本概念

AutoFS提供了一种按需自动挂接和空闲超时自动卸除NFS文件系统的机制。挂接点可以使用本地的或分布式自动挂接地图。

AutoFS是一个客户端的服务。系统启动时,Solaris 9会自动运行/etc/rc2.d/S74autofs脚本(Solaris10则自动运行/lib/svc/method/svc-autofs脚本)初始化AutoFS文件系统。这个脚本运行automount命令读取AutoFS的配置文件并启动自动挂接守护进程automountd。Automountd保持运行状态,并根据需要挂接或卸载远程目录。

不论什么时候,当运行automound守护进程的客户机上的用户试图访问远程文件或目录时,守护进程会自动挂接(这些远程文件或目录所属的)远程文件系统。只要有需要,这些远程文件系统就可以一直保持被挂接状态。如果有定义访问时间周期,到时automound会自动卸载该文件系统。

AutoFS服务按需挂接和卸载文件系统,不需要用户进行任何干涉。用户无需使用mount和umount命令,也不需要知道超级用户密码。

AutoFS文件系统具有以下功能:

l         按需挂接文件系统

l         自动卸载文件系统

l         通过使用名称服务,可以对AutoFS的挂接进行集中管理,大大减少了管理时间

l         可为读写(rw)或只读(ro)文件系统创建多个挂接资源

automount工具包括三个组件:

l         AutoFS文件系统

l         automountd守护进程

l         automount命令



AutoFS文件系统

AutoFS文件系统的挂接点在客户机系统的自动挂接地图(automount maps)中定义。定义了AutoFS的挂接点后,任何在此挂接点下的活动都会触发挂接请求,从而把远程文件系统挂接到此挂接点。如果配置了自动挂接图,AutoFS内核模块会监视客户机的挂接请求,如果挂接请求是请求一个还未被挂接的AutoFS资源,AutoFS服务会调用automountd守护进程挂接受请求的资源

Automound守护进程

Solaris 9的/etc/rc2.d/S74autofs(Solaris 10的/lib/svc/method/svc-autofs)脚本在系统启动时自动启动automountd守护进程。Automountd按需挂接文件系统并且卸载空闲的挂接点。

注:automountd守护进程完全独立于automount命令。正是由于这种独立性,不用停止和启动automountd守护进程,就可以增加,删除,修改地图信息

automount命令

automount命令在系统启动期间被调用,读取主控地图(master map)来创建AutoFS挂接的初始化设置。这些AutoFS挂接在启动期间不会被自动挂接,它们是按需挂接文件系统的挂接点


第2节 使用automound map


1.1 自动挂接地图

自动挂接的文件系统资源在自动挂接地图中定义。下图显示了/etc/目录中定义的地图:



图:配置AutoFS挂接点

AutoFS map的类型有:

l         Master map    主控地图,建立AutoFS文件系统需要使用的其他map,automount命令在启动时读取这个地图

l         Direct map     直接地图,挂接点的绝对路径名。这个地图明确指定了客户端的挂接点

l         Indirect map   间接地图,挂接点的相对路径名。这个地图使用相对路径建立客户端的挂接点

l         Special    基本地图(auto_home和-hosts),可主机名访问NFS 服务器

Automount地图可以从ASCII数据文件、NIS地图、NIS+表,或从LDAP数据库中获得。和/etc/vfstab文件类似,这些地图都记述了远程文件资源的信息。

自动挂接地图的来源由/etc/nsswitch.conf文件中的automount条目决定。例如 “automount:files”

告诉automound命令应该去/etc/目录查找它的配置信息;如果使用nis代替files,则告诉automount应根据NIS地图查找它的配置信息。
1.2 配置AutoFS地图
1.2.1 配置主控地图

auto_master地图把一个目录(通常也叫挂接点)和一个地图关联起来。Auto_master地图是一个主控列表,它指定了AutoFS服务应当查看的所有地图。列在这个地图中的直接和间接地图是在/etc目录下的文件或名字服务数据库

# cat /etc/auto_master



        

# Master map for automounter

#

+auto_master

/net            -hosts          -nosuid,nobrowse

/home                auto_home      -nobrowse---------------auto_home和-hosts是两个基本地图

/xfn                   -xfn

/-                      auto_direct            -ro



auto_master文件中的语法如下,三个区域(也可叫字段)

mount_point   map_name  mount_options

l         mount_point  挂接点是目录的绝对路径,如果此目录不存在,AutoFS服务会尽可能创建该目录

l         map_name   直接或间接地图的名字。这些地图提供挂接信息。这个字段的相对路径名需要AutoFS查看/etc/nsswitch.conf文件来决定地图的位置

l         mount_options和标准的NFS挂接选项类似,除了nobrowse选项,它是AutoFS特有的。

注:+automaster的(+)符号指示automountd daemon在读取auto_master地图的其他部分前先查看NIS,NIS+,或LDAP数据库。如果这行被注释,将只搜索本地文件,除非在/etc/nsswitch.conf文件中指定需要搜索NIS,NIS+,或LDAP数据库

确定基本地图的挂接点

上例配置中,有两个基本地图的挂接点:

/net            -hosts          -nosuid,nobrowse

/home           auto_home       -nobrowse

-hosts            提供到NFS服务器的所有共享资源的访问,这些资源都将被挂接到/net/hostname目录

如果只知道服务器的IP地址,可在客户机通过/net/Ipaddress/shared_dir目录进行访问。

这种配置不需要在客户机的主机数据库中配置服务器

auto_home    这个地图允许访问集中存放的家目录($HOME)

注:-xfn地图提供对FNS资源的访问,这些资源将被挂接在/xfn目录,Solaris 10中已取消对FNS的支持

使用/net目录

在客户端,AutoFs会根据实际需要自动把所有NFS服务器上的共享资源都挂接到/net/hostname目录中,假设在服务器clustera上共享了目录/opt。在客户机可通过以下命令访问此共享资源:

clusterb# cd /net/clustera/opt

clusterb# mount | grep clustera

/net/clustera/opt on clustera:/opt remote/read/write/nosetuid/nodevices/xattr/dev=4700002 on 一  6月  4 13:47:56 2007

以上命令将触发对clustera主机的共享资源/opt的自动挂接,而不必登陆到clustera机。通过切换当前工作目录到包含共享资源的目录,任何人都可以挂接该资源。此资源将保持挂接状态直到预定义的无活动时间周期到了为止。-nobrowse选项使任何潜在的挂接点被隐藏,只有当前被挂接的资源才可见。

当然,如果你要要把特定的共享资源挂接到其他的目录下,而不是默认的/net/hostname目录,就需要使用直接地图或间接地图。

注:AutoFS在进行按需挂接时,请耐心等待片刻,等挂接完毕后才可以对被挂接的资源进行操作。
1.2.2 添加直接地图条目

下面的配置中,/-定义了一个直接地图的挂接点。

# cat /etc/auto_master

+auto_master

/net            -hosts          -nosuid,nobrowse

/home                auto_home      -nobrowse---------------以上是默认存在的两个基本地图

/-                      auto_direct            -ro

“/-”是一个指针,告诉automount工具,全路径名被定义在由字段map_name指定的文件中(此例中是指定/etc/auto_direct文件)

即使map_name字段指定了auto_direct,automount工具依然会自动搜索/etc目录下所有和地图有关的文件;因此,基于/etc/nsswitch.conf文件中的automount条目的配置(automount:files),auto_direct文件是本地文件/etc/auto_direct。

注:NIS或NIS+主地图只能有一个直接地图条目。本地主地图可以有任意数量的条目

创建直接地图

直接地图指定了挂接点的绝对路径,挂接的选项,以及被挂接的共享资源。

# cat /etc/auto_direct



        文本框: #挂接点 挂接选项 被挂接的共享资源
/apps/oracle -ro,soft server1:/oracle
/opt/local -ro,soft server2:/export/ftpdata
/usr/share/man -ro,soft server3,server4,server5:/usr/share/man



最后一行配置体现了automount的一个特性:为一个文件资源指定多个位置。根据需要,Automountd会根据服务器的接近度以及管理员定义的权重来从server3,4,5中选择一个服务器来挂接“/usr/share/man”目录。如果在一个超时周期内距离最近的服务器不能提供服务,就选择第二近的服务器。

服务器接近度

Solaris操作系统根据本地子网,本地网络,响应时间,权重来考虑服务器的接近度

如果在地图条目设置了ro只读标签,automountd会挂接内核可能使用的资源位置列表,按几个标准排序。只有在挂接时可用的资源位置被挂接。但一个服务器无响应时,内核会切换到另外一台替换的服务器。Automount用排序来决定如何选择下一台服务器。

如果没有设置ro标签,automount仅挂接一个最佳位置(按照同样的排序标准进行选择)。只有在可能发生了卸载,并且进行重新挂接时,才会选择新的服务器。

在本地子网的服务器具有最高优先级,在本地网络的服务器为次高优先级。如果服务器等距离,在没设置权重的情况下,响应时间会决定服务器优先级排列的顺序

-ro alpha,bravo,charlie(1),delta(4):/usr/man

上行配置中,charelie的权重为1,delta的权重为4,alpha/bravo的权重为默认值0(优先级最高),但如果delta和本机处在同一子网,而其他三台服务器处在其他网络,那么挂接的是delta的共享资源

优先级排序的考虑因素按次序如下:网络接近度>权重>响应时间
1.2.3 添加间接地图条目

主控地图的/home条目定义了间接地图的挂接点。地图auto_home中仅列出相对路径。间接地图从主控地图中获得挂接点的初始化路径。本例中绝对路径“/home”即为auto_home的初始化路径

# cat /etc/auto_master

+auto_master

/net            -hosts         -nosuid,nobrowse

/home           auto_home      -nobrowse

从Solaris2.6到Solaris 10都支持对间接地图和特殊地图的浏览特性(使用-browse挂接选项)。浏览特性使所有可能的挂接点都变为可见的,而不管这些挂接点是否被挂接。-nobrowse禁用浏览特性,在上例中,自动挂接点/home除了已被挂接的目录外,其他所有目录均不可浏览。浏览特性的缺省配置为可浏览(-browse)

创建间接地图

通过间接地图auto_home列出跨网络的家目录的位置,间接地图的语法同直接地图,如下所示:

# cat /etc/auto_home

+auto_home-----------------“+”符号含义同+auto_master

waily         clustera:/export/home/waily

yuhuohu       clusterc:/export/home/yuhuohu

下图显示了automound自动挂接/home/mary目录的示例:



缩减间接地图的行数

在间接地图中,可用通配符和替代符把多行类似的条目合并成一行:

# cat /etc/auto_home

+auto_home-----------------“+”符号含义同+auto_master

*               clustera:/export/home/&

通配符*号代表任何字符,&则表示用*号代表的字符来代替此处的字符。客户端将把NFS服务器clustera上的/export/home/loginID目录挂接到本地的/home/loginID。要使用通配符(*)和替代符(&)要求所有的家目录都必须在单一的服务器上(此例中为clustera)
1.3 更新自动挂接地图

对主地图进行修改或创建一个间接地图时,必须运行automount命令让所作的修改生效

命令语法

automount  [-t duration]  [-v]

-t duration   文件系统不再使用时,保持挂载状态多长时间(秒),默认为600秒(10分钟)

-v               指定细节模式显示automount命令执行的输出

修改主地图条目或在主地图增加一个新地图的条目,必须要运行automount命令才能使这些改动生效。

修改间接地图的内容不用停止和重启automountd守护进程,因此这个守护进程是无状态的(stateless),任何时候都可以修改间接地图的内容,当automountd下次访问该地图内容执行挂接时,新信息生效。对间接地图所作的任何修改均自动被automountd所使用

何时必须运行automount命令:

自动挂接地图   添加或删除时是否需要运行  修改时是否需要运行

主地图 是 是

直接地图 是 否
间接地图 否 否

注:修改是指对挂接选项和资源的改动;改动挂接点或一个全新的行是指一条新加的条目,或指一条被删除的条目或两者都是。不管是否需要,在任何时候都可以运行automount命令来重读地图。

校验在/etc/mnttab文件中的AutoFs条目

/etc/mnttab是一个文件系统,提供对当前主机所有已挂接的文件系统的表的只读访问。内容格式如下:

special    mount_point   fstype       options    time

资源名           挂接点                  文件系统类型       挂接选项       被挂接时间

通过这个文件,可以获得已挂接的文件系统列表,包括那些通过AutoFS挂接的文件系统:

# grep autofs /etc/mnttab

-hosts /net autofs nosuid,indirect,ignore,nobrowse,dev=4e000011099678245

auto_home /home autofs indirect,ignore,nobrowse,dev=4e000021099678245

-hosts /net/sys-02/rdbms_files autofs nosuid,ignore,nest,nobrowse,dev=4e000031099679619

-hosts /net/sys-02/usr autofs nosuid,ignore,nest,nobrowse,dev=4e000041099679619

第3节 停止和开启automount system

当系统在运行级别间切换时,Solaris 9的/etc/init.d/autofs脚本(Solaris 10的svc:/system/filesystem/autofs服务)会根据情况自动启用或禁用AutoFs,也可以在命令行手工启用或禁用AutoFs。

停止自动挂接系统

Solaris 9

带stop参数的autofs脚本强行卸载所有的AutoFS文件系统,接着杀死automountd daemon。在以下情况,/etc/init.d/autofs stop会自动运行:

l         运行级别S使用/etc/rcS.d/K41autofs

l         运行级别1使用/etc/rc1.d/K41autofs

l         运行级别0使用/etc/rc0.d/K41autofs

Solaris 10

当autofs服务被禁用时,它会强行卸载所有的AutoFS文件系统,并杀死automountd守护进程。当系统切换到单用户里程碑(single-user milestone)时,会自动禁用autofs服务。手工禁用autofs服务的命令:

# svcadm disable svc:/system/filesystem/autofs

开启自动挂接系统

Solaris 9

带start参数的autofs脚本开启automountd daemon,接着在后台运行automount工具,在以下情况,/etc/init.d/autofs start会自动运行:

l         运行级别2使用/etc/rc2.d/S74autofs

Solaris 10

当autofs服务被启用时,SMC会启动automountd守护进程,并在后台运行automount功能。当系统切换到多用户里程碑(multi-user milestone)时,autofs服务会自动启动。手工启用autofs服务的命令:

# svcadm enable svc:/system/filesystem/autofs


第4节 配置实例

如果你认为这篇文章对您有所帮助,请点这里~



在这个实例中,将完成以下任务:

l         在客户机clusterb上利用AutoFS自动挂接远程NFS服务器clustera机上的/usr/share/man目录

l         在客户机clusterb上利用AutoFS自动挂接远程NFS服务器clustera上的用户主目录到本地

实例一:用AutoFS自动挂接来自远程的帮助手册目录

1.         在服务器clustera上配置共享目录并实施共享

如果mountd守护进程没运行可运行以下命令开启:

Solaris 9 # /etc/rc3.d/S15nfs.server

Solaris10# svcadm enable svc:/network/nfs/server


# cat /etc/dfs/dfstab

share -o ro /usr/share/man

# pgrep -fl mountd

  393 /usr/lib/nfs/mountd

  374 /usr/lib/autofs/automountd

# shareall

# share

-               /usr/share/man   ro   ""

2.         在客户机clusterb上运用autofs自动挂接服务器的共享资源

# mv /usr/share/man /usr/share/man.bak  ----把本机的帮助手册目录改名,无法查看任何命令帮助

# cp /etc/auto_master /etc/auto_master.bak

# vi /etc/auto_master  -----------------------------在主控地图最后一行添加一条直接地图记录

/-              auto_direct

# cat /etc/auto_direct  ------------------------------编辑直接地图,加入欲自动挂接的共享条目

/usr/share/man  clustera:/usr/share/man

# automount -v  -------------------------------------使用automount命令更新自动挂接地图

automount: /usr/share/man mounted

automount: no unmounts

# man ls

正在重新格式化页面。请等待... 完成<…输出省略…>

# mount | grep man

/usr/share/man on clustera:/usr/share/man remote/read/write/setuid/devices/xattr/dev=4700003 on 一  6月  4 10:38:40 2007

# grep autofs /etc/mnttab

-hosts  /net    autofs  nosuid,indirect,ignore,nobrowse,dev=4740001     1180926316

auto_home       /home   autofs  indirect,ignore,nobrowse,dev=4740002    1180926316

auto_direct     /usr/share/man  autofs  direct,ignore,dev=4740003       1180926316

实例二:使用来自NFS服务器的远程家目录作为本地用户的家目录

1.         在服务器clustera和客户机clusterb上均完成以下步骤:

1.         首先确定/export/home目录是否存在,如果不存在就创建:# mkdir /export/home

2.         添加新用户waily,家目录为/export/home/waily,口令为abc123。

# useradd -u 3001 -g 10 -d /export/home/ waily -m -s /bin/bash waily

64 块

# passwd waily

3.         修改/etc/passwd文件,把waily用户的家目录修改为/home/waily,结果如下所示

# grep waily /etc/passwd

waily:3001:10::/home/waily:/bin/bash

4.         编辑/etc/auto_home文件,在最后加入以下内容

waily         clustera:/export/home/ waily

2.         在服务器clustera上设定共享资源,确认mountd进程已在运行,并实施共享

# cat /etc/dfs/dfstab

share -o ro /usr/share/man

share /export/home  ------------------------新增的共享资源

# shareall

3.         在服务器和客户机上都切换到waily用户

# su - waily

$ pwd

  /home/waily

clustera$ touch first.txt  ---------------------------在服务器clustera机上创建first.txt文件

clusterb$ touch second.txt  ------------------------在服务器clusterb机上创建second.txt文件

4.         查看挂接情况

clustera# mount | grep clustera

/home/waily on /export/home/waily read/write/setuid/devices/dev=d80006 on 一  6月  4 11:49:35 2007

clusterb# mount | grep clustera

/home/waily on clustera:/export/home/waily remote/read/write/setuid/devices/xattr/dev=4700005 on 一  6月  4 11:42:36 2007

clustera# ls /export/home/yuhuohu-------------------新创建的两个文件其实位于这个目录中

local.cshrc    local.login    local.profile  second.txt      test.txt

PDF文档下载:到此下载
更多PDF下载:到此下载

===========================================================================
===========================================================================

如果你觉得此文对你有所帮助,你可以点这里

===========================================================================
===========================================================================

做人要厚道,看贴要多顶~.你的轻轻一顶,就是我最大的动力~,


[ 本帖最后由 yuhuohu 于 2009-7-4 20:32 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-06-05 01:20 |只看该作者
占个位子,座沙发~

论坛徽章:
0
3 [报告]
发表于 2007-06-05 09:27 |只看该作者
晕,这个是纯水呀,哥们你不会是放到blog里了吧

论坛徽章:
0
4 [报告]
发表于 2007-06-05 09:43 |只看该作者
水也顶一下

论坛徽章:
0
5 [报告]
发表于 2007-06-12 14:51 |只看该作者
虽然晚了几天,好歹也填坑填上了,大家慢慢看,欢迎指正~

论坛徽章:
0
6 [报告]
发表于 2007-06-12 15:17 |只看该作者
支持这种原创

论坛徽章:
0
7 [报告]
发表于 2007-06-12 17:24 |只看该作者
收了慢慢看

论坛徽章:
0
8 [报告]
发表于 2007-06-12 19:18 |只看该作者
收下了,慢慢学
谢谢

论坛徽章:
0
9 [报告]
发表于 2007-06-13 14:25 |只看该作者
顶个先~

论坛徽章:
0
10 [报告]
发表于 2007-06-13 16:13 |只看该作者
PDF文档下不了的说~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP