负载均衡服务器双机热备方案
一、系统环境配置
硬件配置
1.1 节点一(centosA)
CPU:双CPU (4核+4核) 5405级别
内存:8G DDR3 ECC内存,组三通道
硬盘:1块1TB普通硬盘 + 2块300G SAS15K (15000转) 硬盘
网卡:2块千兆网卡
1.2 节点二(centosB)
CPU:双CPU (4核+4核) 5405级别
内存:8G DDR3 ECC内存,组三通道
硬盘:1块1TB普通硬盘 + 3块300G SAS15K (15000转) 硬盘
网卡:2块千兆网卡
操作系统配置
2.1 操作系统版本
CentOS 5.7 64位
2.2 安装要求
最小化安装,字符界面安装
去掉所有组件,只需要一个内核
交换机配置
建议使用两台交换机,内网一台,外网一台,如果只有一台交换机,划分两个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
架构详解
2.1 内网架构
DRBD网络存储:创建两个资源,一个mysql给mysql数据库同步用,一个www给web(论坛)数据NFS共享挂载用,虚拟出两个虚拟IP,一个是192.168.1.100,用来连接数据库,一个是192.168.1.200,用来给节点挂载NFS。
Heartbeat:实现DRBD的HA,同时虚拟出两个内网IP,并管理NFS,MySQL的启动和关闭。
2.2 外网架构
Nginx做均衡器:通过内网调度负载两个节点,实现内部均衡,DNS配置双IP对应一个域名的方式来实现DNS轮询,实现外网均衡。
Keepalived:使用双主(master)配置虚拟出两个虚拟IP:节点一12.12.12.100和节点二12.12.12.200,同时共外网访问,两个节点互为主从关系,当某个节点挂掉的时候,另外一个节点将同时是两个资源的master,同时拥有两个虚拟IP,实现资源转移。
三、LNMP架构配置
Nginx配置
将所有nginx端口改为8080,因为还要安装nginx来做均衡器并对外提供服务,所以不要用默认的80端口。
NFS安装与配置
服务器端和客户端都需要安装:nfs-utils
和portmap
。
Keepalived配置
双主模式:两台负载均衡服务器互为主备,均处于活动状态,各自绑定一个公网虚拟IP,提供负载均衡服务,当其中一台发生故障时,另一台接管发生故障服务器的公网虚拟IP。
四、相关问题与解答
什么是HTTP重定向实现负载均衡?
HTTP重定向实现负载均衡是指当用户向服务器发起请求时,请求首先被集群调度者截获;调度者根据某种分配策略,选择一台服务器,并将选中的服务器的IP地址封装在HTTP响应消息头部的Location字段中,然后返回给浏览器,浏览器收到响应消息后,解析Location字段,并向该URL发起请求,指定的服务器处理该用户的请求,最后将结果返回给用户。
DNS负载均衡的缺点是什么?
DNS负载均衡的缺点包括:无法随心所欲地控制调度者,无法定制调度策略;无法了解每台服务器的负载情况,因此无法实现真正意义上的负载均衡;为一个域名解析多个IP时,如果是公网的IP,其费用较贵;当发现某一台后端服务器发生故障时,即使从域名解析中去除,但由于DNS服务器有缓存,这个IP仍然会保留一段时间,从而导致一部分用户无法正常访问网站。
以上就是关于“负载均衡服务器双机热备方案”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!