目录
NFS概述
NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 sun 公司开发。通过使用 NFS协议,客户机可以像访问本地目录一样访问远程 NFS 服务器中的共享资源。
NFS 也是 NAS存储设备必然支持的一种协议,但是因为没有用户认证机制,而且数据在网络上明文传输,安全性很差,所以一般只能在局域网中使用。
NFS的特点
采用TCP/IP传输网络文件
安全性低
简单易操作
适合局域网环境
实验
实验步骤:
- 安装nfs和rpcbind软件
- 修改配置文件设置共享
- 创建共享目录
- 开启服务
- 客户端验证共享目录可访问
首先yum安装rpcbind,nfs-utils
创建一个空目录,然后vim /etc/exports写入:
/opt/joker 192.168.200.0/24(rw,sync,no_root_squash)
【rw:表示允许读写
ro:表示为只读
sync:表示同步写入到内存与硬盘中
no_root_squash:表示当客户机以root身份访问时赋予本地root权限(默认是root_squash),如果不加那么客户端无法在里面编辑或写入文件,因为默认以nfsnobody的权限
root_squash 表示客户机用root用户访问该共享目录时,将root用户映射成匿名用户
其他常用的选项:all_squash 所有访问用户都映射为匿名用户或用户组
async 将数据先保存在内存缓冲区中,必要时才写入磁盘,速度快但会丢失数据
subtree_check(默认) 若输出目录是一个子目录,则nfs服务器将检查其父目录的权限
no_subtree_check 即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率】
接着打开nfs和rpcbind服务,关闭防火墙
最后showmount -e localhost查看一下共享
打开测试机2,同样下载安装并打开nfs和rpc服务,关闭防火墙
showmount -e 192.168.200.111看一下是否能查到第一台机器创建的共享验证
创建一个空目录,然后将第一台机器的共享目录挂载上去,df -h查看一下
最后进入挂载目录下创一个文件且写入一些内容
进入第一台机器打开被挂载目录下的文件查看一下,成功
自动挂载:修改 /etc/fstab 配置文件,加入 NFS 共享目录的挂载设置(文件系统类型为nfs)。
挂载参数建议添加_netdev(设备需要网络)
若添加 soft、intr 参数可以实现软挂载,允许在网络中断时放弃挂载。这样客户机就可以在每次开机后自动挂载 NFS 共享资源了。
vim /etc/fstab
192.168.200.111:/opt/joker /mnt/ooo nfs default,_netdev 0 0
强制卸载NFS命令:
systemctl stop nfs #服务器端模拟nfs挂掉
umount /var/www/html #客户端卸载时会卡住
umount -lf /var/www/html #加lf参数成功卸载
其他nfs文件:
/var/lib/nfs/etab #记录NFS分享出来的目录的完整权限设定值
/var/lib/nfs/xtab #记录曾经登录过的客户端信息