NFS配置及开机自动挂载

环境:Red Hat  6.7

服务端:192.168.163.128

客户端:192.168.163.131

背景:解决多个服务器之间数据共享

环境检查:

1、检查服务器是否安装nfs服务

rpm  -q  nfs-utils

2、如果没有安装的话执行

yum    install   nfs-utils    -y

3、启动rpcbind

/etc/init.d/rpcbind start

4、启动nfs 

/etc/init.d/nfs start

配置步骤:

1、在服务端编辑 /etc/exports加入客户端访问权限

/nfsdir  192.168.163.131(rw,no_root_squash)

备注:/nfsdir为你要设置的nfs共享的目录

2、重启nfs

service   nfs  restart

3、客户端操作:

mount  -t  nfs   192.168.163.128:/nfsdir    /nfsdir

4、执行第三步长时间没反应的话请关闭服务端的防火墙。

5、验证,在服务端的/nfsdir创建文件,看客户端是否能读取。

 

开机自动挂载:

如果服务端或客户端的服务器重启之后需要手动挂载,我们可以加入到开机自动挂载

在客户端/etc/fstab里添加

192.168.163.128:/nfsdir      /nfsdir      nfs  defaults,_rnetdev  1  1

备注:第1个1表示备份文件系统,第2个1表示从/分区的顺序开始fsck磁盘检测,0表示不检测。

_rnetdev  表示主机无法挂载直接跳过,避免无法挂载主机无法启动

 

 

 

备注:

当在服务器运行df  -h 卡死的时候,很有可能是nfs的原因。

1、在客户端找到挂载的服务器的ip及挂载目录

cat  /etc/mtab

2、进入服务器查看/etc/export查看服务器都挂载了那些客户端或通过  showmount  -e 服务端IP 来查看客户端挂载的目录。

3、重启nfs    

service   nfs   restart

4、现在客户端就可以操作了,先卸载之前的挂载

umount   /opt/test

5、重新挂载

mount  -t  nfs   服务器IP:/服务器目录      客户端挂载目录 

 


参数
参数功能默认参数
fg
bg
  当在客户端执行挂载时,可选择是前台(fg)还是在后台(bg)执行。若在前台执行,则mount会持续尝试挂载,直到成功或挂载时间超时为止,若在后台执行,则mount会在后台持续多次进行mount,而不会影响到前台的其他程序操作。如果网络联机不稳定,或是服务器常常需要开关机,建议使用bg比较妥当。fg
soft
hard
当NFS Client以soft挂载Server时,若网络或Server出现问题,造成Client和Server无法传输资料,Client就会一直尝试,直到timeout后显示错误才停止。若使用soft mount的话,可能会在timeout出现时造成资料丢失,故一般不建议使用。若用hardhard
intr当使用hard挂载资源timeout后,若有指定intr参数,可以在timeout后把它中断掉,这避免出现问题时系统整个被NFS锁死,建议使用intr
rsize
wsize
读出(rsize)与写入(wsize)的区块大小(block size),这个设置值可以影响客户端与服务端传输数据的缓冲存储量,一般来说,如果在局域网内(LAN),并且客户端与服务器端都具有足够的内存,这个值可以设置大一点,比如说65535(bytes),提升缓冲区块将提升NFS文件系统的传输能力。但设置的值也不要太大,最好以网络能够传输的最大值为限CentOS 5:默认值
rsize=1024
wsize=1024

CentOS 6:默认值
rsize=131072
wsize=131072
proto=udp使用UDP协定来传输资料,在LAN中会有比较好的性能。若要跨越Internet的话,使用proto=tcp多传输的数据会有比较好的纠错能力proto=tcp


mount -o参数对应选项

 

参数参数意义系统默认值
suid
nosuid
当挂载的文件系统上有任何SUID的程序时,只要使用nosuid就能够取消设置SUID的功能suid
rw
ro
可以指定问价系统是只读(ro)或可写(rw)rw
dev
nodev
是否可以保留装置文件的特殊功能?一般来说只有/dev才会有特殊的装置,一次可以选择nodevdev
exec
noexec
是否具有执行文件的权限?如果想要挂载的仅是普通资源数据区(例如:图片、附件),那么可以选择noexecexec
user
nouser
是否允许用户拥有文件的挂载与卸载功能?如果要保护文件系统,最好不要为用户提供挂载与卸载功能nouser
auto
noauto
这个auto指的是“mount -a”时会不会被挂载的项目,如果不需要这个分区随时被挂载,可以设置为noautoauto


mount -o参数中英翻译对比

  • async:涉及文件系统I/O的操作都是异步处理,即不会同步写到磁盘,此参数会提高性能,但会降低数据安全。一般情况,生产环境下不推荐使用。除非对性能要求很高,对数据可靠性不要求的场合。
     
  • sync:该参数与async相反。有I/O操作时,都会同步处理I/O,即把数据同步写入磁盘。此参数会牺牲一点I/O性能,但是,换来的是掉电后数据的安全性。
     
  • atime:在每一次数据访问时,会同步更新访问文件的inode时间戳,是默认选项,在高并发的情况下,建议通过明确加上notime,来取消这个默认项,以到达提升I/O性能,优化I/O的目的。
  • noatime:访问文件时不更新文件的inode时间戳,高并发环境下,推荐显式应用该选项,可以提高系统I/O性能。
  • ro:以只读的方式挂载一个文件系统。
     
  • rw:以可写的方式挂载一个文件系统。
     
  • auto:能够被自动挂载通过-a选项。
  • noauto:不会自动挂载文件系统。
  • defaults:这是fstab里的默认值,包括rw、suid、dev、exec、auto、nouser、async,默认情况大部分都是默认值。
  • exec:允许文件系统执行二进制文件,取消这个参数,可以提升系统安全性。
     
  • noexec:在挂载的文件系统中不允许直接执行任何二进制的程序,注意,仅对二进制程序有效,及时设置了noexec、shell,php程序还是可以执行的。
     
  • nodiratime:不更新文件系统上的derectory 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:目录更新时同步写入磁盘。

     


禁止更新目录及文件时间戳挂载,命令如下:

1mount -t nfs -o noatime,nodiratime 172.16.1.31:/data /mnt
 




安全加优化的挂载方式如下:

1
2
mount -t nfs -o nosuid,noexec,nodev,noatime,nodiratime,intr,rsize=131072,wsize=131072 \
172.16.1.31:/data /mnt
 




默认的挂载方式:

1mount -t nfs -o 172.16.1.31:/data /mnt
 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值