您现在的位置是:首页 > 教程资讯 > 编程开发

CentOS安装配置NFS网络文件系统

2020-03-25 20:31:14【编程开发】人查看

简介 NFS是Network File System的简写,即网络文件系统.网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在

 NFS是Network File System的简写,即网络文件系统.网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。

安装NFS

服务端和客户端都需要安装。
只需要一条命令即可安装好nfs:

yum install nfs-utils nfs4-acl-tools portmap

配置NFS服务端

nfs的主配置文件是/etc/exports,这里是配置NFS服务器开放的目录以及客户端访问的权限等。

vi /etc/exports

加入:

/nfsdata 192.168.1.103(rw,root_squash,no_all_squash,sync)

保存设置

exportfs -r

配置解释:
#配置文件每行分为段:
#第一段为共享的目录,使用绝对路径
#第二段为客户端地址及权限:
地址可以使用完整IP或网段,例如192.168.1.103或10.0.0.0/24,10.0.0.0/255.255.255.0当然也可以
地址可以使用主机名,DNS解析的和本地/etc/hosts解析的都行,支持通配符。
权限有:
rw:read-write,可读写;
ro:read-only,只读;
sync:文件同时写入硬盘和内存;
async:文件暂存于内存,而不是直接写入内存;
no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。
root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;
all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;
anonuid:匿名用户的UID值,通常是nobody或nfsnobody,可以在此处自行设定;
anongid:匿名用户的GID值。
配置允许指定客户端连接NFS服务器
注意 NFS 使用 portmap,而且新版本的 portmap 使用 hosts.deny 和 hosts.allow 文件来控制访问源,修改这2个配置文件以便 NFS 客户端能正常连接到服务器:

# vi /etc/hosts.deny  
portmap:ALL  
 
# vi /etc/hosts.allow  
portmap:192.168.1.103

NFS服务端启动与测试

先启动所依赖的postmap

service portmap start或者/etc/init.d/rpcbind start
service nfs start

显示已共享的目录信息:

showmount -e

NFS客户端连接测试

service portmap start或者/etc/init.d/rpcbind start
service nfs start

显示可挂载的目录:

showmount -e 192.168.1.101

挂载网络目录/nfsdata到/root/nfsdata(确保存在)

mount -t nfs 192.168.1.101:/nfsdata /root/nfsdata

检查是否已经挂载好:

mount

如果需要开机挂载的话别忘了在/etc/fstab中加入

/root/nfsdata   192.168.1.101:/nfsdata

相关链接:http://nfs.sourceforge.net/