目录
概述:NFS(network filesystem)存储
tcp/ip协议传输
rpc:远程过程调用
管理nfs端口
111端口
nfs:2049端口
应用场景:
用于集群架构中的数据存储
网站的静态文件(图片,文本、视频、音频)
用于局域网
安装:
yum install -y rpcbind
yum install -y nfs-utils
目录结构
/etc/nfs.conf : nfs的主配置文件
/etc/exports : 存储配置文件
语法: dirPath IP/Prefix(argument1,argument2...)
参数:
rw:指定共享目录具备可读写权限
ro:指定只读
sync:立即同步
async:异步同步 数据存储信息-->内存中-->写入磁盘,容易造成数据丢失
all_squash: 将所有用户的操作文件全部映射为指定的用户nobody
no_all_squash: 所有用户操作文件是什么用户就保留什么用户权限,不转换用户身份
root_squash: 指定root用户需要转换身份
no_root_squash: root不用不需要转换身份
anonuid:用于指定用户身份映射到的用户的uid
anongid:用于指定用户组身份映射到的用户组的gid
#打开你的服务器
[root@localhost ~] yum install -y rpcbind #下载NFS服务
[root@localhost ~] vim /etc/exports #打开这个文件,里面是空白的
share 192.168.9.0/24(rw,no_root_squash)
#输入 /share 加上你服务器和客户端相同网段/子网掩码
#rw:指定共享目录具备可读写权限
#no_root_squash:root不需要转换身份 两个参数见用逗号(,)隔开
[root@localhost ~] systemctl start nfs #启动nfs服务
[root@localhost ~] mkdir share #记得建个文件夹用来存储
[root@localhost ~] showmount -e #显示nfs共享目录
Export list for localhost.localdomain:
share 192.168.9.0/24 # 成功显示
接下来转到客户端
[root@localhost ~] yum install nfs #客户端下载nfs服务
[root@localhost ~] showmount -e 192.168.9.2 查看共享目录列表
Export list for 192.168.9.2:
/share 192.168.9.0/24
[root@localhost ~] mkdir /skl #创建目录
[root@localhost ~] mount 192.168.9.2:/share /skl
mount.nfs: mounting 192.168.9.2:/share failed, reason given by server: No such file or directory #失败 检查防火墙
[root@localhost ~] setenforce 0 #防火墙1
[root@localhost ~] iptables -F #防火墙2
[root@localhost ~] systemctl stop firewalld #防火墙3
[root@localhost ~] echo $?
0 #成功关闭了
[root@localhost ~] mount 192.168.9.2:/share /skl #挂载成功
如果还是显示以下报错:mount.nfs: mounting 192.168.9.1:/share failed, reason given by server: No such file or directory
执行sudo exportfs -a 表示将所有的更新
执行sudo service nfs restart 重启nfs服务
这两条命令注意root权限
命令解析:
exportfs:共享存储管理命令
showmount -e:显示nfs共享目录
配置
vim /etc/exports
/share 192.168.115.0/24(rw,no_root_squash)
客户端访问
查看nfs服务器的共享目录
showmount -e 192.168.115.128(nfs服务器IP)
挂载:手动挂载
mount 192.168.115.128:/share /mnt
自动挂载
vim /etc/fstab
192.168.115.128:/share /mnt nfs4 defaults 0 0
mount -a
[root@localhost ~] vim /etc/fstab
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=7f77dd22-3ee3-4ff3-88c1-55d615fec1ec /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
192.168.9.2:/share /skl nfs4 defults 0 0
#依次输入 需要挂载的文件 挂载目录 文件格式 挂载参数 是否检测 是否备份
完成
服务器在/share的命令可以实时同步到服务器/skl里