NFS服务的搭建与配置
2018-04-01 00:00
411 查看
1. NFS介绍
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。NFS是Network File System的缩写
NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本
NFS数据传输基于RPC协议,RPC为Remote Procedure Call的简写。
NFS应用场景是:A,B,C三台机器上需要保证被访问到的文件是一样的,A共享数据出来,B和C分别去挂载A共享的数据目录,从而B和C访问到的数据和A上的一致
1.1 NFS架构
![](https://static.oschina.net/uploads/img/201804/01165528_w6if.png)
1.2 NFS原理图
![](https://static.oschina.net/uploads/img/201804/01165553_M0nl.jpg)
2. NFS服务端安装配置
准备两台虚拟机,一台作为服务端,一台作为客户端。2.1 服务端(IP:192.168.2.130)
安装NFS工具
[root@localhost ~]# yum install -y nfs-utils rpcbind
配置
[root@localhost ~]# vim /etc/exports /home/nfstestdir 192.168.2.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000) #指定要进行分享的目录;指定要共享该目录的机器 创建要分享的目录并设置好权限: [root@localhost ~]# mkdir /home/nfstestdir [root@localhost ~]# chmod 777 /home/nfstestdir
启动NFS服务
[root@localhost ~]# systemctl start nfs [root@localhost ~]# systemctl enable nfs //把NFS服务加入开机启动项 #NFS服务的后台服务进程为rpcbind服务(在服务端进程名称为systemd),默认的监听端口是111
2.2 客户端(IP:192.168.2.131)
安装NFS工具
[root@host ~]# yum install -y nfs-utils
检查
检查客户端是否有权限访问服务端文件[root@host ~]# showmount -e 192.168.2.130 clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host) //报错,无法连接到服务器 **解决办法** 1. 检查服务端rpcbind服务是否开启,111端口是否在监视 2. 如果服务端rpcbind服务已经开启,那么一般都是防火墙的原因,关闭服务端和客户端firewalld和SELinux防火墙 关闭防火墙后,再次检查 [root@host ~]# showmount -e 192.168.2.130 Export list for 192.168.2.130: /home/nfstestdir 192.168.2.0/24 #检查链接OK,通过
挂载客户端
[root@host ~]# mount -t nfs 192.168.2.130:/home/nfstestdir /mnt/ [root@host ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 192.168.2.130:/home/nfstestdir 18G 7.5G 11G 42% /mnt
测试
在客户端挂载目录,创建一个文件[root@host ~]# cd /mnt/ [root@host mnt]# ll 总用量 0 -rw-r--r-- 1 mysql mysql 0 9月 18 22:50 test000
查看服务端的共享目录,是否同步了该文件
[root@localhost ~]# ll /home/nfstestdir/ 总用量 0 -rw-r--r-- 1 mysql mysql 0 9月 18 22:50 test000
表示同步成功,实现了跨服务器的共享。
3. NFS配置选项
服务端
[root[@localhost ~]# vim /etc/exports /home/nfstestdir 192.168.2.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000) #{rw 读写 ro 只读 sync 同步模式,内存数据实时写入磁盘 async 非同步模式 no_root_squash 客户端挂载NFS共享目录后,root用户不受约束,权限很大 root_squash 与上面选项相对,客户端上的root用户收到约束,被限定成某个普通用户 all_squash 客户端上所有用户在使用NFS共享目录时都被限定为一个普通用户 anonuid/anongid 和上面几个选项搭配使用,定义被限定用户的uid和gid}
4. exportfs命令
exportfs 命令用来管理当前NFS共享的文件系统列表。4.1 常用参数
-a 全部挂载或者全部卸载-r 重新挂载
-u 卸载某一个目录
-v 显示共享目录
exportfs -arv //服务端更改配置文件后,不重启服务,直接执行该命令就可以使更改后的配置文件生效。
4.2 以下操作在服务端上
[root@localhost ~]# vim /etc/exports //增加 /tmp/ 192.168.2.0/24(rw,sync,no_root_squash) [root@localhost ~]# exportfs -arv //不用重启nfs服务,配置文件就会生效 #在重启nfs服务之前,需要先把所有挂载点卸载,否则将发生严重的程序错误,甚至会拖垮系统。
5. NFS客户端问题
5.1 NFS4版本在centos6中应用存在如下问题:
客户端挂载共享目录后,不管是root用户还是普通用户,创建的新文件的属主、数组都为nobody。5.2 解决方案
方法1:只在客户端进行挂载时加上选项-o nfsvers=3[root@host ~]# monunt -t nfs -o nfsvers=3 192.168.2.130:/tmp/ /mnt/
方法2:修改客户端和服务端的配置文件
vim /etc/idmapd.conf #把配置文件中的“Domain = local.domain.com”改为“Domain = xxx.com”(此处xxx.com是自己随意定义),然后重启rpcidmapd服务(在centos7中直接重启rpcbind服务)
相关文章推荐
- NFS服务搭建与配置
- 嵌入式软件开发培训笔记——ARM架构Linux系统下交叉编译环境搭建、NFS、TFTP服务配置及Nandflash的读写
- day 56 NFS服务搭建(续)与FTP服务搭建与配置
- 搭建nfs共享存储服务之三客户端配置
- 第14章NFS服务搭建与配置
- 一步步搭建NFS服务(2)------安装和配置
- NFS服务搭建与配置(NFS介绍、NFS服务端安装配置、NFS配置选项)
- NFS 服务搭建配置
- NFS服务搭建与配置(二)exportfs命令,FTP服务搭建
- NFS服务搭建与配置
- 搭建nfs共享存储服务之二nfs服务端配置
- NFS(文件共享)服务搭建与配置
- 【NFS服务搭建】NFS介绍、NFS服务端安装配置、NFS配置选项和客户端挂载
- 笔记12(MySQL常用操作、NFS服务搭建与配置)
- Linux搭建nfs服务以及客户端配置
- NFS服务搭建与配置
- NFS服务搭建与配置
- Linux搭建—NFS服务的安装与配置
- linux搭建nfs服务配置
- NFS服务搭建与配置