12月7日任务
14.1 NFS介绍
14.2 NFS服务端安装配置
14.3 NFS配置选项
一.NFS介绍
- NFS是Network File System的缩写
- NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本
- NFS数据传输基于RPC协议,RPC为Remote Procedure Call的简写。
- NFS应用场景是:A,B,C三台机器上需要保证被访问到的文件是一样的,A共享数据出来,B和C分别去挂载A共享的数据目录,从而B和C访问到的数据和A上的一致
- RPC服务会自动生成RPC协议,RPC协议会监听111端口
二.NFS服务端安装配置
示例一:
- 准备两台机器,一个做服务端,一个做客户端。
- yum install -y nfs-utils 客户端安装
- yum install -y nfs-utils rpcbind 服务端安装
- vim /etc/exports //加入如下内容
/home/nfstestdir 选择一个目录,保证这两个机器的目录是一样的
192.168.133.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000) 定义给那个机器共享你的目录
- 保存配置文件后,执行如下准备操作
- mkdir /home/nfstestdir 创建共享的目录
- chmod 777 /home/nfstestdir 设置权限
- 安装完就会自动启动rpcbind服务,可以用netstat -lnpt 查看一下
- systemctl start rpcbind 这一步就可以省略了
- systemctl start nfs 再启动nfs服务
- systemctl enable rpcbind 设置rpcbind服务开机启动
- systemctl enable nfs 设置nfs服务开机启动
- systemctl disable nfs 可以取消开机启动
三.NFS配置选项
- rw 读写
- ro 只读
- sync 同步模式,内存数据实时写入磁盘 ,可以很快的把数据写入到磁盘里去,但是会相对的降低磁盘的效率
- async 非同步模式 ,每隔一段时间,会把数据写入到磁盘里去, 如果突然断电等情况出现,可能会丢失一部分数据
- no_root_squash 客户端挂载NFS共享目录后,root用户不受约束,权限很大
- root_squash 与上面选项相对,客户端上的root用户收到约束,被限定成某个普通用户
- all_squash 客户端上所有用户在使用NFS共享目录时都被限定为一个普通用户
- anonuid/anongid 和上面几个选项搭配使用,定义被限定用户的uid和gid
示例一:在客户端挂载操作
- yum install -y nfs-utils
- showmount -e 192.168.133.130 //该ip为NFS服务端ip ,测试一下,是否有权限跟服务端连通通信,如果不能通信,有可能是防火墙,服务端未开启RPC服务,未监听111端口等问题。
- 如下则是正常可以通信
- mount -t nfs 192.168.133.130:/home/nfstestdir /mnt 挂载目录
- df -h 查看一下是否挂载
- cd /mnt/ 进入目录下
- touch /mnt/aminglinux.txt 创建一个文件
- ls -l /mnt/aminglinux.txt //可以看到文件的属主和属组都为1000,因为配置文件里限定了uid为1000
- 服务端
- 客户端