linux下安装与配置nfs服务器
NFS
什么是NFS?(NAS)
NFS(网络文件系统):它的主要功能是通过网络让不同的机器系统之间可以彼此共享文件和目录。NFS服务器可以允许NFS客户端将远端NFS服务器端的共享目录挂载到本地的NFS客户端中。在本地的NFS客户端的机器看来,NFS服务器端共享的目录就好像自己的磁盘分区和目录一样。一般客户端挂载到本地目录的名字可以随便,但为方便管理,我们要和服务器端一样比较好。
这个再往简单点,就相当于windows里面共享文件,然后其他主机把这个共享文件映射成了本地盘使用一样。接下来我们会学习两部分:NFS原理(共享原理)、服务端如何搭建NFS(怎么共享)、客户端怎么挂载(怎么映射网盘)
NFS简介
NFS是(Network File System)的缩写,既网络文件系统。一种使用于分散式文件系统的协议,由SUN公司开发,于1984年向外公布。NFS允许一个系统在网络上与他人共享文件和目录,通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。多用于类Unix操作系统上。
工作原理
服务器端和客户端通信过程:

1)首先服务器端启动RPC远程过程调用(remote procedure call)服务,并开启111端口
2)启动NFS服务,并向RPC注册端口信息
3)客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口
4)服务端的RPC(portmap)服务反馈NFS端口信息给客户端。
5)客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输。
NFS有很多功能,不同的功能需要使用不同的端口。因此NFS无法固定端口。而RPC会记录NFS端口的信息,这样我们就能够通过RPC实现服务端和客户端的RPC来沟通端口信息。
那RPC和NFS之间又是如何之间相互通讯的?
首先当NFS启动后,就会随机的使用一些端口,然后NFS就会向RPC去注册这些端口。RPC就会记录下这些端口。并且RPC会开启111端口,等待客户端RPC的请求,如果客户端有请求,那服务端的RPC就会将记录的NFS端口信息告知客户端。
两台机器能够ping通
软件包的安装:
默认情况下,LINUX当中已经安装了NFS相关的软件包。只要确保本地上安装了NFS文件系统的支持即可! nfs-utils 。
服务的启动:
# systemctl enable nfs-server
# systemctl start nfs-server
NFS配置文件/etc/exports解析:
语法:
本机需要输入的文件夹 输出给谁(输出的约定,多个用“,”分隔)
规则:
● 一行一个输出项目。一行写不下,自动换行即可。
● 本机需要输入的文件夹 输出给谁两个参数之间使用一个或多个空格分隔。
● 输出给谁(输出的约定,多个用“,”分隔)两个参数之间不能有空格。
● (输出的约定,多个用“,”分隔)里面不能有空格,多条预定中间使用“,”分隔。
范例:
/etc 172.25.250.0/255.255.255.0(rw,async)
/tmp/dir1 *(ro) 192.168.100.1(rw)
/test1 *.lab.exmaple.com(ro)
服务器端重新加载配置文件而不中断连接
# exportfs -rv
#setenforce 0 //设置selinux为关闭状态
服务器端的挂载参数
|
参数 |
含义 |
|
secure |
这个选项是缺省选项,它使用了 1024 以下的 TCP/IP 端口实现 NFS 的连接。指定 insecure 可以禁用这个选项。 |
|
rw |
这个选项允许 NFS 客户机进行读/写访问。缺省选项是只读的ro。 |
|
async |
这个选项可以改进性能,但是如果没有完全关闭 NFS 守护进程就重新启动了 NFS 服务器,这也可能会造成数据丢失。缺省设置为 sync。 |
|
no_wdelay |
这个选项关闭写延时。如果设置了 async,那么 NFS 就会忽略这个选项。 |
|
nohide |
如果将一个目录挂载到另外一个目录之上,那么原来的目录通常就被隐藏起来或看起来像空的一样。要禁用这种行为,需启用 hide 选项。 |
|
no_subtree_check |
这个选项关闭子树检查,子树检查会执行一些不想忽略的安全性检查。缺省选项是启用子树检查。 |
|
no_auth_nlm |
这个选项也可以作为 insecure_locks 指定,它告诉 NFS 守护进程不要对加锁请求进行认证。如果关心安全性问题,就要避免使用这个选项。缺省选项是 auth_nlm 或 secure_locks。 |
|
mp(mountpoint=path) |
通过显式地声明这个选项,NFS 要求挂载所导出的目录。 |
|
fsid=num |
这个选项通常都在 NFS 故障恢复的情况中使用。如果希望实现 NFS 的故障恢复,请参考 NFS 文档。 用户映射的选项包括: |
|
root_squash |
这个选项不允许 root 用户访问挂载上来的 NFS 卷 |
|
no_root_squash |
这个选项允许 root 用户访问挂载上来的 NFS 卷。 |
|
all_squash |
这个选省设置是 no_all_squash。 项对于公共访问的 NFS 卷来说非常有用,它会限制所有的 UID 和 GID,只使用匿名用户。缺 |
|
anonuid |
这两个选项将匿名 UID 和 GID 修改成特定用户和组帐号 |
NFS客户端:
1、查看监测服务器端的输出的项目
# showmount -e 服务器IP地址
2、客户端单次挂载:
# mount -t nfs 服务器的ip地址:/输出的文件夹 本地挂载点
3、永久挂载:/etc/fstab
服务器的ip地址:/输出的文件夹 本地挂载点 nfs defaults 0 0
基于kerberos加密保护的NFS
NFS在以前只适合在局域网中使用,但由于NFSV4开始使用TCP协议进行传输,所以希望在工作当中在互联网中使用NFS!!!
服务器端:
1、服务器端下载服务器端的kerberos的密钥,放到/etc/krb5.keytab
2、在输出项目的挂载参数中加入(, sec=krb5p)
3、编辑NFS的系统配置文件:/etc/sysconfig/nfs 修改
RPCNFSDARGS="" 改为
RPCNFSDARGS="-V 4.2"
4、启动服务器
# systemctl restart nfs-server //enable
# systemctl restart nfs-secure-server //enable
客户端:
1、下载客户端的kerberos的密钥,放到/etc/krb5.keytab
2、# system restart nfs-secure //enable
3、写/etc/fstab
服务器的ip地址:/输出的文件夹 本地挂载点 nfs defaults,sec=krb5p,v4.2 0 0
10、配置 NFS 服务
一共有system1和system2 两台机器
System1
# yum install nfs-utils -y //安装软件包
# mkdir /securenfs //创建共享文件
# chmod 777 /securenfs
# vim /etc/exports
/securenfs *(rw) //添加共享目录
#exportfs -rv //加载/etc/exports文件
# systemctl restart nfs-server
# systemctl enable nfs-server
#firewall-cmd --permanent --add-service=nfs
#firewall-cmd --reload
11、挂载一个 NFS 共享
System2
# mkdir /mnt/secureshare
# vim /etc/fstab
system1:/securenfs /mnt/secureshare nfs defaults 0 0
# mount -a
# touch /mnt/nfssecure/secret
System1
1、创建一个包含“hello world”的新文件
#echo “hello world” > /securenfs/testfile.txt
System2上在 /mnt/secureshare就可以看到system1上创建的新文件
linux下安装与配置nfs服务器的更多相关文章
- 在linux下安装并配置mysql数据库
在linux下安装并配置mysql数据库 工具/原料 MySql5.6 CentOS 方法/步骤 1 查找以前是否安装有mysql,使用下面命令: rpm -qa|grep -i mysql ...
- Linux(4)- centos7安装python3、Linux下安装、配置virtualenv、确保开发环境的一致性、虚拟环境之virtualenvwrapper、vim
一.centos7安装python3 1.下载python3的源码包 下载地址:https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz cd ...
- Linux下安装和配置JDK与Tomcat(升级版)
在这个版本 Linux下安装和配置JDK与Tomcat(入门版) 的基础上优化升级 1.下载相关软件 apache-tomcat-6.0.37.tar.gz jdk-6u25-linux-i586-r ...
- [Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例二.
为了更好的排版, 所以将IK分词器的安装重启了一篇博文, 大家可以接上solr的安装一同查看.[Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例一: http://ww ...
- Linux下安装与配置Nginx
一.准备 Nginx版本:nginx-1.7.7.tar.gz 请自行到官网下载对应的版本. 二.步骤 ♦在Linux新建一个queenLove用户 [root@localhost /]# use ...
- Linux下安装mantis配置指南【转】
转自:http://blog.csdn.net/xabc3000/article/details/6858229 目录(?)[-] Linux下安装mantis配置指南 配置Linux下的Apache ...
- CentOS linux下安装和配置Apache+SVN(用浏览器http方式访问SVN目录)
在CentOS linux下安装SVN,我们可以进行以下步骤: 第一步:安装CentOS Linux操作系统,并在CentOS安装进行的同时,自定义安装这一步,一定要勾选Subversion(在“开发 ...
- [Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例一.
在这里一下讲解着三个的安装和配置, 是因为solr需要使用tomcat和IK分词器, 这里会通过图文教程的形式来详解它们的安装和使用.注: 本文属于原创文章, 如若转载,请注明出处, 谢谢.关于设置I ...
- linux下安装及配置和启动memcached
一.下载文件: 下载memcached和libevent,放到/hom/zwl/目录下 # wget http://www.danga.com/memcached/dist/memcached-1.2 ...
随机推荐
- ES集群操作原理
路由 当你索引一个文档,它被存储在单独一个主分片上.Elasticsearch 是如何知道文档属于哪个分片的呢?当你创建一个新文档,它是如何知道是应该存储在分片 1 还是分片 2 上的呢? 进程不能是 ...
- 使用 sroll-snap-type 优化滚动
根据 CSS Scroll Snap Module Level 1 规范,CSS 新增了一批能够控制滚动的属性,让滚动能够在仅仅通过 CSS 的控制下,得到许多原本需要 JS 脚本介入才能实现的美好交 ...
- php方法注释
注释格式 <?php /** * @method 发送邮件 * @url email/send?token=xxx * @http POST * @param token string [必填] ...
- tomcat部署项目,详细!
一.导出war包 1.先导出项目的war包(idea为例) 点+号,选择 之后点ok,确定,关闭窗口,回到idea主页面 在弹出窗口中选择新建的war,选build 之后在war导出目录,找到这个wa ...
- 带着canvas去流浪系列之六 绘制雷达图
[摘要] 用canvas原生API实现百度Echarts基本图表. 示例代码托管在:http://www.github.com/dashnowords/blogs 一. 任务说明 使用原生canvas ...
- 使用node.js将xmind导出的excel转换为json树
xmind文件如图所示, 最终生成的数据结构如图 2,选择导出为excel文件,导出的excel文件打开如图 3,安装node读取excel模块 cnpm i node-xlsx --save 4 ...
- luogu P2296 寻找道路 |最短路
题目描述 在有向图 G 中,每条边的长度均为 1,现给定起点和终点,请你在图中找一条从起点到终点的路径,该路径满足以下条件: 路径上的所有点的出边所指向的点都直接或间接与终点连通. 在满足条件 1 的 ...
- kafka - java.nio.file.FileSystemException
在启动Kafka时报错无法启动 E:\kafka_2.12-2.3.1\kafka-logs\__consumer_offsets-48\00000000000000000000.timeindex. ...
- [TimLinux] MySQL 入门指导
1. 说明 本部分内容参考MySQL参考手册第三章:Chapter 3 Tutorial. 2. 版本 下载安装:https://dev.mysql.com/get/Downloads/MySQL-5 ...
- BZOJ 2152 聪聪可可(树形DP)
聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰棍而两人都想吃.两个人都想玩儿电脑(可是他们家只有一台电脑)……遇到这种问题,一般情况下石头剪刀布就好了,可是他们已经玩儿腻了 ...