原来域名里是不允许出现下划线的……写了下划线导致glusterfs解析出问题直接异常退出了,而且报的错还是八竿子打不到一起去的……妈蛋浪费了周五一下午和周一周二的时间……
原来域名里是不允许出现下划线的……写了下划线导致glusterfs解析出问题直接异常退出了,而且报的错还是八竿子打不到一起去的……妈蛋浪费了周五一下午和周一周二的时间……
在执行脚本之前要做的事:
服务器在host表里配置好server1.com、server2.com、anotherserver.com、haserver1.com、haserver2.com,一开始IP都写成127.0.0.1。注意:按照标准,域名是不能出现下划线的。
设置好redis配置文件,自启动。
设置keepalived需要的那两个模块自启动
有一个默认的gluster客户端配置文件,只挂载127.0.0.1的
将rails项目中的mysql/redis/sidekiq配置文件里的host修改为虚拟IP对应的域名haserver1.com
文件存储到/mnt/gluster/下
脚本要做的事:
在host表里将已经存在的四个域名替换成设置的IP
生成keepalived配置文件
生成keepalived的脚本文件...
特点:GlusterFS是Scale-Out存储解决方案Gluster的核心,它是一个开源的分布式文件系统GlusterFS支持运行在任何标准IP网络上标准应用程序的标准客户端,如图2所示,用户可以在全局统一的命名空间中使用NFS/CIFS等标准协议来访问应用数据高可用性弹性哈希算法,无中心服务器现有程序不需要做任何修改无元数据服务,根据算法来寻找文件位置客户端上运行Glusterfs进程,它实际是Glusterfsd的符号链接,利用FUSE(File system in User Space)模块将GlusterFS挂载到本地文件系统之上,实现POSIX兼容的方式来访问系统数据。GlusterFS存储网关提供弹性卷管理和NFS/CIFS访问代理功能,其上运行Glusterd和Glusterfs进程,两者都是Glusterfsd符号链接。卷管理器负责逻...
* 我们使用的是debian6.0,源里自带的版本比较旧(3.0.5),据说bug比较多,需要自己编译3.5版。 * configure的时候指定../configure --prefix=/usr否则path会有问题 * 有资料说ubuntu8.04的fuse默认没有支持glusterfs,需要重新编译。在我们的debian6.0未发现此问题。 * 两台机器互为服务端和客户端,都需要配置/etc/glusterfs/glusterfs.vol 和glusterfsd.vol。 * “option auth.addr.brick.allow 192.168.0....
前提条件:对于mariadb和redis2.8或更新版本,实现在两台位于不同机房的高可用性方案。
要求:对客户端透明,自动切换。
考虑了几个方案,最后决定都使用keepalived方案来进行failover。这样的话,有以下几个问题需要解决:
配置keepalived,使VIP总是指向可用的服务器,并在某台服务器宕掉以后可以自动将VIP实际指向的地址漂移到另一台可用的服务器
双向同步mysql和redis,使得宕机切换以后,新的服务器上的redis和mysql的数据与原来宕掉的服务器相同
旧master恢复以后抢占回VIP
抢占回VIP以后,redis会直接作为master启动,另一台作为backup启动。因此master脚本需要首先从backup机复制回数据,等待5秒,然后再slaveof no one,以便继承宕机时产生的新数据
...