携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第11天,点击查看活动详情
NFS是什么
NFS是NetworkFileSystem的简写,即网络文件系统,网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS.NFS允许一个系统在网络上与它人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。
NFS的优势
- 本地工作站使用更少的磁盘空间,因为通常的数据可以存放在一台机器上而且可以通过网络访问到。
- 用户不必在每个网络上机器里头都有一个home目录。Home目录可以被放在NFS服务器上并且在网络上处处可用。
- 诸如软驱,CDROM,和Zip®之类的存储设备可以在网络上面被别的机器使用。这可以减少整个网络上的可移动介质设备的数量。
NFS 缺点
- NFS 没有认证机制,而且是明文传输,所以安全性很差,一般在局域网中使用
NFS文件系统
- 依赖于RPC(远程过程调用)
- 需安装nfs-utils(提供共享服务),rpcbind(远程工程调用)安装包
- 系统服务:nfs,rpcbind
- 共享配置文件 /etc/exports
- nfs是1049端口
- rpcbind用的是udp和tcp的111端口 ps
nfs 是共享存储服务而不是存储设备
存储设备
- 硬盘 内存 光盘 LVM 块存储设备
- nas iscsi san 企业级网络文件存储设备
可以配合nfs服务把以上存储设备的文件数据通过网络共享给其他服务器使用
nfs工作原理
/etc/exports文件中常用的选项
- "rw" 表示允许读写
- “ro”表示只读
- sync:表示写入数据会同时写入到内存和硬盘中(保存数据的安全,不会丢失,写入会受到硬盘IO性能的影响,会影响读写速度)
- async:写入数据会先写入到内存的缓冲区中,然后根据系统的同步策略再刷新到硬盘中
- no_root_squash:表示当前客户机以root身份访问时会给其以本地root权限(默认是root_squash)
- all_squash:所有访问用户都映射为匿名用户或用户组
- subtree_check(默认):若输出目录是一个子目录,那么nfs会检查其父目录的权限
- no_subtree_check:即使输出一个子目录,nfs服务器也不检查其父目录的权限,可提供效率
- anonuid=xxx :指定NFS服务器/etc/passwd文件中匿名用户的UID
- anongid=xxx:指定NFS服务器/etc/group文件中匿名用户的GID
NFS服务
客户机
[root@localhost data]# echo a>b
服务器