当前位置:首页 » 服务存储 » nfs提高存储效率
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

nfs提高存储效率

发布时间: 2023-01-17 20:47:15

⑴ 在Windows上自建nfs,性能比较差,这个怎么办

本文描述了在应用环境为Windows系统下,需要使用文件存储的场景。本文采用了私有化部署的方式向用户提供了文件共享存储服务。用NFS协议,搭建Windows环境NFS服务,为Windows系统下的云主机提供共享访问服务。
存储格式都有哪些?
文件、块和对象是三种以不同的方式来保存、整理和呈现数据的存储格式。这些格式各有各的功能和限制。文件存储会以文件和文件夹的层次结构来整理和呈现数据;块存储会将数据拆分到任意划分且大小相同的卷中; 对象存储会管理数据并将其链接至关联的元数据
块存储
块存储主要是将裸磁盘空间整个映射给主机使用的,就是说例如磁盘阵列里面有5块硬盘(为方便说明,假设每个硬盘1G),然后可以通过划逻辑盘、做Raid、或者LVM(逻辑卷)等种种方式逻辑划分出N个逻辑的硬盘。(假设划分完的逻辑盘也是5个,每个也是1G,但是这5个1G的逻辑盘已经于原来的5个物理硬盘意义完全不同了。例如第一个逻辑硬盘A里面,可能第一个200M是来自物理硬盘1,第二个200M是来自物理硬盘2,所以逻辑硬盘A是由多个物理硬盘逻辑虚构出来的硬盘。)
典型设备:磁盘阵列,硬盘
文件存储
为了克服块存储文件无法共享的问题,所以有了文件存储。主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录。本文文件存储采用NFS协议,NFS客户端(一般为应用服务器,例如Web)可以通过挂载(mount)的方式将NFS服务器端共享的数据目录挂载带NFS客户端本地系统中(就是某一个挂载点下)。从客户端本地看,NFS服务器端共享的目录就好像是客户端自己的磁盘分区或目录一样,而实际上确实远端的NFS服务器的目录。
典型设备:FTP、NAS
对象存储
对象存储系统(Object-Based Storage System)是综合了NAS和SAN的优点,同时具有SAN的高速直接访问和NAS的数据共享等优势,提供了高可靠性、跨平台性以及安全的数据共享的存储体系结构。对象存储主要操作对象是对象(Object)。和文件和对象存储相比,没有随机读写的接口。和文件存储相比,没有目录树的概念。协议更注重简洁。
典型设备:内置大容量硬盘的分布式服务器、京东云OSS即对象存储
文件存储的适用场景
文件与较底层的块存储不同, 上升到了应用层, 一般指的就是NAS ,一套网络储存设备, 通过TCP/IP进行访问, 协议为NFSv3/v4由于通过网络。下面简单介绍以下NFS存储适用的两个场景,当然,还有更多的场景适合使用文件存储,本文不一一列出。
Web 服务
前端面向终端用户的服务由多台web服务器提供,多台服务器需要共享文件存储,文件系统、文件命名约定和权限等符合应用系统需求。
媒资管理
媒体行业由于其工作流和媒资是一直变化的,很多用户使用多云或混合云,媒体的剪辑、编辑在本地进行,存储和分发在云端,由于文件存储可以和现有的系统轻松的集成,因此,很多用户将文件存储用于媒资管理。
Windows环境下的NFS文件服务的搭建

选择Windows系统搭建NFS协议文件存储系统的优势如下:
系统交付后由用户进行维护,用户对Windows系统熟悉;
部分应用系统只能访问文件存储;
微软的SMB协议是面向网络连接的共享协议,对网络传输的可靠性要求高,常使用TCP/IP;NFS是独立于传输的,可使用TCP或UDP,同时考虑后期有linux系统扩容需求,故选择NFS协议。
京东云提供Linux环境的文件存储服务,无需另行搭建。(详见https://www.jdcloud.com/cn/procts/cloud-file-service)
本设计的优势:
共享访问-您在同一子网内的多台云主机可以共享同一个云文件服务中的文件存储系统。对于多个应用实例需要共享通用数据源的场景,特别适合使用云文件服务实现。
易于使用-支持标准的NFS协议,提供全托管的服务,无需修改应用,通过标准的文件系统挂载步骤即可实现无缝集成。极大降低迁移成本,简化云上项目开发。
稳定可靠-本系统存储基于京东云云硬盘,采用3副本冗余存储,提供超强的稳定性和可靠性,满足应用服务对文件系统的可用性和可靠性需求。
易于扩展-本系统存储基于京东云云硬盘,可根据业务需求进行存储空间的扩展。
一、创建NFS服务主机
1、创建实例
在京东云上创建一台云主机,作为NFS服务器;NFS服务要和已有云资源创建在同一区域,同一VPC中。
登录京东云控制台,选择弹性计算-云主机-实例,选择创建实例所属地域,点击“创建”按钮,进入云主机购买页面。

2、选择计费模式
包年包月和按配置计费,包年包月按一个正月进行购买付费,按配置计费按照实际使用的时长(精确至秒)每小时进行扣费。

3、地域与可用区选择
在此步骤仍可以选择实例对应的地域(华北-北京、华南-广州、华东-宿迁及华东-上海)及可用区,请注意“不同地域资源内网不互通,创建之后不可更改”,如果所选地域限额已满,可以通过提交工单提升限额。

4、创建方式选择
提供三种创建方式 自定义创建、使用实例模板创建、在高可用组内创建,后两种需要您预先创建好实例模板和高可用组,我们使用保持默认选项“自定义创建”。

5、选择windows系统镜像
镜像分为云硬盘系统盘镜像及本地盘系统盘镜像,前者仅支持创建系统盘为云硬盘的实例,后者仅支持创建系统盘为本地盘的实例。因为搭建windows系统环境的NFS存储,故镜像选择官方-windows server-windows server 2012 R2标准版。

6、选择实例规格
实例的规格支持用户自定义选择,从最小的1核1G(如g.s1.micro)到72C576GB(如m.n2.18xlarge),用户可以根据不同业务场景选择实例规格及相应配置。考虑到NFS对主机计算性能要求不高,选择2核4G规格主机。

7、配置NFS存储
云主机数据盘:数据盘为NFS系统存储盘,可以根据实际业务需要选择容量。(此处选择20G为例)

8、配置实例网络
选择私有网络及子网:VPC子网选择与需要访问NFS存储的云主机所在的VPC。
选择内网IP分配方式:如对内网IP地址没有特殊要求,可以不指定由系统自动在子网可用网段内分配,如需指定请在提示范围内输入,系统会校验IP是否可用。须注意的是,若选择自定义内网IP地址,则无法批量创建实例。
9、选择安全组
实例在创建时必须绑定一个安全组,若当前地域下未创建自定义安全组,可以在系统创建的三个默认安全组中选择一个绑定(每个私有网络创建成功之后都会自动创建三个默认安全组),也可以通过快速入口前往安全组页面创建安全组。由于官方镜像系统内防火墙默认关闭,建议绑定仅开放22端口(Linux)或3389端口(Windows)的安全组,实例创建之后再根据访问需求创建新的安全组并绑定。

10、配置公网带宽
带宽计费方式:京东云提供按固定带宽和按使用流量两种带宽计费类型的弹性公网IP,按固定带宽计费按购买时设置的带宽上限值付费,而与实际访问公网所用带宽无关,按使用流量计费则根据您实时访问公网的实际流量计费。
线路:弹性公网IP线路分为:BGP和非BGP,若您需要更快更高效的网络接入请选用BGP。
带宽范围:1Mbps~200Mbps。在创建主机过程中可以暂不购买公网IP,完成主机创建后,再进行绑定。
NFS存储如果只供VPC内云主机使用,可以不购买公网IP和带宽。

11、设置实例名称、描述
您需要设置创建的主机名,名称不可为空,只支持中文、数字、大小写字母、英文下划线“ _ ”及中划线“ - ”,且不能超过32字符,如果为批量创建购买,名称以“xxx1”、“xxx2”依次显示。同时支持为实例添加描述,描述允许为空,若添加长度不能超过256字符。

12、设置密码
可以选择“立即设置”密码,也可以选择“暂不设置”(系统会以短信和邮件方式发送默认密码),密码除了用于SSH登录实例时的密码,也是控制台通过VNC登录实例的密码。

确认云主机数量及购买时长 购买数量受限该地域您云主机、云硬盘、公网IP限额以及所选子网剩余IP数量,若限额不够,可通过提交工单提升限额。若购买包年包月实例,则需要设置购买时长,最短为1个月,最长为2年,支付十个月费用即可享受一年服务。若需要更长服务时长请提交工单。
点击确认后,返回到控制台,显示创建中,待状态为运行,NFS服务主机创建完毕。

13、登陆云主机

14、添加数据盘
打开,开始菜单-服务器管理器-文件和存储服务-磁盘,如下图:

选择数据硬盘,右键选择新建卷,文件格式为NTSF

二、建立NFS服务

1、安装NFS服务器端组件
打开,开始菜单-服务器管理器”,在主页仪表板中单击“添加角色和功能”,如下图所示。

在“开始之前”对话框中,会显示配置成NFS服务器必要的前提步骤,请按文字介绍的注意事项确认一下,如果没有问题的话,可以单击“下一步”,如下图所示:

在“安装类型”对话框中,选择“基于角色或基于功能的安装”,然后单击“下一步”,如下图所示:

在“服务器选择”对话框中,选择“从服务器池中选择服务器”,然后单击“下一步”:

在“服务器角色”对话框中,选择“文件和存储服务”中“NFS服务器”,然后单击“下一步”,如下图所示:

继续单击“下一步”,如下图所示:

在“确认”对话框中,可以看到我们从第一步到最后一步选择的参数等信息,如果有要修改的地方,可以单击“上一步”返回修改,确认没有问题的话,可以单击“安装”,如下图所示:

至此,Windows系统的NFS服务端安装完毕,根据提示重启服务器。

2、创建共享服务
NFS服务端安装完毕,回到服务器管理器,选择文件和存储服务

选择 共享-启动新加共享向导

选择“NFS共享-快速”

选择数据盘,设置共享名称

选择“身份验证”相关配置,如下图所示:

设置共享权限,权限请根据实际需要设置

创建完毕,显示”已成功创建共享“,如下图所示:

3、设置共享文件夹
在要设定共享的文件夹属性中,选择“NFS共享”栏位,点击“管理NFS共享”, 在“NFS高级共享”对话框中,选择并勾选“共享此文件夹”:

返回服务器管理器,共享对话框中,可以看到刚才新建的文件夹共享已经成功
参考资料:
1、文件存储、块存储还是对象存储?redhat官网
2、块存储、文件存储、对象存储这三者的本质差别是什么?.知乎.2016-1-1[引用日期2017-10-04]
(https://ke..com/reference/18736489/a856jWYROoQogtX1hq-v--)
3、今非昔比:块存储的复杂度提高 .TechTarget存储[引用日期2015-10-21](https://ke..com/reference/18736489/_rJK0l8aRaFmmhbzPj4Kk-4OMDrn9AGlEt1D-YeUws8wnhuYuc7rJUcaI-B0fg)

点击"京东云"了解更多详情

⑵ NFS 与 NAS 是什么关系

NFS是NAS服务器支持的其中一种文件系统。

1、NAS被定义为一种特殊的专用数据存储服务器,包括存储器件和内嵌系统软件,可提供跨平台文件共享功能。NAS通常在一个LAN上占有自己的节点,无需应用服务器的干预,允许用户在网络上存取数据,在这种配置中,NAS集中管理和处理网络上的所有数据,将负载从应用或企业服务器上卸载下来,有效降低总拥有成本,保护用户投资。

它是一种专用数据存储服务器。它以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带宽、提高性能、降低总拥有成本、保护投资。其成本远远低于使用服务器存储,而效率却远远高于后者。目前国际着名的NAS企业有Netapp、EMC、OUO等。

2、NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

(2)nfs提高存储效率扩展阅读:

NFS最显而易见的好处:

1、节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用。

2、用户不需要在网络中的每个机器上都建有Home目录,Home目录可以放在NFS服务器上且可以在网络上被访问使用。

3、一些存储设备如软驱、CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。这可以减少整个网络上可移动介质设备的数量。

参考资料来源:

网络-NAS

网络-NFS

⑶ NFS的好处

以下是NFS最显而易见的好处:
1. 节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用。
2. 用户不需要在网络中的每个机器上都建有Home目录,Home目录可以放在NFS服务器上且可以在网络上被访问使用。
3. 一些存储设备如软驱、CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。这可以减少整个网络上可移动介质设备的数量。

⑷ NFS 深入配置

1.1 NFS配置参数权限

参数名称
参数用途

rw
read-write,表示可读写权限

ro
read-only,表示只读权限

sync
请求或写入数据时,数据同步写入到硬盘才完成

async
异步写到远程缓冲区

all_squash
不管客户端什么用户,到服务端都会被压缩成匿名用户

anonuid
匿名用户的UID

anongid
匿名用户的GID

在配置文件内设置共享目录时所给予的权限:
[root@nfs01 ~]$ cat /etc/exports
/data 172.16.1.0/24(rw,sync) 10.0.0.0/24(ro)

配置好NFS服务后,/var/lib/nfs/etab文件中可以看到的配置参数以及默认自带的参数:
[root@nfs01 ~]$ cat /var/lib/nfs/etab
/data
172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,
no_all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,
anongid=65534,sec=sys,rw,secure,root_squash,no_all_squash

1.1.1 更改NFS默认用户
1.1.1.1 nfs01服务端NFS、以及所有客户端:
[root@nfs01 ~] id www
uid=1111(www) gid=1111(www) 组=1111(www)

1.1.1.2 服务端NFS特殊配置
配置文件增加如下内容:
[root@nfs01 ~]$ tail -2 /etc/exports
/data 172.16.1.0/24(rw,sync,all_squash,anonuid=1111,anongid=1111)
/data1 10.0.0.0/24(ro)

共享目录更改用户和用户组:
[root@nfs01 ~] ls -ld /data
drwxr-xr-x 2 www www 70 4月 18 10:05 /data

1.1.1.3 服务端NFS重启
[root@nfs01 ~]$ systemctl reload nfs

1.1.1.4 每个客户端挂载
[root@web01 ~] df -h
文件系统 容量 已用 可用 已用% 挂载点
172.16.1.31:/data 19G 1.8G 18G 10% /data

新创建文件验证用户名:
[root@web01 /data]# touch new_web01.txt
[root@web01 /data]# ls -l
总用量 0
-rw-r--r-- 1 www www 0 4月 18 11:01 new_web01.txt
-rw-r--r-- 1 www www 0 4月 17 11:59 oldboy.txt
-rw-r--r-- 1 www www 0 4月 17 12:30 oldgirl.txt

1.2 NFS服务重点知识梳理
  当多个NFS客户端访问服务器端读写文件时,需要具有以下几个权限:

NFS服务器/etc/exports设置需要开放许可写入的权限,即服务器端的共享权限
NFS服务器实际要共享的NFS目录权限具有可写入w的权限,即服务器端本地目录的安全权限
每台机器都对应存在和NFS默认配置UID的相同UID的用户

下表列出了常用的重点NFS服务文件或命令。

NFS常用路径
说明

/etc/exports
NFS服务主配置文件,配置NFS具体共享服务的地点,默认内容为空

/var/lib/nfs/etab
NFS配置文件的完整参数设定的文件

/proc/mounts
客户端的挂载参数

1.3 NFS客户端挂载深入
1.3.1 mount -o 参数选项及系统默认设置

参数
参数意义
系统默认值

suid/nosuid
当挂载的文件系统上有任何SUID的程序时,只要使用nosuid就能够取消设置SUID的功能
suid

rw/ro
可以指定文件系统是只读(ro)或可读写(rw)
rw

dev/nodev
是否可以保留装置文件的特殊功能
dev

exec/noexec
是否具有执行文件的权限
exec

user/nouser
是否允许用户拥有文件的挂载与卸载功能
nouser

auto/noauto
auto指的是“mount -a”时会不会被挂载的项目,如果不需要这个分区随时被挂载,可以设置为noauto
auto

1.3.2 mount -o 参数详细说明

参数选项
说明

async
涉及文件系统I/O的操作都是异步处理,即不会同步写到磁盘,能提高性能,但会降低数据安全。

sync
有I/O操作时,都会同步处理I/O,会降低性能,但数据比较安全。

atime
在每一次数据访问时,会更新访问文件的时间戳,是默认选项,在高并发的情况下,可以通过添加noatime来取消默认项。

ro
以只读的方式挂载一个文件系统

rw
以可读写的方式挂载一个文件系统

auto
能够被自动挂载通过-a选项

noauto
不会自动挂载文件系统

defaults
这是fstab里的默认值,包括rw、suid、dev、exec、auto、nouser、async

exec
允许文件系统执行二进制文件,取消这个参数,可以提升系统安全性。

noexec
在挂载的文件系统中不允许执行任何二进制程序,进仅对二进制程序有效。

noatime
访问文件时不更新文件的时间戳,高并发情况下,一般使用该参数

nodiratime
不更新文件系统上的directory inode时间戳,高并发环境,推荐显式应用该选项,可以提高系统I/O性能。

nosuid
不允许set-user-identifier or set-group-identifier位生效。

suid
允许set-user-identifier or set-group-identifier位生效。

nouser
禁止一个普通用户挂载该文件系统,这是默认挂载时的默认选项。

remount
尝试重新挂载一个已经挂载了的文件系统,这通常被用来改变一个文件系统的挂载标志,从而使得一个只读文件系统变的可写,这个动作不会改变设备或者挂载点。当系统故障时进人single或rescue模式修复系统时,会发现根文件系统经常会变成只读文件系统,不允许修改,此时该命令就派上用场了。具体命令为:mount -o remount,rw /,表示将根文件系统重新挂载使得可写。single或rescue模式修复系统时这个命令十分重要。

dirsync
目录更新时同步写人磁盘。

1.3.3 企业生产场景NFS共享存储优化

硬件:使用ssd/sas磁盘,可以买多块,制作成raid10。
NFS服务器端配置:

/data 10.0.0.0/24(rw,sync,all_squash,anonuid=65534,anongid=65534)

NFS客户端挂载优化配置命令:

mount -t nfs -o nosuid,noexec,nodev,noatime,nodiratime,rsize=131072,
wsize=131072 172.16.1.31:/data /mnt <===兼顾安全性能

对NFS服务的所有服务器内核进行优化,执行命令如下:

cat >>/etc/sysctl.conf <<EOF
net.core.wmen_default = 8388608
net.core.rmen_default = 8388608
net.core.wmen_max = 16777216
net.core.rmen_max = 16777216
EOF

执行sysctl -p 生效

大型网站NFS网络文件系统的替代软件为分布式文件系统,如:Moosefs(mfs)、GlusterFS、FastDFS。

1.4 NFS系统应用的优缺点
1.4.1 优点

简单,容易上手,容易掌握。
NFS文件系统内数据是在文件系统之上的,即数据是能看得见的。
部署快速维护简单方便,且可控,满足需求就是最好的。
可靠,从软件层面上看,数据可靠性高,经久耐用。
服务非常稳定。

1.4.2 缺点(局限)

存在单点故障,如果NFS服务端宕机了,所有客户端都不能访问共享目录。
在大数据高并发的场合,NFS效率、性能有限。
客户端认证是基于IP和主机名的,权限要根据ID识别,安全性一般。
NFS数据是明文的,NFS本身不对数据完整性进行验证。
多台客户机挂载一个NFS服务器时,连接管理维护麻烦。

1.4.3 解决性能问题的方法

使用CDN加速以及自己搭建文件缓存服务(squid、nginx、varnish)。
把多个目录分配到不同的NFS服务器上。
弃用NFS(即读写分离)。

使用分布式文件系统。

⑸ 如何使用NFS和NAS解决虚拟服务器存储问题

然而,这样的灵活性有一个条件:物理机能够看到所有虚拟磁盘镜像。这通常会导致存储网络成为一个使用网络文件系统(NFS)和虚拟网络附属存储(NAS)集群的开放网络。
在传统基于块的存储中,如iSCSI和光纤通道存储区域网络(FC SAN),这意味着我们必须能够分配和操作逻辑单元号(LUN),以便在迁移虚拟机时可以迅速重新分配LUN给其它物理机。这个操作不仅是在最初部署时很难执行,随着环境越来越大和复杂,它也会很难执行。要为每个虚拟机分配一个LUN,然后还要能够迅速地将它重新分配给其它物理主机,这对IT人士来说已然是一个越来越严重的问题。
在越来越多的环境里,IT管理员都开始使用更大的LUN来承载多个虚拟机。尽管这可以减轻分配多个LUN给多个虚拟机的重担,但无法解决分区和LUN增长的问题。
NFS解决方案
现在,VMware支持通过NFS启动部署虚拟机。通过可启动的NFS加载(mount)部署虚拟机是解决这个问题的一个理想方法,而且也被越来越广泛地接受。
NFS是一个客户端或服务器系统,允许用户跨网络访问文件,并能够像操作本地文件目录一样操作这些远程文件。它是通过输出(exporting)和载入(mounting)两个过程完成的。输出过程是指NFS服务器向远程客户端提供文件访问的过程;载入过程是指文件系统对操作系统和用户变为可用的过程。NFS主要用于Unix-to-Unix文件共享,即使你的所有虚拟机都是基于Windows的,你也可以选用NFS。尽管Windows无法引导NFS,但VMware将NFS建立在它的磁盘虚拟层,所以Windows无需引导NFS。
NFS工作站很容易创建和操作。每个物理服务器都能看到所有的虚拟磁盘镜像,而且VMotion等功能也更加容易操作。与iSCSI或FC SAN中的每个VMDK创建一个LUN不同,你可以在一个NFS卷中共置多个VMDK(VMware Virtual Disk)文件。因为VMDK只是文件,而不是真正的磁盘。为什么使用NFSNFS让存储和VMware管理员的工作变得容易得多,而且在很多VMware环境下都不会有任何性能损失。除了一些例外的存储厂商提供虚拟化解决方案以外,LUN管理对存储和VMware管理员来说都很具有挑战性。而有了NFS执行,与单个文件系统的交互让VMware镜像供应更加容易。
访问控制通过内置NFS安全性被启用后,可以向一组VMware管理员提供NFS文件系统。有了NFS,就不需要微操作每一个LUN了。例如,VMware镜像在文件夹中可以根据应用类型进行分组,而且可以同时提供给一系列应用使用。
此外,访问路径是基于传统的以太网,这不仅节省了成本,也更加易于进行故障检修。因为,大多数企业对于IP管理的了解要远远多于对FC管理的了解。
NFS有一个优点就是访问简易。所有ESX服务器都可以连接到载入点(mount point),这使得VMotion的使用更加容易。在FC部署中,每个ESX服务器都必须能够看到所有其它ESX服务器的LUN,这很不利于配置和管理。NFS是一项共享技术,所有共享访问都是内置的。
NFS的另一优势在于数据保护方面。尽管通过NFS提供的VMware镜像无法使用VMware VCB,但Unix或Linux主机可以载入这些镜像来进行备份。利用支持NDMP的备份软件可以备份这些镜像。通过Linux主机的方法可以访问VMware镜像,而且可以通过这种方法可以载入快照和备份卷。此外,你还可以综合利用NFS主机的复制工具保障业务持续性和灾难恢复,而不用购买VMware专门的复制工具。
说得直白一点,NFS不是唯一的协议,它也有不太适合的时候。例如,Microsoft Cluster Service必须有成组存取(block access),而且有些情况下就需要光纤通道。iSCSI有一些很独特的功能,其中一个是它能够直接分配一个LUN给一个子操作系统,而不用通过VMware磁盘虚拟层。这些独特的功能可以快速地将特定的LUN转移出VMware环境。
这个执行需要的不仅仅是一个标准的文件服务器或NAS,因为除了保存用户数据以外,它还是架构的一个关键部分。
利用虚拟NAS集群解决I/O问题
通过NAS集群虚拟化可以缓解某些物理存储相关问题,如I/O限制。
随着负荷的不断增加,传统的NAS无法有效地扩展升级。部署多个物理服务器会迅速加重I/O带宽的负担,这样的负荷比在多数文件服务器环境中的负荷要大得多。要减轻I/O带宽负担,就必须部署更多的NAS,而这又会导致NAS蔓延。
这使得我们必须在满足额外的NAS系统需求以解决文件服务需求的同时,还要让这些NAS系统必须能处理虚拟服务器环境不断变化的I/O需求。有了单独的NAS head,VMotion就很难适用了,唯一的其它选择是购买更大的单一的NAS head。在VMware环境下,这样的升级不是因为容量限制而进行的,而是为了提供更高的性能而升级。
下面,我们说说虚拟NAS集群。一个虚拟NAS集群代表着整个ESX环境的一个NAS对象,即使这个对象是多个NAS head。一个虚拟NAS集群是一系列NAS节点,这些节点是作为一个整体被管理的。性能或容量的升级就成为相互独立的事了,I/O性能升级只是连接更多的节点到集群,而容量升级则是连接更多的磁盘,互不影响。
此外,虚拟NAS集群还可以为环境提供冗余。如果集群的其中一个节点出错,该节点的文件系统会自动转向集群中的其它节点。这个功能可以保障数据访问不受中断,对于虚拟服务器环境非常重要。因为,虚拟服务器环境下的一个错误可能会导致几十个虚拟机受到严重影响,多层冗余对于这样的环境就显得尤为重要。
Global Files System
将虚拟服务器从一台物理机迁移到另一台物理机是一项势在必行的工作,它可以给数据中心带来很大的灵活性。而数据中心的灵活性也正是客户所寻求的。相关虚拟磁盘的迁移,尤其是从一个阵列到另一阵列或一个NAS head到另一NAS head的迁移,并不是不可能的任务,但是会非常耗费时间,并且会中断服务。
而在虚拟NAS集群环境下,这就是一件非常简单的工作,而且不会造成服务中断。这进一步提高了虚拟环境的灵活性。例如,如果某台物理机中的好几个虚拟机存在I/O带宽需求高峰期,那么你可以将其它虚拟机磁盘镜像移开它们所在的节点来应对I/O高峰期。这个功能还可以用于虚拟NAS集群中的标准文件系统,因为它们可以根据需求进行重新分配。
虚拟NAS和FC
在VMware近期的白皮书中,基于FC的块I/O仍是一个尚未成熟的I/O性能领导者。尽管有些NAS供应商会对这些结果存在争议,但这并不影响我们对这二者的利用。
首先,不到万不得已不要使用FC。现在市场上有两种不同的产品。第一种是NAS供应商(如Network Appliance)为他们的NAS head提供的FC和iSCSI服务。NAS head必须在NAS文件系统中创建一个封装的FC LUN。第二种是EMC和OnStor等公司提供的网关(Gateway)解决方案,这些解决方案允许本地FC访问存储系统。在EMC的解决方案中,这当然是一个通向Clarriion阵列的网关。OnStor允许你通过它们的NAS网关(NAS gateway)为你现有的存储添加一个有Global Files System的虚拟NAS集群。

⑹ 要配置nfs服务器在服务器端主要配置什么文件

一、NFS服务简介

NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。

NFS 的基本原则是“容许不同的客户端及服务端通过一组RPC分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。

NFS在文件传送或信息传送过程中依赖于RPC协议。RPC,远程过程调用 (Remote Procere Call) 是能使客户端执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些其它的传输协议。而这些传输协议用到这个RPC功能的。可以说NFS本身就是使用RPC的一个程序。或者说NFS也是一个RPC SERVER。所以只要用到NFS的地方都要启动RPC服务,不论是NFS SERVER或者NFS CLIENT。这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC是负责负责信息的传输。

二、系统环境

系统平台:CentOS release 5.6 (Final)

NFS Server IP:192.168.1.108

防火墙已关闭/iptables: Firewall is not running.

SELINUX=disabled

三、安装NFS服务

NFS的安装是非常简单的,只需要两个软件包即可,而且在通常情况下,是作为系统的默认包安装的。

nfs-utils-* :包括基本的NFS命令与监控程序
portmap-* :支持安全NFS RPC服务的连接
1、查看系统是否已安装NFS

系统默认已安装了nfs-utils portmap 两个软件包。

2、如果当前系统中没有安装NFS所需的软件包,需要手工进行安装。nfs-utils 和portmap 两个包的安装文件在系统光盘中都会有。

复制代码
# mount /dev/cdrom /mnt/cdrom/
# cd /mnt/cdrom/CentOS/
# rpm -ivh portmap-4.0-65.2.2.1.i386.rpm
# rpm -ivh nfs-utils-1.0.9-50.el5.i386.rpm
# rpm -q nfs-utils portmap
复制代码

四、NFS系统守护进程

nfsd:它是基本的NFS守护进程,主要功能是管理客户端是否能够登录服务器;
mountd:它是RPC安装守护进程,主要功能是管理NFS的文件系统。当客户端顺利通过nfsd登录NFS服务器后,在使用NFS服务所提供的文件前,还必须通过文件使用权限的验证。它会读取NFS的配置文件/etc/exports来对比客户端权限。
portmap:主要功能是进行端口映射工作。当客户端尝试连接并使用RPC服务器提供的服务(如NFS服务)时,portmap会将所管理的与服务对应的端口提供给客户端,从而使客户可以通过该端口向服务器请求服务。
五、NFS服务器的配置

NFS服务器的配置相对比较简单,只需要在相应的配置文件中进行设置,然后启动NFS服务器即可。

NFS的常用目录

/etc/exports NFS服务的主要配置文件
/usr/sbin/exportfs NFS服务的管理命令
/usr/sbin/showmount 客户端的查看命令
/var/lib/nfs/etab 记录NFS分享出来的目录的完整权限设定值
/var/lib/nfs/xtab 记录曾经登录过的客户端信息
NFS服务的配置文件为 /etc/exports,这个文件是NFS的主要配置文件,不过系统并没有默认值,所以这个文件不一定会存在,可能要使用vim手动建立,然后在文件里面写入配置内容。

/etc/exports文件内容格式:

<输出目录> [客户端1 选项(访问权限,用户映射,其他)] [客户端2 选项(访问权限,用户映射,其他)]
a. 输出目录:

输出目录是指NFS系统中需要共享给客户机使用的目录;

b. 客户端:

客户端是指网络中可以访问这个NFS输出目录的计算机

客户端常用的指定方式

指定ip地址的主机:192.168.0.200
指定子网中的所有主机:192.168.0.0/24 192.168.0.0/255.255.255.0
指定域名的主机:david.bsmart.cn
指定域中的所有主机:*.bsmart.cn
所有主机:*
c. 选项:

选项用来设置输出目录的访问权限、用户映射等。

NFS主要有3类选项:

访问权限选项

设置输出目录只读:ro
设置输出目录读写:rw
用户映射选项

all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);
no_all_squash:与all_squash取反(默认设置);
root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置);
no_root_squash:与rootsquash取反;
anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);
anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);
其它选项

secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);
insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
async:将数据先保存在内存缓冲区中,必要时才写入磁盘;
wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置);
no_wdelay:若有写操作则立即执行,应与sync配合使用;
subtree:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);
no_subtree:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;
六、NFS服务器的启动与停止

在对exports文件进行了正确的配置后,就可以启动NFS服务器了。

1、启动NFS服务器

为了使NFS服务器能正常工作,需要启动portmap和nfs两个服务,并且portmap一定要先于nfs启动。

# service portmap start
# service nfs start

2、查询NFS服务器状态

# service portmap status
# service nfs status

3、停止NFS服务器

要停止NFS运行时,需要先停止nfs服务再停止portmap服务,对于系统中有其他服务(如NIS)需要使用时,不需要停止portmap服务

# service nfs stop
# service portmap stop
4、设置NFS服务器的自动启动状态

对于实际的应用系统,每次启动LINUX系统后都手工启动nfs服务器是不现实的,需要设置系统在指定的运行级别自动启动portmap和nfs服务。

# chkconfig --list portmap
# chkconfig --list nfs

设置portmap和nfs服务在系统运行级别3和5自动启动。

# chkconfig --level 35 portmap on
# chkconfig --level 35 nfs on

七、实例

1、将NFS Server 的/home/david/ 共享给192.168.1.0/24网段,权限读写。

服务器端文件详细如下:

# vi /etc/exports

/home/david 192.168.1.0/24(rw)
2、重启portmap 和nfs 服务

# service portmap restart
# service nfs restart
# exportfs

3、服务器端使用showmount命令查询NFS的共享状态

# showmount -e//默认查看自己共享的服务,前提是要DNS能解析自己,不然容易报错

# showmount -a//显示已经与客户端连接上的目录信息

4、客户端使用showmount命令查询NFS的共享状态

# showmount -e NFS服务器IP

5、客户端挂载NFS服务器中的共享目录

命令格式

# mount NFS服务器IP:共享目录 本地挂载点目录
# mount 192.168.1.108:/home/david/ /tmp/david/

# mount |grep nfs

挂载成功。

查看文件是否和服务器端一致。

6、NFS的共享权限和访问控制

现在我们在/tmp/david/ 里面建立一个文件,看看权限是什么

# touch 20130103

这里出现Permission denied,是因为NFS 服务器端共享的目录本身的写权限没有开放给其他用户,在服务器端打开该权限。

# chmod 777 -R /home/david/

再次在客户端/tmp/david/ 里面建立一个文件

我用root 用户建立的文件,变成了nfsnobody 用户。

NFS有很多默认的参数,打开/var/lib/nfs/etab 查看分享出来的/home/david/ 完整权限设定值。

# cat /var/lib/nfs/etab

默认就有sync,wdelay,hide 等等,no_root_squash 是让root保持权限,root_squash 是把root映射成nobody,no_all_squash 不让所有用户保持在挂载目录中的权限。所以,root建立的文件所有者是nfsnobody。

下面我们使用普通用户挂载、写入文件测试。

# su - david

$ cd /tmp/david/

$ touch 2013david

普通用户写入文件时就是自己的名字,这也就保证了服务器的安全性。
关于权限的分析

1. 客户端连接时候,对普通用户的检查

a. 如果明确设定了普通用户被压缩的身份,那么此时客户端用户的身份转换为指定用户;

b. 如果NFS server上面有同名用户,那么此时客户端登录账户的身份转换为NFS server上面的同名用户;

c. 如果没有明确指定,也没有同名用户,那么此时 用户身份被压缩成nfsnobody;

2. 客户端连接的时候,对root的检查

a. 如果设置no_root_squash,那么此时root用户的身份被压缩为NFS server上面的root;

b. 如果设置了all_squash、anonuid、anongid,此时root 身份被压缩为指定用户;

c. 如果没有明确指定,此时root用户被压缩为nfsnobody;

d. 如果同时指定no_root_squash与all_squash 用户将被压缩为 nfsnobody,如果设置了anonuid、anongid将被压缩到所指定的用户与组;

7、卸载已挂载的NFS共享目录

# umount /tmp/david/

八、启动自动挂载nfs文件系统

格式:

<server>:</remote/export> </local/directory> nfs < options> 0 0
# vi /etc/fstab

保存退出,重启系统。

查看/home/david 有没有自动挂载。

自动挂载成功。

九、相关命令

1、exportfs

如果我们在启动了NFS之后又修改了/etc/exports,是不是还要重新启动nfs呢?这个时候我们就可以用exportfs 命令来使改动立刻生效,该命令格式如下:

# exportfs [-aruv]

-a 全部挂载或卸载 /etc/exports中的内容
-r 重新读取/etc/exports 中的信息 ,并同步更新/etc/exports、/var/lib/nfs/xtab
-u 卸载单一目录(和-a一起使用为卸载所有/etc/exports文件中的目录)
-v 在export的时候,将详细的信息输出到屏幕上。

具体例子:
# exportfs -au 卸载所有共享目录
# exportfs -rv 重新共享所有目录并输出详细信息

2、nfsstat

查看NFS的运行状态,对于调整NFS的运行有很大帮助。

3、rpcinfo
查看rpc执行信息,可以用于检测rpc运行情况的工具,利用rpcinfo -p 可以查看出RPC开启的端口所提供的程序有哪些。

4、showmount

-a 显示已经于客户端连接上的目录信息
-e IP或者hostname 显示此IP地址分享出来的目录

5、netstat

可以查看出nfs服务开启的端口,其中nfs 开启的是2049,portmap 开启的是111,其余则是rpc开启的。

最后注意两点,虽然通过权限设置可以让普通用户访问,但是挂载的时候默认情况下只有root可以去挂载,普通用户可以执行sudo。

NFS server 关机的时候一点要确保NFS服务关闭,没有客户端处于连接状态!通过showmount -a 可以查看,如果有的话用kill killall pkill 来结束,(-9 强制结束)

⑺ docker使用NFS解决数据存储问题

NFS :Net File System 网络文件存储系统

将云存储的磁盘挂载到本地计算机,本文所用的NFS提供商是阿里云网络文件存储系统。

1. 首先在阿里云配置好网络文件存储系统

具体文档在该链接中:https://help.aliyun.com/document_detail/27526.html?spm=a2c4g.11186623.6.559.121b5ddemjaPZP

2. 在本地linux测试挂载

首先安装nfs客户端工具

sudo apt-get install nfs-common

挂载,执行下列命令后,即可看到 /mount-point 挂载点出现,有关mount和umount命令的使用,需要自行网络和谷歌

sudo mount -t nfs -o vers=4.0,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport file-system-id-xxxx.region.nas.aliyuncs.com:/ /mount-point

3.  使用docker创建驱动为nfs类型的磁盘(volume,不推荐使用bind mount)

docker volume create --driver local --opt type=nfs --opt o=addr=192.168.138.130,rw --opt device=:/data/nfs volume-nfs

4. 运行容器时,挂载 volume-nfs 磁盘即可

使用-v选项将volume挂载到容器上

docker run -dit --name data1 -v volume-nfs:/mnt ubuntu:16.04

⑻ NFS网络文件系统配置

配置流程适用于DebianUbuntu等的衍生发行版
Server:Armbian192.168.2.225
Client:Deepin192.168.2.222

增添一行

将 /root/share 共享给192.168.2.222 ,客户端权限rw
其中共享对象可以用通配符,比如 * 代表所有地址。

rw: 读写

ro :只读

fsid=0 : 指定/root/share为nfs的根目录

sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;

async:是大数据时使用,是先写到缓存区,必要时再写到磁盘里。

all_squash:所有访问用户都映射为匿名用户或用户组;
no_all_squash(默认):访问用户先与本机用户匹配,匹配失败后再映射为匿名用户或用户组;

root_squash(默认):将来访的root用户映射为匿名用户或用户组;
no_root_squash:来访的root用户保持root帐号权限;

wdelay(默认):检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率;
no_wdelay:若有写操作则立即执行,应与sync配合使用;

subtree_check :若输出目录是一个子目录,则nfs服务器将检查其父目录的权限;
no_subtree_check(默认):即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;

看到最后有 192.168.2.225:/ 15G 9.3G 5.2G 65% /mnt

不能写入,没有密码

⑼ nfs:server is not responding,still trying的解决办法

系统 :centos7.9
nfs版本:nfsstat: 1.3.0
rpcbind版本:rpcbind:0.2.0

查看message日志发现nfs 客户连接端报如下错误

问题原因:
Mandag 27 november 2006 20:12 skrev Verner Kjærsgaard:

NFS协议到现在经历了V1、V2、V3、V4四个版本,但是它有一个缺点就是协议没有用户认证机制,而且数据在网络上传送的时候是明文传送,所以安全性极差,一般只能在局域网中使用。

NFSv3是1995年发布的,相比NFSv3,NFSv4发生了比较大的变化,最大的变化是NFSv4有状态了。NFSv2和NFSv3都是无状态协议,服务端不需要维护客户端的状态信息。无状态协议的一个优点在于灾难恢复,当服务器出现问题后,客户端只需要重复发送失败请求就可以了,直到收到服务端的响应信息。但是某些操作必须需要状态,如文件锁。如果客户端申请了文件锁,但是服务端重启了,由于NFSv3无状态,客户端再执行锁操作可能就会出错了。NFSv3需要NLM协助才能实现文件锁功能,但是有的时候两者配合不够协调。NFSv4设计成了一种有状态的协议,自身实现了文件锁功能,就不需要NLM协议了。

后来的 NFSv4.1
与NFSv4.0相比,NFSv4.1最大的变化是支持并行存储了。在以前的协议中,客户端直接与服务器连接,客户端直接将数据传输到服务器中。当客户端数量较少时这种方式没有问题,但是如果大量的客户端要访问数据时,NFS服务器很快就会成为一个瓶颈,抑制了系统的性能。NFSv4.1支持并行存储,服务器由一台元数据服务器(MDS)和多台数据服务器(DS)构成,元数据服务器只管理文件在磁盘中的布局,数据传输在客户端和数据服务器之间直接进行。由于系统中包含多台数据服务器,因此数据可以以并行方式访问,系统吞吐量迅速提升。现在新的是nfsv4.2
所以尽可能用nfs4

补充:
nfs4挂载的fsid问题
问题现象:
挂载nfs4时,报错:reason given by server :No such file or directory

背景知识:
NFSv4将所有共享使用一个虚拟文件系统展示给客户端。伪文件系统根目录(/)使用fsid=0标示,只有一个共享可以是fsid=0。客户端需要使用“nfs server ip:/”挂载伪文件系统,伪文件系统一般使用RO方式共享,其他共享可以通过mount –bind选项在伪文件系统目录下挂载。客户端挂载过程需要通过mount –t nfs4指定NFS版本为4,默认采用nfsv3。

解决:
以下是我的配置文件,我想挂在/datapool/nfs目录
/ *(rw,fsid=0,insecure,no_root_squash)
/datapool/nfs *(rw,fsid=1000,insecure,no_root_squash

然后mount -t nfs4 ip:/datapool/nfs /mnt/nfs/

nfs配置参数选项说明:
ro:共享目录只读;
rw:共享目录可读可写;
all_squash:所有访问用户都映射为匿名用户或用户组;
no_all_squash(默认):访问用户先与本机用户匹配,匹配失败后再映射为匿名用户或用户组;
root_squash(默认):将来访的root用户映射为匿名用户或用户组;
no_root_squash:来访的root用户保持root帐号权限;
anonuid=<UID>:指定匿名访问用户的本地用户UID,默认为nfsnobody(65534);
anongid=<GID>:指定匿名访问用户的本地用户组GID,默认为nfsnobody(65534);
secure(默认):限制客户端只能从小于1024的tcp/ip端口连接服务器;
insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
async:将数据先保存在内存缓冲区中,必要时才写入磁盘;
wdelay(默认):检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率;
no_wdelay:若有写操作则立即执行,应与sync配合使用;
subtree_check(默认) :若输出目录是一个子目录,则nfs服务器将检查其父目录的权限;
no_subtree_check :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;
Troubleshooting

1、在上面的操作过程中,如果你不幸遇到下面这个问题的话,可以尝试更新 Linux kernel 或通过打开 IPv6 来解决这个问题,这是1个 bug:

mount.nfs4: Cannot allocate memory

2、如果遇到如下问题,可能是因为你的 mount -t nfs 使用的是 nfsv3 协议,需要明确指出使用 nfsv4 协议挂载 mount -t nfs4:

mount: mount to NFS server 餄.16.20.1' failed: RPC Error: Program not registered.

如果网络不稳定

NFS默认是用UDP协议,换成TCP协议挂载即可:

mount -t nfs 11.11.165.115:/tmp/test0920 /data -o proto=tcp -o nolock

nfs:server xxx.xxx.xxx.xxx is not responding,still trying的解决方法
方法1 :
我在 arm 上通过NFS共享文件时出现下面的错误提示
nfs:server is not responding,still trying 原因分析: NFS 的默认传输协议是 UDP,而PC机与嵌入式系统通过UPD交互时就会出现严重的网卡丢包现象。

解决方法:在客户端改用TCP协议,使用下面的命令, **#mount -o tcp 10.10.19.25:/home/export /mnt/local

方法2:** 在目标板上通过NFS复制PC机上较大文件到目标板上的时候遇到的问题:
nfs: server *** not responding, still trying

修改方法:
nfs mount时候出现的NFS崩溃,按照以下的方式mount
mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.1.3/root/somedir /client

附 问题四:在测试时,“./progressbar -qws”后出现如Q3一样的提示 ,按Q3来处理。
以上参考了一些 “ 快乐的天空”的经验,他的网页是:
http://blog.chinaunix.net/u2/67519/showart_677885.html
他的
mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.1.3/root/somedir /host
应该改成
mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.1.3/root/somedir /client

⑽ 搭建NFS Server

TIP 本章节中所有命令都以 root 身份执行

NFS服务的配置文件为 /etc/exports,这个文件是NFS的主要配置文件,不过系统并没有默认值,所以这个文件不一定会存在,可能要使用vim手动建立,然后在文件里面写入配置内容。

/etc/exports文件内容格式:

<输出目录> [客户端1 选项(访问权限,用户映射,其他)] [客户端2 选项(访问权限,用户映射,其他)]

a. 输出目录:

输出目录是指NFS系统中需要共享给客户机使用的目录;

b. 客户端:

客户端是指网络中可以访问这个NFS输出目录的计算机

客户端常用的指定方式

指定ip地址的主机:192.168.0.200
指定子网中的所有主机:192.168.0.0/24 192.168.0.0/255.255.255.0
指定域名的主机:david.bsmart.cn
指定域中的所有主机: .bsmart.cn
所有主机:

c. 选项:

选项用来设置输出目录的访问权限、用户映射等。

NFS主要有3类选项:

访问权限选项

设置输出目录只读:ro
设置输出目录读写:rw
用户映射选项

all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);
no_all_squash:与all_squash取反(默认设置);
root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置);
no_root_squash:与rootsquash取反;
anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);
anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);
其它选项

secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);
insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
async:将数据先保存在内存缓冲区中,必要时才写入磁盘;
wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置);
no_wdelay:若有写操作则立即执行,应与sync配合使用;
subtree:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);
no_subtree:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;

TIP本章节中所有命令都以 root 身份执行
服务器端防火墙开放111、662、875、892、2049的 tcp / udp 允许,否则远端客户无法连接。