NFS文件共享
-
简介
NFS即网络文件系统(network file system),监听在TCP 2049端口。
服务器需要记住客户端的ip地址以及相应的端口信息,这些信息可以委托给RPC(remote procedure call)在帮助自己管理。RPC是远程过程调用协议。
NFS专注于如何共享信息。
RPC管理连接以及连接的基本信息。
所以需要实现NFS共享,必须安装nfs-utils,rpcbind
-
NFS服务器配置
NFS服务器通过读取/etc/exports配置文件设定哪些客户端可以访问NFS共享存储。
书写规则:
-
每个共享的文件系统需要独立的一行条目
-
客户端主机列表需要使用逗号隔开
-
配置文件支持通配符
语法结构如下:
共享路径 客户端主机(选项)
NFS选项:
NFS选项 |
功能描述 |
NFS选项 |
功能描述 |
ro |
只读共享 |
rw |
可读可写共享 |
sync |
同步写操作 |
async |
异步写操作 |
wdelay |
延迟写操作 |
root_squash |
屏蔽远程root权限 |
no_root_squash |
不屏蔽远程root权限 |
all_squash |
屏蔽所有远程用户权限 |
all_squash可以将所用的远程用户账号映射成服务器本地的匿名账号。
-
实际案例:
将NFS_Server的/var/web下的数据共享给NFS_Client
[root@nagios ~]#yum install nfs* rpcbind –y
[root@nagios ~]#vim /etc/exports
[root@nagios ~]# mkdir -p /var/web
必须先启动rpcbind后启动nfs,因为rpc负责连接信息的管理:
[root@nagios ~]# /etc/init.d/rpcbind start
Starting rpcbind: [ OK ]
查看rpcbind是否正常启动:
[root@nagios ~]#rpcinfo
100003 2 tcp 0.0.0.0.8.1 nfs superuser
100003 3 tcp 0.0.0.0.8.1 nfs superuser
100003 4 tcp 0.0.0.0.8.1 nfs superuser
100227 2 tcp 0.0.0.0.8.1 nfs_acl superuser
100227 3 tcp 0.0.0.0.8.1 nfs_acl superuser
100003 2 udp 0.0.0.0.8.1 nfs superuser
100003 3 udp 0.0.0.0.8.1 nfs superuser
100003 4 udp 0.0.0.0.8.1 nfs superuser
100227 2 udp 0.0.0.0.8.1 nfs_acl superuser
100227 3 udp 0.0.0.0.8.1 nfs_acl superuser
100003 2 tcp6 ::.8.1 nfs superuser
100003 3 tcp6 ::.8.1 nfs superuser
100003 4 tcp6 ::.8.1 nfs superuser
100227 2 tcp6 ::.8.1 nfs_acl superuser
100227 3 tcp6 ::.8.1 nfs_acl superuser
100003 2 udp6 ::.8.1 nfs superuser
100003 3 udp6 ::.8.1 nfs superuser
100003 4 udp6 ::.8.1 nfs superuser
启动NFS进程:
[root@nagios ~]# /etc/init.d/nfs start
Starting NFS services: [ OK ]
Starting NFS mountd: [ OK ]
Starting NFS daemon: [ OK ]
Starting RPC idmapd: [ OK ]
查看本机NFS的挂载点:
[root@nagios ~]# showmount -e localhost
Export list for localhost:
/var/web 192.168.227.0/24
在客户端可以查看远程主机的nfs挂载点:
远程主机也需要安装nfs否则无法使用showmount命令,可能会存在其他相关问题
[root@localhost ~]# showmount -e 192.168.227.211
Export list for 192.168.227.211:
/var/web 192.168.227.0/24
在客户端进行挂载操作:
[root@localhost ~]# mount 192.168.227.211:/var/web /tmp
权限的设置是一个综合的问题,需要综合服务器文件系统的权限和exports文件中设置的权限以及all_squash此类文件。
setfacl和getfacl