NFS环境搭建详解,及常见故障处理

NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
NFS最显而易见的好处:
1. 节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用。
2. 用户不需要在网络中的每个机器上都建有Home目录,Home目录可以放在NFS服务器上且可以在网络上被访问使用。
3. 一些存储设备如软驱、CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。这可以减少整个网络上可移动介质设备的数量。
大概过程如下图
nfs工作原理图
OK,下面就开始介绍,如何搭建一个安全可靠的NFS服务器。
一.nfs-server端

#设置开机自动启动nfs服务

2、客户端:

创建挂载目录

查看共享状态

挂载成功之后,可以用df -h命令查看

设置开机自动挂载

mount命令
mount -a 的意思是将/etc/fstab的所有内容重新加载。
mount 是显示/etc/fstab的内容。

三、命令参数
1、重启nfs或者使用exportfs命令使nfs配置生效
service nfs restart 或者 exportfs -rv
2、nfs参数:
ro 该主机对该共享目录有只读权限
rw 该主机对该共享目录有读写权限
root_squash (默认)客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户
no_root_squash 客户机用root访问该共享文件夹时,不映射root用户
all_squash 客户机上的任何用户访问该共享目录时都映射成匿名用户
no_all_squash (默认):访问用户先与本机用户匹配,匹配失败后再映射为匿名用户或用户组
anonuid 将客户机上的用户映射成指定的本地用户ID的用户。匿名用户的UID值, 通常是nobody或nfsnobody,可以在此处自行设定
anongid 将客户机上的用户映射成属于指定的本地用户组ID。匿名用户的GID值
sync 资料同步写入到内存与硬盘中,适用在通信比较频繁且实时性比较高的场合
async 资料会先暂存于内存中,稍候再写入硬盘,性能较好(速度快), 适合超大或者超多文件的写入,但有数据丢失的风险,比如突然断电等情况
insecure 允许从这台机器过来的非授权访问
secure (默认):限制客户端只能从小于1024的tcp/ip端口连接服务器
insecure 允许客户端从大于1024的tcp/ip端口连接服务器

常见问题总结:

1. 注意:NFS的格式非常的严格,目录和授权之间只有一个空格,一旦多了。也会出问题。如下:

2、客户端报错解决办法

df: `/home/shterm': Stale file handle
这个错误是因为server端的共享不在提供,而且本地没有卸载导致的。
解决办法,就是先卸载。

卸载目录,重新挂载即可

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: