Linux 高可用集群

一.高可用集群概念:高可用集群High Availability Cluster
集群(cluster)就是一组计算机,向用户提供一组网络资源。单个的计算机称为集群的节点(node)。高可用集群是为了使集群整体服务尽可能可用,减少因软硬件出错带来的损失。如果某个节点失效,备援节点将会接管它的职责




二.高可用集群的层次结构
HA分为三个层次,Messaging and Membership   LRM and RA   CRM

Messaging:心跳层,用于节点之间传递心跳信息

Membership:用于主节点(DC)通过CCM或CCS服务根据心跳层提供的信息来产生一个完整的成员关系

CRM:真正实现集群服务的层

LRM:CRM传递过来的在本地控制某个资源的执行和停止的具体执行人

RA:集群资源代理

 

 

一.高可用集群的分类

1.双机热备(Active/Passive)

2.多节点热备(N+1)

3.多节点共享存储(N-TO-N)

4.共享存储热备(Split Site)

 

 

四.高可用集群软件和常见组合

Messaging and Membership层:heartbeat  corosync  cman keepalived  等

CRM层:haresource  pacemaker rgmanager  等

 

常用组合:heartbeat+pacemaker(常见于企业6)   corosync+pacemaker(最常用)

cman+rgmanager(红帽集群套件的组件)   keepalived+lvs(常用于lvs的高可用)

corosync+pacemaker+nfs+httpd(web服务器的高可用)    corosync+pacemaker+nfs+mysql(mysql服务器的高可用)

 

五.共享存储

在集群中,数据都是共享一份的,必须放在共享存储中,主节点能访问,从节点也能访问

主要有:DAS(RAID、SCSI)   NAS(NFS、FTP、CIFS)   SNA(FC、iscsi)

 

 

六.高可用集群的工作原理

主从服务器上建立双机热备,基本都是共享一个存储。当主服务器故障,从服务器自动接替主服务器工作

关于从服务器如何得知主服务器故障。是通过心跳检测机制,每一个节点会定期向其他节点通知自己的心跳信息。检测心跳信息时采用的是udp的694端口。如果服务器由于服务繁忙,没有响应心跳信息,从服务器就会把主服务器的资源强抢过去,这个时候如果主服务器没有宕掉,会导致资源争抢,用户在主从上都能访问,仅执行读操作还没事,如果进行写操作,会导致文件系统崩溃,也就是“脑裂”

关于如何检测心跳信息。通过心跳线来检测,heartbeat通过以太网连接检测主服务器的运行状态,一旦无法检测到主服务器的心跳,从服务器会立即自动接管

 

 

 

七.高可用(HA)+负载均衡(LB)

keepalived+lvs

实验环境:rhel6   iptables  and  selinux disabled

vip:172.25.15.100

 

主备机的安装包与配置:

Keepalived-1.2.20.tar.gz     解压  tar zxf keepalived-1.2.20.tar.gz

编译:

进入一级目录  cd  keepalived-1.2.20下

编译  ./configure --prefix=/usr/local/keepalived

可能出现报错,只需根据提示下载安装即可

如:yum install -y gcc/openssl-devel

出现:




编译结束

make  && make  install

 

在主机的/usr/local/keepalivd下

制作软链接

ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived  /etc/init.d/

ln -s /usr/local/keepalived/etc/sysconfig/keepalived  /etc/sysconfig/

ln -s /usr/local/keepalived/etc/keepalived  /etc/

ln -s /usr/local/keepalived/sbin/keepalived  /usr/sbin

 

 

在主机的/etc/keepalived下

vim  keepalived.conf

global_defs {

notification_email {

   root@localhost            ##接收报警的email地址,这是本机,可以添加多个

}

notification_email_from keepalived@server1   ##设置邮件的发送地址

smtp_server 127.0.0.1        ##设置smtp_server的地址

smtp_connect_timeout 30      ##设置连接 smtp 服务器超时时间

router_id LVS_DEVEL        ##负载均衡器的标示ID,用于email报警

}

vrrp_instance VI_1 {

state MASTER          ##在主机server1中是MASTER,在备机server4中是BACKUP

interface eth0           ##HA 监测网络接口

virtual_router_id 51      ##主、备机的 virtual_router_id 必须相同,取值 0-255

priority 100            ##主机的优先级,备份机改为 50,主机优先级一定要大于备机,数字越大优先级越高

advert_int 1            ##主备之间的通告间隔秒数

authentication {         ##主备切换时的验证

auth_type PASS         ##设置验证类型,主要有 PASS 和 AH 两种

auth_pass 1111

}

virtual_ipaddress {

172.25.15.100          ##设置虚拟IP(vip),可以设置多个,每行一个  

 }

}

virtual_server 172.25.15.100 80 {          ##定义虚拟服务器

delay_loop 6                           ##每隔 6 秒查询 realserver 状态

lb_algo rr                              ##lvs 调度算法,这里使用轮叫round robin

lb_kind DR                           ##lvs的工作模式是DR

persistence_timeout 50                    ##会话保持时间,单位是秒

protocol TCP                            ##指定转发协议类型,有 tcp 和 udp 两种

real_server 172.25.15.2 80 {                ##设置服务节点      

weight 1                                ##配置服务节点的权值,权值大小用数字表示,数字越大,权值越高,可以对性能高的服务器设置较高的权值,而对性能较低的服务器设置相对较低的权值

TCP_CHECK {                          ##realserve 的状态检测设置部分,单位是秒

connect_timeout 3                         ##10 秒无响应超时

nb_get_retry 3                            ##重试次数

delay_before_retry 3                        ##重试间隔

}

}

real_server 172.125.15.3 80 {

weight 1

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3  

  }

 }

}    

保存退出后,开启服务   /etc/init.d/keepalived  start  

 

Keepalived+lvs架构搭建结束

 

1.keepalived提供健康检查,lvs提供负载均衡,两者结合可以提高系统的高可用性、可扩展性、负载均衡能力。采用这样的架构容易对系统进行扩展,只需在后端添加或减少realserver,更改lvs的配置文件即可

2.lvs是虚拟服务器(linux virtual server),可实现简单的负载均衡,目前有三种负载均衡技术(NAT、TUN、DR),八种调度算法(rr、wrr、lc、wlc、dh、sh、lblc、lblcr)

3.Keepalived运行于lvs之上,基于VRRP协议来实现lvs服务。主机(MASTER)和备机(BACKUP)都对外表现为一个vip,主机宕掉后,备机接管

4.架构图:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值