NFS

2018-01-06  本文已影响0人  reworthYan

什么是NFS

NFS就是Network FileSystem的缩写。它最大的功能就是可以透过网络,让不同的机器、不同的操作系统、可以彼此分享个别的档案 。

什么是RPC

RPC是Remote Procedure Call的缩写。客户端就是通过远程调用RPC服务才知道该连接服务端的哪个端口号。RPC 最主要的功能就是在指定每个 NFS 功能所对应的 端口号,并且回报给客户端,让客户端可以连结到正确的端口上去。 那 RPC 又是如何知道每个 NFS 的埠口呢?这是因为当服务器在启动NFS 时会随机取用数个端口,并主动的向 RPC 注册,因此 RPC 可以知道每个端口对应的 NFS 功能,然后 RPC 又是固定使用 port 111 来监听客户端的需求并回报客户端正确的端口。
NOTE:PRC要在NFS之前启动,否则NFS会无法向RPC注册。

NFS与PRC服务及文件系统相关性

NFS启动的RPC damons

我们现在知道 NFS 服务器在启动的时候就得要向 RPC 注册,所以 NFS 服务器也被称为 RPC server 之一。 那么 NFS 服务器主要的任务是进行文件系统的分享,文件系统的分享则与权限有关。 所以 NFS 服务器启动时至少需要两个 daemons ,一个管理客户端是否能够登入的问题, 一个管理客户端能够取得的权限。如果你还想要管理 quota 的话,那么 NFS 还得要再加载其他的 RPC 程序就是了。我们以较单纯的 NFS 服务器来说:

NFS AUTH

NFS服务配置

服务端配置

安装必要的包

使用NFS服务需要安装两个包:nfs-utils和rpcbind

yum install -y nfs-utils

使用yum安装nfs-utils时会自动安装rpcbind

配置/etc/export文件

# vim /etc/exports
/tmp 192.168.100.0/24(ro)  localhost(rw)  *(rw,no_root_squash)

在配置文件中增加内容,每一行分为三部分:

启动NFS服务

在启动NFS服务之前,需要先启动rpcbind

service rpcbind start
service nfs start
OR
systemctl start rpcbind.service
systemctl stop nfs.service

关闭NFS服务

systemctl stop rpcbind.service
systemctl stop nfs.service

客户端挂载NFS

查看服务器共享的目录

showmount -e 服务器ip地址

会得到如下结果:

Export list for 192.168.0.1:
/data *

在客户端挂载NFS

# mount -t nfs 服务器ip地址:服务器共享目录 挂载点
mount -t nfs 192.168.0.1:/data /mnt

其中-t nfs指定挂载的类型为nfs

查看是否挂载成功

命令df用于查看已挂载磁盘的总容量,使用容量,剩余容量等。

#df -h     

-h 表示使用合适的单位显示

解除挂载

umount用于解除挂载,格式如下:

# umount 已挂载的目录

如果遇到:umount.nfs:已挂载目录:device is busy
可以添加-l参数,如下:

# umount -l 已挂载目录

选项-l并不是马上umount,二是在该目录空闲后再umount,即延迟挂载。

开机自动挂载

方法A:
/etc/fstab里添加如下内容:

# 服务器ip地址:共享的目录 客户端挂载点 nfs defaults 1 1
192.168.0.1:/data/    /mnt   nfs     defaults        0 0

第一个1表示备份文件系统,第二个1表示从/分区的顺序开始fsck磁盘检测,0表示不检测。
方法B:
将手动挂载的命令加入到/etc/rc.local中。
命令exportfs
命令参数:

# exportfs -arv
上一篇下一篇

猜你喜欢

热点阅读