NFS的部署-创新互联
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
最后在重启rpcbind和nfs,一定要按顺序启动和停止
/etc/init.d/rpcbind start
/etc/init.d/nfs start
做完这个动作之后,访问成功
挂载成功后,touch 新文件ls -l后发现用户属主映射不正常,解决办法:
重新挂载。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章标题:NFS的部署-创新互联
浏览地址:http://azwzsj.com/article/cecjpd.html