NFS的配置过程很简单。在服务器端中编辑 /etc/exports 文件,添加如下内容: /home/nfs-share 1921681122 (rw,sync)
第一项是要共享的目录,后者为共享的配置参数一般为: (rw,sync,no_root_squash,no_all_squash,no_subtree_check)
然后开启NFS和portmap服务:
/etc/initd/nfs start //用service nfs start也可以 /etc/initd/portmap start //用service portmap stasrt也可以
在centos65中portmap已经改为rpcbind 在客户端,用mount –t nfs 192168123:/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 1921681123:
客户端中出现的mount clntudp_create: RPC: Program not registered错误是怎么回事?噢,我刚才重启了一下服务器端,重启后NFS服务没有开启。 我们开启服务器端的NFS服务,再从客户端上查看一下NFS服务器的情况:
Showmount –a显示出NFS服务器1921681123的共享目录被客户端192168122挂载到/home中;
在showmount -e IP,出现clnt_create: RPC: Port mapper failure - Timed out报错
解决方案:
被访问的NFS服务器上的防火墙没有添加规则,向iptables里面添加以下查看的所有端口即可(目前解决的方法,当然你也可以关闭防火墙,不过这样是比较不安全的,如果你的nfs作用不大,建议你另选别的应用来替代吧!毕竟开那么多的端口,比较不安全呀!)
通过#rpcinfo -p 1010209148
[root@rh01 /]# rpcinfo -p 1010209148program 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/initd/nfs start开启nfs服务时,系统还自作主张地开启了NFS quotas等其它3个服务。
怎么回事?我们只输入了一条启动NFS服务的命令,它怎么额外的启动了3个服务?后面的启动portmap服务又是怎么回事? 我们首先要了解一点:NFS文件系统要提供服务单靠本身的NFS服务是不够的,还需要调用其它服务,这个其它服务就是RPC(remote procedure call,远程过程调用)服务和portmap服务。由于NFS服务本身不提供文件传输功能,我们要远程使用NFS文件系统就需要RPC服务的支持;而portmap服务用来为RPC服务进行动态端口分配和映射,所以portmap服务也是NFS服务所必须的。
我们查看一下服务的启动情况:
所遇错误:
/etc/initd/nfs-kernel-server: 没有那个文件或目录
解决方案:
没有配置、安装NFS
Linux 下配置NFS服务
1、安装
2、配置
3、客户端
所遇问题:centos65
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 17220 (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 nsosserver:
/var/nfs 17220
OK,到此为止,NFS服务器搭建完毕;
◆三、客户端配置
1、确保portmap运行
客户端必须确保RPC协议相应的portmap正常运行,否则mount将失败;
2、挂载/var/nfs目录(本地挂载点为/mnt/nfs)
mount -t nfs 172206516:/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 nsosserver:
/var/nfs 17220
[root@ns var]# exportfs –au #全部卸载
[root@ns var]# showmount -e
Export list for nsosserver:
[root@ns var]# exportfs –rv #全部重新 export 一次
exporting 17220 :/var/nfs
[root@ns var]#
2、showmout命令对于NFS的 *** 作和查错有很大的帮助,所以我们先来看一下showmount的用法
showmout
-a :这个参数是一般在NFS SERVER上使用,是用来显示已经mount上本机nfs目录的cline机器。
-e :显示指定的NFS SERVER上export出来的目录。
例如:
[root@localhost ~]# showmount -e 1722016139
Export list for 1722016139 :/root/share 1722016137
[root@ns var]# showmount -a
All mount points on localhostlocaldomain: :/root/share,17220 :/root/share,1722016 :/root/share,1722016139:/nfsshare,1722016139:/root/share1722016137: 1722016137:,17220 1722016137:,1722016 1722016137:/root/share1722016139: 1722016139:,17220 1722016139:,1722016 1722016139:,17220161391722016139:DEFAULT
◆五、常见问题解答
1、提示:mount to NFS server '1722067203' failed: server is down
解决方案:可能是NFS服务器的防火墙有问题;
2、提示:mount: RPC: Timed out
解决方案:由于RPC协议没运行;启动portmap服务;
也有可能是防火墙问题;Server/Client均有可能。
安装NFS服务器
1、首先打开“服务器管理器”。在“管理工具”菜单项中,或右击“我的电脑”选“管理”。
2、在左边的树中选中“功能”项。右边窗口中会列出“功能”的详细信息。单击“添加功能”。
3、会打开“添加功能向导”窗口。按下图选中“网络文件系统服务工具”
点“下一步”。然后点击“安装”,进行功能的安装。
4、安装成功后点“关闭”
5、添加“文件服务”角色。
6、在服务器管理器中,选中“角色”,右边会列出角色的详细信息。
7、点击“添加角色”文字,会运行“添加角色向导”。点“下一步”
8、选中“文件服务”项,在该项前面打勾。下一步。
9、直接点“下一步”
10、请确保“文件服务器”和“网络文件系统服务”项前面打勾。然后点“下一步”
11、点“安装”
12、安装成功后点“关闭”。
安装Active Directory域服务
在服务器管理器中进行安装。在左边的树中选中“角色”项。右边窗口中会列出“角色”的详细信息。点击“添加角色”,打开“添加角色向导”窗口,然后直接点“下一步”。
1、在列表中选择“ActiveDirectory 域服务”,在此项前打勾。然后点“下一步”
2、如果选中“Active Directory 域服务”时d出下图提示,点“添加必须的功能”即可
3、接下来直接点“下一步”。然后点“安装”开始安装。
4、安装完成后,单击下图红框下,启动域服务安装向导。
5、如下上面不小心点了关闭,也可通过下图打开域服务安装向导
Active Directory 域服务设置
1、接上步,开始域服务安装向导,点“下一步”
2、直接点“下一步“
3、如果在安装前,没有给服务器配置静态IP地址,则会有这个提示。必须配置了静态的IP,才能继续安装。
4、已经配置了静态IP,下一步继续。此处选择“在新林中新建域”。
说明:此处建立域动作,只能是在网络系统中,不存在一个域服务器的情况。如果网络系统中已经存在域服务器,这里就不能新建域了。
5、输入域名,这里就叫“sy12315com”,一定要加“com”,然后点“下一步”。
注意:这个域名很重要,在后面要用到。
6、这里根据现场安装的系统版本选择,因这里安装的64位Windows2008R2,这里选择“WindowsServer 2008 R2”。然后点“下一步”。
7、这里点“下一步”会d出此提示,点“是”继续。
8、另外也有可能会d出提示,原因是网络属性中“TCP/IPv6”项目启用了(前面打勾),就会d出下面的对话框。不过没关系,点击“否”,关闭提示窗口。
在网络的本地连接的属性窗口中,可以看到“TCP/IPv6”前面是打勾的,只要将打勾去掉,然后确定就可以了。
9、填入域的密码,为了好记,建议与Administrator用户配置相同的密码。
注意:如果你在安装Windows 2008时修改过系统的密码规则(windows 2008默认的密码规则为:有大写字母、小写字母、数字,至少有7个字符),建议将登录密码安装默认规则进行修改,否则后面域建好后系统会对密码规则进行恢复,这样会导致一些配置问题。
例如将原系统登录密码由 Abcd1234修改成了abcd1234,那在此步最好将密码改回原来的Abcd1234。
10、这里仅仅是一个提示信息,点“下一步”开始安装。
11、下面开始安装了,建议将“完成后重新启动”前面打勾。因为配置完Active Directory域服务后必须重新启动服务器
12、系统重启后会发现,登录用户名已经有所变化了,用户名前面加了域名了。
配置NFS服务器
1、进行NFS服务器的配置工作。首先打开“管理工具”下的“Network FileSystem 服务(NFS)”管理程序。
2、在“NFS服务”项目上点击右键,选取“属性”菜单。
3、在“标识映射源”项目中,给“Active Directory 域名”前打勾。在下面的输入框中填写“sy12315com”。还记得前面建立的Active Directory域名,这里用到了。
设置目录NFS共享
1、我们将fileserver文件上传到服务器上,比如D盘上,fileserver目录上点击右键,选择“属性”菜单项。然后打开“NFS共享”页。点“管理NFS共享”
2、选中“共享此文件夹”,将“允许匿名访问”前面打勾,UID和GID中输入65534和65533,然后点“权限”。
3、首先,将“访问类型”项,修改为“读写”。然后,将“允许根目录访问”项前面打勾。最后连点2次确定。
测试NFS连接
经过以上的步骤,我们应该可以在两种 *** 作系统下来访问服务器的共享目录了。下面我们来测试一下。
测试Windows共享
这台WindowsServer 2008主机的IP地址为“1921134”,共享的目录名称和共享名称都是“fileserver”。
使用另外一台Windows主机,此主机上一定要有icd、icd1、record这3个用户并且密码要和上面NFS服务器上的用户名密码一致,否则会d出登录窗口的。在“运行”框中输入“\\1921134\fileserver”。如果能正确显示目录中的内容的话表示成功。
测试UAP排队机挂载NFS
telnet到UAP,输入 show nfstype mrs slot 2回车,这里要查看的是STATUS字段,如果是Disconnect则为挂载失败,如果是Connect则表示挂载成功。
1为什么用共享存储2存储有哪些工具
3共享存储应用场景有哪些
4部署nfs共享存储
5客户端尝试连接共享存储
什么是NFS?
NFS 是 Network File System 的缩写及网络文件系统。 NFS 主要功能是通过局域网络让不同的主机系统之间可以共享文件或目录。
NFS 系统和 Windows 网络共享、网络驱动器类似, 只不过 windows 用于局域网, NFS 用于企业集群架构中, 如果是大型网站, 会用到更复杂的分布式文件系统 FastDFS,glusterfs,HDFS
那么我们为什么要使用数据存储共享服务?
1实现多台服务器之间数据共享
2实现多台服务器之间数据一致
下面我将通过图解给大家展示集群需要共享存储服务的理由。
1A 用户上传经过负载均衡,负载均衡将上传请求调度至 WEB1 服务器上。
2B 用户访问 A 用户上传的,此时 B 用户被负载均衡调度至 WEB2 上,因为 WEB2 上没有这张,所以 B用户无法看到 A 用户传的
如果有共享存储的情况
1A 用户上传无论被负载均衡调度至 WEB1 还是 WEB2, 最终数据都被写入至共享存储
2B 用户访问 A 用户上传时,无论调度至 WEB1 还是 WEB2,最终都会上共享存储访问对应的文件,这样就可以访问到资源了
NFS工作原理
1用户进程访问 NFS 客户端,使用不同的函数对数据进行处理
2NFS 客户端通过 TCP/IP 的方式传递给 NFS 服务端
3NFS 服务端接收到请求后,会先调用 portmap 进程进行端口映射。
4nfsd 进程用于判断 NFS 客户端是否拥有权限连接 NFS 服务端。
5Rpcmount 进程判断客户端是否有对应的权限进行验证。
6idmap 进程实现用户映射和压缩
7最后 NFS 服务端会将对应请求的函数转换为本地能识别的命令,传递至内核,由内核驱动硬件。
注意: rpc 是一个远程过程调用,那么使用 nfs 必须有 rpc 服务
1nfs依赖于RPC服务来传递消息
2NFS服务启动的端口号是随机的,启动之后会向本地的RCP注册
3先启动RPC服务,再启动NFS服务
4NFS和RPC之间的通讯是他们自己内部完成的,对于用户来说无感知
5NFS客户端和服务端不会直接沟通,必须通过RPC服务传递消息
6防火墙要开放RPC服务的端口
nfs 服务程序的配置文件为/etc/exports,需要严格按照共享目录的路径 允许访问的 NFS 客户端(共享权限参数)格式书写,定义要共享的目录与相应的权限,具体书写方式如下图所示
配置文件参数解释:
执行 man exports 命令,然后切换到文件结尾,可以快速查看如下样例格式:
nfs共享参数 参数作用
rw 读写权限
ro 只读权限
root_squash
当 NFS 客户端以 root 管理员访问时,映射为 NFS 服务器的匿名用户(不常用)
no_root_squash
当 NFS 客户端以 root 管理员访问时,映射为 NFS 服务器的 root 管理员(不常用)
all_squash
无论 NFS 客户端使用什么账户访问,均映射为 NFS 服务器的匿名用户(常用)
no_all_squash
无论 NFS 客户端使用什么账户访问,都不进行压缩
sync
同时将数据写入到内存与硬盘中,保证不丢失数据
async
优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据
anonuid
配置 all_squash 使用,指定 NFS 的用户 UID,必须存在系统
anongid
配置 all_squash 使用,指定 NFS 的用户 UID,必须存在系统
写入配置文件:注意!IP地址和后面的小括号没有空格
创建数据目录和授权:
在使用 NFS 服务进行文件共享之前,需要使用 RPC(Remote Procedure Call 远程过程调用服务将 NFS 服务器的IP 地址和端口号信息发送给客户端。因此,在启动 NFS 服务之前,需要先重启并启用 rpcbind 服务程序,同时都加入开机自启动
客户端安装nfs服务十分简单,只需要安装nfs软件包即可
安装完成后只需要启动rpcbind,不需要启动nfs
使用showmount命令查看nfs共享信息查询 NFS 服务器的远程共享信息,其输出格式为“共享的目录名称 允许使用客户端地址”。
挂载命令: 创建挂载目录
在 NFS 客户端创建一个挂载目录, 使用 mount 命令并结合-t 参数, 指定要挂载的文件系统的类型, 并在命令后面写上服务器的 IP 地址, 以及服务器上的共享目录, 最后需要写上要挂载到本地系统(客户端)的目录
查看是否挂载成功:
测试写入数据是否正常
写入开机自动挂载
卸载命令:注意!卸载的时候如果提示”umountnfs: /nfsdir: device is busy”先切换到其他目录再卸载
强制卸载命令:
服务端配置:
客户端挂载:
测试读取:
写入测试:
服务端配置:
服务端创建用户及授权:
重启NFS服务:
更改目录授权:
客户端 *** 作:
我们会发现依然可以写入,但是为了避免这种情况发生,建议客户端也创建相同uid gid的用户
参考博客
启动NFS会开启如下端口:
1)portmapper 端口:111 udp/tcp;
2)nfs/nfs_acl 端口:2049 udp/tcp;
3)mountd 端口:"32768--65535" udp/tcp
4)nlockmgr 端口:"32768--65535" udp/tcp
系统 RPC服务在 nfs服务启动时默认会给 mountd 和 nlockmgr 动态选取一个随机端口来进行通讯。
1查看NFS启动后的端口
2将随机的端口号设置固定
3重启nfs和rpc服务
4再次查看端口信息,发现端口号已经固定了
5设置iptables
6保存配置
如果设置了开机自启动,但是系统启动的时候NFS并没有提供服务,就会导致开机自检的时候卡在挂在那一步
NFS 存储优点
1NFS 文件系统简单易用、方便部署、数据可靠、服务稳定、满足中小企业需求。
2NFS 文件系统内存放的数据都在文件系统之上,所有数据都是能看得见
NFS 存储局限
1存在单点故障, 如果构建高可用维护麻烦 web->nfs()->backup
2NFS 数据明文, 并不对数据做任何校验。
3客户端挂载 NFS 服务没有密码验证, 安全性一般(内网使用)
NFS 应用建议
1生产场景应将静态数据尽可能往前端推, 减少后端存储压力
2必须将存储里的静态资源通过 CDN 缓存 jpg\png\mp4\avi\css\js
3如果没有缓存或架构本身历史遗留问题太大, 在多存储也无用
准备 3 台虚拟机服务器,并且请按照要求搭建配置 NFS 服务。
NFS 服务端(A)
NFS 客户端(B)
NFS 客户端(C)
1在 NFS 服务端(A)上共享/data/w(可写)及/data/r(只读)
2在 NFS 客户端(B/C)上进行挂载
环境准备11 搭建NFS服务器
NFS(Network FileSystem,网络文件系统)是由SUN公司发展,并于1984年推出的技术,用于在不同机器,不同 *** 作系统之间通过网络互相分享各自的文件。NFS设计之初就是为了在不同的系统间使用,所以它的通讯协议设计与主机及 *** 作系统无关。
NFS分服务器和客户机,当使用远端文件时只要用mount命令就可把远端NFS服务器上的文件系统挂载在本地文件系统之下, *** 作远程文件与 *** 作本地文件没有不同。NFS服务器所共享文件或目录记录在/etc/exports文件中。
嵌入式Linux开发中,会经常使用NFS,目标系统通常作为NFS客户机使用,Linux主机作为NFS服务器。在目标系统上通过NFS,将服务器的NFS共享目录挂载到本地,可以直接运行服务器上的文件。在调试系统驱动模块以及应用程序,NFS都是十分必要的,并且Linux还支持NFS根文件系统,能直接从远程NFS root启动系统,这对嵌入式Linux根文件系统裁剪和集成也是十分有必要的。
安装nfs-kernel-server:
ky@ubuntu:~$ sudo apt-get install nfs-kernel-server
设置NFS-Server目录。修改/etc/exports文件,在其中增加NFS服务器目录。 一个NFS服务器可以共享多个NFS目录,在/etc/exports文件中,每个目录的设置独占一行,编写格式如下:
NFS共享目录路径 客户机IP或者名称(参数1,参数2,,参数n)
说明:
q NFS共享目录可以是主机的任何一个目录,为了方便使用,最好将权限设置为777。
q 客户机指的是可以访问共享目录的客户机的IP或者主机名,可以是指定的IP或者主机名。如果使用IP,可以使用通配符。假如指定IP为1921681x的客户机可以访问,可以写成1921681,如果设置为,则表示任何客户机都可以访问。
q 访问参数可以是一个,也可以是多个,用逗号分开。可能的参数和说明如 REF _Ref286733518 \h 表 5108D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200380036003700330033003500310038000000 所列。
表 STYLEREF 1 \s 5 SEQ 表 \ ARABIC \s 1 1 NFS设置参数和说明
参数
说明
ro
只读访问
rw
读写访问
sync
所有数据在请求时写入共享
async
nfs在写入数据前可以响应请求
secure
nfs通过1024以下的安全TCP/IP端口发送
insecure
nfs通过1024以上的端口发送
wdelay
如果多个用户要写入nfs目录,则归组写入(默认)
no_wdelay
如果多个用户要写入nfs目录,则立即写入,当使用async时,无需此设置
hide
在nfs共享目录中不共享其子目录
no_hide
共享nfs目录的子目录
subtree_check
如果共享/usr/bin之类的子目录时,强制nfs检查父目录的权限(默认)
no_subtree_check
不检查父目录权限
all_squash
共享文件的UID和GID映射匿名用户anonymous,适合公用目录
no_all_squash
保留共享文件的UID和GID(默认)
root_squash
root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squash
root用户具有根目录的完全管理访问权限
anonuid=xxx
指定nfs服务器/etc/passwd文件中匿名用户的UID
anongid=xxx
指定nfs服务器/etc/passwd文件中匿名用户的GID
假定NFS共享目录是/home/ky/nfs,允许所有客户机访问,/etc/exports文件可写为:
/home/ky/nfs (rw,sync,no_subtree_check, no_root_squash)
启动NFS服务器。启动portmap(如果有必要)和nfs-kernel-server服务:
ky@ubuntu:~$ sudo service portmap start
ky@ubuntu:~$ sudo service nfs-kernel-server start
本地验证NFS服务器。将NFS服务器目录挂载到本机另外一个目录下,可以看到挂载点目录下可以看到NFS服务器目录中的文件。
ky@ubuntu:~$ ls /home/ky/nfs/
aaaa
ky@ubuntu:~$ sudo mount -t nfs 127001:/home/ky/nfs /mnt
ke@ubuntu:~$ ls /mnt
aaaa
ky@ubuntu:~$ sudo umount /mnt/
用开发板验证NFS服务器是否可用。启动开发板,进入系统,配置好开发板的IP地址后,用mount命令挂载NFS服务器的NFS目录:
target# mount -t nfs 19216813:/home/ky/nfs /mnt -o nolock
target# ls /mnt
kingyee
target# umount /mnt/
挂载成功后,可以在开发板的/mnt目录下看到NFS服务器上的文件。
说明,使用开发板与虚拟机安装的客户系统进行NFS挂载,需要将虚拟网卡设置为Bridged模式,并建议使用静态IP地址。
如果在使用中需要增加新的NFS共享目录,直接修改/etc/exports文件即可。修改该文件后,可以不用重启NFS服务,用exportfs命令读取/etc/exports文件,重新共享输出。exportfs命令语法如下:
exportfs [-aruv]
选项说明:
-a:全部挂载(或卸载) /etc/exports的设置;
-r:重新挂载/etc/exports的设置;
-u:卸载某一个目录;
-v:在输出的时候,把共享目录显示出来。
如果NFS已经启动,修改了/etc/exports文件,执行如下命令,新的设置即可生效:
ky@ubuntu:~$ exportfs -raLinux客户端可以直接通过mount命令挂载NFS文件,
如下 *** 作:
[root@linux-a ~]# mkdir /mnt/nsf1 //创建挂载点
[root@linux-a ~]# mount -t nfs 1921680231:/nfs/frank /mnt/nfs1
[root@linux-a ~]# mount | grep nfs
[root@linux-a ~]# umount /mnt/nfs1
通过修改/etc/fstab文件可以实现开机自动挂载nfs目录
[root@linux-b nfs1]# vim /etc/fstab
/dev/VolGroup00/LogVol00 / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
/dev/VolGroup00/LogVol01 swap swap defaults 0 0
1921680231:/nfs/frank /mnt/nfs1 nfs defaults 0 0
以上最后一行是针nfs的自动挂载配置。举例,有台机器叫AAA,想把自己机器根下的一个叫abc的目录极其里面的所有文件都共享给一台叫BBB的机器。
在这里AAA就可看成是服务器,BBB为客户端,方法如下:
(在AAA上先配置)
1
vi /etc/exports
(用vi编辑器打开共享资源,在里面填写共享的属性,linux下nfs的共享资源路径为etc下的exports)
打开编辑器后,里面可能什么都没有,需要自己填写,然后保存即可,在这里填写
2
/abc BBB(ro)
之后按Esc停止文字录入,然后按Shift+;键,在出来的冒号后输入wq,表示保存退出!
(这个的格式是这样的:先给出要共享的路径,然后空格,后面写共享给谁,可以是IP地址或主机名。再后面的括号里表示以什么方式来共享,ro是客户端只能读,如果想让客户端可以改,可设为rw,即可读写)
3
service portmap start
service nfs start
ntsysv
(这是3行不同的命令,第一个是将portmap服务打开,也就是先打开nfs共享通讯的端口,第二个是开启nfs服务,第三步是进入一个图像画面,在里面找到nfs服务,然后用空格选择上,以保证下次机器启动时,系统会自动运行nfs服务的意思)
在客户段 *** 作如下:
mkdir /abc
mount AAA:/abc /abc
service portmap start
service nfs start
ntsysv
第一步是在本机的根上建立一个叫abc的目录
第二步是将AAA机器上的abc目录挂载到本机的abc目录上
第三步和第四步是启动客户端的端口和服务
最后一步是保证下次系统启动时自动运行什么服务
说了这么多,应该够详细了吧? ^_^在电脑上安装haneWIN NFS软件,版本号:hanewin_nfs_server_V1169。
启动NFS服务器。
点击:“输出”
点击:“编辑输出表文件”
(下表表示共享的是电脑的f分区,19216816 是指高清网络播放机所分配到的ip地址。因此,路由器设置时不应该自动分配ip地址,而应该将ip地址与设备的MAC绑定)
# exports example
f:\ -readonly 19216816
点击保存,然后点击“重启服务器”并且需要在开始菜单--haneWIN软件内点击“重启所有服务”,才可以导入编辑过的输出表文件。 设置完NFS软件后,还不能直接使用,还需要对系统防火墙进行设置。
WIN7 防火墙设置进入“控制面板”》“系统安全”》“windows防火墙” 》“高级设置”》“入站规则”然后右击》“端口”》“特定本地端口”》“TCP” 》输入端口号:111,1058,1149(必须用英文逗号分割,WIN7系统自带的示例用顿号是错误的)》“允许连接”--配置文件全选》下一步后输入规则名称(自定义)》点击完成。 提示:完成TCP规则的设定后,再次返回到添加特定本地端口界面,选择“UDP”,然后再重复后面的步骤进行建立UDP通信规则,端口号和TCP通信规则一致。
刷新后退出,即可通过播放机访问NFS共享了。
打开播放机--选择文件管理
点击进入“文件管理”--选择NFS设备
— 选择“AutoScan” (有时候需要扫描多次才能找到设备)
或者选择“shotcut” 输入地址:19216812:f/ (19216812是指电脑分配到的ip地址,f/ 为共享目录)
检索完成后显示同一局域网内所有带有NFS服务器的电脑IP地址,选择需要访问的电脑IP地址
打开后选择共享的磁盘--打开--打开共享文件夹--选择播放
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)