NFS
Posted 小学生^.^
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NFS相关的知识,希望对你有一定的参考价值。
- 安装NFS
yum install -y nfs-utils
-
启动NFS服务
- CentOS 6
service rpcbind start
service nfs start
- CentOS 7
systemctl start nfs.service
- CentOS 6
-
网络文件系统的机制
应用层对内核发起系统调用,内核的接口接受到系统调用的时候,并不在本地执行系统调用的代码,而是将这段代码通过网络发送给监听在另一台主机上的套接字程序,使得这段代码在另一台主机中的内核执行,并访问另一台主机上的块设备,之后再将结果原路返回给发起网络请求的主机。
- PC:procedure call
- RPC :remote procedure call
- rpc.mountd:主要用户完成认证机制和给远程的主机发放挂载令牌
- rpc.lockd
- prc.statd
(1)服务端安装nfs-utils,服务端的程序名就叫nfs
(2)编辑/etc/exports文件,指定允许挂载共享文件系统的主机
一般每一行的格式为:共享目录 给哪个网段共享(选项1 , 选项2)
- 例如:
/data 192.168.0.0/16(rw)
将本地的/data目录共享给192.168网段的主机挂载,并且有读写权限
- 例如:
- (3)
重新导出文件系统,让内核重读/etc/exports文件,不需要重启nfs服务
exportfs -r
(重新导出export list)
- (4)在客户端查看导出的共享文件系统
showmount -e 192.168.10.202
- (5)客户端挂载远端共享的文件系统
mount -t nfs 192.168.10.202:/data /web/html
- (6)客户端通过文件系统挂载信息查看
df -h
或mount
- (7)在服务端设置共享文件系统目录的访问权限
- 1:可以直接设置chmod
- 2:可以通过setfacl 来设置
setfacl -m u:archlinux:rwx /data
(如果archlinux的uid为2000)
- (8)在客户端有一个本地用户hadoop,其uid也为2000
- su - hadoop
- 那么hadoop就能够在/web/html目录有读写权限(因为在/etc/exports文件中对于远端的主机只有读写权限)
- 对于/etc/exports文件中,指定客户端访问的权限字段说明
- 主机名格式(大多使用的是IP)
- 单个主机:ipv4 , ipv6 , FQDN
- IP networks : 两种掩码格式均支持,例如:192.168.0.0/255.255.0.0 或者 192.168.0.0/16
- wildcards:主机名通赔,例如:*uplooking.com
- netgroups:NIS域内的主机组,@group_name
- anonymous:使用* 表示所有的客户端主机
- General Options
- rw:读写权限
- root_squash:压缩root用户的权限
- no_root_squash:不压缩root用户的权限
- all_squash:压缩所有的用户
- anonuid and anongid:映射至哪个用户
- ro:只读
- 主机名格式(大多使用的是IP)
以上是关于NFS的主要内容,如果未能解决你的问题,请参考以下文章