解决集群环境下文件一致性的问题:
1、方案一:直接申请共享盘,将共享盘挂载在到-A机器和B机器上。这种方式简单粗暴还实用,A、B两台机器都可以访问到这个硬盘。把文件读写目录直接指向共享硬盘就可以了。
2、采用分布式文件系统,这个我没深入研究,大家可以研究一下。
3、使用nfs共享资源目录方式实现局域网络内的可以互通的机器进行文件共享。
NFS是什么?
中文意思是网络文件系统。它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录。
NFS实践
采用3台机器进行验证, 蓝色机器是nfs的服务端,黑色机器是nfs的客户端。
1、3机器必须都能在内部网络进行相互间的通信。
2、以linux-centos7为例。
3、每台机器都需要用到 nfs-utils,rpcbind。
nfs-server安装过程如下:
nfs-server:查看是否又安装nfs-utils rpcbind
rpm -qa nfs-utils rpcbind
yum -y install nfs-utils rpcbind
安装完成侯配置文件
一、配置nfs协议
vim /etc/sysconfig/nfs
设置各种*port=...参数,如果端口冲突了可以进行修改,也可以修改文件固定端口。
二、配置exports
配置文件:/etc/exports
设置共享目录:
本地NAS存储目录-配置:vim /etc/exports
/data/files 10.0.111.2/6(rw,sync,no_root_squash,no_all_squash)
/data/files 10.0.111.*(rw,sync,no_root_squash,no_all_squash)
/data/files 10.0.111.2(rw,sync,no_root_squash,no_all_squash) #以上三种方式均可,整个10.0.111.*段的电脑均可连接 /data/files 10.0.111.*(rw,sync,no_root_squash,no_all_squash)
添加vim /etc/exports 的配置
重新加载NFS配置:exportfs -arv
三、启动服务
systemctl start rpcbind
systemctl start nfs
设置开机启动
systemctl enable rpcbind
systemctl enable nfs
查看端口占用,以便开着防火墙的时候设置
rpcinfo -p
查看本机共享 showmount -e
nfs-client客户端安装过程:
nfs-server:查看是否又安装nfs-utils rpcbind
rpm -qa nfs-utils rpcbind
yum -y install nfs-utils rpcbind
一、设置挂载目录 nfs-clientA 挂载目录 /data/files
二、将clinetA 的挂载目录:/data/files 挂载到nfs-server服务端。
1、检测是否可以访问到服务端的挂载目录
执行挂载命令:
这样就挂载成功了。
nfs-server端遇到的问题:
1、客户端访问不到服务端
端口问题,防火墙需要开放nfs-server的nfs端口 111 2049 892
2、客户端挂载成功后/data/files 只读
原因是vim /etc/exports 配置有误导致的