1.NFS:是属于RPC框架,简单来讲就是本地文件系统的API通过内核转换成可被远程调用的API接口,然后通过VFS进行管理

2.VFS:不同的文件系统有不同的API接口,VFS主要是把不同的文件系统的API接口虚拟成统一的一个对外API接口

3.在规模较大的网络共享存储时必须要有认证机制,可以调用nis或ldap 模块,规模较小时可以设置把远程用户都映射nfs服务器上的一个统一用户

4.nfsd端口:2049/TCP

5.辅助类服务:rpc,portmapper

rpc.mount:认证,通过检查来访问的IP,如果通过检查则授权

由于rpc.mount是远程调用,所以端口是半随机的,所以就有另一个服务rpc.server一直监听在111端口,等接受到请求后就会寻找到rpc.mount的正在用的端口号进行认证

rpc.lockd:加锁,如果NFS中有文件在写入,则不能读取此文件

rpc.statd:状态,可以保存当前状态,防止网络异常断开后可以继续从断开前的状态开始数据传输

6.安装包 nfs-util

7.配置文件: /etc/exports 、/etc/exports.d/*

配置语法:

/PATH/TO/SOME_DIR clients1(export_options, …) clients2(export_options, …)

语法中clients表示方法:

single host:ipv4, ipv6, FQDN;

network:address/netmask, 支持长短格式的掩码;

wildcards:主机名通配,例如:.magedu.com;
netgroups:NIS域内的主机组;@group_name;
anonymous:使用
通配所有主机;

General Options:

ro:只读

rw:读写;

sync:同步;

async:异步;

secure:客户端端口小于1024,否则就要使用insecure选项;

User ID Mapping:

root_squash:压缩root用户,一般指将其映射为nfsnobody;

no_root_squash:不压缩root用户;

all_squash:压缩所有用户;

anonuid and anongid:将压缩的用户映射为此处指定的用户;

注意:服务端共享文件的属主属组ID号与客户端所用的用户的ID号一致(用户名可以不同),才能有写权限
root用户使用nfs时默认会被压缩权限,映射为来宾账号(nfsnobody),只有很有限的权限
可以通过配置文件来限制权限也可以通过mount挂载选项或者属主属组权限来限制权限,用户所拥有的权限是他们的交集

示例:

windows server 2008 nfs 开放端口 nfs用到的端口_API


8.命令:showmount

-a NFS_SERVER_IP 显示指定NFS服务器输出目录列表

-e NFS_SERVER_IP 显示指定NFS服务器的客户端信息和共享目录

9.挂载命令:mount.nfs/mount -t nfs

语法:

mount.nfs servername:/path/to/share dir [-rvVwfnsh ] [-o options]

示例:

mount -y nfs 172.16.0.68:/data/mysql /mnt

10. exportfs -ar:挂载之后如果修改了相关权限,可以使用此命令重新导出文件

-r:重新导出;

-a:所有文件系统;

-v:详细信息;

-u:取消导出文件系统;

11.实现开机自动挂在:

配置文件:/etc/fstab

示例:

windows server 2008 nfs 开放端口 nfs用到的端口_API_02