td p { margin-bottom: 0cm }
p { margin-bottom: 0.25cm; line-height: 120% }
a:link { }
补充知识:
RPC
主程序:rpcbind
我们的
NFS
其实可以被视为一个 RPC
服务,而要启动任何一个 RPC
服务之前,我们都需要做好
port
的对应 (mapping)
的工作才行,这个工作其实就是『
rpcbind
』这个服务所负责的!也就是说,
在启动任何一个 RPC
服务之前,我们都需要启动 rpcbind
才行! (在
CentOS
5.x 以前这个软件称为 portmap,在
CentOS
6.x 之后才称为 rpcbind
的!)NFS
主程序:nfs-utils
就是提供
rpc.nfsd
及 rpc.mountd
这两个 NFS
daemons 与其他相关 documents
与说明文件、执行文件等的软件!这个就是
NFS
服务所需要的主要软件啦!一定要有喔!
好了,知道我们需要这两个软件之后,现在干嘛?赶快去你的系统先用
RPM
看一下有没有这两个软件啦!
没有的话赶快用 RPM
或 yum
去安装喔!不然就玩不下去了!
例题: 请问我的主机是以 RPM 答: 简单的使用『 rpm |
环境:
系统平台:Centos
7
防火墙
:关闭
1.编辑exports文件,配置共享目录以及权限
[root@localhost
var]# vim /etc/exports
expports文件中的权限设置可以限制用户的访问,目录本身的权限也限制着用户的访问。
[shao@localhost
nfs]$ ll
总用量
4
-rw-rw-r--.
1 qi qi 0 4月 11
22:20 qi
-rw-rw----.
1 shao shao 5 4月 11
22:23 shao
2.开启nfs服务:
1)首先开启rpcbind
2)开启nfs
3.关闭防火墙(实验环境,真实环境时参见下文对防火墙配置):
qi@zhuandshao:~$
showmount -e 192.168.1.1
clnt_create:
RPC: Port mapper failure - Unable to receive: errno 113 (No route to
host)
#以上在客户端测试时出现的问题就是由于防火墙的缘故,使得端口无法使用
[root@localhost
var]# systemctl stop firewalld.service
4.客户端挂载
qi@zhuandshao:~$
sudo mount -t nfs 192.168.1.1:/var/nfs /mnt/nfs
5.设置nfs开机自启动
[root@localhost
~]# systemctl enable rpcbind.service
[root@localhost
~]#
[root@localhost
~]# systemctl enable nfs-server.service
ln
-s '/usr/lib/systemd/system/nfs-server.service'
'/etc/systemd/system/multi- user.target.wants/nfs-server.service'
6.端口
1)nfs需要的端口
rpcbind
启动的 port
在 111
,同时启动在 UDP
与 TCP;
nfs
本身的服务启动在 port
2049 上头!其他 rpc.*
服务启动的 port
则是随机产生的,因此需向 port
111 注册。
2)nfs打开的端口:
[root@localhost
qi]# netstat -tulnp| grep -E '(rpc|nfs)'
tcp
0 0 0.0.0.0:111 0.0.0.0:*
LISTEN 1480/rpcbind
tcp
0 0 0.0.0.0:20048 0.0.0.0:*
LISTEN 2528/rpc.mountd
tcp6
0 0 :::111 :::* LISTEN
1480/rpcbind
tcp6
0 0 :::20048 :::* LISTEN
2528/rpc.mountd
udp
0 0 0.0.0.0:111 0.0.0.0:*
1480/rpcbind
udp
0 0 0.0.0.0:669 0.0.0.0:*
1480/rpcbind
udp
0 0 0.0.0.0:20048 0.0.0.0:*
2528/rpc.mountd
udp6
0 0 :::111 :::*
1480/rpcbind
udp6
0 0 :::669 :::*
1480/rpcbind
udp6
0 0 :::20048 :::*
2528/rpc.mountd
7.设置开机挂载
如果想在客户机开机时就自动挂载服务器下的/var/nfs的话,就要在客户机下的/etc/fstab添加东西了
192.168.1.1:/var/nfs
/mnt/nfs nfs defaults 0 0
这样就行了,也不用每次都自己mount。
出现的问题:
[root@localhost
/]# systemctl start nfs
Job
for nfs-server.service failed. See 'systemctl status
nfs-server.service' and 'journalctl -xn' for details.
没建立/etc/exports里的目录的问题!!!
参考资料:
1.鸟哥的Linux私房菜(服务器篇):http://cn.linux.vbird.org/linux_server/0330nfs_2.php