首页 > 服务配置 > web&mysql高可用集群部署文档
2016
05-13

web&mysql高可用集群部署文档

web&mysql高可用集群部署文档

目录:

目录:
项目需求
实现方式
拓扑图
系统及软件版本
安装步骤
IP分配
LVS和keepalived的安装和配置
LVS主配置
LVS2备 配置
web服务器配置
Mysql-MHA高可用
Mysql主配置
manager管理端操作
VIP切换
测试

项目需求:

  • 两台WEB/J2EE应用服务器同时提供服务,且负载均衡,当一台服务器当机时,另一台继续提供服务。
  • .两台MYSQL数据库实时同步,保证数据一致性及完整性。

实现方式:

lvs + keepalived + nginx + tomcat + redis + mysql

  • 使用lvs+Keepalived集群

LVS的通过控制IP来实现负载均衡。IPVS是其具体的实现模块。IPVS的主要作用:安装在Director Server上面,在Director Server虚拟一个对外访问的IP(VIP)。用户访问VIP,到达Director Server,Director Server根据一定的规则选择一个Real Server,处理完成后然后返回给客户端数据。使用lvs+Keepalived集群技术( DR模式 )让两台WEB/J2EE服务器实现负载均衡和高可用。

  • redis一主一从,实现会话保持

redis主从复制,保证session不丢失,实现会话保持。当用户往Master端写入数据时,通过Redis Sync机制将数据文件发送至Slave,Slave也会执行相同的操作确保数据一致。

  • 使用MysqlMHA高可用

MysqlMHA是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能最大程度上保证数据库的一致性,以达到真正意义上的高可用。使用MysqlMHA高可用建立稳定的mysql数据库集群,可以随时切换mysql数据库

  • nginx + tomcat实现页面访问

现公司使用的即是前端nginx +后端 tomcat 访问网站

拓扑图:

web&mysql高可用集群部署文档 - 第1张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

系统及软件版本:

系统 CentOS 5.6 X86-64 kernel 2.6.18-238.el5
LVS 1.2.1 keepalived 1.2.13
mysql 5.1.73 mysqlMHA manager-0.55
nginx 1.6.2 tomcat 6.0.44
jdk jdk-6u41-linux-amd64 redis 2.8.19

安装步骤:

系统分区及安装:

最小化安装,并修复bash漏洞,openssl心脏流血漏洞,glibc幽灵漏洞。

修复系统漏洞略,系统安装略。

IP分配:

LVS主 192.168.3.1 LVS备 192.168.3.2
LVS VIP 192.168.3.100 MHA VIP 192.168.3.80
web1 192.168.3.3 web2 192.168.3.4
Mysql主 192.168.3.5 Mysql备 192.168.3.6

LVS和keepalived的安装和配置:

LVS主的安装和配置:

keepalived的配置:

service keepalived start

tail -f /var/log/messages

iptables设置

LVS2备 配置:

 

service keepalived start

tail -f /var/log/messages

web服务器配置

vim /usr/local/tomcat/conf/context.xml

vim /usr/local/tomcat/webapps/ROOT/test.jsp

/usr/local/tomcat/bin/catalina.sh start

/usr/local/nginx/sbin/nginx

/usr/local/bin/redis-server /etc/redis.conf &

web2服务器需 vim /etc/redis.conf

slaveof 192.168.3.3 6379

编辑脚本并启动:

iptables设置:

Mysql-MHA高可用:

Hostname Ip 主机说明
manager 192.168.3.7 管理端
db1 192.168.3.5 现有主库
db2 192.168.3.6 备用主库
VIP  192.168.3.80

Mysql主配置:

安装mysql:

db1现有主库操作:

db2备用主库操作:

manager管理端操作:

VIP切换:

 

测试:

  • 正常访问网站

web1服务器页面:

web&mysql高可用集群部署文档 - 第2张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

web2服务器页面:

web&mysql高可用集群部署文档 - 第3张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

lvs + keepalived VIP页面:

web&mysql高可用集群部署文档 - 第4张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

  • 把主数据库关机或关闭网卡

1,访问页面不受影响,正常访问

2,数据库数据完整性、一致性、可用性正常

  • 把web1服务器关机或关闭网卡

由于web1和web2实现了负载均衡,所以客户打开的页面内容完全一致,访问正常

  • 把LVS1服务器关机或关闭网卡

1,由于2台服务器实现前端分发请求的高可用,所以LVS1主机当机,网站仍然正常访问,访问不受影响

  • 打开网站,登录

在测试期间,一直刷新页面查看,在LVS1当机的时刻会有少于2秒时间无法访问网站,高可用可以达到 99.99999% ,保证网站访问不因为服务器当机而造成损失。

最后编辑:
作者:bbotte
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。