NFS(network file system)网络文件共享服务

NFS(network file system)网络文件共享服务【服务端:rpcbind端口111】

主要功能是通过网络让不同主机系统之间可以共享文件或目录。【NFS作为所有前端web服务器的共享存储】,NFS客户端的端口通过RPC(Pemote Procedure Call)服务来实现。【默认端口111】

RPCf服务在CentOS6.X下名称为rpcbind:主要功能就是记录每个NFS功能对应的端口号,并且在NFS客户端请求时将该端口和功能对应的信息传递给请求数据的客户端,从而确保客户端可以连接到正确的NFS端口上,达到实现数据传输交互数据目的

安装软件包:yum -y install nfs-utils yum -y install rpcbind

检查rpcbind服务状态:/etc/init.d/rpcbind status

启动rpcbind服务:/etc/init.d/rpcbind start

确认rpcbind服务开启后,开启NFS服务:/etc/init.d/nfs start

查看rpchind服务与NFS都开启后信息:rpcinfo-p localhost

设置开机启动:chkconfig rpcbind on     chkconfignfs on 查看:chkconfig --list rpcbind

 

NFS系统守护进程

nfsd:它是基本的NFS守护进程,主要功能是管理客户端是否能够登录服务器;

mountd:它是RPC安装守护进程,主要功能是管理NFS的文件系统。

 

portmap:主要功能是进行端口映射工作

exportfs -au 卸载所有共享目录

exportfs -rv 重新共享所有目录并输出详细信息

nfs服务需要开启mountd,nfs,nlockmgr, rpcbind,rquotad这5个服务,需要将这5个服务的端口加到iptables里面,nfs端口2049,rpcbind端口111。

nfsstat:查看NFS的运行状态

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

 

NFS的配置文件/etc/export

格式:<共享目录>[客户端1 选项(访问权限,用户映射,其他)][客户端2……]

客户端:指定IP、域名、子网内所有主机0/24、所有主机:*

访问权限:ro只读、rw读写

用户映射

no_root_squash:客户端登陆者如果为root,则登录共享目录后具有root权限

root_squash:root登录后身份被压缩为nfsnobody(默认情况下)

all_squash:所有用户登录后身份被压缩为nfsnobody(默认下)

 

anonuid=xxx:anongid=xxx:将访问的所有用户/组都映射为指定本地该用户的UID、GID。

secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);

insecure:允许客户端从大于1024的tcp/ip端口连接服务器;

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

async:将数据先保存在内存缓冲区中,必要时才写入磁盘;

wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,可以提高效率(默认设置);

no_wdelay:若有写操作则立即执行,应与sync配合使用;

subtree:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);

no_subtree:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,可以提高效率;

 

 

NFS Server服务端设置【注意共享文件的权限】【注意加入开机启动项chkconfig

可以直接用root用户建立,也可以用以下指定固定的UID用户配置NFS共享:

建立用户组lhs并指定GID 888,建立用户lhs并指定GID 888,加入lhs组,所有的客户端也一样建立:groupadd zuma –g 888                useradd zuma –u 888 –g zuma

部署NFS Server:mkdir  /oldboy            chown –R zuma.zuma /oldboy

配置NFS服务配置文件【/etc/exports】:echo’/oldboy

192.168.50.0/24(rw,sync,all_squash,anonuid=888,anongid=888)’>>/etc/exports

重新加载NFS设置:exportfs –rv 或者/etc/init.d/nfs reload                  

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

默认查看自己共享的服务:showmount –e localhost

显示已经与客户端连接上的目录信息:showmount –a        

服务端部署完成

在客户端client执行的操作【注意共享文件的权限】

安装rpcbind、启动RPC服务、关闭防火墙、设置开机启动:yum install -y nfs-utils rpcbind

为了使用showmount等功能,所有客户端最好也安装NFS软件,但是不需要启动。

groupadd zuma –g 888       useraddzuma –u 888 –g zuma   chown –R zuma.zuma/video 

建立挂载点;mkdir /video            查看RPCF服务:/etc/init.d/rpcbind status   

检查能否挂载:showmount –e 192.168.50.134【NFS服务器共享IP】

挂载客户端格式:mount NFS服务器IP:共享目录 本地挂载点目录

mount -t nfs 192.168.50.134:/oldboy /video   

查看结果:df-h

测试文件 touch /video/new.txt       ls –ld

指定NFS共享的用户zuma共享/oldboy目录的配置成功。

NFS客户端开机自动挂载:添加内容/etc/init.d/rpcbindstart和/bin/mount -t nfs 192.168.50.128:/oldboy /vide到文件/etc/rc.local内

 

排错:【端口、防火墙】

确定NFS服务器端的配置和服务是否OK:showmount–e localhost

挂载自己的目录下试试:mount -t nfs 192.168.50.134:/oldboy /video      df -h

确认showmount是否OK:showmount–e 192.168.50.134

 

安全加优化的挂载方法:mount -t nfs –o nosuid,noexec,nodev,noatime,nodiratime,intr,rsize-131072,wsize=131072192.168.50.128:/oldboy video

mount –o选项参数;

nosuid:不允许set-user-identifier orset-group-indentifier位生效;

noexec:在挂载的文件系统中不允许执行二进制文件

noatime:访问文件时不更新文件的inode时间戳,高并发环境下推荐使用,提高I/O性能

rsize、wsize:读出、写入的区块大小,影响输出数据的缓冲存储量。

intr:当使用挂载的资源timeout后可以在timeout后把它中断掉,避免整个系统被NFS锁死

【安全:nosuid、noexec、nodev】【优化:禁止更新时间戳noatime、nodiratime】

 

Showmount常用参数命令说明:

-e显示NFS服务器输出的目录列表、-d共享目录、-a:IP地址和可被挂载的目录

rpcinfo –n端口、-u主机名程序号、-p主机、-b-d程序号版本号

说明:

建立一个用户,设定UID和PID,在exports文件中加入anonuid和anongid的固定位置、可以设置多个IP中间逗号隔开,客户端与选项之间没有空格。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值