NFS详解(概念+实验演示) |
您所在的位置:网站首页 › 如何装NFs › NFS详解(概念+实验演示) |
目录 NFS概念 一、NFS服务介绍 1.1什么是NFS? 1.2NFS的文件传输 1.3什么是RPC服务? 二、NFS通讯原理 2.1RPC于NFS如何通讯? 2.2RPC又是如何知道每个NFS功能的端口? 2.3什么是portmap? 三、NFS的优缺点 3.1优点 3.2缺点 四、部署 4.1包安装 4.2挂载 4.2.2 三种挂载方式: 实验演示 一、参数详解 二、练习: NFS概念 一、NFS服务介绍 1.1什么是NFS? NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。 1.2NFS的文件传输NFS这个服务器的端口开在2049,但由于文件系统非常复杂。因此NFS还有其他的程序去启动额外的端口,这些额外的用来传输数据的端口是随机选择的,是小于1024的端口;既然是随机的那么客户端又是如何知道NFS服务器端到底使用的是哪个端口呢?这时就需要通过远程过程调用(Remote Procedure Call,RPC)协议来实现了.RPC服务(portmap 或rpcbind服务) 1.3什么是RPC服务?RPC(Remote Procedure Call)即远程过程调用。RPC 最主要的功能就是在指定每个 NFS 功能所对应的 port number ,并且回报给客户端,让客户端可以连结到正确的port上去 二、NFS通讯原理 2.1RPC于NFS如何通讯? 由于NFS启用的功能相当多,所以对应的端口不固定,需要RPC来统一管理NFS端口,PRC最主要的功能就是指定每个NFS功能所对应的port number,并且通知客户端,让客户端可以连接到正常端口上去。 2.2RPC又是如何知道每个NFS功能的端口?首先当NFS启动后,就会随机的使用一些端口,然后NFS就会向RPC去注册这些端口,RPC就会记录下这些端口,并且RPC会开启111端口,等待客户端RPC的请求,如果客户端有请求,那么服务器端的RPC就会将之前记录的NFS端口信息告知客户端。如此客户端就会获取NFS服务器端的端口信息,就会以实际端口进行数据的传输了。 提示:在启动NFS SERVER之前,首先要启动RPC服务(即portmap服务,下同)否则NFS SERVER就无法向RPC服务区注册,另外,如果RPC服务重新启动,原来已经注册好的NFS端口数据就会全部丢失。因此此时RPC服务管理的NFS程序也要重新启动以重新向RPC注册。 特别注意:一般修改NFS主配置文件后,是不需要重启NFS的,直接在命令执行/etc/init.d/nfs reload或exportfs –rv即可使修改的/etc/exports生效。具体往下看,后面有操作演示。 2.3什么是portmap?功能:主要是把RPC程序号转化为Internet的端口号。 特点:只在第一次建立连接时候帮助网络应用程序找到正确的port,当双方正确连接时,端口就和应用绑定,portmap就无用。相当于媒婆、中介。
图解通讯过程
1)首先服务器端启动RPC服务,并开启111端口 2)服务器端启动NFS服务,并向RPC注册端口信息 3)客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口 4)服务端的RPC(portmap)服务反馈NFS端口信息给客户端。 5)客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输。
三、NFS的优缺点 3.1优点 a.节省本地存储空间将常用的数据存放在一台服务器可以通过网络访问 b.简单容易上手 c.方便部署非常快速,维护十分简单 3.2缺点a.局限性容易发生单点故障,及server机宕机了所有客户端都不能访问 b.在高并发下NFS效率/性能有限 c.客户端没用用户认证机制,且数据是通过明文传送,安全性一般(一般建议在局域网内使用) d.NFS的数据是明文的,对数据完整性不做验证 e.多台机器挂载NFS服务器时,连接管理维护麻烦
四、部署 4.1包安装 nfs-utils:NFS主程序 rpcbind:PRC主程序 4.2挂载4.2.1常用参数: 4.2.2 三种挂载方式: 手动挂载(临时挂载)开机自动挂载autofs挂载(自动挂载)
下面将根据详细的实验演示来详解NFS的操作与挂载 实验演示 一、参数详解 服务器端 1.进入主配置文件中 a)声明需要共享的目录 b)*代表当前主机的IP地址 c)设置权限为只读或读写 2.重新加载配置文件,查看本主机的挂载目录为/data
客户端 1.将NFS服务器的共享目录手动挂载到/mnt下 由于共享目录是只读权限,则不能创建、修改(注意这里提示的是文件系统的权限拒绝)注: 1.若更改服务器的主配置文件中的内容,客户端则不需要再次挂载,因为挂载的目录就是最新的(更改后的,类似于栈) 2.客户端的root用户去向共享目录添加文件时,映射到的是共享目录的其他用户,即应该站在服务器的角度。 测试:首先,更改服务器的共享目录权限,将其他用户的访问增加写权限,然后再客户端创建一个1文件,其所属用户于所属组都为nfsnobody 服务器端: 客户端: 3.若客户端有一个用户在共享目录下创建文件,客户端显示的所属用户于所属组是用户本身,而服务器端显示的是uid与gid,包括上一个案例中的nfsnobody其实就是uid为65534的一个用户。 客户端: 服务器端: 若此时,在服务器端创建一个hehe用户,其uid就是1001,则根据linux中的uid匹配原则,客户端的haha用户创建的ha1文件,在服务器端显示的是hehe用户创建的 案例详解参数: 若在服务器端指定权限的uid,gid为1005,客户端上uid不是1005的用户创建的文件都是1005创建的,这是因为服务器的主配置文件中指定了NFS文件系统的权限,但是如果客户端有一个uid为1005的用户,那么之前创建的文件都变成这个用户的了,服务器端仍是1005的uid创建的文件,同理,若服务器端有一个uid为1005的用户,之前创建的文件都变成uid为1005这个用户创建的了 客户端:
假设情况 客户端 服务器端 总之,文件的所属组,所属用户是根据本地的uid,gid来识别的,这点要牢记 二、练习:架设一台NFS服务器,并按照以下要求配置 1、开放/nfs/shared目录,供所有用户查询资料 ro 2、开放/nfs/upload目录,为192.168.211.0/24网段主机可以上传目录,rw o=rwx并将所有用户及所属的用户组映射为nfs-upload,其UID和GID均为210 3、将/home/tom目录仅共享给192.168.211.131这台主机,并只有用户tom可以完全访问该目录
分析: 第一个文件的权限是所有用户都可以查询资料 则保持文件创建时的初始权限 755 第二个文件的权限是指定网段的用户可以上传文件,则其他用户有读写执行权限 757;参数设置含义是客户端上传的文件在服务器上都是以uid,gid为210的来进行处理,且都为nfs-upload用户与组,所以要在服务器上创建uid,gid为210的所属用户与组 第三个文件的权限是只有tom用户可以访问,即其他用户是没有权限的 750 以上都是再目录权限层更改操作权限
服务器端配置: 通过下面的这条命令使服务器端读取配置了的文件 创建uid,gid为210的nfs-upload用户,tom用户
创建文件后,更改权限 查看挂载的文件
客户端进行测试: 首先,在服务器上创建一些用于测试的文件
客户端上创建文件并挂载 创建/shared,挂载的是NFS服务器的/nfs/shared 创建/upload文件,挂载的是NFS服务器的/nfs/upload
在131主机上创建/tom 文件,挂载的是NFS服务器的/home/tom
测试: 1.不能再客户端的shared文件下创建文件是因为服务器端对此文件的权限是只读,这是文件系统层的拒绝 2.再客户端创建一个文件,由于映射关系的存在,则服务器端的此文件的所属用户与组应该是nfs-upload,而客户端显示的仍然是服务器设置的匿名用户创建文件时的uid,gid都为210
3.由于只有tom用户才可以访问这个tom文件夹,所以客户端的root也不能cd到tom文件夹下 tem用户可以进入tom文件夹内
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |