NFS文件服务器
什么是NFS?有什么用?
NFS(Network File System)是一种文件服务器,他可以通过网络,让不同的计算机或不同操作系统可以实现文件共享,NFS可以让pc将网络中的NFS服务器共享的目录挂载到本地端的文件系统中
NFS基于UDP/TCP协议
NFS使用的端口:2049
rpcbind启动的端口:111
NFS还有其他程序还会占用其他端口(默认小于1024的端口)
共享资源的日志文件:/var/lib/nfs/*tab
NFS配置文件位置:/etc/exports
NFS启动的服务项
rpc:远程过程调用协议,是实现本地调用远程主机实现系统调用的协议
portmapper:负责分配rpc server的端口,并在client端请求时,负责响应目的rpc server端口返回给client端,工作在tcp与udp的111端口上
mountd:是nfs服务的认证服务的守护进程,client在收到返回的真正端口时,就会去连接mountd,认证取得令牌
nfsd:nfs的守护进程,负责接收到用户的调用请求后与内核发出请求并得到调用结果响应给用户,工作在tcp和udp的2049端口
idmapd:是NFS的一个程序,用来负责远程client端创建文件后的权限问题
quotad:用用于实现磁盘配额,当client端挂载nfs后可以限制磁盘空间的大小
配置文件权限参数
rw:可读可写
ro:只能读
sync:同步将数据写入内存和硬盘
async:暂时保存到内存中,不直接写入硬盘
no_root_squash:当客户端使用root用户时,映射成NFS的root用户
root_squash:当客户端使用root用户时,映射成NFS的匿名用户
all_squash:登录NFS的所有用户都为匿名用户,也就是nobody
anonuid:可以设置匿名用户UID的值
anongid:可以设置匿名用户GID的值
安装配置NFS文件服务
服务端
1.安装nfs-utils和rpcbind软件
yum install -y nfs-utils rpcbind
2.创建需要共享的目录并加权限
mkdir /public
chmod 777 /public
3.编辑配置文件/etc/exports
vim /etc/exports
/public 192.168.0.0/24(rw,sync,no_root_squash)
补充:ip地址也可以使用通配符来代替主机名
4.启动服务
service rpcbind start
service nfs start
客户端
1.安装nfs-utils和rpcbind软件
yum install -y nfs-utils rpcbind
2.挂载NFS服务器的共享文件到本地创建的目录位置
mkdir -p /mnt/test
mount -t nfs 192.168.0.101:/public /mnt/test
补充:
查看服务器共享资源:showmount -e localhost
-e:显示NFS服务器的共享列表
-a:显示本机挂载的文件资源的情况NFS资源的情况
-v:显示版本
重新挂载:exportfs -arv
-a:全部挂载或者全部卸载
-r:重新挂载
-u:卸载某一个目录
-v:显示共享目录
查询RPC服务的注册状况:rpconfo -p localhost
-p:针对某IP显示所有port和program信息
-t:针对某主机的某个程序检查TCP数据包所在的软件版本
-u:针对某主机的某支程序检查其UDP数据包所在的软件版本