一般情况下 windows网络共享与samba用户局域网网络共享. 互联网中小型网站集群架构后端常用NFS进行数据共享. 大型网站会用到更复杂的 Moosefs(mfs)(小文件) GlusterFS (大文件) FastDFS(小文件).自行学习

三个主服务 rpc.nfs rpcbind rpc

服务端 1.yum install -y nfs-utils 自动创建 nfs-nobody

2.开启rpcbind 开启 nfs 加入开机启动 rpcinfo -p 查看通过rpc注册的服务 nfs 主端口 2049

3.配置文件 /etc/exports
/var/lib/nfs/etab 服务端配置

/etc/exports 配置说明 目录 目标(rw,all_squash,(async,sync),anonuid=XX,anongid=XX) /var/share 192.168.0.*(rw,sync,root_squash) /var/share 192.168.0.0/24(rw,sync,all_squash,anonuid=65534,anouid=65535)

useradd -u XXX -s /sbin/nologin -M NFS共享用户

如果说要用某个用户做访问,刚all_squash 把所有用户压缩成匿名用户,且指定匿名用户的UID GID. 在NFS中,只认UID ,和实际的名字没什么关系,但是为了统一,都设成UID 和用户名 一样的用户 nfs问题 若多个客户端要共同管理nfs服务器资源, 这三者的uid 要一样,否则会出问题 all_squash root_squash no_root_squash anonuid= anongid= 即保证这两个一致

大并发使用async 正常sync

4.exportfs -avr 更新nfs目录 不需要重启服务 exportfs -avu 关闭nfs 不需要重启服务 exportfs 查看开启的共享

客户端

  1. showmount -e 172.16.1.31 查看server 的共享目录
  2. mount -t nfs 172.16.1.31:/home testnfs

客户端 df -h 看挂载有时候会卡住 ,用cat /proc/mounts umount -lf 强制卸载 不建议

fstab 挂载 192.168.0.6 /database nfs default 0 0

firewalld 需要放行三个服务 rpcbind mountd nfs (被坑过!)

优化添加功能必然伴随系统资源耗用增加 NFS优化 1.硬盘RAID 网卡吞吐 bind 2.NFS exports 配置 3.挂载命令优化 (一般默认参数就满足需求) mount -t nfs -o nosuid,noexec,nodev,noatime,nodiratime,intr,resize=131072,wsize=131072 4./etc/sysctl.conf 内核优化

NFS 局限 1.单点故障 2.性能有限,但是有缓存 可以大幅度降低NFS访问 减少80%以上 3.明文,无冗余,外网传输可用SSH加密,内网不必要 4.耦合高,挂掉直接就卡住了