1,NFS网络共享服务
NFS优点:
1、简单-容易上手掌握
2、方便-部署快捷,维护简单
3、可靠-从软件层面上看,数据可靠性高, 经久耐用
NFS的局限
1,单点故障,如果NFS server宕机所有客户端都不行访问共享目录,负载均衡可以弥补
nfs原理 (NETwork file system)
2,挂载原理
共享挂载,设置权限,访问共享,传输端口随机选择(RPC端口:111)
RPC>NFS
RCP:记录每隔NFS功能所对应的端口号,并传递信息给nfs,prot监听服务,告知NFS客户端。
注意:RPC服务重启后,NFS端口记录清空,需要重启NFS 重新注册,NFS文件修改后不需要重启。/etc/init.d/nfs reload
过程:(1,首先启动Portmap服务,2然后启动NFS服务,向Portamp服务注册)
1,客户端RPC发起请求,通过网络,请求服务端的RPC服务。
2,服务端接受到服务请求,就会查找NFS端口,并反馈给客户端RPC信息
3,反馈给客户端 就可以联机,
实验:cat /etc/redhat-release 查看系统版本
uname -r 内核版本
安装相关软件
yum install nfs-utils postmay(然后安装portmap服务,portmap在centos6中改名为rpcbind)
1,服务端启动/etc/init.d/rpcbind start
2,查看端口使用情况 netstat -lnt
3,通过 rpcinfo -p localhost 检测NFS向RPC注册了那些端口
4,启用NFS/etc/init.d/nfs start
5,添加开机启动 chkconfig nfs、rpcbind on并查看列表chkconfig --list|egrep "rpcbind|nfs"
6,showmount -e 192.168.1.201查看服务端提供哪些共享目录
7,mount -t nfs 192.168.1.201:/qqq1 /mnt 将磁盘挂载到本地之后df-h 查看
注意nfs权限及本地文件权限
[root@Server qqq1]# id nfsnobody
uid=65534(nfsnobody) gid=65534(nfsnobody) groups=65534(nfsnobody)
重启后会时效,永久挂载方法:
可以把共享的目录在/etc/fstab 中进行配置,这样开机会自动加载mount的整个命令,而不需要开机手工执行 mount -t nfs IP:/目录,在/etc/fstab中的加入如下配置即可,语法如下:
192.168.1.201:/qqq1 /qqq1/video nfs defaults 1 1
服务器的IP及目录 本地挂载点 挂载类型 缺省项 是否需要备份
# df -h|grep /mnt
192.168.1.201:/qqq1 19G 2.0G 16G 11% /mnt
文件系统 容量 已用 可用 已用% 挂载点
8,强制卸载NFS挂载点(Server端死机或server与client之间网络问题 df-h卡死 需要强制卸载NFS)
umount -lf /mnt
人为模拟错误的学习方法
(1)rpcbind(portmap)中断,不会影响已连接的NFS,因为portmap只是在NFS server不知道NFS client端口时,起到桥接的作用。(参考NFS原理)
(2)System Error:Connection refused(连接拒绝)因:对端提供服务的端口无法连接,防火墙阻止
解决:开启RPC服务 获取端口111
(3)program not registered NFS没有向RPC注册端口
解决:在开启RPC服务后,开启NFS服务 注册端口
(4)(NFS中断优化:mount -t nfs -o nosuid,noexec。nodev,rw,hard,intr,rsize=221233,wsize=234523 192.168.1.201:/qqq1 /mnt)(添加hard,intr 服务端死机后 不会影响到客户端死机 有超时时间限制)