Linux系统中NFS服务配置
文章目录:
一.NFS服务简介
二.NFS服务端配置
三.NFS客户端配置
四.NFS服务排错
一.NFS服务简介
NFS是Network File System的缩写,中文称为网络文件系统,它的主要功能是通过网络(一个局域网)让不同的主机系统之间可以共享文件或目录,NFS的客户端(一般为应用服务器,例如web)可以通过挂载(mount)的方式将NFS服务器共享的数据目录挂载到NFS客户端本地系统中(就是某一个关在点下),从客户端本地看,NFS服务器端共享目录就好像是客户端自己的磁盘分区或者目录一样,而实际上却是远端的NFS服务器的目录。
NFS网络文件系统很像Windows系统的网络共享、安全功能、网络驱动器映射,这也和linux的samba服务类似,只不过一般情况下,Windows网络共享服务或samba服务用户办公局域网共享,而互联网中小型网站集群架构后端常用NFS进行数据共享,若是大型网站,那么有可能还会用到更复杂的分布式文件系统Moosefs(mfs)、GlusterFS。
二.NFS服务端配置
2.1 部署服务前的准备
| 系统版本 | 服务器角色及主机名 | IP地址 |
| CentOS Linux release 7.6.1810 (Core) | NFS服务端--General | 192.168.2.8 |
| CentOS Linux release 7.6.1810 (Core) | NFS客户端--Client | 192.168.2.38 |
2.2 检查是否安装NFS程序包(默认已经安装):
nfs-utils:nfs服务的主程序,包括rpc.nfsd、rpc.mountd两个daemons和相关的文档说明及执行命令文件等
rpcbind:centos6下面的rpc主程序(centos5下的是portmap)

如果不存在这两个软件包,请使用yum -y install nfs-utils rpcbind安装该软件包,安装了该软件包后一般会创建nfsnobody用户
检查是否存在nfsnobody用户

2.3 修改nfs配置文件/etc/exports
#该配置文件默认是存在,只不过是空文件而已,值得注意的是下文中的24和(之间没有空格

该配置文件的格式有严格的要求:共享目录 允许访问的IP或IP段(权限)
#权限介绍:rw——读写,ro——只读;sync——同时将数据写入到内存和硬盘,保证数据不丢失;
async——先将数据保存到内存,再写入到硬盘,这样效率更高,但数据可能丢失;
root_squash——当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户
no_root_squash——当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员
all_aquash——无论NFS客户端以什么用户登录,都映射为NFS服务器的匿名用户
2.4 启动nfs服务,并加入开机自启动,检查服务进程

查看服务进程如下:

2.5查看NFS服务器相关信息--showmount

注:showmount命令可用参数及作用:-e——显示NFS服务器的共享列表;-a——显示本机挂载文件资源的情况;-d——仅显示被客户挂载的目录名;-h——显示帮助信息;-v——显示版本号。
如果修改NFS配置文件/etc/exports, 可使用exportfs命令进行重启扫描/etc/exports文件,而不用重启NFS服务

注:exportfs命令常用选项,-a——表示全部挂载或卸载;-r——重新挂载;-u——卸载某一个目录;-v——显示共享的目录
2.6 新建共享目录/data文件

三.NFS客户端配置
3.1 创建挂载目录并挂载nfs

3.2 查看nfs目录文件,并在客户端新建文件

此时,服务端/data目录中文件如下:

服务端也存在在客户端中新建的文件,说明客户端用户拥有读写权限
四.NFS服务排错
1.首先明确nfs服务端挂载目录名称,很多时候找不到NFS服务端的文件,都是运维人员记错了挂载目录导致的;
2.如果客户端不能挂载上nfs服务,首先检查网络问题,确保NFS客户端到服务端的网络畅通;
3.客户端挂载目录不能读写文件的问题,一般是用户权限不够导致的;
Linux系统中NFS服务配置的更多相关文章
- 『学了就忘』Linux服务管理 — 75、Linux系统中的服务
目录 1.服务的介绍 2.Windows系统中的服务 3.Linux系统中服务的分类 4.独立的服务和基于xinetd服务的区别 5.如何查看一个服务是独立的服务还是基于xinetd的服务 (1)查看 ...
- 使用mybatis assembly插件打成tar包,在linux系统中运行服务
使用mybatis assembly插件打成tar包,在linux系统中运行服务 assembly插件插件地址: 链接:https://pan.baidu.com/s/1i6bWPxF 密码:gad5 ...
- linux系统中给mysql配置环境变量
安装过程就不写了,记得安装的路径就行,接下来要用到. 修改配置文件 vim /etc/profile 设置环境变量 写一个MYSQL_HOME,值为“mysql的安装路径” 在PATH后面加上$MYS ...
- 在RedHat Linux系统中安装和配置snmp服务
检查系统是否安装snmp服务 # rpm -qa|grep snmp net-snmp-5.3.2.2-17.el5 net-snmp-perl-5.3.2.2-17.el5 net-snmp-dev ...
- Linux系统数据共享-NFS服务
转载:http://www.cnblogs.com/mchina/archive/2013/01/03/2840040.html 一.NFS服务简介 NFS 是Network File System的 ...
- Linux系统中使用Nignx配置反向代理负载均衡
目录 使用nginx实现动静分离的负载均衡集群 使用nginx实现负载均衡和动静分离 使用nginx实现动静分离的负载均衡集群 Nginx官网源码包下载链接:http://nginx.org/en/d ...
- Linux系统的vsftpd服务配置
概述: FTP ( 文件传输协议 ) 是 INTERNET 上仍常用的最老的网络协议之一 , 它为系统提供了通过网络与远程服务器进行传输的简单方法FTP 服务器包的名称为 VSFTPD , 它代表 V ...
- Linux系统中DHCP的配置
DHCP为动态主机配置协议,负责IP地址的动态分配(当一个主机的IP为自动,则不需要自己写IP,他会在DHCP服务器的范围内自动获取) 在真机或虚拟机下配置DHCP服务时,需要先下载dhcp软件,使用 ...
- CentOS(六)--Linux系统的网络环境配置
Linux系统下的网络环境配置,Linux.Unix就是网络的世界,所以在Linux系统中如何配置网络环境变量是至关重要的,这里将会给出3种Linux系统下网络环境配置的方法! 在配置网络环境之前,首 ...
随机推荐
- spring(一):spring的基础以及组件
spring简介 spring是一种开源轻量级框架,是为了解决企业应用程序复杂性而创建的 spring是企业应用开发的“一站式”框架,致力于为javaEE应用的各层(表现层.业务层.持久层)开发提供解 ...
- redis命令行命令
配置文件设置密码认证 修改redis.conf去掉#requirepass foobared前面的#,foobared就是密码,可以进行修改 redis命令设置密码认证config set requi ...
- K3 cloud选单时候必须把必录的数据录完以后才可以选单
解决办法:在bos中把选单按钮的提交时候校验打勾
- js利用递归与promise 按顺序请求数据
问题:项目中有一个需求,一个tabBar下面如果没有内容就不让该tabBar显示,当然至于有没有内容,需要我们通过请求的来判断,但是由于请求是异步的,如何让请求按照tabBar的顺序进行? 方案:我们 ...
- pwd - 显示出当前/活动目录的名称
总览 (SYNOPSIS) pwd [OPTION] 描述 (DESCRIPTION) 显示出 完整的 当前 活动目录 名称. --help 显示 帮助 信息, 然后 退出 --version 显示 ...
- ssh - OpenSSH SSH 客户端 (远程登录程序)
总览 (SYNOPSIS) ssh [-l login_name ] hostname | user@hostname [command ] ssh -words [-afgknqstvxACNTX1 ...
- 环境管理 pipenv 的 使用
安装 pip3 install pipenv 配置 配置 环境变量 WORKON_HOME , 表示 生成的虚拟环境 文件 的 存放位置 创建虚拟环境 方式一 pipenv --python 3.7 ...
- spark- PySparkSQL之PySpark解析Json集合数据
PySparkSQL之PySpark解析Json集合数据 数据样本 12341234123412342|asefr-3423|[{"}] 正菜: #-*- coding:utf-8 –*- ...
- Sass函数-数字函数-floor()函数
floor() 函数刚好与 ceil() 函数功能相反,其主要将一个数去除其小数部分,并且不做任何的进位.也就是只做舍,不做入的计算: >> floor(2.1) 2 >> f ...
- Go copy 的使用
copy 可以将后面的 第2个切片的元素赋值copy 到第一个切片中 package main; import "fmt" func test () { s1 := []int{1 ...