双机热备+负载均衡 线上方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
双机热备+负载均衡线上方案
(Heartbeat+DRBD+NFS+Keepalived+Lnmp)
gotop
对于网站服务器来说,可靠性之重要不用我多说,但要想做到可靠性一般需要昂贵的设备,这里最主要是就是数据同步用的共享磁盘了,磁盘柜+磁盘一共下来是20多万,这对于追求最高性价比的双机负载热备方案来说是极其不靠谱的,尤其是中小型企业,私有企业,一般经理是不会考虑这么高的成本的。我们通常做都是四台服务器+一个磁盘柜子+千兆交换机,那么这个成本下来将近30万了,而且这个方案有个弊端就是存储依然存在单点故障,除非使用双控制+双电源+双主板设计的磁盘柜,但这种成本实在太高。那是否有更为廉价的双机方案呢,很明显开源软件帮我们解决了成本问题!!!
用Heartbeat+DRBD+NFS+Keepalived+Lnmp等开源软件实现双机负载热备架构只需要两台服务器+一台全千兆交换机,这个成本是极其低廉的,我们做运维了就是要用技术来压榨硬件性能,用最低的成本实现最高的效能,不然天天谈论的性能优化有何用?堆叠硬件不是更好?那不是我们的目的,下面我们来看看这两台服务器的双机热备+负载均衡是如何实现并且稳定运行的。
这个方案是我给一个论坛做的,论坛15分钟在线8000人,以前放在IIS里面,并发连接6000-7000左右,我给设计的双机热备方案如下图:
图一
注意:第三台服务器可要可不要,我这里他由于成本问题,并没有采用第三台服务器,而是一共只有两台
系统环境配置
一,硬件配置:
节点一(centosa):做主负载点,和主数据库压力负载点,必须高性能高稳定高I/O
配置如下:
CPU:双CPU( 4核+4核) 5405级别
内存:8G 组三通道DDR3 ECC内存
硬盘:1块1TB普通硬盘+2块300G SAS15K(15000转)硬盘
网卡:2块千兆网卡
节点二(centosb):做分担负载和备服务器,稳定第一
CPU:双CPU( 4核+4核) 5405
内存:8G 组三通道DDR3 ECC内存
硬盘:1块1TB普通硬盘+3块300G SAS15K(15000转)硬盘
网卡:2块千兆网卡
注意:网卡极力建议用四块,这个架构对网络I/O要求极高,我这里只有两块,没办法,机房做不到,如果你是百兆交换机,拜托,你一定要用四块网卡
二,操作系统配置
1),所有服务器的操作系统版本:
操作系统版本:CentOS5.7 64位
操作系统官方下载地址:/centos/5/isos/x86_64/ 2),每台服务器的安装要求:
节点一:
分区:一共三块硬盘,不用组RAID
第一块硬盘:
系统占用一块,分区情况如下:
/boot 200MB
/ 40GB
swap交换分区 8GB
/data 第一块硬盘的所有剩余空间
第二块硬盘:
不要分区,留给我自己分区
第三块硬盘:
不要分区,留给我自己分区
系统安装安装规范
最小化安装,字符界面安装
去掉所有组件,只需要一个内核
节点二:
分区:一共三块硬盘,不用组RAID 第一块硬盘:
系统占用一块,分区情况如下:
/boot 500MB
/ 40GB
swap交换分区 16GB
/data 第一块硬盘的所有剩余空间
第二块硬盘:
不要分区,留给我自己分区
第三块硬盘:
不要分区,留给我自己分区
系统安装要求
最小化安装,字符界面安装
去掉所有组件,只需要一个内核
三,交换机配置:
注意:有条件最好用两台交换机,内网一台,外网一台
如果只有一台交换机,划分两个VLAN,一个外网使用,一个内网使用四,目录规划用途
/usr/local/src/lnmp:用来存放源码工具等等
/data:用来存放所有数据和NFS以及DRBD的挂载
/data/shell:用来存放所有管理脚本
/data/mysql:用来挂载DRBD的mysql资源,以供mysql存放数据库
/data/wwwnfs:用来挂载DRBD生成的www资源,以供两个节点挂载到各个节点的/data/www目录,以供论坛等程序数据使用
/data/www:用来挂载NFS资源,用来存放论坛(网站)等程序数据
双机热备+负载均衡具体配置
一,先建立用户和目录吧:
useradd -s /sbin/nologin www
useradd -s /sbin/nologin mysql
mkdir -p /data/mysql
mkdir -p /data/www
mkdir -p /data/wwwnfs
mkdir -p /data/shell
二,架构详解
如果用LVS做均衡器拓扑图如下:
图二
如果用Nginx做均衡器拓扑图如下:
图三
我们这里用NGINX做均衡器,因此我用图三来拓扑,来讲讲这个拓扑的工作原理
内网:
1,DRBD网络存储创建出两个资源,一个mysql给mysql数据库同步用,一个www给web(论坛)数据NFS共享挂载用,虚拟出两个虚拟IP,一个是192.168.1.100,用来连接数据库,一个是192.168.1.200,用来给节点挂载NFS
注意:NFS底下挂载了三次:DRBD挂载一次,文件系统挂载一次,客户端挂载一次
2,Heartbeat来实现DRBD的HA,同时虚拟出两个内网IP,并管理NFS,MySQL的启动和关闭