1.NFS概念
NFS(Network File System)网络文件系统 , 是一种基于TCP/UDP传输协议的文件共享服务。
NFS基于C/S架构,服务端启用协议将文件共享到网络上,然后允许本地NFS客户端通过网络挂载服务端共享的文件。
NFS基于RPC 远程过程调用机制, 支持在异构系统之间数据的传送 , RPC提供了一组与机器、操作系统以及低层传送协议无关的存取远程文件的操作
NFS协议:端口号 2049
软件包:nfs-utils
服务名:nfs
配置文件:/etc/exports
RPC协议:端口号 111
软件包:rpcbind
服务名:rpcbind
2.NFS服务端配置192.168.1.66(需要关闭防火墙)
①安装nfs服务端软件包
[root@localhost ~]# yum -y install nfs-utils
②启动nfs服务
[root@localhost ~]# systemctl start nfs-server.service
[root@localhost ~]# systemctl enable nfs-server.service
③查看服务端口信息
[root@localhost ~]# ss -anptul | grep 2049
或者[root@localhost ~]# netstat -ntlp | grep 2049
④查看RPC服务端口信息
[root@localhost ~]# ss -anptul | grep rpcbind
或者[root@localhost ~]# netstat -ntlp | grep rpcbind
⑤创建共享目录
[root@localhost ~]# mkdir /upload
⑥修改nfs主配置文件:/etc/exports
[root@localhost ~]# vim /etc/exports
#格式:共享文件夹路径 客户机地址(权限) 客户机地址(权限)
/upload 192.168.1.89/24(rw) 192.168.1.90/24(ro) #指定客户机地址(权限)
/upload 192.168.1.0/24(rw) #共享给指定网段(权限)
⑦重启nfs服务
[root@localhost ~]# systemctl restart nfs-server.service
3.客户端配置192.168.1.89
①列出有哪些NFS共享资源:showmount -e 服务器地址,如果客户端没有该命令需安装nfs-utils
[root@localhost ~]# yum -y install nfs-utils
[root@localhost ~]# systemctl start nfs-server.service
[root@localhost ~]# systemctl enable nfs-server.service
[root@client ~]# showmount -e 192.168.1.66
②手动挂载NFS共享:mount
[root@client ~]# mkdir /opt/upload
[root@client ~]# mount 192.168.1.66:/upload /opt/upload
服务器地址:文件夹路径 挂载点
[root@client ~]# df -h
③客户端实现开机挂载配置:/etc/fstab
[root@localhost]# vim /etc/fstab
192.168.1.66:/xxx /mnt/xxx nfs defaults,_netdev 0 0
服务器地址:文件夹路径 挂载点 文件系统 defaults,_netdev 0 0
解释:_netdev:指定nfs是网络设备
[root@localhost]# mount -a
④客户端验证是否可以是否共享目录
[root@client ~]# cd /opt/upload/
[root@client upload]# touch xx.txt
touch: 无法创建"xx.txt": 权限不够
(解释:默认客户端是以nfs用户身份访问远端的nfs服务器,如果nfs服务端共享的目录属主为root用户,那客户端默认是没有写权限)
⑤服务端开放允许以root身份访问
[root@localhost ~]# vim /etc/exports
/upload 192.168.1.89/24(no_root_squash,rw) 192.168.1.90/24(ro)
(解释:no_root_squash 不挤压root用户身份(允许以root身份访问))
[root@localhost ~]# systemctl restart nfs-server.service
⑥客户端验证
[root@client upload]# touch xx.txt
[root@client upload]# ls
xx.txt
⑦在192.168.1.66上为普通用户授权访问nfs共享目录(通过ACL实现,nfs通过用户UID辨别用户身份)
[root@localhost ~]# setfacl -m u:lisi:rwx /upload
⑧在192.168.1.66上设置SBIT权限
[root@localhost ~]# chmod o+t /upload/
⑨客户端lisi用户验证授权
[lisi@client upload]$ touch lisi.txt
[lisi@client upload]$ ls
lisi.txt xx.txt
[lisi@client upload]$ rm -rf xx.txt
rm: 无法删除"xx.txt": 不允许的操作
4.NAS知识点简单介绍
(网络附加存储)存储模式中的文件共享服务
samba文件共享服务:支持跨平台
FTP文件共享服务:支持跨平台
NFS文件共享服务:支持跨平台
DAS存储(直连存储):直接附加在电脑主板上的硬盘
SAN存储(存储区域网络):块级别存储,把自己电脑上的硬盘共享给其他主机