NFS笔记
NFS:Network File System (内核空间文件系统)
## 文件系统在内核空间,用户写数据-->系统调用 内核空间 硬件的操作 read()函数 write()函数 :过程调用 函数调用
LPC local procedure call 本地过程调用,完成功能的过程 函数的交互
RPC remote procedure call 远程过程调用 (帮助封装网络报文)编程技术 简化分布式文件开发 RPC: client-->RPC c --->RPC s -->server
RPC : 二进制格式,文本格式(xmlRPC)--soap (simple object access protocol) 应用程序不需要考虑包交换轻量级
RPC 编程技术,协议
NFS 文件系统, 协议 sun开发
linux提供RPC服务的 portmap (rpcbind) 端口111 6系列里面,portmap已经改名了 ,6系列需要使用 service rpcbind start启动
mke2fs:用户空间,文件系统
NFS: 只工作在Unix/Linux 系统 验证客户用户名Uid 、ip 不安全 不建议互联网,内外之间使用
服务端:nfs-utils (yum install nfs-utils)
nfs:nfsd(nfs服务),mountd(挂载),quotod(配额)
nfsd:2049/tcp,2049/udp
mountd:端口
quotod :端口 (默认半随机,rpc服务选取,可配置固定)/etc/sysconfig/nfs mountd_port LOCKD_UDP、TCPPORT(锁定)
安装
rpm -qa nfs-utils rpcbind
#centos下客户端和服务端都需要安装
yum install nfs-utils portmap nfs4-acl-tools
#启动,CentOS
service rpcbind restart (客户端只需要启动)
service nfs restart
/etc/exports (定义配置)
/path 10.0.0.1/8(ro,sync)
导出属性
ro:只读
rw:读写
sync:同步(性能问题)
async:异步
root_squash:将root用户映射为来宾账户
no_root_squash:root用户最高权限加上这个选项后,root用户就会对共享的目录拥有至高的权限控制,就像是对本机的目录操作一样。不安全,不建议使用;root_squash:和上面的选项对应,root用户对共享目录的权限不高,只有普通用户的权限,即限制了root;all_squash:不管使用NFS的用户是谁,他的身份都会被限定成为一个指定的普通用户身份;
all_squash: 所有全来宾权限
anonuid,anongid:指定映射的来宾帐号的UID和GID
fsid=0表示将/data 整个目录包装成根目录
/etc/fstable
IP:/path /path nfs default,_rnetdev (default 无法挂在系统无法启动) 0 0
##showmount -e NFS_server IP 查看NFS服务器‘导出’的文件系统
##showmount -a NFS_server IP 查看NFS服务器所有‘导出’的文件系统及客户端列表
##showmount -d NFS_server IP 查看NFS服务器所有被挂在的客户端列表
重新加载 exportfs -arv
-a:跟-r或-u选项同时使用。表示重新挂在或取消导出的文件系统
-r:重新导出
-u:取消导出
-v:显示过程
客户端使用mount命令挂载 mount -t nfs NFS_server IP:/path /本地地址
细节参考
http://blog.csdn.net/dongfengkuayue/article/details/27386067