高可用集群技术之heartbeat+NFS实现web服务高可用(文本方式配置接口--gui图形配置)

一、高可用集群基本概念

  什么是高可用技术呢?在生产环境中我既要保证服务不间断的服务又要保证服务器稳定不down机,但是异常还是会发生,比如说:服务器硬件损坏...导致服务器down机,我该如何保证服务器down机后继续提供服务呢?这时我就应该请出高可用技术来帮忙了,当我们的服务器发生故障后不能继续时,高可用集群技术解决将业务及服务自动转移至其他主机服务器上继续服务,保证服务架构不间断运行。

高可用集群的架构层次:

后端主机层: 这一层主要是正在运行在物理主机上的服务。
2.Message layer: 信息传递层,主要传递心跳信息
2.Cluster Resources Manager(CRM): 集群资源管理器层,这一层是心跳信息传递层管理器。用于管理信条信息的传递和收集
3.Local Resources Manager(LRM): 本地资源管理器层, 用于对于收集到的心跳信息进行资源决策调整。是否转移服务等等
4.Resource Agent(RA):资源代理层,这一层主要是具体启动或停止具体资源的脚本。遵循{start|stop|restart|status}服务脚本使用格式


各层次实现的软件和对应关系
1.Message layer层:
  1)heartbeat v1
  2)heartbeat v2
  3)heartbeat v3
  4)(OpenAIS)corosync
  5)cman

2.CRM层
1)heartbeat v1:
    使用文本配置接口haresources

2)heartbeat v2:
    通过一个crmd服务来实现配置,各节点都需要运行crmd服务,并且使用crmsh或者heartbeat-gui来进行配置

3)heartbeat v3: heartbeat + pacemaker + cluster-glue
    pacemaker: 集群资源管理器服务

CLI: crm(SuSE), pcs(redhat)

GUI: hawk, LCMC, pacemaker-mgmt

cluster-glue: 可以做为中间粘合层,使用其他资源管理器例如crmsh

4)cman:
    使用rgmanager(resource group manager)实现管理, 具有Failover Domain故障转移域这一特性

也可以使用RHCS(Redhat Cluster Suite)套件来进行管理: Conga的全生命周期接口

5)corosync:
    使用rgmanager或者pacemaker

3.LRM层通常和CRM层在实现上是通过CRM的一个组件实现

4. RA层
    1)heartbeat legacy: heartbeat的传统类型
    2)LSB:/etc/rc.d/init.d/*
    3)OCF(Open Cluster Framework):有提供商提供,有pacemaker,linbit
    4)STONITH: 用来联合硬件设备工作,可以把故障机电源强制关闭。

5. keepalive的组合: keepalive不同于上面所述的重量级构架,比较独特使用vrrp接口实现,配置简单轻量级。通常与一下服务同时使用
    1)keepalive + ipvs
    2)keepalive + haproxy

RHEL OR CentOS高可用集群解决方案:

1. RHEL(CentOS)5:
    1) 自带: RHCS(cman+rgmanager)
    2) 选用第三方:corosync+pacemaker, heartbeat(v1或v2), keepalived

2. RHEL(CentOS)6:
    1) RHCS(cman+rgmanager)
    2) corosync+rgmanager
    3) cman+pacemaker
    4) heartbeat v3 + pacemaker
    5) keepalived

应用方式:
    1) 做前端负载均衡器的高可用:keepalived
    2) 做大规模的高用集群:corosync(cman)+pacemaker

资源隔离:解决资源征用问题
1. 场景一:

当集群中分裂出两组子集群,并且两个子集群之间并不能通信时, 两个子集群会发生资源征用。如果两集群同时征用后端存储系统,则会造成灾难性的文件系统崩溃。

为了解决此问题,集群系统引入了投票机制,只有拥有半数以上合法票数的集群才能存活,否则退出集群系统。

votes: 投票权

total: 总票数

quarum: 满足法定人数,半数以上

2. 场景二:

如果集群为偶数时,如果集群分裂,两边可能都掌握相等的票数,因此集群系统不应该为偶数,如果是偶数则需要一个额外的ping节点参与投票。

3. 当分裂的票数不足集群退出集群系统后,为了保证它们永远不会征用资源需要STONITH机制来进行资源隔离。

STONITH具体来说,就是通过硬件设备,使得退出的主机重启或者关机。或者通过交换机阻断推出集群主机的向外通信和资源通信网络.

-----如下图所示:

HA集群的工作模型:
   1. A/P: two node: 主被模型,要借助于ping node 工作

2. N-M: N个节点M个服务, N>M, 活动节点为N, 备用节点为N-M

3. N-N: N个节点N个服务, N节点都有服务,如果一个坏了,会有一个节点运行多个服务

4. A/A: 双主模型,两个节点都是活动的。两个节点运行两个不同的服务。也可以提供同一个服务,比如ipvs, 前端基于DNS轮询。

资源转移的限定方式:

1. rgmanager:

failover domain: 故障转移域,设定一个资源只能在哪些主机上面转移

priority: 设定,在一个转移域中,哪些主机优先被转移资源

2. pacemaker: 通过资源约束,和粘性来限定资源转移方式。

资源黏性: 如果两个节点倾向性位置约束一致,资源对哪个节点粘性为正值,则留在哪个节点。

资源约束(3种类型):

位置约束:资源更倾向于哪个节点上;通过一个数值来表示。

1) inf: 无穷大

2) n: 倾向于运行在某节点

3) -n: 倾向于离开某节点

4) -inf: 负无穷,如果所有节点全不可选,只能在此节点。

排列约束:资源运行在同一节点的倾向性;

1) inf: 两者永远在一起

2) -inf: 两者永远不再一起

顺序约束:资源启动次序及关闭次序;

例子:如何让web service中的三个资源,vip, httpd, filesystem运行在同一节点

1. 排列约束,说明三个在一起可能性inf

2. 资源组(resource group), 三个资源定义在一个组内,然后这个组决定在某一个节点上启动

3. 定义顺序约束,保证启动顺序,vip–filesystem–httpd

对称性与非对称性:

对称性: 默认所有节点都能转移资源。

非对称性; 有些节点不能转移资源。

如果节点不再成为集群节点成员时,如何处理运行于当前节点的资源:

stoped:直接停止服务

ignore: 忽略,以前运行什么服务现在还运行什么。

freeze:事先建立的连接,接续保持,不再接收新的请求。

suicide: kill掉服务。

一个资源刚配置完成时,是否启动。

target-role: 目标角色,可以为启动,也可以为不启动。

资源代理类型(RA):

heartbeat legacy: 传统类型

LSB: /etc/rc.d/init.d/ 下面的服务脚本

OCF:

STONITH: 专门用来实现资源隔离的

资源类型:

primitive, native : 主资源,只能运行于一个节点。

group: 组资源

clone: 克隆资源,所有节点都运行的资源,首先是主资源。

通常为STONITH资源, Cluster filesystem, 分布式锁

1) 最多运行的最大数。 总clone数

2) 每一个节点上最多运行几个。

master/slave: 主从资源内容,只能克隆两份,主的能读能写,从的不能做任何操作。

二、配置heartbeat2基于haresource配置实现http高可用集群服务

集群环境如下:

节点数:3 分别为:node1 node2 node3

node1:172.16.100.6 node1.samlee.com

node2:172.16.100.7 node2.samlee.com

node3:172.16.100.8 node3.samlee.com

vip:172.16.100.1

nfs:172.16.100.9 nfs.samlee.com

timeserver:172.16.100.10 time1.samlee.com

集群架构图如下所示:


配置前准备:

1.节点名称:集群每个节点的名称都得能互相解析, 保证/etc/hosts中主机名的正反解析结果必须跟“uname -n”的结果保持一致。
2.时间必须得同步,使用网络时间服务器同步时间,可以使用ntpd服务实现。
3.为方便起见:各节点间能基于ssh密钥认证通信。

配置过程如下:

(1)配置NFS共享文件服务器

--配置资源服务器与节点之间名称互相解析
# vim /etc/hosts
172.16.100.6 node1.samlee.com node1
172.16.100.7 node2.samlee.com node2
172.16.100.8 node3.samlee.com node3
172.16.100.9 nfs.samlee.com nfs
172.16.100.10   time1.samlee.com time1

--配置NFS主机名
# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=nfs.samlee.com

--搭建NFS文件服务
# mkdir -pv /web/htdocs
# vim /etc/exports 
/web/htdocs    172.16.0.0/16(ro)    

--创建共享访问文件
# echo "nfs server" >> /web/htdocs/index.html
# service nfs start

--测试NFS
# showmount -e 172.16.100.9
Export list for 172.16.100.9:
/web/htdocs 172.16.0.0/16

--设置5分钟自动同步时间
# crontab -e
*/5 * * * * /sbin/ntpdate 172.16.100.10 &> /dev/null

(2)配置时间服务器:用于同步节点之间时间

--配置资源服务器与节点之间名称互相解析
# vim /etc/hosts
172.16.100.6 node1.samlee.com node1
172.16.100.7 node2.samlee.com node2
172.16.100.8 node3.samlee.com node3
172.16.100.9 nfs.samlee.com nfs
172.16.100.10   time1.samlee.com time1

--配置timeserv主机名
# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=time1.samlee.com

--安装ntp server
# yum -y install ntp
--修改ntp.conf配置文件
vim /etc/ntp.conf
--第1种配置:允许任何IP的客户机都可以进行时间同步(这里我们选用第1种)
#restrict default kod nomodify notrap nopeer noquery
restrict default modify notrap
--第2种配置:只允许172.16.0.0
在#restrict -6 default kod nomodify notrap nopeer noquery(表示默认拒绝所有IP的时间同步)之后添加下行:
restrict 172.16.0.0 mask 255.255.0.0 nomodify notrap

--启动NTP服务
# service ntpd start

--加入开机自启动服务列表中
# chkconfig --level 35 ntpd on
ntpd启动后,客户机要等几分钟再与其进行时间同步,否则会提示“no server suitable for synchronization found”错误。

(3)配置集群节点----安装heartbeat2, 由于heartbeat-pils在CentOS 6.5 后已经被cluster-glue取代了,因此需要手动解决依赖关系。

node1节点配置:

--配置资源服务器与节点之间名称互相解析
# vim /etc/hosts
172.16.100.6 node1.samlee.com node1
172.16.100.7 node2.samlee.com node2
172.16.100.8 node3.samlee.com node3
172.16.100.9 nfs.samlee.com nfs
172.16.100.10   time1.samlee.com time1

--配置NFS主机名
# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node1.samlee.com

--配置node1 node2 node3 nfs time1主机之间双机互信
# ssh-keygen -t rsa -P ‘‘
# ssh-copy-id -i .ssh/id_rsa.pub [email protected]
# ssh-copy-id -i .ssh/id_rsa.pub [email protected]
# ssh-copy-id -i .ssh/id_rsa.pub [email protected]
# ssh-copy-id -i .ssh/id_rsa.pub [email protected]
--测试
# ssh node2.samlee.com ‘date‘;date
# ssh node3.samlee.com ‘date‘;date
# ssh nfs.samlee.com ‘date‘;date
# ssh time1.samlee.com ‘date‘;date

--安装heartbeat
--解决依赖关系
# yum -y install perl-TimeDate net-snmp-libs libnet PyXML
# yum -y install libnet-1.1.6-7.el6.x86_64.rpm 
--安装heartbeat主要组件
# rpm -ivh heartbeat-2.1.4-12.el6.x86_64.rpm heartbeat-pils-2.1.4-12.el6.x86_64.rpm heartbeat-stonith-2.1.4-12.el6.x86_64.rpm

--设置5分钟自动同步时间
# crontab -e
*/5 * * * * /sbin/ntpdate 172.16.100.10 &> /dev/null

--配置heartbeat实现web服务高可用:
# yum -y install httpd
# echo "<h1>node1.samlee.com</h1>" >> /var/www/html/index.html
# service httpd start
# service httpd stop
# chkconfig httpd off
# cp -p /usr/share/doc/heartbeat-2.1.4/{authkeys,ha.cf,haresources} /etc/ha.d/

node2节点配置:

--配置资源服务器与节点之间名称互相解析
# vim /etc/hosts
172.16.100.6 node1.samlee.com node1
172.16.100.7 node2.samlee.com node2
172.16.100.8 node3.samlee.com node3
172.16.100.9 nfs.samlee.com nfs
172.16.100.10   time1.samlee.com time1

--配置NFS主机名
# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node2.samlee.com

--配置node1 node2 node3 nfs time1主机之间双机互信
# ssh-keygen -t rsa -P ‘‘
# ssh-copy-id -i .ssh/id_rsa.pub [email protected]
# ssh-copy-id -i .ssh/id_rsa.pub [email protected]
# ssh-copy-id -i .ssh/id_rsa.pub [email protected]
# ssh-copy-id -i .ssh/id_rsa.pub [email protected]
--测试
# ssh node1.samlee.com ‘date‘;date
# ssh node3.samlee.com ‘date‘;date
# ssh nfs.samlee.com ‘date‘;date
# ssh time1.samlee.com ‘date‘;date

--安装heartbeat
--解决依赖关系
# yum -y install perl-TimeDate net-snmp-libs libnet PyXML
# yum -y install libnet-1.1.6-7.el6.x86_64.rpm 
--安装heartbeat主要组件
# rpm -ivh heartbeat-2.1.4-12.el6.x86_64.rpm heartbeat-pils-2.1.4-12.el6.x86_64.rpm heartbeat-stonith-2.1.4-12.el6.x86_64.rpm

--设置5分钟自动同步时间
# crontab -e
*/5 * * * * /sbin/ntpdate 172.16.100.10 &> /dev/null

--配置heartbeat实现web服务高可用:
# yum -y install httpd
# echo "<h1>node2.samlee.com</h1>" >> /var/www/html/index.html
# service httpd start
# service httpd stop
# chkconfig httpd off
# cp -p /usr/share/doc/heartbeat-2.1.4/{authkeys,ha.cf,haresources} /etc/ha.d/

node3节点配置:

--配置资源服务器与节点之间名称互相解析
# vim /etc/hosts
172.16.100.6 node1.samlee.com node1
172.16.100.7 node2.samlee.com node2
172.16.100.8 node3.samlee.com node3
172.16.100.9 nfs.samlee.com nfs
172.16.100.10   time1.samlee.com time1

--配置NFS主机名
# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node3.samlee.com

--配置node1 node2 node3 nfs time1主机之间双机互信
# ssh-keygen -t rsa -P ‘‘
# ssh-copy-id -i .ssh/id_rsa.pub [email protected]
# ssh-copy-id -i .ssh/id_rsa.pub [email protected]
# ssh-copy-id -i .ssh/id_rsa.pub [email protected]
# ssh-copy-id -i .ssh/id_rsa.pub [email protected]
--测试
# ssh node1.samlee.com ‘date‘;date
# ssh node2.samlee.com ‘date‘;date
# ssh nfs.samlee.com ‘date‘;date
# ssh time1.samlee.com ‘date‘;date

--安装heartbeat
--解决依赖关系
# yum -y install perl-TimeDate net-snmp-libs libnet PyXML
# yum -y install libnet-1.1.6-7.el6.x86_64.rpm 
--安装heartbeat主要组件
# rpm -ivh heartbeat-2.1.4-12.el6.x86_64.rpm heartbeat-pils-2.1.4-12.el6.x86_64.rpm heartbeat-stonith-2.1.4-12.el6.x86_64.rpm

--设置5分钟自动同步时间
# crontab -e
*/5 * * * * /sbin/ntpdate 172.16.100.10 &> /dev/null

--配置heartbeat实现web服务高可用:
# yum -y install httpd
# echo "<h1>node3.samlee.com</h1>" >> /var/www/html/index.html
# service httpd start
# service httpd stop
# chkconfig httpd off
# cp -p /usr/share/doc/heartbeat-2.1.4/{authkeys,ha.cf,haresources} /etc/ha.d/

heartbeat配置文件有以下三个:

1、密钥文件:600,authkeys
2、heartbeat服务的配置ha.cf
3、资源管理配置文件haresources

配置heartbeat认证密钥文件

# openssl rand -hex 8
f1c99c892775d3e9

# vim /etc/ha.d/authkeys 
auth 1
1 sha1 f1c99c892775d3e9 

Tips:注意两行中的数字1是相对应的,如果修改为其它数字,两行要同时修改。

--修改文件权限为600,否则heartbeat不会让你启动的
# chmod 600 /etc/ha.d/authkeys

配置heartbeat核心配置文件

# vim /etc/ha.d/ha.cf 
logfile    /var/log/ha-log
logfacility    local0
keepalive 1000ms
deadtime 30
warntime 10
udpport    694
mcast eth0 225.0.8.1 694 1 0    ##使用组播传递心跳信息
auto_failback on
node    node1.samlee.com
node    node2.samlee.com
ping 172.16.0.1
compression    bz2
compression_threshold 2

配置集群资源文件

# vim /etc/ha.d/haresources 
node1.samlee.com IPaddr::172.16.100.1/16/eth0 httpd
注意:node1.samlee.com必须与uname -n所显示内容相同,172.16.100.1为VIP,即客户端访问的IP地址,httpd即指明高可用所针对的服务

同步配置文件及集群资源文件至node2\node3节点上:

# scp -p /etc/ha.d/{authkeys,haresources,ha.cf} node3:/etc/ha.d/
# scp -p /etc/ha.d/{authkeys,haresources,ha.cf} node2:/etc/ha.d/

启动heartbeat服务:

# service heartbeat start
# ssh node2 ‘service heartbeat start
# ssh node3 ‘service heartbeat start

测试如下:

(1)第一次测试:

(2)第二次访问

使用脚本使node1节点变成备节点--测试节点异常--模拟资源转移

# /usr/lib64/heartbeat/hb_standby

(3)第三次访问

使用脚本使node3节点变成备节点--测试节点异常--模拟资源转移

# /usr/lib64/heartbeat/hb_standby



配置集群服务使得三个node共享后端nfs文件系统的资源,导出/web/htdocs文件夹。

配置集群资源文件:

# vim /etc/ha.d/haresources
node1.samlee.com IPaddr::172.16.100.1/16/eth0 Filesystem::172.16.100.9:/web/htdocs::/var/www/html::nfs httpd

#同步配置文件及资源文件至其他两个节点
# scp -p /etc/ha.d/{authkeys,haresources,ha.cf} node2:/etc/ha.d/
# scp -p /etc/ha.d/{authkeys,haresources,ha.cf} node3:/etc/ha.d/

三、配置heartbeat2使用gui图形界面管理

(1)修改配置启动crm管理

--停止heartbeat各集群节点配置
# service heartbeat stop
# ssh node2 ‘service heartbeat stop‘
# ssh node3 ‘service heartbeat stop‘

--修改ha.cf启动crm管理
#vim /etc/ha.d/ha.cf
crm    on

--通过脚本ha内置脚本同步配置文件
# /usr/lib64/heartbeat/ha_propagate

(2)安装heartbeat gui图形(各个集群都要安装)

# rpm -ivh heartbeat-gui-2.1.4-12.el6.x86_64.rpm

(3)启动heartbeat服务并配置gui图形环境

--启动各集群节点heartbeat服务
# service heartbeat start
# ssh node2 ‘service heartbeat start‘
# ssh node3 ‘service heartbeat start‘

--检查gui监听的5560端口(如果5560端口未监听,打开gui工具将会报错)
# ss -tnl | grep 5560
LISTEN     0      10                        *:5560                     *:*

--设置集群管理用户密码(hacluster):这个用户是我们在安装gui工具时自动创建,设置密码方便我们更安全的管理集群工作
# passwd hacluster
# ssh node2 ‘passwd hacluster‘
# ssh node3 ‘passwd hacluster‘

--进入gui图形界面
# hb_gui &

测试如下:

案例一:主\备模式搭建web高可用集群--使用GUI图形模式配置(独立资源类型)

(1)配置资源VIP:webip 如下图所示:

(2)配置资源webserver 如下图所示:

资源配置完成后启动资源,发现资源webip和webserver运行在不同的节点上,应该怎么解决这个问题呢?

定义排列约束Colocations使用webserver资源跟随webip资源启动,保证webserver资源和webip资源运行在同一个节点上,设置如下图:

定义位置约束Locations使服务及资源倾向于运行指定服务节点服务上,下面定义webip资源倾向运行于node1节点上

定义顺序约束Orders配置资源之间启动顺序

00




时间: 2024-10-27 11:05:22

高可用集群技术之heartbeat+NFS实现web服务高可用(文本方式配置接口--gui图形配置)的相关文章

CentOS6.4 高可用集群之基于heartbeat(crm)和nfs的mysql高可用

CentOS6.4 高可用集群之基于heartbeat和nfs的高可用mysql CentOS版本: CentOS release 6.4(Final) 2.6.32-358.el6.i686 效果演示: 使用ssh连接(nod-1.magedu.com)192.168.3.7 并执行以下命令: [[email protected] ha.d]# hb_gui & 说明:hb_gui是heartbeat为了方便管理集群资源而提供的一个图形用户接口 安装heartbeat默认会在系统中创建一个名为

高可用集群技术之corosync应用详解(一)

Corosync概述: Corosync是集群管理套件的一部分,它在传递信息的时候可以通过一个简单的配置文件来定义信息传递的方式和协议等.它是一个新兴的软件,2008年推出,但其实它并不是一个真正意义上的新软件,在2002年的时候有一个项目Openais , 它由于过大,分裂为两个子项目,其中可以实现HA心跳信息传输的功能就是Corosync ,它的代码60%左右来源于Openais. Corosync可以提供一个完整的HA功能,但是要实现更多,更复杂的功能,那就需要使用Openais了.Cor

高可用集群技术理论基础知识

目录 1.引言 2.高可用架构框架 3.资源的约束与隔离 4.高可用模型 5.配置高可用架构的前提 1.引言 一言以蔽之,高可用集群技术是为了解决业务因服务器宕机而中断业务的一种技术,它能保障业务7*24*365不间断. 在linux开源的世界里,常见的开源解决方案有如下: keepalived(vrrp+script) heartbeat corosync+pacemaker 要想用好这些开源软件,不得不先来了解一下一个高可用集群中的一些基础知识. 2.高可用架构框架 高可用架构一般可分为以下

高可用集群技术之corosync案例应用及pcs使用详解(二)

案例概述: 案例(一):使用ansible全自动化配置corosync集群环境 在生产环境中,经常遇到需要配置集群环境或相同配置的服务器,如果手工一台一台的去调试,这样会增加我们再运维过程中的工作量及错误的发生,我们应怎样去优化及减少错误的发生?下面我们通过一个案例实现自动化部署corosync环境: 准备工作: (1)将已经配置好的corosync配置文件做好模板存放 # mkdir -pv ansible/corosync/{conf,packages} # cp -p /etc/coros

Linux高可用集群方案之heartbeat基础原理及逻辑架构

 这篇文章我们主要学习heartbeat高可用集群的基础原理及逻辑架构,以及heartbeat的简单配置  ll  本文导航    · heartbeat之基本原理   · heartbeat之集群组件   · heartbeat之心跳连接   · heartbeat之脑裂(资源争用.资源隔离) · heartbeat之配置文件   · heartbeat至高可用集群配置  ll  要求  掌握heartbeat高可用集群的相关组件及简单配置   heartbeat之基本原理  heartbea

keepalived高可用集群技术介绍及实战演练

一.Keepalived是什么 Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器. 二.Keepalived的特性 配置文件简单:配置文件比较简单,可通过简单配置实现高可用功能 稳定性强:keepalived是一个类似于

高可用集群技术之keepalived实现lvs高可用并负载均衡web服务

Keepalived概述: Keepalived的作用是检测服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器. keepalived实现lvs高可用并负载均衡web服务: 准备工作: 2台keepalived节点为: node1.samlee.com

高可用集群技术之RHCS应用详解(一)

前提:1)本配置共有3个测试节点,分别node1.samlee.com.node2.samlee.com和node3.samlee.com,相的IP地址分别为172.16.100.6.172.16.100.7和172.16.100.8:系统为 CentOS 6.5 X86_64bit: 2)node4.samlee.com 172.16.100.9 作为共享存储使用 3)director.samlee.com 172.16.100.3 作为RHCS管理平台使用 4)集群服务为apache的htt

【Linux运维-集群技术进阶】Nginx+Keepalived+Tomcat搭建高可用/负载均衡/动静分离的Webserver集群

额.博客名字有点长.. . 前言 最终到这篇文章了,心情是有点激动的. 由于这篇文章会集中曾经博客讲到的全部Nginx功能点.包含主要的负载均衡,还有动静分离技术再加上这篇文章的重点.通过Keepalived实现的HA(High Available).为什么要实现高可用呢?曾经在搭建的时候仅仅用了一台Nginxserver,这种话假设Nginxserver宕机了,那么整个站点就会挂掉.所以要实现Nginx的高可用,一台挂掉还会有还有一台顶上去.从而保证站点能够持续的提供服务. 关于负载均衡和动静