文件系统级别共享(NAS存储)
NFS
NFS全称 Network File System 网络文件系统
和其他文件系统一样,是在Linux内核中实现的,因此NFS很难做到和Windows兼容。NFS共享出的文件系统会被客户端识别为一个文件系统,客户端可以直接挂载并使用
NFS文件系统仅支持基于IP的用户访问控制
NFS的客户端主要为Linux
因为NFS有很多功能,不同的功能需要使用不同的端口。因此NFS无法固定端口。而RPC会记录NFS端口的信息,这样就能够通过RPC实现服务端和客户端的RPC来沟通端口信息。
那RPC和NFS之间又是如何之间相互通讯的?
首先当NFS启动后,就会随机的使用一些端口,然后NFS就会向RPC去注册这些端口。RPC就会记录下这些端口。并且RPC会开启111端口,等待客户端RPC的请求,如果客户端有请求,那服务端的RPC就会将记录的NFS端口信息告知客户端。
Ini
构建实战
实验环境准备
服务端:nfs-server 192.168.60.131
客户端:nfs-client 192.168.60.132
Ini
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
Shell
NFS-server操作
安装rpc协议的包
yum install -y rpcbind
Shell
安装nfs服务
yum -y install nfs-utils
Shell
启动服务
systemctl start nfs
systemctl start rpcbind
Shell
创建存储目录
mkdir /nfs-dir
Shell
制作test文件
echo "nfs-test" >> /nfs-dir/index.html
Shell
编辑共享文件
vim /etc/exports
?? ?/nfs-dir 192.168.60.0/24(rw,no_root_squash,sync)
Shell
可选参数注释:
ro:只读
rw:读写
*:表示共享给所有网段。
sync:所有数据在请求时写入共享
root_squash: 对于使用分享目录的使用者如果是root用户,那么这个使用者的权限将被压缩成为匿名使用者,只读权限。
no_root_squash:使用分享目录的使用者,如果是 root 的话,那么对于这个分享的目录来说,他就具有 root 的权限。
Ini
重启服务并制作开机启动
systemctl restart nfs-server
systemctl enable nfs-server
Shell
NFS-client操作
安装rpc协议的包
yum install -y rpcbind
Shell
安装nfs服务
yum install -y nfs-utils
Shell
创建挂载点
mkdir /nfs-dir-test
Shell
挂载
mount -t nfs 192.168.60.131:/nfs-dir /nfs-dir-test
Shell
-t 指定文件类型
查看挂载
df -hT
Shell
查看挂载目录
[root@nfs-client ~]# ls /nfs-dir-test/
?? ?index.html
#可以发现已经挂载成功
Shell
取消挂载
umount /nfs-dir/test
Shell
制作开机挂载
vim /etc/fstab
Shell
写入一下内容
192.168.60.131:/nfs-dir /nfs-dir-test ? nfs ? ? defaults ? ? ? ?0 0
Shell
然后
mount -a
Shell
发现挂载已经生效