当前位置:首页 > linux系统知识 > 正文内容

共享存储NFS

1、NFS介绍

NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。通过远程过程调用(Remote Procedure Call,RPC)协议来实现,也就是RPC服务(portmap 或rpcbind服务)。RPC 最主要的功能就是在指定每个 NFS 功能所对应的 port number ,并且回报给客户端,让客户端可以连结到正确的port上去。

2、NFS工作流程


image.png


image.png

3、服务器配置NFS

(1)在服务端、客户端分别yum安装nfs-utils、rpcbind并启动

如果客户端不下载会报以下错误:

mount: wrong fs type, bad option, bad superblock on 192.168.88.134:/sharedata,

missing codepage or helper program, or other error

(for several filesystems (e.g. nfs, cifs) you might

need a /sbin/mount.<type> helper program)

 

In some cases useful info is found in syslog - try

dmesg | tail or so.


(2)查看服务状态

rpcinfo -p localhost

program vers proto port service

100000 4 tcp 111 portmapper

100000 3 tcp 111 portmapper

100000 2 tcp 111 portmapper

100000 4 udp 111 portmapper

100000 3 udp 111 portmapper

100000 2 udp 111 portmapper

100005 1 udp 20048 mountd

100005 1 tcp 20048 mountd

.........

netstat -lntup|grep rpcbind

tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 6020rpcbind

tcp6 0 0 :::111 :::* LISTEN 6020rpcbind

udp 0 0 0.0.0.0:111 0.0.0.0:* 6020rpcbind

udp 0 0 0.0.0.0:644 0.0.0.0:* 6020rpcbind

udp6 0 0 :::111 :::* 6020rpcbind

udp6 0 0 :::644 :::* 6020rpcbind 

(3)服务端配置共享存储

A.建立共享存储目录

B.授权共享存储目录属主、属组为nfsnobody:nfsnobody用户会在yum装完后自动创建

C.挂载


永久挂载:重启后生效

配置/etc/exports

/sharedata 192.168.88.136(rw,sync)


挂载目录为/sharedata,允许136ip进行挂载,并授予读写、sync的权限

如果客户端主机无法写入则加入no_root_squash,作用是,NFS客户端使用共享目录的用户,如果是root 的话,所有的操作均在服务器端映射为root用户,拥有共享目录的root权限,但这种方法可能会不安全

 

重载nfs服务

service nfs reload <======> exportfs -rv

生产环境下用reload,reload为平滑重启,防止影响当前的访问用户

 

查看挂载情况

showmount -e localhost

Export list for localhost:

/sharedata 192.168.88.136

 

临时挂载:重启后失效

exportfs -o rw,sync 192.168.88.130:/sharedata/

查看挂载

showmount -e localhost

Export list for localhost:

/sharedata 192.168.88.136,192.168.88.130

重启后观察

image.png

(4)配置客户端

将远程共享存储目录挂载到本机目录上

mount -t nfs 192.168.88.134:/sharedata /mnt/

nfs:挂载文件类型

192.168.88.134:NFS服务端ip

/sharedata:服务端挂载目录

/mnt:客户端挂载目录


查看挂载情况:

image.png


(5)测试

客户端建立一个文件:

image.png


服务端查看:

image.png



服务端删除文件后客户端文件也消失:

image.png


image.png


共享存储配置成功


设置开机自动挂载,否则可能开机挂载会失效

在/etc/rc.local添加: 

mount -t nfs 192.168.88.134:/sharedata /mnt/


(6)取消挂载

umount -f /data


4、关于NFS参数

(1)查看参数

在服务端查看客户端挂载情况/var/lib/nfs/etab

image.png


在客户端查看挂载情况:/proc/mounts

grep "^[0-9]" /proc/mounts 

image.png


(2)nfs参数详解

fg、bg 当在客户端执行挂载时,可选择是前台(fg)还是在后台(bg)执行。若在前台执行,则mount会持续尝试挂载,直到成功或挂载时间超时为止,若在后台执行,则mount会在后台持续多次进行mount,而不会影响到前台的其他程序操作。如果网络联机不稳定,或是服务器常常需要开关机,建议使用bg比较妥当。 fg

soft、hard 当NFS Client以soft挂载Server时,若网络或Server出现问题,造成Client和Server无法传输资料,Client就会一直尝试,直到timeout后显示错误才停止.若使用soft mount的话,可能会在timeout出现时造成资料丢失,故一般不建议使用。 若用hard模式挂载硬盘时,刚好和soft相反,此时Client会一直尝试连线到Server,若Server有回应就继续刚才的操作,若没有回应NFS Client会一直尝试,此时无法umount或kill,所以常常会配合intr使用。这是默认值。 hard

intr 当时用hard挂载的资源timeout后,若有指定intr参数,可以在timeout后把它中断掉,者避免出问题时系统整个被NFS锁死,建议使用intr。 无

rsize、wsize 读出(rsize)与写入(wsize)的区块大小(block size),这个设置值可以影响客户端与服务器端传输数据的缓冲存储量,一般来说,如果在局域网内(LAN),并且客户端与服务器端都具有足够的内存,这个值可以设置大一点,比如说65535(bytes),提升缓冲区块将可提升NFS 文件系统的传输能力。但设置的值也不要太大,最好以网络能够传输的最大值为限。 Centos6 默认值: rsize=131072 wsize=131072

proto=udp 使用UDP协定来传输资料,在LAN中会有比较好的性能。若要跨越Internet的话,使用proto=udp多传输的数据会有比较好的纠错能力。

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

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

dev、nodev 是否可以保留装置文件的特殊功能,一般来说只有/dev才会有特殊的装置,因此可以选择nodev。 dev

exec、noexec 是否具有执行文件的权限,如果想要挂载的仅是普通资源数据区(如:图片、附件),那么可以选择noexec。 exec

user、nuser 是否允许用户进行文件的挂载与卸载功能,如果要保护文件系统,最好不要提供用户进行挂载与卸载。 nouser

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

async 涉及文件系统I/O的操作都是异步处理,即不会同步写到磁盘,此参数会提高性能,但会降低数据的安全性,一般情况下,生产环境下不推荐使用,除非对性能要求很高,但是对数据可靠性不太要求的场合。

sync 该参数和async相反。有I/O操作时,都会同步处理I/O,即把数据同步写入吸盘,此参数会牺牲一点I/O性能,但是,换来的是掉电后数据的安全性。

atime 在每一次数据访问时,会同步更新访问文件的inode时间戳,是默认选项。 在高并发的情况下,建议通过明确加上noatime,来取消这个默认选项,以达到提升I/O性能,优化I/O的目的。 atime

defaults 这个是fstab里的默认值,包括rw、suid、dev、exec、auto、nouser、and async,默认情况大部分都是默认值。

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

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

dirsync 目录更新时间同步写入磁盘


挂载时指定参数:

mount -t nfs -o rw,bg,hard,intr,nolock,rsize=65535,wsize=65535,timeo=15,async 1.13.19.214:/sharedata/qingyun-server /data/


扫描二维码推送至手机访问。

版权声明:本文由个人博客发布,如需转载请注明出处。

本文链接:https://opszzfwordpress.club/post/46.html

分享给朋友:

“共享存储NFS” 的相关文章

linux系统版本、指标、参数

linux系统版本、指标、参数

1、cpu查看cpu参数:cat /proc/cpuinfo# 查看物理CPU个数cat /proc...

linux-计划任务

linux-计划任务

1、指令指令:crontab -e   格式:分 时 日 月 周(星期)0-59 &nbs...

构建linux时间服务器

构建linux时间服务器

1、环境准备服务器ipip功能172.16.0.3ntp服务端172.16.0.2客户端在服务端和客...

du和df查看的数值不一致

du和df查看的数值不一致

我们通过df和du分别查看分区,发现二者的数值有时并不完全一样首先简单介绍一下二者的概念:df:di...

防止DNS配置文件修改

防止DNS配置文件修改

问题描述:DNS配置文件:/etc/resolv.conf 增加配置了:nameserver 114...

openssh升级

openssh升级

根据漏扫报告显示,原版本openssh存在漏洞,需将openssh升级到最新版解决,目前openss...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。