第十二章 NFS网络文件系统

  • 内容
  • 评论
  • 相关

如果需要共享文件的主机都是Linux系统,那就可以用NFS了,可以将远程Linux系统上的文件共享资源挂载到本地主机的目录上,用TCP/IP协议,类似iSCSI。

由于RHEL 7系统中默认已经安装了NFS服务。接下来,我们准备配置NFS服务。首先请使用Yum软件仓库检查自己的RHEL 7系统中是否已经安装了NFS软件包

同时我们一台当NFS服务器,一台当NFS客户端,所以我们要开启当初一台client的机器

另外,不要忘记清空NFS服务器上面iptables防火墙的默认策略,以免默认的防火墙策略禁止正常的NFS共享服务。

在NFS服务器上建立用于NFS文件共享的目录,并设置足够的权限确保其他人也有写入权限。

NFS服务程序的配置文件为/etc/exports,默认情况下里面没有任何内容。我们可以按照”共享目录的路径 允许访问的NFS客户端(共享权限参数)”的格式,定义要共享的目录与相应的权限。

例如,如果想要把/nfsfile目录共享给192.168.10.0/24网段内的所有主机,让这些主机都拥有读写权限,在将数据写入到NFS服务器的硬盘中后才会结束操作,最大限度保证数据不丢失,以及把来访客户端root管理员映射为本地的匿名用户等,则可以按照下面命令中的格式,将下表参数写到NFS服务程序的配置文件中。

                                 用于配置NFS服务程序配置文件的参数

参数

作用

ro

只读

rw

读写

root_squash

当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户

no_root_squash

当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员

all_squash

无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户

sync

同时将数据写入到内存与硬盘中,保证不丢失数据

async

优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据

请注意,NFS客户端地址与权限之间没有空格。

启动和启用NFS服务程序。由于在使用NFS服务进行文件共享之前,需要使用RPC(Remote Procedure Call,远程过程调用)服务将NFS服务器的IP地址和端口号等信息发送给客户端。因此,在启动NFS服务之前,还需要顺带重启并启用rpcbind服务程序,并将这两个服务一并加入开机启动项中。

NFS客户端的配置步骤也十分简单。先使用showmount命令查询NFS服务器的远程共享信息,其输出格式为”共享的目录名称 允许使用客户端地址”。

参数

作用

-e

显示NFS服务器的共享列表

-a

显示本机挂载的文件资源的情况NFS资源的情况

-v

显示版本号

然后在NFS客户端创建一个挂载目录。使用mount命令并结合-t参数,指定要挂载的文件系统的类型,并在命令后面写上服务器的IP地址、服务器上的共享目录以及要挂载到本地系统(即客户端)的目录。

挂载成功后就应该能够顺利地看到在执行前面的操作时写入的文件内容了。如果希望NFS文件共享服务能一直有效,则需要将其写入到fstab文件中: