NFS
访问一个本地文件还是 NFS 共享文件对于客户端而言都是透明的, 当文件打开的瞬间, 内核会作出一个决定, 如果是本地文件内核会将本地 NFS 共享文件内核会将 NFS 共享文件的所有引用传递给 --》NFS 客户端枢中
NFS 客户端是通过 TCP/IP 协议及模块向 NFS 服务器发送 RPC 请求, NFS 主要是用 UDP
NFS 服务器在端口 2049 接收客户端请求
当 NFS 共享了一个本地文件夹, 然后 NFS 服务器接收到一个客户端请求后, NFS 会将整个请求发送自身系统的能够访问本地文件的进程.
1.NFS 的工作原理如下图:
NFS 参数
rw Read-write, 表示可读可写权限
ro Read-only, 表示只读权限
sync (同步, 实时) 请求或吸入数据, 数据同步到 NFS Server 的硬盘后才返回
async (异步) 写入时数据会先写到内存缓冲区, 只到硬盘有空档才会写入磁盘, 这样可以提升写入速率, 风险为若服务器挂掉或不正常关机, 会损失缓冲区中未写入磁盘的数据
no_root_squash 访问 NFS Server 共享目录的用户如果是 root, 它对该共享目录具有 root 权限
root_squash 如果访问目录是 root. 则它的权限将被压缩成匿名用户
all_squash 不管访问共享目录的用户身份如何, 它的权限都将被压缩成匿名用户.
anonuid 指定共享文件夹里的文件所有者的 uid 号:
anongid 指定共享文件夹里文件所有者的 gid 号: 例如 (rw,squash,anonuid=12306,anongid=12306)
RPC 服务
1.NFS 服务是一个多功能的服务, NFS 服务启动后会有多个功能组件一起启动, 每个组件都有一个端口号
2.RPC 主要就是搜集每个 NFS 功能组件对应的端口号, 并且返回客户端, 让客户端想使用对应功能就需要先知道对应功能的端口
3. 当 NFS 启动后会随机选用数个端口, 并主动向 RPC 注册, 因此 RPC 可以知道每个端口对应到了 NFS 党的每个功能组件.
4.RPC 自己使用 111 端口来监听客户端请求, 并回报客户端想请求那个功能组件的端口号
注意:
1.NFS 启动之前一定要启动 RPC, 否则 NFS 无法向 RPC 注册
2. 重启了 RPC 后之前所有注册的端口都会不见了, 因此 RPC 启动后所有依赖 RPC 注册端口的服务
NFS 安装和服务开启
yum install nfs-ntils
NFS 服务器的启动和停止
- #systemctl start/stop/restart redbind.service
- systemccetl start/stop/restart nfs.service
NFS 自动启动
- chkconfig --level 35 portmap on
- #chkconfig --level 35 nfs on
查看 NFS 的状态
自动挂载
将 / nfs_folder 共享给 102.168.1.0/24 网段机器
服务器端
配置共享目录 #mkdir /nfs_folder
- ? #VIM /etc/exports
- ? # nfs_folder 192.168.1.0/24(rw,no_root_squash,no_all_suqash,sync,anonuid)
启动 rpc 和 nfs 服务 #systemctl start/stop/restart rpdind.service
- ##### #systemctl start/stop/restart nfs.servic
- ?
- ##### 导出共享目录 #exports -r
客户端
客户端查看共享目录有哪些 #showmount -e 查看共享目录输出
##### #showmount -a 显示连接上的客户端信息
客户端挂载 # mkdir /mnt/nfs
查看端口状态 #rpcinfo -p
1, 进行安装
2, 查看是否已经安装
3, 先启动 rpc 服务和 nfs, 并查看状态
4, 编辑导出共享目录 手动添加
5, 保证客户端和服务器端防火墙和 selinux 都关闭, 并且网络都是通的
6, 创建挂载点即可进行挂载用 mount 命令查看就能看到挂载的点
7, 上面这种挂载方式重启就会失效, 还可以在 / etc/fstab 下面修改好, 这样可以开机就能自动挂载
8, 也可以在客户端安装 autofs
在 vi /etc/auto.master 下指定路径
指定挂载点
启动 autofs 即可自动挂载.
systemctl start autofs.service
来源: http://www.bubuko.com/infodetail-2945132.html