NFS服务配置总结
介绍
NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。
NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利;
NFS一般用来存储共享视频,图片等静态数据;NFS 协议默认是不加密的,它不像 Samba,它不提供用户身份鉴别。服务端通过限定客户端的 IP 地址和端口来限制访问。
原理
NFS在文件传送或信息传送的过过程中,依赖于RPC协议。RPC,远程过程调用(Remote Procedure Call),是使客户端能够执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,就是因为NFS使用了RPC提供的传输协议,可以说NFS就是使用PRC的一个程序

- 首先服务器端启动RPC服务,并开启111端口
 - 服务器端启动NFS服务,并向RPC注册端口信息
 - 客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口
 - 服务端的RPC(portmap)服务反馈NFS端口信息给客户端。
 - 客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输
 
注意: 在启动NFS SERVER之前,首先要启动RPC服务(即portmap服务,下同)否则NFS SERVER就无法向RPC服务区注册,另外,如果RPC服务重新启动,原来已经注册好的NFS端口数据就会全部丢失。因此此时RPC服务管理的NFS程序也要重新启动以重新向RPC注册。
特别注意:一般修改NFS配置文档后,是不需要重启NFS的,直接在命令执行systemctl reload nfs或exportfs –rv即可使修改的/etc/exports生效
适用场景
NFS 最好是部署在局域网 ,不要在公网上 ;
适合在中小型企业使用;大型网站不会用 NFS 的, 用的都是 分布式存储
安装
NFS服务端
安装nfs-kernel-server:
$ sudo apt install nfs-kernel-server
NFS客户端
安装 nfs-common:
$ sudo apt install nfs-common
配置
服务端配置
创建共享目录
sudo mkdir -p /var/nfs/sharedir配置 /etc/exports (NFS挂载目录及权限由/etc/exports文件定义)
格式: 共享目录的路径 允许访问的NFS客户端(共享权限参数) 参数:
- ro 只读
- rw 读写
- root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户
- no_root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员
- all_squash 无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户
- sync 同时将数据写入到内存与硬盘中,保证不丢失数据
- async 优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据 请注意,NFS客户端地址与权限之间没有空格
比如要将
/var/nfs/sharedir目录共享, 则在该文件末尾添加下列语句:
/home/lin/NFSshare 192.168.66.*(rw,sync,no_root_squash)/var/nfs/sharedir *(rw,sync,no_root_squash,no_subtree_check)要限制客户端IP, 添加下列语句:
/var/nfs/sharedir 122.111.222.111(rw,sync,no_subtree_check)共享目录为/public , 允许访问的客户端为192.168.245.0/24网络用户,权限为只读
/public 192.168.245.0/24(ro)
重新加载 nfs-kernel-server 配置:
$ sudo systemctl reload nfs-kernel-server
客户端配置
使用
showmount命令查看nfs服务器共享信息。输出格式为“共享的目录名称 允许使用客户端地址”。
showmount命令参数:- -a :显示目前主机与客户端的 NFS 联机分享的状态;
 - -e :显示/etc/exports 所分享的目录数据。
 
user@k8s-node-01:~$ showmount -e 172.20.249.5
Export list for 172.20.249.5:
/var/nfs/sharedir *
在客户端创建目录,并挂载共享目录
$ sudo mkdir -p /mnt/nfs_sharedir挂载远程共享目录:
$ sudo mount your_nfs_server_ip:/var/nfs/sharedir /mnt/nfs_sharedire.g.
sudo mount 172.20.249.5:/var/nfs/sharedir /mnt/nfs_sharedir编辑fstab文件, 使系统每次启动时都能自动挂载
$ sudo vim /etc/fstab
添加如下:
your_nfs_server_Ip:/var/nfs/sharedir /mnt/nfs_sharedir nfs defaults 0 0检查客户端挂载状态

卸载远程挂载
$ sudo umount /mnt/nfs_sharedir
NFS服务配置总结的更多相关文章
- redhat enterprixe 5.0 NFS服务配置与管理
		
一.了解NFS Samba 是主要用于实现Linux和Windows操作系统之间文件共享的协议,而NFS则是实现UNIX和Linux操作系统之间文件共享的协议. NFS可以把网络上远程的文件挂载到本机 ...
 - linux的基本操作(NFS服务配置)
		
服务配置 [什么是NFS] NFS会经常用到,用于在网络上共享存储.这样讲,你对NFS可能不太了解,笔者不妨举一个例子来说明一下NFS是用来做什么的.假如有三台机器A.B.C,它们需要访问同一个目录, ...
 - NFS服务配置
		
FS服务会经常用于在网络上共享存储. 比如有3台机子A,B,C;他们都需要访问同一个目录,使用NFS, 只需要把图片都放在A上,然后A共享给B和C即可. 访问B和C时,是通过网络的方式访问A上的哪个目 ...
 - linux nfs服务配置挂载以及oracle使用nfs存储挂载注意事项
		
服务端共享目录 /home/XXX/nfs_shared 172.16.22.0/24(rw,no_root_squash) service nfs restart 常用命令: 查看所有nfs共享目录 ...
 - NFS  服务配置篇
		
安装.配置NFS服务 1.NFS简介 NFS(network file system) NFS是一个主机A通过网络,允许其他主机B可以来共享主机A的一个目录文件的一个文件系统 2.需要安装两个包nfs ...
 - Linux系统中NFS服务配置
		
文章目录: 一.NFS服务简介 二.NFS服务端配置 三.NFS客户端配置 四. ...
 - NFS服务配置  Linux
		
两台机器: NFS服务器:192.168.1.100 (我的是Ubuntu系统) 客户机:192.168.1.123 (保证两台机器互相可以ping通) 需求:在NFS服务器上创建一个共享文件夹/ho ...
 - 【转】NFS服务配置与mount nfs时-o nolock的问题
		
NFS文件系统挂载步骤 1.创建共享目录 #mkdir /home/hellolinux/nfs 2.创建或修改/etc/exports文件 #vi /etc/exports home/helloli ...
 - CentOS7系列--3.1CentOS7中配置NFS服务
		
CentOS7配置NFS服务 1. 配置NFS服务器端 1.1. 安装nfs-utils软件 [root@server1 ~]# yum install -y nfs-utils Loaded plu ...
 
随机推荐
- 关于保存批量数据进入mysql
			
提出的要求: 生成13位纯数字的卡号与8位纯数字的卡密,要求卡号与卡密都必须全表唯一,然后保存到mysql. 思路: 1.首先mysql中将这两个字段设置唯一索引,保证这两个字段的值在该表中是唯一存在 ...
 - ES6--正则表达式
			
创建正则表达式规则的四种方法 var regex = new RegExp('xyz', 'i'); var regex = new RegExp(/xyz/i); var regex = new R ...
 - c#三角形
			
int n = 10; for (int i = 1; i <= n; i++) { Console.Write(new string(' ', n - i)); for (int j = 1; ...
 - 安装tomcat for ubuntu linux差点没晕死我!
			
我滴个神!装ubuntu的tomcat差点没有晕死我!怎么回事呢? 应该说是装好了,执行了bin/startup.sh了,出现以下画面: Using CATALINA_BASE: /home/niew ...
 - #paragma详解
			
#Pragma是预处理指令,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作.#Pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统 ...
 - SpringBoot第十一集:整合Swagger3.0与RESTful接口整合返回值(2020最新最易懂)
			
SpringBoot第十一集:整合Swagger3.0与RESTful接口整合返回值(2020最新最易懂) 一,整合Swagger3.0 随着Spring Boot.Spring Cloud等微服务的 ...
 - 查看ceph集群被哪些客户端连接
			
前言 我们在使用集群的时候,一般来说比较关注的是后台的集群的状态,但是在做一些更人性化的管理功能的时候,就需要考虑到更多的细节 本篇就是其中的一个点,查询ceph被哪些客户端连接了 实践 从接口上来说 ...
 - CephFS cache tier实践
			
这是一篇分享文,作者因为最近想深入研究下ceph的cache pool,作者写的文章非常的好,这里先直接翻译这篇文章,然后再加入我自己的相关数据 blog原文 作者想启动blog写下自己的Openst ...
 - 前端知识之HTML标签
			
1.HTML是一个标准,规定了大家怎么写网页. 2.HTML->>学标签 <标签名> --> 标记语言(HTML.XML) 3.标签分类 双标签.单标签 (1)& ...
 - 玩转 Comparator 和 Comparable 两接口
			
最近项目中有排序的需求,就查看了一下Java文档,发现有两个接口都可以进行排序,Comparable 和 Comparator 两接口到底有啥区别?何时用?怎么用?使用场景我都在底下一一研究分享出来: ...