首页 > 代码库 > NFS
NFS
nfs在数据传输时使用的端口会随机选择!!
客户端和服务端通信使用rpc协议:
nfs的rpc服务的主要功能是记录nfs的每个功能对应的端口号,并在nfs客服端请求nfs服务端时把该端口、功能对应的信息发送给客户端。
nfs数据交互整体过程:
1、启动rpc服务(centos6.x --> rpcbind 服务,centos5.x --->portmap 服务)
2、启动nfs服务,向rpc服务注册启动的端口
3、nfs客服端向rpc服务请求nfs服务
4、rpc服务返回nfs服务的信息
5、nfs客户端去请求nfs服务端
服务端:
先启动rpc服务,在启动nfs服务
客服端:
启动rpc服务
修改nfs配置后不需要重启nfs服务
可以使用/etc/init.d/nfs reload 或 exportfs -rv 即可使修改的 /etc/exports 生效
安装nfs服务端:
yum install -y rpcbind nfs-tuils
启动rpc,nfs服务,并且开机启动
rpc服务端口:111
查看nfs向rpc服务注册的端口:
rpcinfo -p localhost
/etc/exports 文件详解:
eg:
/eqp/export/ 10.10.30.104(rw,sync,no_root_squash)
本地共享目录 可以挂载的ip地址(权限相关,各个选项用逗号隔开) #ip地址和()之间不能有空格
查看默认的参数:
cat /var/lib/nfs/etab
/eqp/export 10.10.30.104(rw,sync,wdelay,hide,nocrossmnt,secure,no_root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534)
权限:
rw 读写
sync 数据同步写到服务端磁盘中才返回
no_root_squash 访问nfs共享目录的用户如果是root的话,他对改目录具有root权限
root_squash 访问nfs共享目录的用户如果是root的话,权限被压缩为匿名用户(nfsnobody)。
all_squash 无论访问nfs的用户是什么多压缩为匿名用户
ro 只读
anonuid=xx 指定uid
anongid=xx 指定gid
查看挂载情况:
showmount -e localhost
挂载命令:
mount -t nfs 10.10.30.103:/eqp/export/ /eqp/export/
安全挂载:
mount -t nfs -o nosuid,noexec,nodev,rw 10.10.30.103:/eqp/export/ /eqp/export/
nfs客户端开机自动挂载:
/etc/cr.local 中执行命令挂载
/etc/fstab 中挂载(这个方法不行)(因为系统启动时fstab会优先于网络先被系统加载)
NFS