安装NFS服务,需要安装两个软件,分别是:

RPC主程序:rpcbind

NFS 其实可以被视为一个 RPC 服务,因为启动任何一个 RPC 服务之前,我们都需要做好 port 的对应 (mapping) 的工作才行,这个工作其实就是『 rpcbind 』这个服务所负责的!也就是说, 在启动任何一个 RPC 服务之前,我们都需要启动 rpcbind 才行! (在 CentOS 5.x 以前这个软件称为 portmap,在 CentOS 6.x 之后才称为 rpcbind 的!)

NFS主程序:nfs-utils

就是提供 rpc.nfsd 及 rpc.mountd 这两个 NFS daemons 与其他相关 documents 与说明文件、执行文件等的软件!这个就是 NFS 服务所需要的主要软件。

NFS的相关文件:

主要配置文件:/etc/exports

这是 NFS 的主要配置文件了。该文件是空白的,有的系统可能不存在这个文件,主要手动建立。NFS的配置一般只在这个文件中配置即可。

NFS 文件系统维护指令:/usr/sbin/exportfs

这个是维护 NFS 分享资源的指令,可以利用这个指令重新分享 /etc/exports 变更的目录资源、将 NFS Server 分享的目录卸除或重新分享。

分享资源的登录档:/var/lib/nfs/*tab 在 NFS 服务器的登录文件都放置到 /var/lib/nfs/ 目录里面,在该目录下有两个比较重要的登录档, 一个是 etab ,主要记录了 NFS 所分享出来的目录的完整权限设定值;另一个 xtab 则记录曾经链接到此 NFS 服务器的相关客户端数据。

客户端查询服务器分享资源的指令:/usr/sbin/showmount 这是另一个重要的 NFS 指令。exportfs 是用在 NFS Server 端,而 showmount 则主要用在 Client 端。showmount 可以用来察看 NFS 分享出来的目录资源。

服务端安装NFS服务步骤:

第一步:安装NFS和rpc

#安装nfs服务

[root@localhost ~]# yum install -y nfs-utils

#安装rpc服务

[root@localhost ~]# yum install -y rpcbind

#其实安装yum install -y nfs-utils就会自动把rpcbind安装上 所以不用执行第二步

1

2

3

4

5

#安装nfs服务

[root@localhost~]# yum install -y  nfs-utils

#安装rpc服务

[root@localhost~]# yum install -y rpcbind

#其实安装yum install -y nfs-utils就会自动把rpcbind安装上 所以不用执行第二步

第二步:启动服务和设置开启启动:

[root@localhost~]# systemctl start rpcbind

[root@localhost~]# systemctl enable rpcbind

[root@localhost~]# systemctl start nfs-server

[root@localhost~]# systemctl start nfs-secure.service

[root@localhost~]# systemctl enable nfs-server

[root@localhost~]# systemctl enable nfs-secure.service

1

2

3

4

5

6

[root@localhost~]# systemctl start rpcbind

[root@localhost~]# systemctl enable rpcbind

[root@localhost~]# systemctl start nfs-server

[root@localhost~]# systemctl start nfs-secure.service

[root@localhost~]# systemctl enable nfs-server

[root@localhost~]# systemctl enable nfs-secure.service

如果你开启了防火墙,配置下放行nfs服务

firewall-cmd --permanent --add-service=nfs

firewall-cmd --reload

1

2

firewall-cmd--permanent--add-service=nfs

firewall-cmd--reload

第三步:配置共享文件目录,编辑配置文件:

#创建共享目录

mkdir /public

#配置文件

vim /etc/exports

/public 172.17.0.2(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501)

/public 172.17.0.3(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501)

/public 172.17.0.4(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501)

或者直接写这个网络段

vim /etc/exports

/public 172.17.0.2/24(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501)

1

2

3

4

5

6

7

8

9

10

11

#创建共享目录

mkdir/public

#配置文件

vim/etc/exports

/public172.17.0.2(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501)

/public172.17.0.3(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501)

/public172.17.0.4(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501)

或者直接写这个网络段

vim/etc/exports

/public172.17.0.2/24(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501)

配置文件解析

格式: 共享目录的路径 允许访问的NFS客户端(共享权限参数)

如上:

/public #共享目录路径

172.17.0.2 #允许访问的客户端为172.17.0.2网络用户

(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501) #权限

#注意,nfs客户ip地址与权限之间没有空格

ro 只读

rw 读写

root_squash当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户

no_root_squash当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员

all_squash无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户

no_all_squash 与all_squash取反(默认设置)

sync 同时将数据写入到内存与硬盘中,保证不丢失数据

async 优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据

anonuid 将客户机上的用户映射成指定的本地用户ID的用户

anongid 将客户机上的用户映射成属于指定的本地用户组ID

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

格式:共享目录的路径允许访问的NFS客户端(共享权限参数)

如上:

/public#共享目录路径

172.17.0.2#允许访问的客户端为172.17.0.2网络用户

(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501)#权限

#注意,nfs客户ip地址与权限之间没有空格

ro只读

rw读写

root_squash当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户

no_root_squash当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员

all_squash无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户

no_all_squash与all_squash取反(默认设置)

sync同时将数据写入到内存与硬盘中,保证不丢失数据

async优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据

anonuid将客户机上的用户映射成指定的本地用户ID的用户

anongid将客户机上的用户映射成属于指定的本地用户组ID

showmount命令的用法

-e [本机ip]显示NFS服务器的共享列表

-a [本机ip]显示本机挂载的文件资源的情况NFS资源的情况

-v显示版本号

1

2

3

-e[本机ip]显示NFS服务器的共享列表

-a[本机ip]显示本机挂载的文件资源的情况NFS资源的情况

-v显示版本号

#显示已经mount到本机nfs目录的客户端机器

showmount -e localhost

#将配置文件中的目录全部重新export一次!无需重启服务。

exportfs -rv

#查看NFS的运行状态

nfsstat

#查看rpc执行信息,可以用于检测rpc运行情况

rpcinfo

#查看网络端口,NFS默认是使用111端口。

netstat -tu -4

#重启nfs服务

service nfs-kernel-server restart

1

2

3

4

5

6

7

8

9

10

11

12

#显示已经mount到本机nfs目录的客户端机器

showmount-elocalhost

#将配置文件中的目录全部重新export一次!无需重启服务。

exportfs-rv

#查看NFS的运行状态

nfsstat

#查看rpc执行信息,可以用于检测rpc运行情况

rpcinfo

#查看网络端口,NFS默认是使用111端口。

netstat-tu-4

#重启nfs服务

servicenfs-kernel-serverrestart

如果你安装了防火墙,需要配置nfs需要开放的端口

portmap 端口 111 udp/tcp

nfsd 端口 2049 udp/tcp

mountd 端口 “xxx” udp/tcp 负责客户端来源认证的进程,认证成功后接受客户端的挂载请求,工作在随机端口,即时向RPC注册。

系统 RPC服务在 nfs服务启动时默认会为 mountd动态选取一个随机端口(32768–65535)来进行通讯,我们可以通过编辑/etc/services 文件为 mountd指定一个固定端口:

#注意下面这个为mountd指定端口我试了下没有成功,一般情况下不需要指定,人家自己获取是多少就是多少。你可以通过 rpcinfo -p 查看当前随机指定的mountd端口是多少然后加入到你的防火墙中。

# vim /etc/services

在末尾添加

mountd 1011/udp

mountd 1011/tcp

保存该文件,重启rpc.mountd

rpcinfo -p Hostname

现在我们会发现 mountd已经和端口 1011绑定了。

1

2

3

4

5

6

7

8

9

10

#注意下面这个为mountd指定端口我试了下没有成功,一般情况下不需要指定,人家自己获取是多少就是多少。你可以通过 rpcinfo -p 查看当前随机指定的mountd端口是多少然后加入到你的防火墙中。

# vim /etc/services

在末尾添加

mountd1011/udp

mountd1011/tcp

保存该文件,重启rpc.mountd

rpcinfo-pHostname

现在我们会发现mountd已经和端口1011绑定了。

服务器本机测试

rpcinfo -p

#检测nfs的rpc注册状态

rpcinfo -u 10.0.2.15 nfs

#查看共享目录和参数设置

cat /var/lib/nfs/etab

#使用showmount命令查看共享目录发布及使用情况

showmount -e 10.0.2.15

1

2

3

4

5

6

7

rpcinfo-p

#检测nfs的rpc注册状态

rpcinfo-u10.0.2.15nfs

#查看共享目录和参数设置

cat/var/lib/nfs/etab

#使用showmount命令查看共享目录发布及使用情况

showmount-e10.0.2.15

二:配置客户端机器

1.安装nfs服务

yum install -y nfs-utils

如果是linux挂载windows的nfs需要安装 cifs-utils

yum install cifs-utils

1

yuminstallcifs-utils

2. 查看nfs服务器共享目录

3.临时挂载

mount -t nfs -o rw 10.0.2.15:/public /home/shooter/data

1

mount-tnfs-orw10.0.2.15:/public/home/shooter/data

其他挂载:

#linux挂载windows 本身共享(非nfs)

mount -t cifs //192.168.1.126/linux_nfs /mnt/linux_nfs/ -o username=linux,password=123asd,rw,file_mode=0777,dir_mode=0777,setuid=509,setgid=101

#挂载权限为0777

mount -t cifs //192.168.1.126/linux_nfs /mnt/linux_nfs/ -o username=linux,password=123asd

1

2

3

4

5

6

其他挂载:

#linux挂载windows 本身共享(非nfs)

mount-tcifs//192.168.1.126/linux_nfs/mnt/linux_nfs/-ousername=linux,password=123asd,rw,file_mode=0777,dir_mode=0777,setuid=509,setgid=101

#挂载权限为0777

mount-tcifs//192.168.1.126/linux_nfs/mnt/linux_nfs/-ousername=linux,password=123asd

4. 启动自动挂载nfs文件系统

#vim /etc/fstab

10.0.2.15:/mysqlbak /mnt/nfs nfs defaults

1

2

#vim /etc/fstab

10.0.2.15:/mysqlbak/mnt/nfsnfsdefaults

mount -a 刷新使挂载文件生效

查看挂载生效

hello文件为我在宿主机新建的文件,这说明虚拟机已经成功挂载了

最后编辑:2020-03-25作者:shooter

这个作者貌似有点懒,什么都没有留下。

NFS服务器主配置文件名,NFS服务器的搭建与配置相关推荐

  1. 服务器主机装win7系统安装,服务器主机装win7系统

    服务器主机装win7系统 内容精选 换一换 启动ambari-server后,通过客户端浏览器登录Ambari的界面.浏览器网址:http://:8080.默认登录用户名/密码为:admin/admi ...

  2. 服务器主机装win7系统安装,服务器主机装win7系统安装

    服务器主机装win7系统安装 内容精选 换一换 主机监控分为基础监控.操作系统监控和进程监控.基础监控:ECS自动上报的监控指标,数据采集频率为5分钟1次.可以监控CPU使用率等指标,详见支持监控的服 ...

  3. mysql slave 详细配置_进击的MysqlSlave环境搭建及配置

    一)环境拓扑今天讨论的是mysql集群这一块,资源如下所示:二)Mysql安装配置这里不一一赘述,可以选择源代码编译安装,也可以参考我之前的一篇博文"懒人"速成 一)环境拓扑 二) ...

  4. NFS服务器主配置文件名,NFS服务配置文件

    NFS服务的安装和测试是比较简单的.那么下面我们就来详细介绍一下NFS服务在Linux系统下的具体安装测试步骤.那么请大家先了解一下有关的配置文件,以及相关的格式. 1)服务端配置文件: /etc/e ...

  5. 服务器项目带文件名,tomcat服务器上webapps里的文件名和项目名称不一样,修改方法...

    第一种方法: 打开工程所在目录,找到一个 .mymetadata的文件,用记事本等打开,内容大致如下: type="WEB" name="QingNiaoCang&quo ...

  6. java搭建环境配置_JAVA开发环境的搭建(配置JAVA开发环境)

    1:想要学习Java第一步就是搭建Java环境,就是安装JDK,又因为JDK里面包含JRE,所以在安装JDK的过程中就安装了JRE,所以以下只是给出了JDK的安装包,自行下载安装即可 http://w ...

  7. Apollo配置中心-手把手教你搭建Apollo配置中心运行环境

    1.预置环境信息 运行环境 JDK >= 1.8 具体安装及环境及环境变量配置这里不再赘述, 可自行查找资料. 2.下载程序包 演示版本使用的是apollo-1.9.2版本(就是几个spring ...

  8. 服务器机器hba卡型号,服务器hba卡需要配置什么

    服务器hba卡需要配置什么 内容精选 换一换 Atlas 200 DK开发者板支持通过USB端口或者网线与Ubuntu服务器进行连接,连接示例图如图1所示.Atlas 200 DK连接Ubuntu服务 ...

  9. 服务器需不需要虚拟内存,服务器需不需要虚拟内存

    服务器需不需要虚拟内存 内容精选 换一换 当多台服务器进行分布式训练时,需要通过昇腾软件中的HCCN Tool工具配置NPU卡IP地址(device的网卡IP),用于多台训练服务器间的网络模型参数通过 ...

最新文章

  1. 客服团队OKR怎么写?看最新客服OKR模板
  2. python 返回字符串长度_Python在使用特殊字符时返回错误的字符串长度
  3. php如何生成本地文档,php如何生成word文件
  4. Float浮点内存存储方式 转
  5. JavaScript学习(七十七)—统计字符串中出现次数最多的字符和每个字符出现的次数
  6. 简单制作RPM二进包实例(转)
  7. 微信域名防红防屏蔽系统的原理 微信域名防屏蔽的注意点
  8. NGSL + NAWL 单词表 以及学习网站
  9. LINUX安装DeepStream
  10. InvokeRequired和Invoke
  11. python 自动划分训练集和测试集
  12. 发布项目,Upload AppStore解决ITMS-90096问题
  13. 识别括号或花括号嵌套
  14. js任意进制转换(二进制,八进制,十进制...三十六进制)
  15. android通知小图标灰色,android – 大型通知图标旁边的灰色圆圈?
  16. [现代控制理论]10_可观测性与分离原理_观测器与控制器
  17. 如何快速打造淘宝爆款
  18. Shell攻关之shell基础
  19. 前端面试题汇总CSS篇
  20. 解决Android Q 文件读写问题 及代码实例

热门文章

  1. 项目: 推箱子游戏【c/c++】
  2. 【OJ】OJ的介绍和常用OJ推荐
  3. Redis字符串操作
  4. Rational rose的安装
  5. api可以主动采集用户数据吗_自动采集数据
  6. 【数据结构-查找】3.散列表详解
  7. 干掉 Navicat:这个 IDEA 的兄弟真香!
  8. struts2教程--标签库详解
  9. Java监听器的用法(一):内部类监听器
  10. java责任链模式做优惠_Java设计模式菜鸟系列(十八)责任链模式建模与实现