NFS for ReadHat Enterprise Linux7

参考文档:
1、https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Storage_Administration_Guide/ch-nfs.html#s1-nfs-how

NFS(Network File System),即网络文件系统。NFS版本3(NFSv3)支持安全的异步写入,并且在错误处理方面比之前的NFSv2更强大; 它还支持64位文件大小和偏移量,允许客户端访问超过2 GB的文件数据。NFSv4通过防火墙和互联网上的工作,不再需要rpcbind服务,支持ACL,并利用状态操作。NFSv4.1不再需要用于回调的单独的TCP连接,这允许NFS服务器即使在无法联系客户端时(例如,NAT或防火墙干扰)也可以授予委派。此外,NFSv4.1现在提供真正的一次性语义(重启操作除外),防止以前的问题,如果回复丢失并且操作被发送两次,某些操作可能返回不准确的结果。

所有版本的NFS都可以使用通过IP网络运行的传输控制协议(TCP),NFSv4需要它。NFSv3可以使用通过IP网络运行的用户数据报协议(UDP)来提供客户端和服务器之间的无状态网络连接。 当使用NFSv3与UDP时,无状态UDP连接(在正常情况下)具有比TCP少的协议开销。这可以在非常干净,非拥塞的网络上转化为更好的性能。但是,由于UDP是无状态的,如果服务器意外下降,则UDP客户端会继续使网络饱和以及对服务器的请求。另外,当UDP丢失帧时,必须重传整个RPC请求; 使用TCP,只有丢失的帧需要重新发送。由于这些原因,TCP是连接到NFS服务器时的首选协议。 安装和锁定协议已被并入到NFSv4协议中。服务器监听TCP端口2049,NFSv4的不需要与之交互rpcbind⁠,lockd和rpc.statd守护程序。该rpc.mountd守护程序仍需要在NFS服务器上设置了出口,但不参与任何过度的线操作。

NFSv4需要TCP。TCP是Red Hat Enterprise Linux下的NFS版本2和3的默认传输协议。

systemctl start nfs启动NFS服务器和适当的RPC进程来为共享NFS文件系统提供服务请求。
systemctl start nfs-lock 激活强制服务,启动适当的RPC进程,允许NFS客户端锁定服务器上的文件。

rpcbind接受来自本地RPC服务的端口预留。然后这些端口可用(或通告),以便对应的远程RPC服务可以访问它们。rpcbind响应对RPC服务的请求,并设置与请求的RPC服务的连接。这不与NFSv4一起使用。

rpc.mountd
此过程由NFS服务器用来处理MOUNTNFSv3客户端的请求。它检查NFS服务器当前是否导出所请求的NFS共享,并允许客户端访问它。如果允许安装请求,则rpc.mountd服务器将回复Success状态,并将File-Handle该NFS共享提供给NFS客户机。

rpc.nfsd
rpc.nfsd允许定义服务器通告的显式NFS版本和协议。它与Linux内核配合使用,以满足NFS客户端的动态需求,例如每次NFS客户端连接时提供服务器线程。此过程对应于nfs服务。

lockd是一个在客户端和服务器上运行的内核线程。它实现了网络锁管理器(NLM)协议,允许NFSv3客户端锁定服务器上的文件。每当运行NFS服务器和挂载NFS文件系统时,它都会自动启动。

rpc.statd
此过程实现网络状态监视器(NSM)RPC协议,当NFS服务器重新启动而不正常关闭时,它将通知NFS客户端。rpc.statd由nfslock服务自动启动,不需要用户配置。这不与NFSv4一起使用。

rpc.rquotad
此过程为远程用户提供用户配额信​​息。rpc.rquotad由nfs服务自动启动,不需要用户配置。

rpc.idmapd
rpc.idmapd提供了NFSv4客户端和服务器上调功能,它可以在线上的NFSv4名称(以形式表示的字符串)与本地UID和GID 之间进行映射。要使用NFSv4功能,必须配置文件。至少应该指定“域”参数,定义NFSv4映射域。如果NFSv4映射域与DNS域名相同,则可以跳过此参数。客户端和服务器必须同意NFSv4映射域的ID映射才能正常工作。 user@domainidmapd/etc/idmapd.conf

在Red Hat Enterprise Linux 7中,只有NFSv4服务器使用rpc.idmapd。NFSv4客户端使用基于keyring的idmapper nfsidmap。nfsidmap是一个独立程序,由内核按需调用执行ID映射; 它不是一个守护进程。如果有问题,nfsidmap客户端会回退使用rpc.idmapd。

pNFS架构可以提高NFS的可扩展性,并可能改善性能。也就是说,当服务器也实现pNFS时,客户端能够同时通过多个服务器访问数据。它支持三种存储协议或布局:文件,对象和块。

启用pNFS时,给mount命令添加参数:

-o v4.1

服务器启用pNFS后,nfs_layout_nfsv41_files内核将自动加载到第一个安装。输出中的安装条目应包含minorversion=1。使用以下命令验证模块是否已加载:

$ lsmod | grep nfs_layout_nfsv41_files

moreinfo:http://www.pnfs.com

NFS客户端配置:

# mount -t nfs -o options server:/remote/export /local/directory

说明:井号代表root权限,$代表普通权限。

server
导出要安装的文件系统的服务器的主机名,IP地址或完全限定域名

/remote/export
从服务器导出的文件系统或目录,即要安装的目录

/local/directory
安装 / remote / export 的客户端位置

mount -t nfs -o nfsvers=4 host:/remote/export /local/directory
//指定NFS版本挂载

可以修改/etc/fstab 实现NFS挂载
vim /etc/fatab添加:

server:/usr/local/pub /pub nfs defaults 0 0

客户端本地要创建pub目录

NFS服务端配置
修改/etc/exports
需要特别注意

空白行被忽略。除了注释行之外,文件中不应有其他空格字符。
要添加注释,请使用哈希标记(#)开始一行。
您可以用反斜杠(\)包裹长行。
每个导出的文件系统应该是单独的一行。
在导出的文件系统之后放置的授权主机的任何列表必须用空格字符分隔。
每个主机的选项必须直接放在主机标识符之后的括号中,而不用分隔主机和第一个括号的任何空格。

exporthost1(options1) host2(options2) host3(options3)

export
正在导出的目录

host
正在共享导出的主机或网络

/exported/directory example.com

这里没有设置option,默认option包含了:
RO
导出的文件系统是只读的。远程主机无法更改文件系统上共享的数据。要允许主机对文件系统进行更改(即读/写),请指定该rw选项。

sync
在先前请求所做的更改写入磁盘之前,NFS服务器将不会回复请求。要启用异步写入,请指定该选项async

wdelay
如果NFS服务器怀疑另一个写请求即将发生,NFS服务器将延迟写入磁盘。这可以提高性能,因为它减少了通过单独的写命令访问磁盘的次数,从而减少了写入开销。要禁用它,请指定no_wdelay。no_wdelay仅当sync还指定了默认选项时才可用

root_squash
这可以防止远程连接的用户(而不是本地)拥有root权限; 相反,NFS服务器将为它们分配用户ID nfsnobody。这有效地将远程root用户的权力“压缩”到最低本地用户,防止远程服务器上可能的未经授权的写入。要禁用根挤压,请指定no_root_squash。all_squash是对所有用户,包括root进行限制。

要指定NFS服务器应该从特定主机分配给远程用户的用户和组ID ,请分别使用anonuid和anongid选项

exporthost(anonuid=uid,anongid=gid)

uid和gid分别是用户ID号和组ID号

no_acl选项可以禁用默认支持的acl

如果rw未指定该选项,则导出的文件系统将以只读方式共享

例如:

/another/exported/directory 192.168.0.3(rw,async)

服务端也可以用exportfs命令配置。

对NFS的安全保护:
Kerberos参考:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Storage_Administration_Guide/s1-nfs-security.html
iptables

image.png
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342

推荐阅读更多精彩内容

  • 29.1 引言 本章中我们要讨论另一个常用的应用程序:NFS(网络文件系统),它为客户程序提供透明的文件访问。NF...
    张芳涛阅读 969评论 0 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,579评论 18 139
  • 简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者...
    保川阅读 5,940评论 1 13
  • NFS的配置过程很简单。在服务器端中编辑/etc/exports文件,添加如下内容: /home/nfs-s...
    bycall阅读 5,132评论 0 1
  • 前几天去学校,被一个同事拉着,让我介绍女儿怎么学英语的!原来她听说我女儿在参加学校组织的英语兴趣班,比较突出,得到...
    淘遍全球的辣妈阅读 478评论 1 3