首页 资讯 农业 汽车 房产 科技 养老 教育 展会 自媒体
智能 互联网 摄影 手机 VR

网络文件共享-nfs服务

来源:互联网 作者:高晓娜 人气: 发布时间:2018-10-31


NFS服务简介:


NFS:Network File System 网络文件系统
软件包:nfs-utils
Kernel支持:nfs.ko
使用updatedb来更新locate数据库
[root@www14:45:56upload]#locate nfs.ko
/usr/lib/modules/3.10.0-862.el7.x86_64/kernel/drivers/xen/xenfs/xenfs.ko.xz
/usr/lib/modules/3.10.0-862.el7.x86_64/kernel/fs/nfs/nfs.ko.xz

NFS优势:
节省本地存储空间
将常用的数据,如home目录
存放在NFS服务器上且可以通过网络访问
本地终端将可减少自身存储空间的使用

NFS服务主要进程:
rpc.nfsd 最主要的NFS进程,管理客户端是否可登录
rpc.mountd 挂载和卸载NFS文件系统,包括权限管理
rpc.lockd 非必要,管理文件锁,避免同时写出错
rpc.statd 非必要,检查文件一致性,可修复文件

启动服务:
centos7:systemctl start nfs.server
centos6:service nfs start


实现方式:


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

配置文件:
/etc/exports --初始为空
/etc/exports.d/*.exports
日志:
/var/lib/nfs/

监听端口:
2049(nfsd) ---tcp协议

查看端口号命令:查看和nfs命令相关的端口号
rpcinfo -p
[root@www15:29:14~]#rpcinfo -p
program vers proto port service
100000 4 tcp 111 portmapper


其它端口由portmap(111)分配--依赖于这个服务!

rpcbind服务 :端口监听111
当nfs重启时,会把变动端口注册到rpcbind服务中!

centos7中当rpcbind服务关闭时,
启动nfs服务,rpcbind一样会被启动!
centos6中不会主动激活!


配置防火墙,开放NFS服务

配置NFS使用固定端口
vim /etc/sysconfig/nfs
RQUOTAD_PORT=875
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
STATD_PORT=662
STATD_OUTGOING_PORT=2020

防火墙除开放上述端口,还需开放TCP和UDP的111和2049共4个端口

CentOS6开始portmap进程由rpcbind代替


简单实现:


共享文件/data/nfs1目录:

vim /etc/exports

/data/nfs1 *
*:所有主机!

并且在/data/nfs1中创建测试文件

生效方式:
systemctl restart nfs-server

exportfs -r

exportfs -v --查看服务挂载信息
默认的共享选项:
/data/nfs1 <world>(ro,sync,wdelay,hide,no_subtree_check,sec=sys,secure,root_squash,no_all_squash)

查看主机nfs共享资源:
showmount -e 主机IP
具体使用:
showmount -e 172.20.23.32

挂载方式:在非nfs服务器主机上
要创建一个目录!
mount 172.20.23.32:/data/nfs1 /mnt/test/

共享选项:
默认选项:(ro,sync,root_squash,no_all_squash)
ro,rw 只读和读写
具体应用:
需要对文件或目录更改授权,让nfsnobody用户对其有写权限!

async 异步,数据变化后不立即写磁盘,性能高

sync(1.0.0后为默认)同步,数据在请求时立即写入共享

no_all_squash(默认)保留共享文件的UID和GID
--所有的用户不压榨,只要服务器中有和客户端用户相同id的用户,客户端访问时,就会拥有和服务器端用户相同的权利

all_squash 所有远程用户(包括root)都变成nfsnobody
---有这一项就全部压榨!no_root_squash就失效了!

root_squash(默认)远程root映射为nfsnobody,UID为65534早期版本 是4294967294(nfsnobody)

no_root_squash 远程root映射成root用户
具体用法:
/data/nfs2 172.20.23.50(rw,no_root_squash)

anonuid和anongid 指明匿名用户映射为特定用户UID和组GID
而非 nfsnobody,可配合all_squash使用
具体用法:
anonuid=2000
anongid=2000

共享案例2:
/data/nfs2 172.20.23.50(rw,no_root_squash)
设置共享主机和读写挂载及远程主机不压榨

支持针对不同主机设置权限:
具体应用:多个主机网段之间用空格隔开
/data/nfs2 172.20.0.0/16(rw,no_root_squash) 172.20.23.20(ro)

地址格式:
IP networks:两种掩码格式均支持
172.18.0.0/255.255.0.0
172.18.0.0/16


其它相关工具:


rpcinfo:rpc监听111端口[tcp/udp]
rpcinfo -p hostname
rpcinfo –s hostname 查看RPC注册程序
[root@www14:39:35data]#rpcinfo -s 172.20.23.32
program version(s) netid(s) service owner
100000 2,3,4 local,udp,tcp,udp6,tcp6 portmapper superuser
100024 1 tcp6,udp6,tcp,udp status 29
100005 3,2,1 tcp6,udp6,tcp,udp mountd superuser
100003 4,3 udp6,tcp6,udp,tcp nfs superuser
100227 3 udp6,tcp6,udp,tcp nfs_acl superuser
100021 4,3,1 tcp6,udp6,tcp,udp nlockmgr superuser
exportfs
–v 查看本机所有NFS共享
–r 重读配置文件,并共享目录
–a 输出本机所有共享
–au 停止本机所有共享
-u 停止本机指定共享

NFS相关的挂载选项:
fg(默认)前台挂载
bg后台挂载
hard(默认)持续请求,soft 非持续请求
intr和hard配合,请求可中断
rsize和wsize 一次读和写数据最大字节数,rsize=32768
_netdev 无网络不挂
基于安全考虑,建议使用nosuid,nodev,noexec挂载选项


自动挂载的实现:


自动挂载:
可使用autofs按需要挂载NFS共享,在空闲时自动卸载
由autofs包提供
系统管理器指定由/etc/auto.master自动挂载器守护进程控制的挂载点
自动挂载监视器访问这些目录并按要求挂载文件系统
文件系统在失活的指定间隔5分钟后会自动卸载
为所有导出到网络中的NFS启用特殊匹配 -host 至“browse
支持含通配符的目录名
* server:/export/&

相对路径写法:
主配置文件:
/etc/auto.master
定义dirname
具体用法:
/mydata /etc/auto.fs

/etc/auto.fs
定义basename
具体用法:
data -fstype=nfs,rw,nosuid,nodev 172.20.23.32:/data/nfs1

绝对路径法:
vim /etc/auto.master
/- /etc/data.fs

vim /etc/data.fs
/home/yl -fstype=nfs,rw,nosuid,nodev 172.20.23.32:/data/nfs1


nfs默认挂载版本时4.1如果要挂载成3版本需要添加选项
例如:
mount -o vers=3 172.20.23.33:/data/ /mnt




免责声明:本文仅代表作者个人观点,与华纳网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
责任编辑:高晓娜
地址: 辽宁省大连市中山区港湾街20号名仕财富中心B座1517室 联系电话: 0411-84950851
© 2017 大连华纳文化传媒有限公司 All rights reserved
经营许可证编号:辽B2-20170212 备案号:辽ICP备17007383号-2
辽公网安备 21021102000241