NFS文件共享

NFS文件共享

  1. 简介

NFS即网络文件系统(network file system),监听在TCP 2049端口。

服务器需要记住客户端的ip地址以及相应的端口信息,这些信息可以委托给RPC(remote procedure call)在帮助自己管理。RPC是远程过程调用协议。

NFS专注于如何共享信息。

RPC管理连接以及连接的基本信息。

所以需要实现NFS共享,必须安装nfs-utils,rpcbind

  1. NFS服务器配置

NFS服务器通过读取/etc/exports配置文件设定哪些客户端可以访问NFS共享存储。

书写规则:

  • 每个共享的文件系统需要独立的一行条目
  • 客户端主机列表需要使用逗号隔开
  • 配置文件支持通配符

语法结构如下:

    共享路径    客户端主机(选项)

NFS选项:

NFS选项

功能描述

NFS选项

功能描述

ro

只读共享

rw

可读可写共享

sync

同步写操作

async

异步写操作

wdelay

延迟写操作

root_squash

屏蔽远程root权限

no_root_squash

不屏蔽远程root权限

all_squash

屏蔽所有远程用户权限

all_squash可以将所用的远程用户账号映射成服务器本地的匿名账号。

  1. 实际案例:

将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

 

posted @ 2016-04-08 14:52  午夜爬虫  阅读(402)  评论(0编辑  收藏  举报