温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

NFS的部署

发布时间:2020-07-06 19:05:35 来源:网络 阅读:503 作者:lin790292154 栏目:网络安全

NFS: network file system允许一个系统在网络上与它人共享目录和文件。通过使用NFS,用户和程序可以象访问本地文件 一样访问远端系统上的文件。

以下是NFS最显而易见的好处:
1、本地工作站使用更少的磁盘空间,因为通常的数据可以存放在一 台机器上而且可以通过网络访问到。
2、用户不必在每个网络上机器里头都有一个home目录。Home目录 可以被放在NFS服务器上并且在网络上处处可用。
3、诸如软驱,CDROM,和 Zip 之类的存储设备可以在网络上面被别的机器使用。 这可以减少整个网络上的可移动介质设备的数量。

NFSv3
Version 3 (RFC 1813, June 1995) 添加如下特性:
支持 64 bit 文件大小和偏移,(即突破 2GB 文件大小的限制);
支持服务端的异步写操作, 提升写入性能;
在许多响应报文中额外增加文件属性, 避免用到这些属性时重新获取;
增加 READDIRPLUS 调用, 用于在遍历目录时获取文件描述符和文件属性;


NFSv4
NFSv4协议 (RFC 3010, December 2000; revised in RFC 3530, April 2003), 借鉴了AFS(Andrew File System)和SMB/CIFS(Server Message Block)的特性,主要做了如下改进: 性能提升,强制安全策略,引入有状态的协议[5]。
NFSv4.1 (RFC 5661, January 2010) 旨在为并行访问可横向扩展的集群服务(pNFS扩展)提供协议支持。

 

NFS配置的一些选项说明
rw :读写;
ro :只读;
sync :同步模式,内存中数据时时写入磁盘;
async :不同步,把内存中数据定期写入磁盘中;
no_root_squash :加上这个选项后,root用户就会对共享的目录拥有至高的权限控制,就像是对本机的目录操作一样。不安全,不建议使用;
root_squash:和上面的选项对应,root用户对共享目录的权限不高,只有普通用户的权限,即限制了root;
all_squash:不管使用NFS的用户是谁,他的身份都会被限定成为一个指定的普通用户身份;
anonuid/anongid :要和root_squash 以及all_squash一同使用,用于指定使用NFS的用户限定后的uid和gid,前提是本机的/etc/passwd中存在这个uid和gid。


配置:
Server(192.168.1.30):
## 定义NFS目录,允许访问网段,权限rw(读写),ro(只读),sync同步。anonuid=500,anongid=500限制id:500这个用户,创建文件时的属主,而且500是客户端的用户。 no_root_squash 不限制root,其创建的文件属主为root。
1、vim /etc/exports     ## 配置可以选下面其中一种,也可以同时做多个共享目录
/mnt  192.168.1.30/24(rw,sync,all_squash,anonuid=500,anongid=500)
#共分为三部分,第一部分就是本地要共享出去的目录,第二部分为允许访问的主机(可以是一个IP也可以是一个IP段)第三部分就是小括号里面的,为一些权限选项

2、yum install -y nfs-utils rpcbind## rpcbind 用来做数据通讯
## 启动服务
3、/etc/init.d/rpcbind start ;/etc/init.d/nfs start 
    重新加载配置文件: exportfs -arv
## NFS目录授权
4、chmod 777 /mnt

Client(192.168.1.31):
1、yum install -y nfs-utils
## 查看NFS共享目录和用户/网段
2、showmount -e 192.168.1.30
3、mount -t nfs -onolock,nfsvers=3 192.168.1.30:/mnt /opt  //touch文件很久没响应时,可以加上-onolock选项。centos6可能与nfs服务不兼容容易出错,所以加上选项nfsvers=3,如果不指定nfs的版本为4.

4、df -h  可以查看挂载的目录,但/opt在没授权前不能写入,所以需要Server对共享目录/mnt 授权(chmod 777 /mnt),创建文件时默认用户nfsnobody。如果Server设置了用户,那么创建文件时所属就是设置的用户。

 

测试:

从客户端访问服务器报错,提示:clnt_create: RPC: Program not registered

解决办法:在服务器上先停止rpcbind

           /etc/init.d/rpcbind stop

 

          然后在停止nfs

          /etc/init.d/nfs stop

 

          最后在重启rpcbindnfs,一定要按顺序启动和停止

          /etc/init.d/rpcbind start

          /etc/init.d/nfs start

做完这个动作之后,访问成功

 

挂载成功后,touch 新文件ls -l后发现用户属主映射不正常,解决办法:

重新挂载。


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI