红帽7 NFS(网络文件系统)

NFS(网络文件系统)服务可以将远程 Linux 系统上的文件共享资源挂载到本地主机的目录上,从而使得本地主机(Linux 客户端)基于 TCP/IP 协议,像使用本地主机上的资源那样读写远程 Linux 系统上的共享文件, RHEL 7 系统中默认已经安装了 NFS 服务。

第一步:为了检验 NFS 服务配置的效果,我们需要使用两台 Linux 主机(一台充当 NFS服务器,一台充当 NFS 客户端)

两台 Linux 主机所使用的操作系统以及 IP 地址

主机名称 操作系统     IP地址
NFS 服务器 RHEL 7 192.168.10.10
NFS 客户端 RHEL 7 192.168.10.20

 

 

 

 

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

[root@localhost ~]# iptables -F
[root@localhost ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]

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

[root@localhost ~]# mkdir /database
[root@localhost ~]# echo "hello world" > /database/readme.txt
[root@localhost ~]# chmod -Rf 777 /database/readme.txt 

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

例如,如果想要把 /database 目录共享给 192.168.10.0/24 网段内的所有主机,让这些主机都拥有读写权限,在将数据写入到 NFS 服务器的硬盘中后才会结束操作,最大限度保证数据不丢失,以及把来访客户端 root 管理员映射为本地的匿名用户等

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

参数 作用
ro 只读
rw 读写
root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户
no_root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员
all_squash 无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户
sync 同时将数据写入到内存与硬盘中,保证不丢失数据
async 优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据

 

 

 

 

 

 

 

 

 

 

[root@localhost ~]# vim /etc/exports
/database 192.168.10.*(rw,sync,root_squash)

第四步:启动和启用 NFS 服务程序。红帽5或6里面需要使用 RPC(Remote Procedure Call,远程过程调用)服务将 NFS 服务器的 IP 地址和端口号等信息发送给客户端。因此,在启动 NFS 服务之前,还需要顺带重启并启用 rpcbind 服务程序,红帽7不需要。

[root@localhost ~]# systemctl restart nfs-server
[root@localhost ~]# systemctl enable nfs-server
ln -s '/usr/lib/systemd/system/nfs-server.service' '/etc/systemd/system/nfs.target.wants/nfs-server.service'

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

showmount 命令中可用的参数以及作用

参数 作用
-e 显示NFS服务器的共享列表
-a 显示本机挂载的文件资源的情况NFS资源的情况
-v 显示版本号

 

 

 

 

 

 

 

[root@localhost Desktop]# showmount -e 192.168.10.10
Export list for 192.168.10.10:
/database 192.168.10.*

然后在 NFS 客户端创建一个挂载目录。

[root@localhost Desktop]# mkdir /database
[root@localhost Desktop]# vim /etc/fstab # # /etc/fstab # Created by anaconda on Tue Oct 2 18:32:33 2018 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/rhel-root / xfs defaults 1 1 UUID=e4edf9ea-99aa-4c91-8c9b-c13549216c84 /boot xfs defaults 1 2 /dev/mapper/rhel-swap swap swap defaults 0 0 192.168.10.10:/database /database nfs defaults 0 0
[root@localhost Desktop]# mount -a
[root@localhost Desktop]# cd /database/
[root@localhost database]# ls
readme.txt

 

posted @ 2018-11-13 23:40  烛爻  阅读(542)  评论(0编辑  收藏  举报