一个存储服务(也是一种文件系统),运行在存储服务器中 同类软件:nfs、ceph、gfs
存储服务器介绍
存储服务器用来存储用户上传的文件,包括但不限于视频、图片
nfs原理
原理图:

简单上手
服务端配置
yum install -y nfs-utils # rpcbind是nfs的依赖之一,所以不用主动装systemctl enable rpcbindsystemctl start rpcbindsystemctl enable nfssystemctl start nfsrpcinfo -p # 查看注册信息,不加ip,默认查看本地rpc服务# showmount -e # 查看具体共享目录,不加ip默认查看本地nfs服务
vim /etc/exports
#共享/nfsdata/目录 172.16.1.0/24网段对 nfs服务端的/nfsdata目录 拥有读写权限
/nfsdata 172.16.1.0/24(rw,all_squash)
# 单独指定域名或ip共享/nfsdata ,对 nfs服务端的/nfsdata目录 拥有读写/只读权限
# /nfsdata 172.16.1.1(rw) 172.16.1.2(ro) www.baidu.com(ro)
# 其他服务端配置
# (rw,anonuid=,anongid=,root_squash,no_root_squash,allsquash,sync,async)
# 指定被压缩为的用户id 只有root压缩,其他用户不压缩, 都压缩, 同步传输,不同步传输
#不同步传输指的是先放在内存里攒一攒
systemctl reload nfs # reload表示处理完未完成的任务在重启,不是所有服务都有,只有服务开启状态下才可以使用
showmount -e # 查看具体共享目录,后面不加ip默认查看本地nfs服务
mkdir -p /nfsdata
chown nfsnobody.nfsnobody /nfsdata -R # 用户压缩,公司一般用www这个用户
客户端配置
yum install -y nfs-utils
mkdir -p /upload
mount -t nfs 172.16.1.31:/nfsdata /upload/
其他: /proc/mounts可以看客户端挂载的详细配置,如mount -o,-t的详细内容
/var/lib/nfs/etab看服务端详细配置,如是否allsquash
永久挂载:和硬盘挂载相同,但fstab挂载需要启动 remote-fs.target 这个服务
排错
mount -t nfs exam_nfs:/data/w_shared /data/b_w
#挂载共享目录的时候夯住,排查发现不能使用rpcinfo,怀疑是rpc端口未开放
#开放111和1017没用,开放安全组所有端口就行了,rpcinfo也能用了/
#是哪个端口有问题呢?
# 答:由于nfs端口的随机性,需要固定https://www.cnblogs.com/longchengruoxi/p/13156444.html,
# 但是一般企业用内网,直接对内网开放全部端口就完事,用不着固定
nfs的超详细介绍,史诗巨作 ps:疑似有点问题,还是不看了
