当前位置:首页 » 存储配置 » nfsv4如何配置

nfsv4如何配置

发布时间: 2022-09-04 13:27:17

linux配置nfs步骤

NFS的配置过程很简单。在服务器端中编辑 /etc/exports 文件,添加如下内容: /home/nfs-share 192.168.1.122 (rw,sync)
第一项是要共享的目录,后者为共享的配置参数一般为: (rw,sync,no_root_squash,no_all_squash,no_subtree_check)
然后开启NFS和portmap服务:
/etc/init.d/nfs start //用service nfs start也可以 /etc/init.d/portmap start //用service portmap stasrt也可以
在centos6.5中portmap已经改为rpcbind 在客户端,用mount –t nfs 192.168.123:/home/nfs-share /home/remote_file挂载服务器端的共享目录到本地的/home/remote-file挂载点,然后我们就可以在客户端上应用到远程主机上的/home/nfs-share目录了。想要系统在开机时自动挂载,修改/etc/fstab文件,把NFS服务器的共享目录添加进去就可以了,这个不用多说。

如何知道远程主机上的共享目录情况呢?使用showmount命令,这个命令需要root权限。它有三个选项(记住这三个选项代表的含义: showmount –a IP 显示指定NFS服务器的客户端以及服务器端在客户端的挂载点 showmount –d IP 显示指定NFS服务器在客户端的挂载点 showmount –e IP 显示指定NFS服务器上的共享目录列表(或者叫输出列表) 我们输入命令showmount –a 192.168.1.123:

图片客户端中出现的mount clntudp_create: RPC: Program not registered错误是怎么回事?噢,我刚才重启了一下服务器端,重启后NFS服务没有开启。 我们开启服务器端的NFS服务,再从客户端上查看一下NFS服务器的情况:

Showmount –a显示出NFS服务器192.168.1.123的共享目录被客户端192.168.122挂载到/home中;

在showmount -e IP,出现clnt_create: RPC: Port mapper failure - Timed out报错
解决方案:
访问的NFS服务器上的防火墙没有添加规则,向iptables里面添加以下查看的所有端口即可(目前解决的方法,当然你也可以关闭防火墙,不过这样是比较不安全的,如果你的nfs作用不大,建议你另选别的应用来替代吧!毕竟开那么多的端口,比较不安全呀!)

通过#rpcinfo -p 10.10.209.148
[root@rh01 /]# rpcinfo -p 10.10.209.148program vers proto port service100000 4 tcp 111 portmapper100000 3 tcp 111 portmapper100000 2 tcp 111 portmapper100000 4 udp 111 portmapper100000 3 udp 111 portmapper100000 2 udp 111 portmapper100024 1 udp 52943 status100024 1 tcp 37706 status100011 1 udp 875 rquotad100011 2 udp 875 rquotad100011 1 tcp 875 rquotad100011 2 tcp 875 rquotad100003 2 tcp 2049 nfs100003 3 tcp 2049 nfs100003 4 tcp 2049 nfs100227 2 tcp 2049 nfs_acl100227 3 tcp 2049 nfs_acl100003 2 udp 2049 nfs100003 3 udp 2049 nfs100003 4 udp 2049 nfs100227 2 udp 2049 nfs_acl100227 3 udp 2049 nfs_acl100021 1 udp 37438 nlockmgr100021 3 udp 37438 nlockmgr100021 4 udp 37438 nlockmgr100021 1 tcp 46331 nlockmgr100021 3 tcp 46331 nlockmgr100021 4 tcp 46331 nlockmgr100005 1 udp 57177 mountd100005 1 tcp 43147 mountd100005 2 udp 49154 mountd100005 2 tcp 54810 mountd100005 3 udp 55707 mountd100005 3 tcp 58309 mountd
[root@rh01 /]#

刚才在重启NFS服务的时候,细心的话可以注意到,我们在输入命令/etc/init.d/nfs start开启nfs服务时,系统还自作主张地开启了NFS quotas等其它3个服务。

怎么回事?我们只输入了一条启动NFS服务的命令,它怎么额外的启动了3个服务?后面的启动portmap服务又是怎么回事? 我们首先要了解一点:NFS文件系统要提供服务单靠本身的NFS服务是不够的,还需要调用其它服务,这个其它服务就是RPC(remote procere call,远程过程调用)服务和portmap服务。由于NFS服务本身不提供文件传输功能,我们要远程使用NFS文件系统就需要RPC服务的支持;而portmap服务用来为RPC服务进行动态端口分配和映射,所以portmap服务也是NFS服务所必须的。

我们查看一下服务的启动情况:

所遇错误:
/etc/init.d/nfs-kernel-server: 没有那个文件或目录
解决方案:
没有配置、安装NFS
Linux 下配置NFS服务
1、安装

2、配置

3、客户端

所遇问题:centos6.5
portmap: 未被识别的服务
解决方案:
由于在6系列里面,portmap已经改名了 ,6系列需要使用 service rpcbind start启动[root@unix-big-bang ~]# service portmap start
portmap: 未被识别的服务
[root@unix-big-bang ~]# service rpcbind status
rpcbind (pid 1312) is running...
[root@unix-big-bang ~]#

好文共赏:
linux nfs文件共享

◆一、概念
NFS是网络文件系统(Network File System)的简称,是分布式计算机系统的一个组成部分,可实现在异构网络上共享和装配远程文件系统。
NFS由SUN公司开发,目前已成为文件服务的一种标准(RFC1904,RFC1813)。其最大的功能就是可以通过网络,让不同 操作系统 的计算机可以共享数据,所以也可以看作是一个文件服务器。NFS是除了SAMBA之外Windows与Linux及Unix与Linux之间通信的方法。

理想条件下的NFS 网络拓扑结构

1、设置Linux系统之间的文件共享(Linux与Windows中间文件共享采用SAMBA服务);
2、NFS只是一种文件系统,本身没有传输功能,是基于RPC协议实现的,才能达到两个Linux系统之间的文件目录共享;
3、NFS为C/S 架构 ;
◆二、服务器配置
1、配置文件
主要配置文件为:/etc/exports
格式为: 共享目录 可mount主机IP(参数1,参数2,……)
如:/var/nfs 172.20. . (rw,sync,no_rootl_squash)
说明:必须注意nfs/目录的访问权限,必须设置成777权限;父目录/var权限无要求,普通的755即可;
2、启动相关服务
然后依次启动相关服务:portmap,nfslock,nfs
service portmap start
service nfslock start
service nfs start
关闭顺序相反。
3、检查共享目录
随后可以采用showmount –e查看一下,看看共享的目录情况:
[root@ns var]# showmount -e
Export list for ns.osserver:
/var/nfs 172.20. .
OK,到此为止,NFS服务器搭建完毕;
◆三、客户端配置
1、确保portmap运行
客户端必须确保RPC协议相应的portmap正常运行,否则mount将失败;
2、挂载/var/nfs目录(本地挂载点为/mnt/nfs)
mount -t nfs 172.20.65.16:/var/nfs /mnt/nfs
成功mount以后,即可同本地目录一样随意操作;
◆四、其它相关命令
1、当修改了/etc/exports文件后,可以不用重新启动nfs服务,直接采用exports –rv 即可重新导出共享目录;
该命令格式如下:
exportfs [-aruv]
-a :全部mount或者unmount /etc/exports中的内容
-r :重新mount /etc/exports中分享出来的目录
-u :umount 目录
-v :在 export 的时候,将详细的信息输出到屏幕上。
具体例子:
[root@ns var]# showmount -e
Export list for ns.osserver:
/var/nfs 172.20. .
[root@ns var]# exportfs –au #全部卸载
[root@ns var]# showmount -e
Export list for ns.osserver:
[root@ns var]# exportfs –rv #全部重新 export 一次
exporting 172.20. . :/var/nfs
[root@ns var]#
2、showmout命令对于NFS的操作和查错有很大的帮助,所以我们先来看一下showmount的用法
showmout
-a :这个参数是一般在NFS SERVER上使用,是用来显示已经mount上本机nfs目录的cline机器。
-e :显示指定的NFS SERVER上export出来的目录。
例如:
[root@localhost ~]# showmount -e 172.20.16.139
Export list for 172.20.16.139 :/root/share 172.20.16.137
[root@ns var]# showmount -a
All mount points on localhost.localdomain: :/root/share,172.20. . :/root/share,172.20.16. :/root/share,172.20.16.139:/nfsshare,172.20.16.139:/root/share172.20.16.137: 172.20.16.137:,172.20. . 172.20.16.137:,172.20.16. 172.20.16.137:/root/share172.20.16.139: 172.20.16.139:,172.20. . 172.20.16.139:,172.20.16. 172.20.16.139:,172.20.16.139172.20.16.139:DEFAULT
◆五、常见问题解答
1、提示:mount to NFS server 餄.20.67.203' failed: server is down.
解决方案:可能是NFS服务器的防火墙有问题;
2、提示:mount: RPC: Timed out
解决方案:由于RPC协议没运行;启动portmap服务;
也有可能是防火墙问题;Server/Client均有可能。

㈡ 已经安装了nfs,但是想要更新到nfs v4,该怎么操作

本地环境描述如下: 操作系统:windows 2003 安装cygwin用来虚拟linux环境 配置了cygwin环境的nfs服务,主要是配置了etc目录下面的exports文件,添加nfs共享目录如下: /cygdrive/e/CGEL/test/rootfs (rw, no_root_squash, no_all_squash) 启动了cygwin的nfs服务相关的三个服务:cygwin mountd, cygwin nfsd, cygwin portmap,关闭了系统的防火墙 远程挂载e盘下的CGEL/test/rootfs不成功,不知道问题出在哪里, 是否有本地测试nfs服务是否能用的命令啊? 比如在linux下有 mount -t nfs 192.168.0.1/local/share /mnt/share的命令可以挂载本地的nfs目录试试看能不能用的 (rw, anonuid = 0)mount -t nfs 192.168.0.1:/local/share /mnt/share这里有个冒号 其他跟你一样在我这用的好好的

㈢ nfsv4 怎么配置

官网提供的可执行文件是基于64位Linux的:zynq_linux.tar.gz. 对于32位的系统,需要自己编译,解决方案如下: 1) 下载代码:git clone git://git.xilinx.com/qemu-xarm.git 2) 配置工程: cd qemu-xarm ./configure --target-list=arm-softmmu...

㈣ 在Windows上自建nfs,性能比较差,这个怎么办

本文描述了在应用环境为Windows系统下,需要使用文件存储的场景。本文采用了私有化部署的方式向用户提供了文件共享存储服务。用NFS协议,搭建Windows环境NFS服务,为Windows系统下的云主机提供共享访问服务。
存储格式都有哪些?
文件、块和对象是三种以不同的方式来保存、整理和呈现数据的存储格式。这些格式各有各的功能和限制。文件存储会以文件和文件夹的层次结构来整理和呈现数据;块存储会将数据拆分到任意划分且大小相同的卷中; 对象存储会管理数据并将其链接至关联的元数据
块存储
块存储主要是将裸磁盘空间整个映射给主机使用的,就是说例如磁盘阵列里面有5块硬盘(为方便说明,假设每个硬盘1G),然后可以通过划逻辑盘、做Raid、或者LVM(逻辑卷)等种种方式逻辑划分出N个逻辑的硬盘。(假设划分完的逻辑盘也是5个,每个也是1G,但是这5个1G的逻辑盘已经于原来的5个物理硬盘意义完全不同了。例如第一个逻辑硬盘A里面,可能第一个200M是来自物理硬盘1,第二个200M是来自物理硬盘2,所以逻辑硬盘A是由多个物理硬盘逻辑虚构出来的硬盘。)
典型设备:磁盘阵列,硬盘
文件存储
为了克服块存储文件无法共享的问题,所以有了文件存储。主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录。本文文件存储采用NFS协议,NFS客户端(一般为应用服务器,例如Web)可以通过挂载(mount)的方式将NFS服务器端共享的数据目录挂载带NFS客户端本地系统中(就是某一个挂载点下)。从客户端本地看,NFS服务器端共享的目录就好像是客户端自己的磁盘分区或目录一样,而实际上确实远端的NFS服务器的目录。
典型设备:FTP、NAS
对象存储
对象存储系统(Object-Based Storage System)是综合了NAS和SAN的优点,同时具有SAN的高速直接访问和NAS的数据共享等优势,提供了高可靠性、跨平台性以及安全的数据共享的存储体系结构。对象存储主要操作对象是对象(Object)。和文件和对象存储相比,没有随机读写的接口。和文件存储相比,没有目录树的概念。协议更注重简洁。
典型设备:内置大容量硬盘的分布式服务器、京东云OSS即对象存储
文件存储的适用场景
文件与较底层的块存储不同, 上升到了应用层, 一般指的就是NAS ,一套网络储存设备, 通过TCP/IP进行访问, 协议为NFSv3/v4由于通过网络。下面简单介绍以下NFS存储适用的两个场景,当然,还有更多的场景适合使用文件存储,本文不一一列出。
Web 服务
前端面向终端用户的服务由多台web服务器提供,多台服务器需要共享文件存储,文件系统、文件命名约定和权限等符合应用系统需求。
媒资管理
媒体行业由于其工作流和媒资是一直变化的,很多用户使用多云或混合云,媒体的剪辑、编辑在本地进行,存储和分发在云端,由于文件存储可以和现有的系统轻松的集成,因此,很多用户将文件存储用于媒资管理。
Windows环境下的NFS文件服务的搭建

选择Windows系统搭建NFS协议文件存储系统的优势如下:
系统交付后由用户进行维护,用户对Windows系统熟悉;
部分应用系统只能访问文件存储;
微软的SMB协议是面向网络连接的共享协议,对网络传输的可靠性要求高,常使用TCP/IP;NFS是独立于传输的,可使用TCP或UDP,同时考虑后期有linux系统扩容需求,故选择NFS协议。
京东云提供Linux环境的文件存储服务,无需另行搭建。(详见https://www.jdcloud.com/cn/procts/cloud-file-service)
本设计的优势:
共享访问-您在同一子网内的多台云主机可以共享同一个云文件服务中的文件存储系统。对于多个应用实例需要共享通用数据源的场景,特别适合使用云文件服务实现。
易于使用-支持标准的NFS协议,提供全托管的服务,无需修改应用,通过标准的文件系统挂载步骤即可实现无缝集成。极大降低迁移成本,简化云上项目开发。
稳定可靠-本系统存储基于京东云云硬盘,采用3副本冗余存储,提供超强的稳定性和可靠性,满足应用服务对文件系统的可用性和可靠性需求。
易于扩展-本系统存储基于京东云云硬盘,可根据业务需求进行存储空间的扩展。
一、创建NFS服务主机
1、创建实例
在京东云上创建一台云主机,作为NFS服务器;NFS服务要和已有云资源创建在同一区域,同一VPC中。
登录京东云控制台,选择弹性计算-云主机-实例,选择创建实例所属地域,点击“创建”按钮,进入云主机购买页面。

2、选择计费模式
包年包月和按配置计费,包年包月按一个正月进行购买付费,按配置计费按照实际使用的时长(精确至秒)每小时进行扣费。

3、地域与可用区选择
在此步骤仍可以选择实例对应的地域(华北-北京、华南-广州、华东-宿迁及华东-上海)及可用区,请注意“不同地域资源内网不互通,创建之后不可更改”,如果所选地域限额已满,可以通过提交工单提升限额。

4、创建方式选择
提供三种创建方式 自定义创建、使用实例模板创建、在高可用组内创建,后两种需要您预先创建好实例模板和高可用组,我们使用保持默认选项“自定义创建”。

5、选择windows系统镜像
镜像分为云硬盘系统盘镜像及本地盘系统盘镜像,前者仅支持创建系统盘为云硬盘的实例,后者仅支持创建系统盘为本地盘的实例。因为搭建windows系统环境的NFS存储,故镜像选择官方-windows server-windows server 2012 R2标准版。

6、选择实例规格
实例的规格支持用户自定义选择,从最小的1核1G(如g.s1.micro)到72C576GB(如m.n2.18xlarge),用户可以根据不同业务场景选择实例规格及相应配置。考虑到NFS对主机计算性能要求不高,选择2核4G规格主机。

7、配置NFS存储
云主机数据盘:数据盘为NFS系统存储盘,可以根据实际业务需要选择容量。(此处选择20G为例)

8、配置实例网络
选择私有网络及子网:VPC子网选择与需要访问NFS存储的云主机所在的VPC。
选择内网IP分配方式:如对内网IP地址没有特殊要求,可以不指定由系统自动在子网可用网段内分配,如需指定请在提示范围内输入,系统会校验IP是否可用。须注意的是,若选择自定义内网IP地址,则无法批量创建实例。
9、选择安全组
实例在创建时必须绑定一个安全组,若当前地域下未创建自定义安全组,可以在系统创建的三个默认安全组中选择一个绑定(每个私有网络创建成功之后都会自动创建三个默认安全组),也可以通过快速入口前往安全组页面创建安全组。由于官方镜像系统内防火墙默认关闭,建议绑定仅开放22端口(Linux)或3389端口(Windows)的安全组,实例创建之后再根据访问需求创建新的安全组并绑定。

10、配置公网带宽
带宽计费方式:京东云提供按固定带宽和按使用流量两种带宽计费类型的弹性公网IP,按固定带宽计费按购买时设置的带宽上限值付费,而与实际访问公网所用带宽无关,按使用流量计费则根据您实时访问公网的实际流量计费。
线路:弹性公网IP线路分为:BGP和非BGP,若您需要更快更高效的网络接入请选用BGP。
带宽范围:1Mbps~200Mbps。在创建主机过程中可以暂不购买公网IP,完成主机创建后,再进行绑定。
NFS存储如果只供VPC内云主机使用,可以不购买公网IP和带宽。

11、设置实例名称、描述
您需要设置创建的主机名,名称不可为空,只支持中文、数字、大小写字母、英文下划线“ _ ”及中划线“ - ”,且不能超过32字符,如果为批量创建购买,名称以“xxx1”、“xxx2”依次显示。同时支持为实例添加描述,描述允许为空,若添加长度不能超过256字符。

12、设置密码
可以选择“立即设置”密码,也可以选择“暂不设置”(系统会以短信和邮件方式发送默认密码),密码除了用于SSH登录实例时的密码,也是控制台通过VNC登录实例的密码。

确认云主机数量及购买时长 购买数量受限该地域您云主机、云硬盘、公网IP限额以及所选子网剩余IP数量,若限额不够,可通过提交工单提升限额。若购买包年包月实例,则需要设置购买时长,最短为1个月,最长为2年,支付十个月费用即可享受一年服务。若需要更长服务时长请提交工单。
点击确认后,返回到控制台,显示创建中,待状态为运行,NFS服务主机创建完毕。

13、登陆云主机

14、添加数据盘
打开,开始菜单-服务器管理器-文件和存储服务-磁盘,如下图:

选择数据硬盘,右键选择新建卷,文件格式为NTSF

二、建立NFS服务

1、安装NFS服务器端组件
打开,开始菜单-服务器管理器”,在主页仪表板中单击“添加角色和功能”,如下图所示。

在“开始之前”对话框中,会显示配置成NFS服务器必要的前提步骤,请按文字介绍的注意事项确认一下,如果没有问题的话,可以单击“下一步”,如下图所示:

在“安装类型”对话框中,选择“基于角色或基于功能的安装”,然后单击“下一步”,如下图所示:

在“服务器选择”对话框中,选择“从服务器池中选择服务器”,然后单击“下一步”:

在“服务器角色”对话框中,选择“文件和存储服务”中“NFS服务器”,然后单击“下一步”,如下图所示:

继续单击“下一步”,如下图所示:

在“确认”对话框中,可以看到我们从第一步到最后一步选择的参数等信息,如果有要修改的地方,可以单击“上一步”返回修改,确认没有问题的话,可以单击“安装”,如下图所示:

至此,Windows系统的NFS服务端安装完毕,根据提示重启服务器。

2、创建共享服务
NFS服务端安装完毕,回到服务器管理器,选择文件和存储服务

选择 共享-启动新加共享向导

选择“NFS共享-快速”

选择数据盘,设置共享名称

选择“身份验证”相关配置,如下图所示:

设置共享权限,权限请根据实际需要设置

创建完毕,显示”已成功创建共享“,如下图所示:

3、设置共享文件夹
在要设定共享的文件夹属性中,选择“NFS共享”栏位,点击“管理NFS共享”, 在“NFS高级共享”对话框中,选择并勾选“共享此文件夹”:

返回服务器管理器,共享对话框中,可以看到刚才新建的文件夹共享已经成功
参考资料:
1、文件存储、块存储还是对象存储?redhat官网
2、块存储、文件存储、对象存储这三者的本质差别是什么?.知乎.2016-1-1[引用日期2017-10-04]
(https://ke..com/reference/18736489/a856jWYROoQogtX1hq-v--)
3、今非昔比:块存储的复杂度提高 .TechTarget存储[引用日期2015-10-21](https://ke..com/reference/18736489/_rJK0l8aRaFmmhbzPj4Kk-4OMDrn9AGlEt1D-YeUws8wnhuYuc7rJUcaI-B0fg)

点击"京东云"了解更多详情

㈤ redhat 哪个版本 支持 nfsv4

本地环境描述如下: 操作系统:windows 2003 安装cygwin用来虚拟linux环境 配置了cygwin环境的nfs服务,主要是配置了etc目录下面的exports文件,添加nfs共享目录如下: /cygdrive/e/CGEL/test/rootfs (rw, no_root_squash, no_all_squash) 启动...

㈥ 要配置nfs服务器在服务器端主要配置什么文件

一、NFS服务简介

NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。

NFS 的基本原则是“容许不同的客户端及服务端通过一组RPC分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。

NFS在文件传送或信息传送过程中依赖于RPC协议。RPC,远程过程调用 (Remote Procere Call) 是能使客户端执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些其它的传输协议。而这些传输协议用到这个RPC功能的。可以说NFS本身就是使用RPC的一个程序。或者说NFS也是一个RPC SERVER。所以只要用到NFS的地方都要启动RPC服务,不论是NFS SERVER或者NFS CLIENT。这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC是负责负责信息的传输。

二、系统环境

系统平台:CentOS release 5.6 (Final)

NFS Server IP:192.168.1.108

防火墙已关闭/iptables: Firewall is not running.

SELINUX=disabled

三、安装NFS服务

NFS的安装是非常简单的,只需要两个软件包即可,而且在通常情况下,是作为系统的默认包安装的。

nfs-utils-* :包括基本的NFS命令与监控程序
portmap-* :支持安全NFS RPC服务的连接
1、查看系统是否已安装NFS

系统默认已安装了nfs-utils portmap 两个软件包。

2、如果当前系统中没有安装NFS所需的软件包,需要手工进行安装。nfs-utils 和portmap 两个包的安装文件在系统光盘中都会有。

复制代码
# mount /dev/cdrom /mnt/cdrom/
# cd /mnt/cdrom/CentOS/
# rpm -ivh portmap-4.0-65.2.2.1.i386.rpm
# rpm -ivh nfs-utils-1.0.9-50.el5.i386.rpm
# rpm -q nfs-utils portmap
复制代码

四、NFS系统守护进程

nfsd:它是基本的NFS守护进程,主要功能是管理客户端是否能够登录服务器;
mountd:它是RPC安装守护进程,主要功能是管理NFS的文件系统。当客户端顺利通过nfsd登录NFS服务器后,在使用NFS服务所提供的文件前,还必须通过文件使用权限的验证。它会读取NFS的配置文件/etc/exports来对比客户端权限。
portmap:主要功能是进行端口映射工作。当客户端尝试连接并使用RPC服务器提供的服务(如NFS服务)时,portmap会将所管理的与服务对应的端口提供给客户端,从而使客户可以通过该端口向服务器请求服务。
五、NFS服务器的配置

NFS服务器的配置相对比较简单,只需要在相应的配置文件中进行设置,然后启动NFS服务器即可。

NFS的常用目录

/etc/exports NFS服务的主要配置文件
/usr/sbin/exportfs NFS服务的管理命令
/usr/sbin/showmount 客户端的查看命令
/var/lib/nfs/etab 记录NFS分享出来的目录的完整权限设定值
/var/lib/nfs/xtab 记录曾经登录过的客户端信息
NFS服务的配置文件为 /etc/exports,这个文件是NFS的主要配置文件,不过系统并没有默认值,所以这个文件不一定会存在,可能要使用vim手动建立,然后在文件里面写入配置内容。

/etc/exports文件内容格式:

<输出目录> [客户端1 选项(访问权限,用户映射,其他)] [客户端2 选项(访问权限,用户映射,其他)]
a. 输出目录:

输出目录是指NFS系统中需要共享给客户机使用的目录;

b. 客户端:

客户端是指网络中可以访问这个NFS输出目录的计算机

客户端常用的指定方式

指定ip地址的主机:192.168.0.200
指定子网中的所有主机:192.168.0.0/24 192.168.0.0/255.255.255.0
指定域名的主机:david.bsmart.cn
指定域中的所有主机:*.bsmart.cn
所有主机:*
c. 选项:

选项用来设置输出目录的访问权限、用户映射等。

NFS主要有3类选项:

访问权限选项

设置输出目录只读:ro
设置输出目录读写:rw
用户映射选项

all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);
no_all_squash:与all_squash取反(默认设置);
root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置);
no_root_squash:与rootsquash取反;
anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);
anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);
其它选项

secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);
insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
async:将数据先保存在内存缓冲区中,必要时才写入磁盘;
wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置);
no_wdelay:若有写操作则立即执行,应与sync配合使用;
subtree:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);
no_subtree:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;
六、NFS服务器的启动与停止

在对exports文件进行了正确的配置后,就可以启动NFS服务器了。

1、启动NFS服务器

为了使NFS服务器能正常工作,需要启动portmap和nfs两个服务,并且portmap一定要先于nfs启动。

# service portmap start
# service nfs start

2、查询NFS服务器状态

# service portmap status
# service nfs status

3、停止NFS服务器

要停止NFS运行时,需要先停止nfs服务再停止portmap服务,对于系统中有其他服务(如NIS)需要使用时,不需要停止portmap服务

# service nfs stop
# service portmap stop
4、设置NFS服务器的自动启动状态

对于实际的应用系统,每次启动LINUX系统后都手工启动nfs服务器是不现实的,需要设置系统在指定的运行级别自动启动portmap和nfs服务。

# chkconfig --list portmap
# chkconfig --list nfs

设置portmap和nfs服务在系统运行级别3和5自动启动。

# chkconfig --level 35 portmap on
# chkconfig --level 35 nfs on

七、实例

1、将NFS Server 的/home/david/ 共享给192.168.1.0/24网段,权限读写。

服务器端文件详细如下:

# vi /etc/exports

/home/david 192.168.1.0/24(rw)
2、重启portmap 和nfs 服务

# service portmap restart
# service nfs restart
# exportfs

3、服务器端使用showmount命令查询NFS的共享状态

# showmount -e//默认查看自己共享的服务,前提是要DNS能解析自己,不然容易报错

# showmount -a//显示已经与客户端连接上的目录信息

4、客户端使用showmount命令查询NFS的共享状态

# showmount -e NFS服务器IP

5、客户端挂载NFS服务器中的共享目录

命令格式

# mount NFS服务器IP:共享目录 本地挂载点目录
# mount 192.168.1.108:/home/david/ /tmp/david/

# mount |grep nfs

挂载成功。

查看文件是否和服务器端一致。

6、NFS的共享权限和访问控制

现在我们在/tmp/david/ 里面建立一个文件,看看权限是什么

# touch 20130103

这里出现Permission denied,是因为NFS 服务器端共享的目录本身的写权限没有开放给其他用户,在服务器端打开该权限。

# chmod 777 -R /home/david/

再次在客户端/tmp/david/ 里面建立一个文件

我用root 用户建立的文件,变成了nfsnobody 用户。

NFS有很多默认的参数,打开/var/lib/nfs/etab 查看分享出来的/home/david/ 完整权限设定值。

# cat /var/lib/nfs/etab

默认就有sync,wdelay,hide 等等,no_root_squash 是让root保持权限,root_squash 是把root映射成nobody,no_all_squash 不让所有用户保持在挂载目录中的权限。所以,root建立的文件所有者是nfsnobody。

下面我们使用普通用户挂载、写入文件测试。

# su - david

$ cd /tmp/david/

$ touch 2013david

普通用户写入文件时就是自己的名字,这也就保证了服务器的安全性。
关于权限的分析

1. 客户端连接时候,对普通用户的检查

a. 如果明确设定了普通用户被压缩的身份,那么此时客户端用户的身份转换为指定用户;

b. 如果NFS server上面有同名用户,那么此时客户端登录账户的身份转换为NFS server上面的同名用户;

c. 如果没有明确指定,也没有同名用户,那么此时 用户身份被压缩成nfsnobody;

2. 客户端连接的时候,对root的检查

a. 如果设置no_root_squash,那么此时root用户的身份被压缩为NFS server上面的root;

b. 如果设置了all_squash、anonuid、anongid,此时root 身份被压缩为指定用户;

c. 如果没有明确指定,此时root用户被压缩为nfsnobody;

d. 如果同时指定no_root_squash与all_squash 用户将被压缩为 nfsnobody,如果设置了anonuid、anongid将被压缩到所指定的用户与组;

7、卸载已挂载的NFS共享目录

# umount /tmp/david/

八、启动自动挂载nfs文件系统

格式:

<server>:</remote/export> </local/directory> nfs < options> 0 0
# vi /etc/fstab

保存退出,重启系统。

查看/home/david 有没有自动挂载。

自动挂载成功。

九、相关命令

1、exportfs

如果我们在启动了NFS之后又修改了/etc/exports,是不是还要重新启动nfs呢?这个时候我们就可以用exportfs 命令来使改动立刻生效,该命令格式如下:

# exportfs [-aruv]

-a 全部挂载或卸载 /etc/exports中的内容
-r 重新读取/etc/exports 中的信息 ,并同步更新/etc/exports、/var/lib/nfs/xtab
-u 卸载单一目录(和-a一起使用为卸载所有/etc/exports文件中的目录)
-v 在export的时候,将详细的信息输出到屏幕上。

具体例子:
# exportfs -au 卸载所有共享目录
# exportfs -rv 重新共享所有目录并输出详细信息

2、nfsstat

查看NFS的运行状态,对于调整NFS的运行有很大帮助。

3、rpcinfo
查看rpc执行信息,可以用于检测rpc运行情况的工具,利用rpcinfo -p 可以查看出RPC开启的端口所提供的程序有哪些。

4、showmount

-a 显示已经于客户端连接上的目录信息
-e IP或者hostname 显示此IP地址分享出来的目录

5、netstat

可以查看出nfs服务开启的端口,其中nfs 开启的是2049,portmap 开启的是111,其余则是rpc开启的。

最后注意两点,虽然通过权限设置可以让普通用户访问,但是挂载的时候默认情况下只有root可以去挂载,普通用户可以执行sudo。

NFS server 关机的时候一点要确保NFS服务关闭,没有客户端处于连接状态!通过showmount -a 可以查看,如果有的话用kill killall pkill 来结束,(-9 强制结束)

㈦ 通过笔记本电脑如何对SUN T5120服务器进行单机调试,如配置IP地址

这个型号的服务器是无法外接键盘、鼠标、显示器的。只能用console连接线,通过超级终端进去调试。

SunSparcEnterpriseT5120安装过程简述

硬件安装及启动

机器加电后通过NETMGTPORT进入系统的ALOM系统

用如下命令设置串口模式为SC:

create/SP/users/admin

set/SP/users/adminrole=Administrator

set/SP/users/admincli_mode=alom

exit

用admin登录alom系统

sc>poweron#启动机器

sc>console

raid卡配置磁盘镜像

{0}oksetenvauto-bootfalse

{0}oksetenvfcode-debugtrue

#如果为true,将包括软插件设备Fcodes的名字参数。默认值为false

{0}okshow-disks

{0}okselect/pci@0/pci@0/pci@2/scsi@0

{0}okls

{0}ok01create-im-volume

{0}okshow-volumes

{0}okunselect-dev

{0}okbootcdrom–s

三、系统的安装

1、对做好的raid执行label

在{0}okbootcdrom–s

前放入solaris的dvd光盘

进入SINGLEUSERMODE后

#format

AVAILABLEDISKSELECTIONS:

0.c1t0d0<LSILOGIC-LogicalVolume-3000cyl65533alt2hd16sec273>

/pci@0/pci@0/pci@2/scsi@0/sd@0,0

Specifydisk(enteritsnumber):0

selectingc1t0d0

[diskformatted]

WARNING:/pci@0/pci@0/pci@2/scsi@0/sd@0,0(sd0):

Corruptlabel-badgeometry

Disknotlabeled.;Drivesays286607360blocks

Disknotlabeled.Labelitnowy

2、恢复OK状态下的设置

#init0

#syncingfilesystems...done

Programterminated

r)eboot,o)kprompt,h)altO

{0}ok

{0}ok

{0}oksetenvauto-boottrue

auto-boot=true

{0}oksetenvfcode-debugfalse

fcode-debug=false

{0}okreset-all

3、开始系统安装

1)放入solaris10的DVD光盘,OK下键入bootcdrom

2)安装交互过程提示语言

6.SimplifiedChinese(0.English也可)

3)使用的终端类型

3)DECVT100

4)KeyboardLayout

[X]US-English

5)网络相关(当时的配置情况,仅供参考)

联网的:是

使用DHCP:否

主机名:erptest

IP地址:192.168.0.251

子网的系统部分:是

网掩码:255.255.255.0

启用IPv6:否

缺省路由:指定一个

配置Kerberos安全性【否】

命名服务【None】

当前NFSv4缺省域为[X]使用系统派生的NFSv4域

时区选【亚洲】【中国】

日期时间正确输入日期/时间

……完成系统标识

6)OS安装部分

1)交互式安装

2)标准安装

3)[X]自动弹出CD/DVD

[X]自动重新引导

4)接受协议

5)选择地理区域亚洲,选择所有简体中文的字符集

6)选择系统语言环境[X][简体中文EUC](zh)

7)附加产品【无】

8)选择软件完整分发加OEM支持

9)选择磁盘(这里只有一个,也是系统的引导盘,按客户需求分区如下)

10)/c1t0d0s027001MB

swapc1t0d0s132000MB

overlapc1t0d0s2139769MB

/export/homec1t0d0s380001MB

11)装配远程文件系统吗?【否】

确认安装Solaris软件的简要表后,即开始系统的正式安装

……

12)执行SolStart后设阶段。。。

系统装好重起后,有sendmail的warning出来,关闭sendmail服务即可。

#svcadmdisable/network/smtp:sendmail

13)开启控制器的多路径

#stmsboot–e

(可以重起,也可以打完补丁后再重起)

字数限制,后面的就不写了

㈧ Ubuntu 16.04 搭建 NFS 文件共享服务器

服务器端需要安装 nfs-kernel-server 软件包:
$ sudo apt-get update
$ sudo apt-get install nfs-kernel-server

默认情况下,NFS 服务器上定义了某个共享目录,则该目录及其子目录下的所有文件都可被访问。
出于对安全的考虑,客户端任何需要 超级用户 (即 root 用户,UID=0 & GID=0)权限的文件操作都默认映射到 UID=65534 和 GID=65534 的用户,即 Ubuntu 系统中的 nobody:nogroup。
例如客户端使用 root 权限在挂载的共享目录中创建文件时,该文件的 属主 属组 自动变为 nobody:nogroup ,而非 root:root

sudo mkdir -p /var/nfs/gernel
sudo mkdir -p /var/nfs/public
sudo chown nobody:nogroup /var/nfs/gernel

为了使 NFS 服务器定义的共享文件可被指定的客户端主机访问,需要在服务器端的 /etc/exports 文件中添加对应的记录。
该文件的格式如下:
Directory Host(Options ...) Host(Options) #comment
关于 /etc/exports 文件的详细语法格式可参考 man exports 。

文件示例:

列出 nfs 服务器上的共享目录

创建挂载点
sudo mkdir -p /mnt/nfs/gernel
sudo mkdir -p /mnt/nfs/public
sudo mkdir -p /mnt/nfs/starky

挂载远程目录
sudo mount 192.168.56.102:/var/nfs/gernel /mnt/nfs/gernel
sudo mount 192.168.56.102:/var/nfs/public /mnt/nfs/public
sudo mount 192.168.56.102:/home/starky /mnt/nfs/starky

权限测试

NFS 的权限设定基于 Linux 文件系统的权限管理,即客户端挂载远程共享目录后,会把它们当成本地磁盘目录一样对待,也是根据文件的属主(组)及其对应的权限设定来限制访问。
gernel 目录的属主(组)为 nobody:nogroup(65534:65534),所以虽然该目录为读写权限,非 root 用户无法执行新建操作。而 root 用户由于 NFS 默认的安全机制,会自动映射到 nobody:nogroup。
由于我在客户端和服务端都有一个名为 starky 的用户,且它们的 UID:GID 都为1000:1000,所以服务端的 /home/starky 目录可以直接被客户端的 starky 用户访问。且由于 no_root_squash 选项,通过 sudo 命令创建的文件其属主仍为 root(而不会再映射为 nobody)。
当然这会导致一些安全问题,比如多个客户端同时都有 UID(GID)为1000的用户(不管用户名是什么),则这些用户会共享服务端 /home/starky 目录里的文件权限。

可编辑 /etc/fstab 文件令挂载共享目录的 mount 操作成为系统的固定配置(手动输入的 mount 命令属于临时挂载,重启会自动卸载),使得系统重启后可以自动挂载远程文件系统。 /etc/fstab 文件的示例内容如下:

/etc/exports 文件的格式为: Directory Host(Options ...) Host(Options) #comment
其中的 Host 项用来指定可访问对应共享目录的主机,其格式可分为以下几种:

传输协议
最初的 NFSv2 由于性能原因使用 UDP 协议,虽然 NFS 添加了自己的 包序列重组 错误检查 功能,但 UDP 和 NFS 都不具备 阻塞控制 算法,所以在大型的互联网络环境中缺乏足够的性能。
NFSv3 提供了 UDP 和 TCP 协议之间的选择。NFSv4 只能使用 TCP 协议。
随着 CPU,内存等硬件设备和网络传输速度的提高,最初由于性能需求而倾向 UDP 协议的选择也变得不再必要。

State
NFSv2 和 NFSv3 是 无状态 的连接,服务端不会跟踪客户端对共享目录的挂载情况,而是使用 "cookie" 来记录一次成功的挂载。"cookie" 不会因为服务器重启而删除,可以用来在服务器挂掉之后保留客户端的连接信息。
NFSv4 是 有状态 的连接,客户端和服务端都会维护文件操作纪录及文件锁的状态。所以不再需要 "cookie" 的使用。

文件锁
早期版本的 NFS 协议(v2 & v3)由于是 无状态 的连接,它们并不清楚哪些主机正在使用哪些文件。但是文件锁的实现又需要获取状态信息。所以早期协议中的文件锁是独立于 NFS 实现的。
而 NFSv4 将文件锁的实现整合到了核心协议中,虽然此举增加了复杂度,但同时也解决了早期版本中的很多问题。
但是为了兼容使用 V2 和 V3 协议的客户端,独立的 locked statd 守护进程仍旧需要。

安全相关
NFS 协议最初在设计时并不关注安全性,NFSv4 通过引入对更强大的安全服务和身份验证的支持,加强了该协议的安全性。

传统的 NFS 协议大多使用 AUTH_SYS 验证方式,基于 UNIX 的用户和组标识。在这种方式下,客户端只需要发送自己的 UID 和 GID 并与服务器上的 /etc/passwd 文件内容作对比,以决定其拥有怎样的权限。
所以当多个客户端存在 UID 相同的用户时,这些用户会拥有相同的文件权限。更进一步,拥有 root 权限的用户可以通过 su 命令切换到任意 UID 登录,服务器会因此给予其对应 UID 的权限。
为了防止上面的问题出现,服务器可选择使用更健壮的验证机制比如 Kerberos 结合 NFS PRCSEC_GSS。

NFS 共享目录的访问控制基于 /etc/exports 文件中定义的主机名或 IP 地址。但是客户端很容易针对其身份和 IP 地址造假,这也会导致一些安全问题。
NFSv4 只使用 TCP 作为自己的传输协议,而且通常只开放 2049 端口进行数据传输。在配置防火墙时,除了放开 2049 端口的限制外,还要时刻注意数据传输的源地址和目标地址。

win10 系统默认不能挂载 NFS 共享目录,需要进入 控制面板 - 程序 - 程序和功能 - 启用或关闭 Windows 功能 ,勾选上 NFS 服务

UNIX and Linux System Administration Handbook, 4th Edition
How to Mount an NFS Share Using a Windows 10 Machine

㈨ 如何在linux操作系统中配置NFS服务器

1.
服务端安装:
1.setup
2.System
Services
3.分别选中portmap与nfs
4.service
portmap
restart
5.service
nfs
restart
权限文件配置示例:
1.vi
/etc/exports
2.写入/usr/www/
192.168.153.133(rw,no_root_squash,sync)
/usr/local/www指本地路径
192.168.153.133远程IP
(rw,no_root_squash,sync)读写并权限过渡
3.service
nfs
restart

㈩ NFS笔记(二)NFS服务器配置实例

一、NFS服务器配置实例

实验拓扑

二、实验要求及环境

2.1实验环境

NFS服务器 IP:192.168.8.5

环境:

[root@server7 ~]# uname -a

Linux server7.ctos.zu 3.10.0-514.el7.centos.plus.i686 #1 SMP Wed Jan 25 12:55:04 UTC 2017 i686 i686 i386 GNU/Linux

[root@server7 ~]# cat /etc/redhat-release

CentOS release 7.3.1611 (AltArch)

客户端IP:192.168.8.7

环境:

[root@client-A ~]# uname -a

Linux client-A.ctos.zu 2.6.32-696.el6.i686 #1 SMP Tue Mar 21 18:53:30 UTC 2017 i686 i686 i386 GNU/Linux

[root@client-A ~]# cat /etc/redhat-release

CentOS release 6.9 (Final)

2.2、实验要求

NFS服务器

1、/home/share 目录可读写,并且不限制用户身份,共享给192.168.8.0/24网段不的所有主机;

2、/home/data 这个目录仅共享给192.168.8.7这台主机,以供该主机上面的这个用户来使用,

也就是说在192.168.8.5和192.168.8.7上均有账号,且账号均为;

3、/home/upload 这个目录做为192.168.8.0/24网段的数据上传目录,其中/home/upload

的用户和所属组为nfs-upload这个名字,它的UID和GID均为222;

4、/home/nfs  这个目录的属性为只读,可提供除了网段内的工作站外,向Internet也提供数据内容。

三、服务器端设置

1、 编辑/etc/exports内容

[root@server7 etc]# cat /etc/exports

/home/share  192.168.8.0/24(rw,no_root_squash)

/home/data  192.168.8.7(rw)

/home/upload   192.168.8.0/24(rw,all_squash,anonuid=222,anongid=222)

/home/nfs     192.168.8.0/24(ro)  *(ro,all_squash)

2、按要求建立每个对应目录

    2.1、创建/home/share目录 任何人都可以在 /home/share内新增、修改文件,但

    仅有该文件/目录的建立者与root能够删除自己的目录或文件。

    [root@server7 etc]# mkdir -p  /home/share

    [root@server7 etc]# ll -d /home/share/

    drwxr-xr-x. 2 root root 6 9月   5 15:50 /home/share/

    [root@server7 etc]# chmod 1777  /home/share/

    [root@server7 etc]# ll -d /home/share/

    drwxrwxrwt. 2 root root 6 9月   5 15:50 /home/share/

    2.2、创建/home/nfs

    [root@server7 etc]# ll -d /home/nfs/

    drwxr-xr-x. 2 root root 6 9月   5 16:52 /home/nfs/

    2.3、创建/home/data目录

    [root@server7 etc]# mkdir -v /home/data

    mkdir: 已创建目录 "/home/data"

    [root@server7 etc]# ll -d /home/data/

    drwxr-xr-x. 2 root root 6 9月   5 16:57 /home/data/

    [root@server7 etc]# useradd

    root@server7 etc]# passwd

    更改用户 的密码 。

    新的 密码:

    无效的密码: 密码少于 8 个字符

    重新输入新的 密码:

    passwd:所有的身份验证令牌已经成功更新。

    [root@server7 etc]# cat /etc/passwd | grep

    :x:1000:1000::/home/:/bin/bash

    [root@server7 etc]# chmod 700 /home/data/

    [root@server7 etc]# chown -R : /home/data/

    [root@server7 etc]# ll -d /home/data/

    drwx------. 2 6 9月   5 16:57 /home/data/

    2.4、创建/home/upload目录

#先建立对应账号与组名及UID

[root@server7 etc]# groupadd  -g 222 nfs-upload

[root@server7 etc]# useradd -g 222 -u 222 -M nfs-upload

[root@server7 etc]# cat /etc/passwd|grep nfs

rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin

nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

nfs-upload:x:222:222::/home/nfs-upload:/bin/bash

#创建目录,修改属主

[root@server7 etc]# mkdir /home/upload

[root@server7 etc]# chown -R nfs-upload:nfs-upload  /home/upload/

[root@server7 etc]# ll -d /home/upload/

drwxr-xr-x. 2 nfs-upload nfs-upload 6 9月   6 08:38 /home/upload/

2.5、重启NFS服务

[root@server7 etc]# systemctl restart  nfs

[root@server7 etc]# systemctl status  nfs

● nfs-server.service - NFS server and services

   Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; vendor preset: disabled)

   Active: active (exited) since 三 2017-09-06 08:41:40 CST; 8s ago

  Process: 9171 ExecStopPost=/usr/sbin/exportfs -f (code=exited, status=0/SUCCESS)

  Process: 9169 ExecStopPost=/usr/sbin/exportfs -au (code=exited, status=0/SUCCESS)

  Process: 9168 ExecStop=/usr/sbin/rpc.nfsd 0 (code=exited, status=0/SUCCESS)

  Process: 9181 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=0/SUCCESS)

  Process: 9180 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)

 Main PID: 9181 (code=exited, status=0/SUCCESS)

   CGroup: /system.slice/nfs-server.service

9月 06 08:41:40 server7.ctos.zu systemd[1]: Starting NFS server and services...

9月 06 08:41:40 server7.ctos.zu systemd[1]: Started NFS server and services.

[root@server7 etc]# tail /var/log/messages

Sep  6 08:41:40 server7 systemd: Started NFS Mount Daemon.

Sep  6 08:41:40 server7 rpc.mountd[9178]: Version 1.3.0 starting

Sep  6 08:41:40 server7 systemd: Started NFSv4 ID-name mapping service.

Sep  6 08:41:40 server7 systemd: Starting NFS server and services...

Sep  6 08:41:40 server7 kernel: NFSD: starting 90-second grace period (net c0c932c0)

Sep  6 08:41:40 server7 systemd: Started NFS server and services.

Sep  6 08:41:40 server7 systemd: Starting Notify NFS peers of a restart...

Sep  6 08:41:40 server7 sm-notify[9198]: Version 1.3.0 starting

Sep  6 08:41:40 server7 sm-notify[9198]: Already notifying clients; Exiting!

Sep  6 08:41:40 server7 systemd: Started Notify NFS peers of a restart.

2.6、查看NFS服务器共享出来目录

2.7、关闭防火墙、selinux

2.8查看配置

[root@server7 ~]# exportfs -v

/home/data     192.168.8.7(rw,wdelay,root_squash,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)

/home/share       192.168.8.0/24(rw,wdelay,no_root_squash,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)

/home/upload      192.168.8.0/24(rw,wdelay,root_squash,all_squash,no_subtree_check,anonuid=222,anongid=222,sec=sys,rw,secure,root_squash,all_squash)

/home/nfs         192.168.8.0/24(ro,wdelay,root_squash,no_subtree_check,sec=sys,ro,secure,root_squash,no_all_squash)

/home/nfs         <world>(ro,wdelay,root_squash,all_squash,no_subtree_check,sec=sys,ro,secure,root_squash,all_squash)

四、客户端配置

4.1、客户端也要安装nfs-utils和rcpbind软件包

[root@client-A ~]# yum install nfs-utils rpcbind -y

4.2、启动RPC

[root@client-A ~]# service rpcbind start  /systemctl start rpcbind

Starting rpcbind:                                          [  OK  ]

[root@client-A ~]# service rpcbind status

rpcbind (pid  1926) is running...

[root@client-A ~]# chkconfig --list |grep rpcbind

4.3、客户端关闭防火墙、selinux

[root@client-A ~]# service iptables stop /systemctl stop firewalld

iptables: Setting chains to policy ACCEPT: filter          [  OK  ]

iptables: Flushing firewall rules:                         [  OK  ]

iptables: Unloading moles:                               [  OK  ]

4.4测试网络

[root@client-A ~]# ping 192.168.8.5

PING 192.168.8.5 (192.168.8.5) 56(84) bytes of data.

64 bytes from 192.168.8.5: icmp_seq=1 ttl=64 time=2.16 ms

64 bytes from 192.168.8.5: icmp_seq=2 ttl=64 time=0.697 ms

64 bytes from 192.168.8.5: icmp_seq=3 ttl=64 time=0.346 ms

64 bytes from 192.168.8.5: icmp_seq=4 ttl=64 time=0.336 ms

64 bytes from 192.168.8.5: icmp_seq=5 ttl=64 time=0.335 ms

64 bytes from 192.168.8.5: icmp_seq=6 ttl=64 time=0.317 ms

64 bytes from 192.168.8.5: icmp_seq=7 ttl=64 time=0.512 ms

64 bytes from 192.168.8.5: icmp_seq=8 ttl=64 time=0.320 ms

^C

--- 192.168.8.5 ping statistics ---

8 packets transmitted, 8 received, 0% packet loss, time 7555ms

rtt min/avg/max/mdev = 0.317/0.629/2.169/0.595 ms

4.5 在客户端查看NFS服务器共享出来目录

[root@client-A ~]# showmount -e 192.168.8.5

Export list for 192.168.8.5:

/home/nfs     (everyone)

/home/upload  192.168.8.0/24

/home/share   192.168.8.0/24

/home/data 192.168.8.7

4.6、挂载NFS服务器上/home/nfs目录到本地/opt/data目录下

#临时挂载

#永久挂载

编辑、/etc/fstab文件,新增如下条目:

192.168.8.5:/home/nfs  /opt/data/ nfs4 defaults 0 0

更多信息参考 nfs参数详解

#查看信息

[root@client-A data] # df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/VolGroup-lv_root

                      6.5G  644M  5.6G  11% /

tmpfs                 250M     0  250M   0% /dev/shm

/dev/sda1             477M   26M  426M   6% /boot

192.168.8.5:/home/nfs

                      8.0G  1.6G  6.5G  20% /opt/data

[root@client-A data]# mount

/dev/mapper/VolGroup-lv_root on / type ext4 (rw)

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

devpts on /dev/pts type devpts (rw,gid=5,mode=620)

tmpfs on /dev/shm type tmpfs (rw)

/dev/sda1 on /boot type ext4 (rw)

none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

nfsd on /proc/fs/nfsd type nfsd (rw)

192.168.8.5:/home/nfs on /opt/data type nfs (rw,vers=4,addr=192.168.8.5,clientaddr=192.168.8.7)

#创建文件测试

[root@client-A data]# touch testabc

touch: cannot touch `testabc': Read-only file system

4.7挂载/home/upload 目录到客户端/opt/upload目录下

#挂载

[root@client-A data]# mkdir /opt/upload

[root@client-A data]# mount -t nfs  192.168.8.5:/home/upload   /opt/upload/

#查看挂载是否成功

[root@client-A data]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/VolGroup-lv_root

                      6.5G  644M  5.6G  11% /

tmpfs                 250M     0  250M   0% /dev/shm

/dev/sda1             477M   26M  426M   6% /boot

192.168.8.5:/home/nfs

                      8.0G  1.6G  6.5G  20% /opt/data

192.168.8.5:/home/upload

                      8.0G  1.6G  6.5G  20% /opt/upload

#客户端创建nfs-upload用户

[root@client-A ~]# groupadd  -g 222 nfs-upload

[root@client-A ~]# useradd -g 222 -u 222 -m nfs-upload

#测试,可以看到创建的文件及目录默认属主为nfs-upload属组为nfs-upload

[@client-A upload]$ pwd

/opt/upload

[@client-A upload]$ ll

total 0

#测试创建文件

[@client-A upload]$ touch test123

测试创建目录

[@client-A upload]$ mkdir  testdir

[@client-A upload]$ ll -a

total 4

drwxr-xr-x  3 nfs-upload nfs-upload   36 Sep  6 10:28 .

drwxr-xr-x. 4 root       root       4096 Sep  6 18:22 ..

-rw-rw-r--  1 nfs-upload nfs-upload    0 Sep  6 10:28 test123

drwxrwxr-x  2 nfs-upload nfs-upload    6 Sep  6 10:28 testdir

# 在客户端用root用户创建文件测试

root@client-A upload]# touch testabc

[root@client-A upload]# ll

total 0

-rw-r--r-- 1 root       root       0 Sep  6 10:31 nfstest123

-rw-r--r-- 1 nfs-upload nfs-upload 0 Sep  6 10:32 testabc

drwxrwxr-x 2 nfs-upload nfs-upload 6 Sep  6 10:28 testdir

可以看到用root用户创建的文件属主仍是nfs-upload

#测试删除文件

[@client-A upload]$ rm test123

[@client-A upload]$ ll

total 0

drwxrwxr-x 2 nfs-upload nfs-upload 6 Sep  6 10:28 testdir

热点内容
登陆页面源码 发布:2025-01-09 02:13:04 浏览:539
Uc浏览器上传 发布:2025-01-09 01:50:16 浏览:529
javamysqljar 发布:2025-01-09 01:50:14 浏览:773
屏幕设置密码怎么设置 发布:2025-01-09 01:48:01 浏览:345
快吧我的世界盒子服务器连接不上 发布:2025-01-09 01:36:11 浏览:382
搭建中转云服务器挖矿 发布:2025-01-09 01:27:12 浏览:552
存储过程中的for循环 发布:2025-01-09 01:25:38 浏览:863
阿里云服务器宽带是专线吗 发布:2025-01-09 01:22:42 浏览:606
上门修个密码箱锁多少钱 发布:2025-01-09 01:21:49 浏览:270
python企业培训 发布:2025-01-09 01:17:14 浏览:894