NFS 笔记

环境

  • 服务端 CentOS7 192.168.1.100
  • 客户端 CentOS7 192.168.1.101

服务端

  • 安装
    yum install nfs-utils
    systemctl enable nfs-server
    systemctl start nfs-server
    # rpcbind 服务自动 start 并 enable
    
  • 创建配置文件
    mkdir /nfs_share -p
    chown -R nfsnobody.nfsnobody /nfs_share
    cat > /etc/exports.d/mynfs.conf <<EOF
    /nfs_share 192.168.1.0/24(rw,sync,all_squash)
    EOF
    
  • 重新载入配置
    exportfs -r
    # 查看配置
    exportfs
    

客户端

  • 安装
    yum install nfs-utils
    # 客户端就不需要启动 nfs 服务了
    # rpcbind 服务自动 start 并 enable
    
  • 查看服务端可用的共享目录
    showmount -e 192.168.1.100
    
  • 挂载服务端共享目录
    # 先创建本地目录,用于挂载
    mkdir /nfs_client
    # 挂载远程 nfs 目录
    mount -t nfs 192.168.1.100:/nfs_share /nfs_client
    

通信过程

  • 首先服务器端启动 RPC 服务,并开启 111 端口
  • 服务器端启动 NFS 服务,并向 RPC 注册端口信息
    • 注:该端口是用来传输数据的,目前不知道 NFS 选择该端口的依据,如果是随机的,防火墙如何放行?
  • 客户端启动 RPC 服务,向服务端的 RPC 服务请求服务端的 NFS 端口
  • 服务端的 RPC 服务反馈 NFS 端口信息给客户端
  • 客户端通过获取的 NFS 端口来建立和服务端的 NFS 连接并进行数据的传输

服务端共享参数

参数说明
ro只读访问
rw读写访问
sync所有数据在请求时写入共享
asyncnfs 在写入数据前可以响应请求
securenfs 通过 1024 以下的安全 TCP/IP 端口发送
insecurenfs 通过 1024 以上的端口发送
wdelay如果多个用户要写入 nfs 目录,则归组写入(默认)
no_wdelay如果多个用户要写入 nfs 目录,则立即写入,当使用 async 时,无需此设置
hide在 nfs 共享目录中不共享其子目录
no_hide共享 nfs 目录的子目录
subtree_check如果共享 /usr/bin 之类的子目录时,强制 nfs 检查父目录的权限(默认)
no_subtree_check不检查父目录权限
all_squash共享文件的 UID 和 GID 映射匿名用户 nfsnobody,适合公用目录
no_all_squash保留共享文件的 UID 和 GID(默认)
root_squashroot 用户的所有请求映射成如 anonymous 用户一样的权限(默认)
no_root_squashroot 用户具有根目录的完全管理访问权限
anonuid=xxxx指定 nfs 服务器 /etc/passwd 文件中匿名用户的 UID
anongid=xxxx指定 nfs 服务器 /etc/passwd 文件中匿名用户的 GID

转载于:https://my.oschina.net/colben/blog/3076984

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值