【2018.06.21学习笔记】【linux高级知识 14.1-14.3】

原创
2018/06/22 09:34
阅读数 153

14.1 NFS介绍

NFS服务全称是NetWork File System:网络文件系统,最早有sun公司开发的,4.0版本由Netapp公司开发,是基于RPC远程过程调用(Remote Procedure Call)协议的服务。

NFS原理图:

当A、B、C三台机器访问同一个文件的时候,必须保证得到的文件是一致的。

例如:A机器上面的sdb1通过NFS服务共享给B和C机器,这样实现负载均衡,A上更新了文件,B和C机器能够立刻看到;B或者C机器更新了文件,A机器也能立马收到。

14.2 NFS服务端安装配置

准备两台机器:A机器为服务端、B机器为客户端。

A机器安装nfs-utils、rpcbind:

yum install -y nfs-utils rpcbind

B机器安装nfs-utils:

yum install -y nfs-utils

编辑配置文件:/etc/exports,增加几行配置

/home/nfstestdir //要分享的目录
IP 192.168.87.0/24 (rw,sync,all_squash,anonuid=1000,nongid=1000)  //指定能够访问共享目录的ip和相关的权限

创建分享的目录:该权限为777

mkdir /home/nfstestdir
chmod 777 /home/nfstestdir

启动rpcbind服务:

systemctl start rpcbind  //111端口

启动nfs:

systemctl start nfs

设置开机启动nfs:

systemctl enable nfs

14.3 NFS挂载配置选项

/etc/exports,增加几行配置,其中访问权限:

rw:读写  ro:只读
sync:同步模式,内存数据实时写入磁盘,会降低磁盘效率
async:非同步模式,隔一段时间才写入磁盘,但是容易丢失数据
no_root_squash:客户端挂载共享目录后,root用户不收约束
root_squash:客户端上的root用户被限定为某个普通用户
all_squash:客户端上的所有用户,都被限定为一个普通用户
anonuid、anongid和squash一起使用,定义被限定为指定哪个普通用户的uid和gid

客户端B机器的配置: 连接服务端A机器:

show mount -e 192.168.87.128 //服务端的ip

此时如果报错:可能有以下原因

1、A机器的nfs服务没启动
2、网络不通,可以telnet一下
3、A和B的防火墙、selinux其中一个没有关闭
systemctl stop firewall
setenforce 0

再连接一下A机器服务端:就能看到A机器上的分享目录了

shwo mount -e 192.168.87.128

挂载A机器上的分享目录:

mount -t nfs 192.168.87.128:/home/nfstestdir /mnt/
df -h //查看是否挂载成功

然后B机器就能够在/mnt/目录 下操作A机器上的分享目录了

在B机器上,创建一个文件:

touch a
ls -l a  //显示的文件a的主和组,是uid=1000,gid=1000的用户和组。即是A机器上配置文件里定义的anonudi=1000,anongid=1000的用户。
展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部