centos7之NFS使用
NFS是Network File System的缩写,即网络文件系统。客户端通过挂载的方式将NFS服务器端共享的数据目录挂载到本地目录下。
一、nfs为什么需要RPC?
因为NFS支持的功能很多,不同功能会使用不同程序来启动,因此,NFS对应的功能所对应的端口无法固定。
端口不固定造成客户端与服务端之间的通信障碍,所以需要RPC来从中帮忙。
NFS启动时会随机取用若干端口,然后主动向RPC服务注册取用相关端口和功能信息,RPC使用固定端口111来监听来自NFS客户端的请求,
并将正确的NFS服务端口信息返回给客户端,这样客户端与服务端就可以进行数据传输了。
二、NFS的工作流程
1、由程序在NFS客户端发起存取文件的请求,客户端本地的RPC(rpcbind)服务会通过网络向NFS服务端的RPC的111端口发出文件存取功能的请求。
2、NFS服务端的RPC找到对应已注册的NFS端口,通知客户端RPC服务。
3、客户端获取正确的端口,并与NFS daemon联机存取数据。
4、存取数据成功后,返回前端访问程序,完成一次存取操作。
所以无论客户端,服务端,需要使用NFS,必须安装RPC服务。
NFS的RPC服务,在Centos5下名为portmap,Centos6下名称为rpcbind。
三、安装配置
1、首先关闭centos7上的firewalld防火墙和iptables防火墙,让其开机不能自启,等安装完毕后可以打开相应的防火墙。
2、安装。
yum install -y nfs-utils rpcbind
3、安装完成后后首先启动,首先启动,首先启动rpcbind服务。
systemctl restart rpcbind.service
4、配置nfs配置文件(默认是空的)
首先我们应该建立一个数据文件夹,例如data文件夹也可以是单独的一个块硬盘风趣,都可以。
#mkdir data
#vim /etc/exports
/data 192.168.1.0/24(rw,no_root_squash,sync,fsid=0)
参数:
•ro:目录只读
•rw:目录读写
•sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性
•async:将数据先保存在内存缓冲区中,必要时才写入磁盘
•all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody)
•no_all_squash:与all_squash取反(默认设置)
•root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置)
•no_root_squash:与rootsquash取反
•anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx)
•anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户
注:添加no_root_squash参数,表明此时客户端root用户的身份等同于NFS server上面的root用户,否则客户端只能同步到服务器的数据,无建立文件或文件夹等权限。
启动nfs
systemctl start nfs.service
客户端操作:
同样为了搭建顺利,可先关闭iptables和selinux、firewall。客户端只需要安装rpcbind服务即可,无需安装nfs或开启nfs服务。
#yum install -y rpcbind
#systemctl start rpcbind.service
在客户端建立文件夹,准备挂在nfs。
#cd /root
#mkdir nfstest
挂载
#mount -t nfs 192.168.1.238:/data nfstest
如果需要卸载的话,mount变成umount就行。
如下正常操作没有问题。
如上所示,这样的话在服务器或者在客户端写入对方都会发生变化。
注意:
服务器端:
1、先启动rpcbind,再启动nfs服务
2、如果配置文件发生变化可以使用exportfs -rv重新加载配置无需重启服务。
3、查看rpc服务器是否启动成功rpcinfo -p
4、查看共享目录是否存在showmount -e 192.168.1.238
5、如果开iptables防火墙的话可以使用rpcinfo -p命令查看都需要允许哪些端口。
客户端:
错误1,:Stale NFS file handle的解决方法
1、首先用umount卸载当前目录,如果卸载不了使用umount -f /root/nfstest强制卸载,然后再重新挂载即可。
错误2:touch: cannot touch ‘test2’: Permission denied nfs
1、这个是提醒你客户端挂载的nfs服务器的目录没有权限,你在nfs客户端给权限没用,要不就给nfs服务器目录777权限,这样显得啥,要不就配置文件里面如上加上no_root_squash参数。
centos7之NFS使用的更多相关文章
- Centos7配置NFS
centos7配置nfs yum -y install nfs-utils rpcbind 设置服务开机启动: systemctl enable rpcbind systemctl enable nf ...
- CentOS7下NFS服务安装及配置固定端口
CentOS7下NFS服务安装及配置 系统环境:CentOS Linux release 7.4.1708 (Core) 3.10.0-693.el7.x86_64 软件版本:nfs-utils-1. ...
- centOS7搭建NFS服务器
借鉴别人这篇博客搭建成功的:http://blog.51cto.com/mrxiong2017/2087001 NFS系统:用来共享文件.图片.视频 准备两个centOS7服务器,一个作NFS ser ...
- CentOS7配置NFS网络文件系统
NFS,是Network File System的简写,即网络文件系统.网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与他人共享目录和文件.通过使用N ...
- centos7中nfs共享的配置方法
NFS是Network File System的缩写,即网络文件系统.客户端通过挂载的方式将NFS服务器端共享的数据目录挂载到本地目录下. 一.nfs为什么需要RPC? 因为NFS支持的功能很多,不同 ...
- linux篇-Centos7构建NFS服务器和连接
准备两台centos7虚拟机 192.168.30.133 192.168.30.129 2.192.168.30.1(服务端), 3查看rpc服务是否启动 4测试安装是否成功 5修改配置文件vi/e ...
- CentOS7 安装NFS SSH免密码登陆
配置5台虚拟机 ip为192.168.1.160 - 164,使用160作为共享服务器 使用yum安装nfs 以及rpcbind,有很多文章介绍,这里不再赘述 一.启动服务 1.启动rpcbind s ...
- centos7 下nfs的配置
td p { margin-bottom: 0cm } p { margin-bottom: 0.25cm; line-height: 120% } a:link { } 补充知识: RPC 主程序: ...
- centos7 下 nfs 搭建总结
nfs一般用于生产环境磁盘空间不足导致数据无法写入,从而通过异机远程挂载磁盘方式解决问题. 一. rpm -qa | grep nfs-utils rpm -qa | grep rpcbind 二. ...
随机推荐
- 我的第三个开源库GuaJiangViewDemo——中文文档
GuaJiangViewDemo 欢迎Star 一个可以简单的刮刮奖View的封装 测试图 使用 1.在根目录上添加 maven { url 'https://jitpack.io' } 2.添加依赖 ...
- Android开发——打造简单的Viewpager指示器(小圆点指示器)
准备工作: 1.两张不同颜色的小圆点图片,可以去阿里巴巴矢量图网站搜索 我把我使用的图片贴出来 2.一个简单的Viewpager的实现 下面是简单的Viewpager实现步骤: 1.布局文件使用Vie ...
- vue实现表计监测界面
已经好几个月没有更新博客了,因为最近太忙,忙得连写博客的时间都没有.上班赶项目开启996模式,下班要去练车考驾照,一边还在赶书稿,一边还接了私活.不由得感叹:年纪大了,再也经不起那么折腾..... 每 ...
- LEDAPS1.3.0版本移植到windows平台----HuPm参数初始化模块
这个是2012年左右放在百度空间的,谁知百度空间关闭...转移到博客园. 最近项目用到3.1.2版本的LEDAPS,新版本的使用情况会在后续文章中慢慢丰富. LEDAPS的调用顺序是:HuPm--&g ...
- iOS----------弹窗动画
- (void)animationAlert:(UIView *)view { CAKeyframeAnimation *popAnimation = [CAKeyframeAnimation ani ...
- 如何关闭tornado.web的Application
研究热更新Python程序时,需要将已有的HTTP服务器重启. 我的HTTP服务器是用tornado.web.Application生成的,这样很简单: import tornado.web weba ...
- JavaScript中的闭包和作用域链
这部分几乎是JavaScript中最难的部分,也是面试官最爱问的地方. 下面的内容是我以前写的<JavaScript学习手册>中被客户删除的部分,理由听起来有点诡异:太难.
- Ext.grid.panel 改变某一行的字体颜色
grid.getStore().addListener('load', handleGridLoadEvent); function handleGridLoadEvent(store, record ...
- VS2017在线安装包下载
VS2017个人免费版即社区官方下载地址为:https://download.microsoft.com/download/D/1/4/D142F7E7-4D7E-4F3B-A399-5BACA91E ...
- ueditor富文本编辑器使用百度地图自定义动态地图组件及兼容https及http协议
ueditor富文本编辑器默认支持百度地图组件,但是如果导入动态地图后会加很多默认的地图组件在上面.如果需要自定义动态地图的组件则需要修改ueditor特定的html. ueditor百度地图组件所在 ...