NFS:Network File System (网络文件系统)
文件系统工作于用户空间
RPC:Remote Procedure Call(远程过程调用)
linux:提供RPC服务的程序
portmap
tcp/111
udp/111
RPC之间数据交换格式:
二进制/文本
NFS:由sun开发
NFSv1------在sun内部使用
NFSv2、NFSv3(主流于rhel5.x系列)
NFSv3既支持UDP,也支持TCP
NFSv4------主流于rhel6.x系列
NFSv2和NFSv3都是无状态的
(NFS各个版本不兼容)
NFS服务器端组件:nfs-utils
NFS启动:
tcp/111、udp/111------portmap启动------nfs启动
NFS进程:
nfsd------主服务(监听tcp/2049和udp/2049)
mountd----接受client挂载请求(端口随机)
quotad----限定本地磁盘配额(端口随机)
NFS配置文件
vim /etc/exports
/path/dir x.x.x.x/xx(权限,属性)
注意:多个client之间使用空白字符隔开,每个client后面必须加一个小括号,里面定义此client的访问特性(如访问权限等)
such as:
/var/shaw 172.24.10.0/24(rw,async) 192.168.10.0/24(ro,sync)
showmount -e NFS_SERVER 查看NFS_SERVER导出的文件系统
showmount -a NFS_SERVER 查看已挂载的文件系统的客户端列表
showmount -d NFS_SERVER 显示NFS服务器所有导出的文件系统中被客户端挂载了的文件系统列表
客户端挂载:
mount -t nfs NFS_SERVER:/PATH/DIR /PATH/DIR
exportfs
-a 一般和-r或-u同时使用:表示重新挂载所有文件系统或取消导出所有file system
-r 重新导出
-u 取消导出
-v 显示详细信息
文件系统导出属性:
ro 只读
rw 读写
sync 同步
async 异步
root_squash 将root用户映射为来宾账号
no_root_squash
all_squash 将所有用户映射为来宾账号
anonuid,anongid 指定映射的来宾账号的UID和GID
such as;
vim /etc/exports
/var/shared 172.24.10.0/24(ro,all_squash,anonuid=510,anongid=510)
开机自动挂载NFS:
vim /etc/fstab
172.24.10.21:/var/shared /mnt/nfs nfs defaults,_rnetdev 0 0