一、NFS共享存储服务概述

1、NFS的概念及优点

NFS是一种基于TCP/IP传输的网络文件系统协议。

通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源;
对于大多数负载均衡群集来说,使用NFS协议来共享数据存储	是比较常见的方法,NFS也是NAS存储设备必然支持的一种协议;

2、NFS的缺点

由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只在局域网中使用。

3、NFS的使用要求:

NFS服务的实现依赖于RPC(远程过程调用)机制,以完成远程到本地的映射过程,
所以需要安装nfs-utils、rpcbind软件包来提供共享服务,前者用于NFS共享发布和访问,后者用于RPC支持。

• 依赖于RPC (远端过程调用)
• 需安装nfs-utils、rpcbind软件包
• 系统服务: nfs、rpcbind
• 共享配置文件: /etc/exports

4、NFS的配置文件

NFS的配置文件为/etc/exports
格式为:共享的目录名称 客户机地址(权限选择)

5、NFS原理图

nfs挂载位置在哪里可以查看 nfs挂载会占用磁盘空间吗_共享目录

二、配置NFS共享资源(服务器端配置)

1、安装nfs-utils和rpcbind 软件包

rpm -q rpcbind nfs-utils                    #查看是否安装
	yum install-y rpcbind nfs-utils  			#没有则用yum安装

2、设置共享目录

mkdir /opt/test1			创建目录
	chmod	777 /opt/test1		给与权限
	vim /etc/exports			编辑配置文件

nfs挂载位置在哪里可以查看 nfs挂载会占用磁盘空间吗_共享目录_02


配置参数解释

客户机地址可以是主机名、IP地址、网段地址,允许使用“*”、“?”通配符;

“rw”表示允许读写,“ro”表示为只读;
“sync”:表示同步写入到内存与硬盘中;
“no_root_squash”:表示当客户机以root身份访问时赋予本地root权限(默认是root_squash);
“root_squash”:表示客户机用root用户访问更改共享目录时,将root用户映射成匿名用户;

其他常用选项:

“all_sauash”:所有访问用户都映射为匿名用户或者用户组;
“async”:	将数据先保存在内存缓冲区中,必须时才写入磁盘;
“subtree_check”(默认):	若输出目录是一个子目录,则nfs服务器将检查其父目录的权限;
“no_subtree_check”:	即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样做可以提高效率。
“anonuid=xxx”:	指定NFS服务器/etc/passwd文件中的匿名用户的UID
“anongid=xxx”:	指定NFS服务器/etc/passwd文件

3、启动NFS服务程序

systemctl start rpcbind.service          #开启rpcbind
systemctl start nfs                		 #开启nfs
systemctl enable rpcbind.service         #将rpcbind设为自启动
systemctl enable nfs 				 	 #将nfs设为自启动

nfs挂载位置在哪里可以查看 nfs挂载会占用磁盘空间吗_服务端_03

netstat -anpt | grep rpcbind        #查看rpcbind是否开启,rpcbind服务默认使用111端口

nfs挂载位置在哪里可以查看 nfs挂载会占用磁盘空间吗_共享目录_04

4、查看本机发布的NFS共享目录

showmount -e

nfs挂载位置在哪里可以查看 nfs挂载会占用磁盘空间吗_共享目录_05

5、关闭防火墙

systemctl stop firewalld
	setenforce 0
	systemctl status firewalld

三、配置NFS共享资源(客户端配置)

1、安装nfs-utils和rpcbind程序,

rpm -q rpcbind nfs-utils                    #查看是否安装
	yum install-y rpcbind nfs-utils             #未安装可以使用yum进行安装
	systemctl start rpcbind						#开启 rpcbind	服务
	systemctl enable rpcbind					#设置开机自启

2、查看服务器端共享的目录,然后进行挂载

1、查看共享目录
		showmount -e 192.168.60.6	(服务端IP地址为192.168.60.6)

nfs挂载位置在哪里可以查看 nfs挂载会占用磁盘空间吗_服务端_06

2、手动挂载并查看是否成功
		mount 192.168.60.6:/opt/test1 /myshare

nfs挂载位置在哪里可以查看 nfs挂载会占用磁盘空间吗_nfs挂载位置在哪里可以查看_07

3、设置自动挂载
	vim	/etc/fstab
	192.168.60.6:/opt/test1 /myshare nfs defaults,_netdev 0 0

nfs挂载位置在哪里可以查看 nfs挂载会占用磁盘空间吗_linux_08

三、测试共享存储功能

1.1、在服务端创建文件,在客户端查看

服务端:创建名为666的TXT文件

nfs挂载位置在哪里可以查看 nfs挂载会占用磁盘空间吗_共享目录_09

1.2、在客户端查看

nfs挂载位置在哪里可以查看 nfs挂载会占用磁盘空间吗_服务端_10

2.1验证网页共享功能(服务端)

创建/www/html/目录
	创建frist.html文件并编辑,输入Wings of Liberty(随你输入,验证用的)

nfs挂载位置在哪里可以查看 nfs挂载会占用磁盘空间吗_服务端_11

2.2开启服务,发布共享目录(服务端)

httpd 开启失败就用 yum 安装一下

nfs挂载位置在哪里可以查看 nfs挂载会占用磁盘空间吗_服务端_12

配置文件内容在此:

nfs挂载位置在哪里可以查看 nfs挂载会占用磁盘空间吗_nfs挂载位置在哪里可以查看_13

2.3开启客户端服务及挂载新增的共享目录

nfs挂载位置在哪里可以查看 nfs挂载会占用磁盘空间吗_配置文件_14

3、打开客户端浏览器输入服务端IP查看

nfs挂载位置在哪里可以查看 nfs挂载会占用磁盘空间吗_服务端_15