NFS服务介绍、NFS自动挂载
发布日期:2021-05-08 05:15:13 浏览次数:24 分类:精选文章

本文共 2145 字,大约阅读时间需要 7 分钟。

NFS即网络文件系统,是一种基于内核的文件系统,由Sun公司开发。NFS允许用户像访问本地文件一样,通过网络访问远端服务器上的文件资源,其核心技术实现依托于RPC(远程过程调用协议)。RPC采用客户端-服务器模式工作机制,客户端向服务器发送带有进程参数的调用信息,服务器进程保持睡眠直到接收到调用信息,随后计算结果并返回答复信息供客户端接收。这种方式实现了远程文件访问的高效性和灵活性。

NFS具有显著的优势,主要体现在存储资源优化上。通过将常用数据(如home目录)存放在NFS服务器上,终端设备可以显著减少本地存储空间占用。

在软件安装与配置方面,NFS服务依赖以下关键组件:

  • 软件包:nfs-utils
  • 内核支持:nfs.ko
  • 端口:2049(nfsd),其他端口由portmap(111)动态分配
  • 配置文件:/etc/exports 和 /etc/exports.d/*.exports

需要注意的是,CentOS7不支持同一目录同时使用NFS和Samba进行共享,这与两者不同的锁机制有关。

NFS服务运行的关键进程包括:

  • rpc.nfsd:管理客户端的挂载权限
  • rpc.mountd:负责挂载和卸载NFS文件系统,包括权限管理
  • rpc.lockd(非必要):管理文件锁,防止并发写入冲突
  • rpc.statd(非必要):检查文件一致性,支持文件修复

NFS日志存储路径为:/var/lib/nfs/

在网络防护方面,建议对NFS服务进行防火墙管理,开放相关端口:

  • 固定端口:配置NFS使用固定端口
  • 防火墙规则:开放TCP和UDP端口2049、111等共计4个端口
  • 配置文件:vim /etc/sysconfig/nfs,设置相关参数
    • RQUOTAD_PORT=875
    • LOCKD_TCPPORT=32803
    • LOCKD_UDPPORT=32769
    • MOUNTD_PORT=892
    • STATD_PORT=662
    • STATD_OUTGOING_PORT=2020

文件系统导出格式遵循特定规则:

  • 导出文件系统:/dir 主机1(opt1,opt2) 主机2(opt1,opt2)...
  • 主机格式
    • 单个主机:IP地址、IPv6地址、主机名(可选FQDN)
    • IP网络:支持两种掩码格式
    • 通配:支持主机名通配(如*.magedu.com),不支持IP通配
    • 网络组:NIS域内主机组(@group_name)
    • 匿名访问:使用*通配所有客户端
  • 默认选项:(ro,sync,root_squash,no_all_squash)

权限管理选项:

  • 读写权限:ro(只读)、rw(读写)
  • 同步机制:async(数据写入不立即同步) vs. sync(数据同步立即写入)
  • 用户映射:root_squash(远程root映射为nfsnobody) vs. no_root_squash(保留远程root权限)
  • 匿名用户:anonuid和anongid,可结合all_squash使用

配置示例如下:

vim /etc/exports.d/a.exports
/nfsroot www.test.com
/nfsroot *.test.com
/nfsroot 192.168.1.10(rw)
vim /etc/exports.d/a.exports
/nfsroot 192.168.1.11(rw,anonuid=1000,anongid=1000,all_squash)

配置完成后可通过 exporfs -r 重新加载配置,无需重启服务。

挂载选项建议:

  • 安全选项:nosuid、nodev、noexec
  • 挂载模式:fg(前台) vs. bg(后台)
  • 挂载策略:hard(持续请求) vs. soft(非持续请求)
  • 请求中断:intr和hard配合使用
  • 数据传输大小:默认为32768字节,可自定义rsize和wsize
  • 网络挂载:_netdev选项可用于无网络环境

示例挂载命令:

mount -o rw,nosuid,fg,hard,intr 192.168.1.11:/testdir /mnt/nfs/

在系统启动时,可将NFS共享添加至/etc/fstab:

192.168.1.11:/public /mnt/nfs nfs defaults 0 0

关于NFS自动挂载,autofs包可实现按需挂载和自动卸载的功能。通过配置/etc/auto.master文件,指定挂载点由autofs守护进程管理。文件系统在失活时自动卸载,间隔时间可配置为5分钟。NFS共享可通过特殊匹配规则(如 -host "*.example.com")启用浏览功能。

注意事项:

  • 相对路径:如使用相对路径可能导致覆盖问题,建议使用绝对路径
  • 自动挂载优化:如需仅挂载特定子目录,可参考以下示例:
    mkdir -p /mnt/nfs/test/dir1
    vim /etc/dir1

    或使用绝对路径:

    vim /etc/auto.nfs

    示例配置:

    /data/nfs -fstype=nfs,rw 192.168.1.11:/data/nfsdir

通过以上配置和管理,可以实现NFS服务的高效、安全和易用性。

上一篇:SAMBA介绍和使用
下一篇:存储基础知识、FTP服务介绍、vsftpd服务介绍、使用SSL实现FTPS、vsftpd虚拟用户

发表评论

最新留言

表示我来过!
[***.240.166.169]2025年03月25日 13时49分37秒