目录
一、NFS
1、介绍NFS
2、NFS服务的实现
3、NFS服务的特点
4、NFS服务的作用
二、NFS案例
1、安装RPC依赖和nfs服务(rpcbind、nfs-utils)
2、修改配置文件( /etc/exports )
3、开启服务并查看端口
4、挂载查看共享
5、共享传输文件
6、强制卸载NFS
总结
一、NFS
1、介绍NFS
NFS是一种基于TCP/IP传输的网络文件系统协议,最初由sun公司开发,通过NFS协议。客户机可以向访问本地目录一样访问远程NFS服务器中的共享资源。
NFS也是NAS存储设备必然支持的一种协议,但是因为没有用户认证机制,而且数据在网络上明文传输、安全性很差,所以一般只能在局域网中使用。
2、NFS服务的实现
NFS服务的实现依赖于RPC(Remote Process Call ,远程过程调用)机制,以完成远程到本地的映射过程,在centos 7 系统中,需要安装 nfs-utils、rpcbind 软件包来提供NFS共享服务,前者用于NFS共享发布和访问,后者用于RPC支持。
NFS 端口号:2049
RPC 端口号:111
3、NFS服务的特点
采用TCP/IP传输网络文件
安全性低
简单易操作
适合局域网环境
4、NFS服务的作用
主要有两点(这两点都围绕了 共享 )
通过网络挂载共享存储空间,提高客户主机的存储空间
远程共享文件
二、NFS案例
1、安装RPC依赖和nfs服务(rpcbind、nfs-utils)
2、修改配置文件( /etc/exports )
注意:这个配置文件内容时空的,表示没有任何共享。
创建共享目录 mkdir nfs_data
编辑配置文件
常用选项
选项 功能
rw 表示运允许读写
ro 表示只读
sync 表示同步写入到内存与磁盘中
no_root_squash (不降权处理)表示当客户机以root身份访问时赋予本地root权限(默认是root_squash),如果不加那么客户机无法在里面编辑或写入文件,因为默认以nfsnobody的权限
root_squash 表示客户机用root用户访问该共享目录时,将root用户映射成匿名用户
其它常用选项
选项 功能
all_sqush 所有访问用户都映射为匿名用户或用户组
asyns 将书记先保存在内存缓冲区中,必要时才写入磁盘,速度快但会数据丢失数据
subtree_chech 若输出目录是一个子目录,则nfs服务器将检查其父目录的权限
no_subtree_chech 即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率
3、开启服务并查看端口
注意:因为nfs服务需要依赖rpc服务,所以开启时,需要先开启rpcbind服务。
开启服务
查看端口
查看共享结果
注意
在前面使用查看看结果的命令(exportfs -v ),发现其中有权限为ro,导致后面我在客户机上的共享目录上无法创建文件,显示只读状态,后来我去查看配置文件(/etc/exports),发现里面的权限是rw并非ro,但是重新保存再去客户机还是无法创建文件,最后使用查看结果的命令发现,里面的权限存在只读的权限,与我的配置文件不一致,后来使用刷新命令(exportfs -r),最终权限改为读写。客户机可正常创建文件。
4、挂载查看共享
在客户机查看共享
客户机挂载
客户机永久挂载
注意:永久挂载后需要重新刷新加载
mount -a
5、共享传输文件
在客户机的挂载目录上创建文件,在从服务器上读取
6、强制卸载NFS
NFS客户端与服务器端的耦合度非常高,如果客户端正在使用挂载目录,NFS服务突然挂掉,那么在客户端执行df -hT命令就会出现卡死现象
这个使用无法使用umount解挂载,需要将umount -lf 强制解挂载才行
当出现卡死现象时,要重新开一个终端,然后使用 umount 命令卸载,其中-l 选项表示解除正在繁忙的文件系统,-f 选项表示强制。 也可以使用lsof查找进程号,然后使用kill -9杀死。
服务器关闭nfs
客户端卡死解挂失败
总结
NFS服务
NFS服务就是共享存储空间的一种服务,不仅可以使得可以 共享服务器的磁盘空间 ,还能使用 nfs实现共享文件 。
NFS(端口号:2049) 服务依赖于 RPC(端口号:111)服务 ,在安装NFS服务前需要先安装rpcbind安装包,再安装nfc-utils, 启用服务的时候也需要先启用依赖RPC服务。
NFS的特点 有:采用TCP/IP传输,安全性低(明文操作),简单易操作,适合局域网内