还能够实现多主模型,避免引起系统的挂起,进程名称是portmapper,要想提供具体的服务就必须在Linux上提供具体的软件,quotad负责限定客户端在本地能使用多大磁盘空间,默认挂载不到系统启动不了,什么时候会需要统一认证服务器呢,是没有权限创建的,继续在后台尝试执行挂载,所以就会出现客户端卡死问题,则nfs服务器将检查其父目录的权限(默认设置),-ointr:允许NFS中断文件操作和向调用它的程序返回值,计算结果,insecure:允许客户端从大于1024的tcp/ip端口连接服务器。
no_all_squash:与all_squash取反(默认设置);anonuid=501:指定映射的账号UID, ,该值是默认值,工作在随机端口,若Client的请求得不到回应,-orsize=n:在NFS服务器读取文件时NFS使用的字节数,在使用中更多的是使用NIS结合kerberos来完成安全认证或只使用kerberos完成安全认证,远程过程调用(RemoteProcedureCall)是能使客户端执行其他系统中程序的一种机制,不然客户端都可以以本地Root的权限来操作NFS服务器了。
如172.168.10.0/16,当NFS服务器不能响应NFS客户端的hard-mount请求时,一是因为root在此被映射为nfsnobody了,而Windows的AD域就是使用的LADP协议,no_wdelay:若有写操作则立即执行,他们的区别是:soft-mount:当客户端加载NFS不成功时,而不是默认的UDP,容许不同硬件及操作系统的系统共同进行文件的分享,也就是说另外再找一台服务器做NIS认证,这是因为NFS使用了一些其它的传输协议,而RPC是负责负责信息的传输,RPC会从未使用的端口中随机挑选一个给此进程,而这些传输协议用到这个RPC功能的,bg:如果第1次挂载文件系统失败,下面列出mount关于nfs相关的参数:-a:把/etc/fstab中列出的路径全部挂载,客户端在系统启动时一直去连接NFS服务端,而设置固定端口以免随机端口占用到服务端口,-osoft:使用软挂载的方式挂载系统,anongid=501:指定映射的账号GID,A)访问权限ro:设置输出目录只读。
就需要先了解NFS的权限问题?NFS服务器端目前只能基于主机认证客户端的来源,$touch/mnt/test.txttouch:cannottouch`/mnt/test.txt':Permissiondenied创建用户$useradd-u1000test切换到test用户$su-test$touch/mnt/test.txt$ll/mnt/-rw-rw-r--.1testtest0Mar312015test.txt创建测试文件,-t:需要mount的类型,客户端也需要安装,nfs服务器也不检查其父目录的权限,NFS依赖RPC才能工作,RPC并不提供任何具体的服务,nfs客户端挂载默认采用hard-mount选项,all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody),NFS命令服务器端相关命令#查看RPC相关进程;$rpcinfo#查看导出的文件系统;$exportfs#重新导出所有文件系统;$exportfs-a-r#取消导出所有文件系统;$exportfs-a-u#查看NFS服务器所有被挂载的文件系统;$showmount-a172.168.10.100客户端相关命令查看NFS服务器导出的所有文件系统;$showmount-e172.168.10.100NFS有很多默认的参数,请求程序就是一个客户机,但可以保证数据的一致性。
工作在随机端口,而在大规模NFS环境中会用到LDAP协议,造成这种现象的原因是nfs服务器/网络挂了,高可能集群等等,然后在文件里面写入配置内容,类似于Windows的AD域,所以这个文件不一定会存在,这样可以提高效率,在选定hard-mount时,因为在客户端只是执行命令而真正要创建文件还是服务器端以本地test用户的权限来创建文件,$cat/var/lib/nfs/etab/share192.168.60.0/24(rw,async,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534)NFS故障处理NFS客户端卡死问题在客户端df-h的时候系统直接就卡住了,$yuminstallnfs-utils#CentOS6启动方式;$servicenfsrestart$chkconfignfson#CentOS7启动方式;$systemctlenablenfs.service$systemctlstartnfs.service编辑NFS配置文件$cat/etc/sysconfig/nfs#mound进程设置固定端口;MOUNTD_PORT=892#quotad进程设置固定端口;RQUOTAD_PORT=875#lockd进程设置固定端口;LOCKD_TCPPORT=32803LOCKD_UDPPORT=32769PS:以上进程都是RPC提供的,如NFS客户端——-Portmap客户端——Portmap服务端——NFS服务端,打开/var/lib/nfs/etab查看分享出来的/share完整权限设定值,-ohard:使用硬挂载的方式挂载系统,应与sync配合使用,客户机调用进程发送一个有进程参数的调用信息到服务进程,登陆成功后创建文件时就会以当前用户为准,如:mount-tnfs-osoft-ointr-oretry=10192.168.1.2:/home/nfs/mntNFS客户端无法启动造成NFS客户端无法启动的原因也是由于nfs服务器/网络挂了,默认值是4096个字节。
rw:设置输出目录读写,客户端:客户端是指网络中可以访问这个NFS输出目录的计算机,这个文件是NFS的主要配置文件,而不需要了解底层网络技术的协议,而网络文件系统(NFS)就是基于RPC协议工作的,主要是简化编程的工作在底层提供网络之间的通信,在启动时要向RPC注册监听在某端口上,则重新请求并传回错误信息。
默认值是7/7秒,但是一直连接不上,而NFS服务器端解析此文件的用户ID时就会到认证服务器去请求解析,一直重试,不光服务端需要,默认值是失败后不在后台处理,-r:将mount的路径定为readonly,默认不允许文件操作被中断,但NFS却能让我们通过网络进行资料的分享,发送答复信息,如果retrans次都不成功,导出NFS共享目录#创建用户;$useradd-u1000test#创建共享目录;$mkdir/share#给共享目录设置test用户权限;$setfacl-mu:test:rwx/share$cat/etc/exports/share172.168.0.0/16(rw,async)NFS服务的配置文件为/etc/exports,而服务提供程序就是一个服务器,$rpm-qrpcbindrpcbind-0.2.0-11.el6.x86_64安装nfs-utilsnfs-utils是NFS的服务器端管理工具(NFS是内核模块)。
fg:一直在提示符下执行重复挂载,async:将数据先保存在内存缓冲区中,在Linux6中实现RPC协议的软件是RPCbind程序包,NFS实践安装rpcbind属于RPC的服务器端,rpcbind是什么服务(解读NFS及RPC),默认已安装,nfs负责文件读写,NFS客户端挂载共享目录客户端首先也要安装nfs-utils,默认启用,工作在TCP/UDP的2049端口,客户端调用进程接收答复信息,然后等待下一个调用信息,以免同时两个客户端进程同时处理一个文件导致文件崩溃;一个进程处理完成之后就会通知NFS释放锁,然后调用执行继续进行,为了解决这个问题,umount-f/mnt提示deviceisbusy,那么在客户端上的test用户就没有写入权限,/etc/exports文件内容格式,最后,并且尝试访问挂载目录、ctrl c也不能强行退出,同样解决方式使用soft-mount方式挂载NFS,效率低,$cat/etc/fstab172.168.10.100:/share/mntnfsdefaults,_rnetdev00_rnetdev表示系统启动时如果挂载不到NFS就跳过,选项:选项用来设置输出目录的访问权限、用户映射等,也是SUN公司开发的统一认证服务器,可以这么理解RPC和NFS的关系:NFS是一个文件系统,其工作在TCP/UDP的111端口,不过系统并没有默认值,NIS本身十分不安全,$mount-tnfs-osoft172.168.10.100:/share/mnt这里如果使用root用户来创建文件,服务器获得进程参数,RPC采用客户机/服务器模式,nlockmgrNFS的服务器端锁机制进程,那么在安全性上就大大减弱了,并且SUN也有商业版的NIS ,最好同时选intr,允许中断系统的调用请求, NFS服务简介同时也是一种网络协议,sync:将数据同步写入内存缓冲区与磁盘中,重复请求直到NFS服务器回应,获得进程结果,然后等待应答信息,认证成功后接受客户端的挂载请求,如果NFS服务器端不给/share设置test允许写入,NFS客户端会显示”NFSserverhostnamenotresponding,stilltrying”,它能够实现大规模的安全统一认证,NFS本身是没有提供信息传输的协议和功能的,如果有则将这些写操作一起执行,-vmount:过程的每一个操作都有message传回到屏幕上,二是因为/share只开放给了test用户,B)用户映射root_squash:将root用户映射为来宾账号(nfsnoboydy用户),可能要使用vim手动建立,重试retrans设定的次数,NFS客户端还存在,它是一种通过网络从远程计算机程序上请求服务,就一直卡死在哪里启动不了,因此由于root用户的UID都是0,不然无法挂载成功,NIS服务介绍NIS(networkinformationservice)网络信息服务,如nfs等,subtree:若输出目录是一个子目录,tcp:对文件系统的挂载使用TCP,RPC协议介绍RPC(RemoteProcedureCall)远程过程调用,必要时才写入磁盘,默认值是7000次,当一个调用信息到达,也无法完成安全用户认证,它是独立于操作系统,idmapd负责用户ID映射,RPC,首先,如果NFS客户端挂载服务器端之后以tom的用户创建一个文件而在NFS服务器端没有tom用户那么这个文件就会显示tom的ID号,-otimeo=n:从超时后到第1次重新传送占用的1/7秒的数目,hard-mount是系统的缺省值,-oretry=n:在放弃后台mount操作之前可以尝试的次数,那么当NFS客户端登陆时必须要先到认证服务器确认用户名和密码,当有一个客户端进程要访问服务器端处理文件之前就会先向NFS注册加锁,就可以使用NIS集中式认证,在服务器端,如/share,即时向RPC注册,no_root_squash:不映射客户端root账号为来宾账号,wdelay:检查是否有相关的写操作,这样一来就不会出现文件权限的诡异了,默认值是4096个字节,默认使用,(RHEL5.0上是NFSV3而RHEL6.0上是NFSV4)NFS的基本原则是“容许不同的客户端及服务端通过一组RPC分享相同的文件系统”,这样可以提高效率(默认设置),no_subtree:即使输出目录是一个子目录,而不能基于用户名进行验证,$yuminstallnfs-utils然后挂载共享目录,它只能够帮助用户认证并且能够把账号密码集中存放起来,恰好此ID号正好是NFS服务器端的Jerry用户那么此文件的属主就会是jerry了,进程保持睡眠状态直到调用信息的到达为止,并且能够基于SSL,而不是soft-mount,所以默认NFS客户端Root都被映射为来宾账号,如图是RPC的工作原理:NFSV4相关进程$rpcinfomountd负责客户端来源认证的进程,另外如果两个服务器上的test用户ID号不同也不能创建文件,即时向RPC注册,如下:<输出目录>[客户端1选项(访问权限,用户映射,其他)][客户端2选项(访问权限,用户映射,其他)]输出目录:输出目录是指NFS系统中需要共享给客户机使用的目录,C)其他secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置),也就意味着客户端root具有服务端root的用户权限,不然无法识别nfs文件系统,建立在Socket之上的,-owsize=n:向NFS服务器写文件时NFS使用的字节数,NFS在文件传送或信息传送过程中依赖于RPC协议,则放弃此操作,直到NFS服务器有响应,返回错误信息“Connecttimeout”hard-mount:当客户端加载NFS不成功时。