NFS server 介绍及配置

上传人:无*** 文档编号:171381994 上传时间:2022-11-26 格式:DOC 页数:12 大小:84KB
收藏 版权申诉 举报 下载
NFS server 介绍及配置_第1页
第1页 / 共12页
NFS server 介绍及配置_第2页
第2页 / 共12页
NFS server 介绍及配置_第3页
第3页 / 共12页
资源描述:

《NFS server 介绍及配置》由会员分享,可在线阅读,更多相关《NFS server 介绍及配置(12页珍藏版)》请在装配图网上搜索。

1、NFS 是由SUN公司发展, 并於1984年推出, NFS是一个RPC service ,它使我们能够达到档案的共享, 它的设计是为了在不同的系统间使用, 所以它的通讯协定设计与主机及作业系统无关.当使用者想用远端档案时只要用mount就可把remote档案系统挂接在自己的档案系统之下,使得远端的档案使用上和local机器的档案没两样. machine A machine B bin etc usr bin etc usr man man share local 假如我们在机器A上, 要把机器B上的 /usr/man 挂接到machine A 的/usr/man只要下mount machine

2、_name:/usr/man /usr/home 就可mount过来.而我们不只是可以mount目录,就是一个档也是可以的.在挂接之后我们只能对档案做reading (or writing) 的动作,而不能在remote machie上把此档或目录move,delete掉 , 但须注意的是如我们mount /usr 后 , 不能再mount /usr底下的目录, 否则会发生错误 Servers & Clients NFS就是促使Servers上的档案能被其他的机器mount,而达到资源共享,享用这些档案的机器就可称为Client,一个client可以从server上mount一个档或是一个层次

3、的目录(file hierarchies) . 然而事实上任何一台机器都可以做NFS server or NFS client ,甚至同时为NFS server and NFS client 也可以. Servers Exporting & Clients Mounting NFS server 所export 出来的档案或目录都记录在 /etc/exports 这一个档中,当我们启动NFS server 时 在 /etc/rc.local 的这一个script会自动的启动 exportfs 这一个程式 , 搜寻 /etc/exports 这一个档是否存在, 并且赋予正确的权限给所有expor

4、t出去的 file hierarchies . 但须注意的是,只有server所export出去的路径,NFS client才能够mount, 同样的当启动client时 , 系统会自动去mount所有server export的路径,而mount到的所有路径都会记录在 /etc/fstab 下 , 类似如下的fstab档 /dev/sd0a / 4.2 rw 1 1 /dev/sd0h /tmp 4.2 rw 1 3 /dev/sd0g /usr 4.2 rw 1 2 /dev/fd0 /pcfs pcfs rw,noauto 0 0 sparc20:/swap /swap nfs rw,i

5、ntr,bg,soft 0 0 sparc17:/home /home nfs rw,intr,bg,soft 0 0 sparc17:/home3 /home3 nfs rw,intr,bg,soft 0 0 sparc14:/home4 /home4 nfs rw,intr,bg,soft 0 0 sparc20:/home2 /home2 nfs rw,intr,bg,soft 0 0 sparc20:/var/spool/mail /var/spool/mail nfs rw,intr,bg,soft 0 0 rs970:/home1 /home1 nfs rw,intr,bg,sof

6、t 0 0 Noted : 当client mount 到一个路径,绝对不是说copy server上的这一个路径到local的机器上,我们可以用 cd 进入这一个mount到的路径,就如同是使用local directory一样 Setting Up a NFS Server 1. 定义机器为 NFS file server 2. 划分servers disk ,定义哪一些partitions 是要提供出来作为WhatisNFS? NFS是由SUN公司发展,并於1984年推出,NFS是一个RPCservice, 它使我们能够达到档案的共享,它的设计是为了在不同的系统间使用,所 以它的通讯协定

7、设计与主机及作业系统无关.当使用者想用远端档案时只 要用mount就可把remote档案系统挂接在自己的档案系统之下,使得远端 的档案使用上和local机器的档案没两样. machineAmachineB binetcusrbinetcusr manmansharelocal 假如我们在机器A上,要把机器B上的/usr/man挂接到machineA的 /usr/man只要下 mountmachine_name:/usr/man/usr/home 就可mount过来.而我们不只是可以mount目录,就是一个档也是可以的.在 挂接之後我们只能对档案做reading(orwriting)的动作,而不

8、能在 remotemachie上把此档或目录move,delete掉,但须注意的是如我们 mount/usr後,不能再mount/usr底下的目录,否则会发生错误 Servers&Clients NFS就是促使Servers上的档案能被其他的机器mount,而达到资源共享, 享用这些档案的机器就可称为Client,一个client可以从server上mount一 个档或是一个层次的目录(filehierarchies).然而事实上任何一台机器 都可以做NFSserverorNFSclient,甚至同时为NFSserverandNFS client也可以. ServersExporting&Cl

9、ientsMounting NFSserver所export出来的档案或目录都记录在/etc/exports这 一个档中,当我们启动NFSserver时在/etc/rc.local的这一个script 会自动的启动exportfs这一个程式,搜寻/etc/exports这一个档是否 存在,并且赋予正确的权限给所有export出去的filehierarchies. 但须注意的是,只有server所export出去的路径,NFSclient才能够mount ,同样的当启动client时,系统会自动去mount所有serverexport的路径, 而mount到的所有路径都会记录在/etc/fsta

10、b下,类似如下的fstab档 /dev/sd0a/4.2rw11 /dev/sd0h/tmp4.2rw13 /dev/sd0g/usr4.2rw12 /dev/fd0/pcfspcfsrw,noauto00 sparc20:/swap/swapnfsrw,intr,bg,soft00 sparc17:/home/homenfsrw,intr,bg,soft00 sparc17:/home3/home3nfsrw,intr,bg,soft00 sparc14:/home4/home4nfsrw,intr,bg,soft00 sparc20:/home2/home2nfsrw,intr,bg,so

11、ft00 sparc20:/var/spool/mail/var/spool/mailnfsrw,intr,bg,soft00 rs970:/home1/home1nfsrw,intr,bg,soft00 Noted: 当clientmount到一个路径,绝对不是说copyserver上的这一个路径 到local的机器上,我们可以用cd进入这一个mount到的路径,就如同是使用 localdirectory一样 SettingUpaNFSServer 1.定义机器为NFSfileserver 2.划分serversdisk,定义哪一些partitions是要提供出来作为 client所共享的f

12、ilesystem 3.在ClientForm上定义每一台client的参数 4.写出/etc/exports(一般系统都有一个defaultexports) 5.重新bootNFSserveror用指令exportfs-a输出所有的 directories并且用nfsd8&启动nfsd守护程式,常驻在背景 ps.一些细节 1.检查/etc/exports输出路径的权限,确定只有root能修改, alluser只能read 2.用exportfs去增加或删除directories exportfs-oaccess=engineering,ro=dancer/usr exportfs-u/usr

13、 3.假如你的机器没有NIS(YPserver)的服务,当更改资料时记得修改 /etc/passwd /etc/group /etc/hosts /etc/ethers 4.为你自己的network设置security exportfs的语法 /usr/etc/exportfs-avu-ooptiondirectory -a:把/etc/exports中所有路径export出去 -u:把export出去的路径卸下,如exportfs-u/usr -ooption:如exportfs-oro/usr,所有人对/usr都为readonly option还有root=hostname,access=

14、client access=netgroup Forexample: exportfs-a把exports中的路径全部export出去 exportfs-oaccess=engineering:other/usr /usr这路径export後只有engineeringandother这两个 group能够read&write exportfs-oaccess=oak,ro=dancer/usr 设定dancer这台client对/usr为readonly,且只有 oak这一个group能做read /etc/exports档的例 syntax:directory-option,option (

15、设定两个group能rw) /usr-access=engineering:accounting /home-access=engineering:accounting /var/spool/mail-access=engineering:accounting /export/exec/sun3-access=engineering:accounting /export/exec/sun3.sunos.4.1-access=engineering:accounting /export/exec/kvm/sun3.sunos.4.1-access=engineering:accounting /

16、export/root/birch-access=birch,root=birch /export/swap/birch-access=birch,root=birch /export/root/oak-access=oak,root=oak /export/swap/oak-access=oak,root=oak /export/root/willow-access=willow,root=willow /export/swap/willow-access=willow,root=willow /export/root/pine-accsee=pine,root=pine /export/s

17、wap/pine-accsee=pine,root=pine (access=client,root=hostname如此只有这一台client的superuser有权力rw) SettingUpaNFSClient 1.宣告机器为没有磁碟机或没有资料的Client,在使用SunInstall之前 2.编辑好/etc/fstab这一个档,确定要mount的路径都在fstab中 3.依照fstab所设的内容,在Client上设定好Mountpoints (mount_points就是用mkdir设exports所输出的路径) 4.确定我们所要mount的路径,都有出现在/etc/exports中

18、 5.可以启动mount去连结server上的directories(mount-a) /etc/fstab档的例 syntaxfilesystemdirectorytypeoptionsfreqpass oak:/export/root/boomer/nfsrw00 因为档案在server上,notonclient 所以client的设定为0 oak:/export/exec/sun3/usrnfsro00 oak:/export/exec/kvm/sun3/usr/kvmnfsro00 oak:/usr/share/usr/sharenfsro00 oak:/home/oak/home/o

19、aknfsrw,bg00 mount的语法 syntax:mount-ttype-rv-ooptionserver:pathname/mount_point MOUNT: mount-a把/etc/fstab中所列的路径全部挂上 mount-oro,soft,bgdancer:/usr/local/usr/local/dancer 把dancerserver的/usr/localmount到client的 /usr/local/dancer并且是readonly -ttype:你所要mount的型别,如nfsor4.2 -r:所mount的路径定为readonly -v:mount过程的每一个

20、动作,都有messages传回到萤幕上 hard:重复要求,直到server回应为止,但如server一直不回应 theservermaybedown! soft:当client的请求得不到回应,retryonetime後传回 errormessage bg:当第一次请求不成功,第二次的mount将放到背景执行 fg:retriesmount都一直在提示符号下进行 intr:当正在进行NFS请求时,允许用键盘中断 mount成功时的message NFSserverhostnameok mountfail NFSserverhostnamenotresponding,stilltrying .

21、hostnameservernotreponding:RPC:Timedout UNMOUNT: umountmount_point umount-a卸下所有已经mount上的路径 = HowNFSWork? 当我们启动NFSfileserver时,/etc/rc.local会自动启动exportfs这 一个程式,指定可以export的档案或目录,而我们所能mount的也只能是其所指定 的目录. NFS架设在XDR/RPC的协定之上 XDR:(eXternalDataRePResentation)外部资料表示法 XDR(eXternalDataRepresentation)提供一种方法把资料从

22、一种格式转换 成另一种标准资料格式表示法,确保在不同的电脑,作业系统及电脑语言中,所 有资料代表的意义都是相同的 RPC:(RemoteProcedureCalls)远端程序呼叫 RPC(RemoteProcedureCalls)远端程序呼叫,请求远端电脑给予服务.委 托器(client)就会透过网路传送RPC到远端电脑,请求服务. (一般localmachine:clientremotemachine:server) NFS如何运用RPC传送资料 客户端process主服务端process 客户端主服务站 routinesroutines 本地程序呼叫 (1)(10)(6)(5) 客户端主服

23、务端 stubstub 系统呼叫 (2)(9)(7)(4) (8) networknetwork routinesroutines (3) 本地系统核心网路通讯远端系统核心 (1)client送出讯息,请求服务 (2)clientstub(客户株)把client送出的参数转换成XDR-标准资料 格式并用系统呼叫(systemcall)把讯息送到网路上 (3)讯息经过网路送达远端主机系统 (4)远端主机将接受到的讯息传给serverstub(服务站株) (5)把XDR形式的资料,转换成符合主机端的格式,取出client发出的服务 请求参数,送给server (6)-(10)则是逆向而行,serv

24、er送出服务给client rc.local启动守护程式 一个NFSserver要inet,portmap,nfs,mount此四个守护程式,保 持在背景执行的状态下才能运作.(ifrunningNISmustaddypbinddaemon) 当启动NFSfileserver时, the/etc/rc.localscript会做如下的动作 1.执行exportfs,读取servers/etc/exports告诉kernel 所要输出的filehierarchies和存取的权限 (exportfs-a) 2.启动rpc.mountddaemon和nfsddaemon(通常是8个) (rpc.mo

25、untd-nnfsd8&echo-nnfsd) 当启动NFSclient时 rc.local会做如下的动作 1.启动boiddaemons处理读写的程序 (biod8echo-nbiod) 2.执行mount-vatnfs读取clients/etc/fstab并且mount所 有属於NFS-type的files NFSdaemons(守护程式)的功用 nfsd,biod,rpc.mountd,inetd,portmap都可在/usr/etc下找到 nfsd:依client对档案系统的需求情况,而启动 filesystemrequestdaemon 应付client的需求,而一般filesyst

26、emrequestdaemon的数目 是8,这也就是我们在rc.local中写nfsd8&的原因了 biod:此指令是在NFSclient上用的,用来启动 asynchronousblockI/Odaemon 用来建立buffercache,处理在client上的读写 mountd:mountd是一台RPCserver,启动rpc.mountddaemon後它会读取 /etc/xtab查看哪一台client正在mount哪一个filesystem,并回 应client所要mount的路径 (mountd处理的过程可用showmount来看) inetd:inetd(Internetservic

27、esdaemon),当系统启动时rc.local 会启动inetd读取inetd.conf这一个configuration-file, 读取网路上所有serversaddress,连结启动inetd.conf中所 有的server,当client请求服务时,inetd就会为clinet启动 相关的serverdaemon负责任务,如user用telnet时,则 inetd启动telnetd迎合usertelnet的需求,其馀像ftp, finger,rlogin之类的应用程式,inetd也都会启动相对应的 daemons,ftpd,fingerd,rloingd portmap:portmap

28、是一台server,主要功能转换TCP/IP通讯协定的 portnumber变成RPCprogramnumber,因为这样clinet才能 做RPCcalls 一般RPCserver是被inetd所启动的,所以portmap必须 在inetd之前启动,否则无法做RPCcall NFS的网路安全的 NFS使server上的档案能被client所取用,乍看之下好像server上 的档案任何人都可取用没什麽保护性,其实不是如此的.一开始server 要exportfs之前在/etc/exporrc中就已经设定了档案的使用权限,像 /usr/src-access=engineering:account

29、ing 就是限定只有rcgineering和accounting这两台client才能mount /usr/src /usr/src-access=oak,root=oak 这是说只有oak这台cilent能mount这一个路径且只有oakclients superuser才能行使read&write的权力 另外管理者为了维护exported和mounted的安全,一定要建 立公共(public)和私人(secret)的key(passWord),然而这些安全性 问题是要建立在NIS(networkinfomationsystem)上的,有一个 /etc/publickey档,里面记录了pub

30、licandsecretkeys,而这些key 是依照machine_name和user_name,以16进位码表示出来的,管理 者可在有NIS的机器上用 newkey-uusername给予userlogin权力 newkey-hhostname造出login此机器时所需的password 在NFS刚安装时user是nobody任何人都可以进入,所以管理者 一定要做修改,以保护资料的安全. 当使用者为nobody时publickey的内容 netnameuserspublickey:userssecretkey nobody3d91f44568fbbefada5a7:7675cd9b8753

31、b5db09dabf12 在管理者给予user权力之後,user就可使用chkey修改自己的 secretkey创造自己的帐号路口, willow%chkey Generatingnewkeyforusername password: Sendingkeychangerequesttoserver. Done. willow% 所设定的password是使用者位於NIS中的加密键,当我们login时 NIS就会将此密码解开,(因为publickey中是以16进位码记录),存放到 keyserv里加以保管,再将加密键传给client,当client发出请求时, 此键会附在每个NFS请求上一起送到

32、NFSserver上,当加密键和server上 所保存的keyserv核对无错後,请求就会被接受 Whenfailtomountserver 1.用rpcinfo-pserver_name去查看此server是否存在 2.用rpcinfo-userver_namemount查看mountddaemon是否有 在server上执行 3.假如server都没问题,检查server和client之间的 Ethernetconnetions 4.在client上用psax看portmapandseveralbioddaemons runningornot! (rpcinfo:用来对RPCserver做

33、RPC呼叫,回传远端程序呼叫 过程中的讯息) 一些mount失败的错误讯息 1./etc/mtab:Nosuchfileordirectory mtab这一个路径或是档案必须存在,在mount之前 2.mount:.Blockdevicerequired 远端的机器名称可能打错了 3.mount:.notfoundin/etc/fstab fstab一定要存在,client上/etc下 4.notinhostsdatabase /etc/hosts没有这一个hostsdatabase,或是 NIS的daemon,ypbind没有在执行 5.Mustberoottousemount 一般都只有root才能mount,所以mount之前先成 为superuser 6.StaleNFSfilehandle 当我们已经mount上的fileordirectory,在server 上突然被removeorunexport,就会出现此讯息 -本文来自: 动态网站制作() 详细出处参考:

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!