linux网络服务之NFS

369 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第11天,点击查看活动详情

NFS是什么

NFSNetworkFileSystem的简写,即网络文件系统,网络文件系统是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工作原理

image.png

/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服务

image.png image.png

image.png image.png

image.png

image.png

客户机

image.png

image.png

image.png

image.png

image.png [root@localhost data]# echo a>b

image.png 服务器

image.png