20190604预习和课堂笔记

18.1 集群介绍

18.2 keepalived介绍

18.3/18.4/18.5 用keepalived配置高可用集群

18.6 负载均衡集群介绍

18.7 LVS介绍

18.8 LVS调度算法

18.9/18.10 LVS NAT模式搭建

一、集群介绍

集群,简单地说是指一组(若干个)相互独立的计算机,利用高速通信网络组成一个较大的计算机服务系统,每个集群节点(即集群中的每台计算机)都是运行各自服务的独立服务器。

集群的特点:高性能(Performance)、价格有效(Cost-effectiveness)、可伸缩性(Scalability)、高可用性(Availability)、透明性(Traansparency)、可管理性(Manageability)、可编程性(Programmability)

集群的分类:

负载均衡集群:Load balancing clusters,简称LBC、LB

高可用集群:High-availability clusters,简称HAC

高性能计算集群:High-performance clusters,简称HPC

网格计算集群:Grid computing clusters

常见的集群开源软件:

高可用: Keepalived、Heartbeat

负载均衡:Keepalived、Nginx、LVS、Haproxy

二、 keepalived介绍

使用keepalived来实现高可用集群,因为heartbeat在centos6上有一些问题,影响实验效果,而且heartbeat软件在2010年停止更新;因此着重讲解keepalived

keepalived通过VRRP(Virtual Router Redundancy Protocl)来实现高可用。

在这个协议里会将多台功能相同的路由器组成一个小组,这个小组里会有1个master角色和N(N>=1)个backup角色。

master会通过组播的形式向各个backup发送VRRP协议的数据包,当backup收不到master发来的VRRP数据包时,就会认为master宕机了。此时就需要根据各个backup的优先级来决定谁成为新的mater。

Keepalived要有三个模块,分别是core、check和vrrp。其中core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析,check模块负责健康检查,vrrp模块是来实现VRRP协议的。

三、用keepalived配置高可用集群

实验准备

  1. 准备两台机器ying01和ying02,ying01作为master,ying02作为backup;
  2. 两台机器都执行yum install -y keepalived;
  3. 两台机器都安装nginx,其中ying01上已经编译安装过nginx,ying02上需安装nginx。

3.1 准备阶段

ying02上 配置

在ying02客户端上,安装配置ngnix

编辑nginx启动脚本文件

编辑配置文件

检查语法错误,开始启动nginx服务

在ying01上配置

先安装keepalived包;并找到其配置文件

原配置文件清空,并写入以下配置

在配置文件中,定义了check_ng.sh脚本,现在新建如下脚本

给该脚本赋予755权限,否则无法被keepalived调用

开启keepalived服务,停止防火墙,关闭SElinux

同样在ying02上也配置

先安装keepalived包;清空原配置文件,并按以下内容写入配置文件中

在配置文件中,定义了check_ng.sh脚本,现在新建如下脚本

给该脚本赋予755权限,否则无法被keepalived调用

开启keepalived服务,停止防火墙,关闭SElinux

3.2 测试阶段

现在把个机器梳理以下:

192.168.112.136 为master机,ying01

192.168.112.138 为backup机,ying02

192.168.112.100 为VIP

用ip add命令查看,此时VIP 192.168.112.100在ying01上

而backup机上没有.mater给客户端提供服务

在winows浏览器上测试,能够清楚看到提供服务的是master

master 192.168.112.136的主页

虚拟IP 192.168.112.100显示的页面为master的页面

backup 192.168.112.138的页面

现在希望让ying01 master宕机; 关闭keepalived服务即可(关闭它,即连带关闭nginx)

在masters查看VIP,发现不在

在backup上查看,发现VIP已经移到此机上

那么用windouw浏览器观测,与前面对比

此时VIP完美转移到backup上面,不影响用户使用

四、负载均衡集群介绍

负载均衡软件分类:

主流的负载均衡开源软件:LVS、keepalived、haproxy、nginx等

其中,LVS属于4层(网络OSI7层模型),nginx属于7层,haproxy即可以是4层,也可以是7层。

keepalived的负载均衡功能其实就是lvs

lvs这种4层的负载均衡是可以分发除80外的其他端口通信,比如mysql,而nginx仅仅支持http、https、mail

haproxy也可以支持mysql

4层和7层负载比较:

LVS4层的更稳定,能承受更多的请求

nginx 7层的更加灵活,能实现更多的个性化需要

五、lvs介绍

LVS:Linux Virtuer Server,即Linux虚拟服务器,是一个虚拟的服务器集群系统,基于TCP/IP做的路由和转发,稳定性和效率很高。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的开源软件项目之一。

LVS集群采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。为此,在设计时需要考虑系统的透明性、可伸缩性、高可用性和易管理性。

一般来说,LVS集群采用三层结构

A、负载调度器(load balancer)或者叫分发器(Load Runner),它是整个集群对外面的前端机,负责将客户的请求发送到一组服务器上执行,而客户认为服务是来自一个IP地址(我们可称之为虚拟IP地址)上的。

B、服务器池(server pool),是一组真正执行客户请求的服务器,执行的服务有WEB、MAIL、FTP和DNS等。

C、共享存储(shared storage),它为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服务。

六、LVS调度算法

lvs支持的算法有:

轮询:Round-Robin,简称:rr

加权轮询:Weight Round-Robin,简称:wrr

最小连接:Least-Connection,简称:lc

加权最小连接:Weight Least-Connection,简称:wlc

基于局部性的最小连接:Locality-Based Least Connections,简称:lblc

带复制的基于局部性最小连接:Locality-Based Least Connections with Replication,简称:lblcr

目标地址散列调度:Destination Hashing,简称:dh

源地址散列调度:Source Hashing,简称:sh

七、LVS NAT模式搭建

试验原理:

LVS NAT模式借助iptables的nat表来实现:

用户的请求到分发器后,通过预设的iptables规则,把请求的数据包转发到后端的rs上去

rs需要设定网关为分发器的内网ip

用户请求的数据包和返回给用户的数据包全部经过分发器,所以分发器成为瓶颈

在nat模式中,只需要分发器有公网ip即可,所以比较节省公网ip资源

试验准备:

三台机器:

分发器,也叫调度器(简写为dir) 内网:192.168.112.136,外网:192.168.24.128(vmware仅主机模式)

rs1 内网:192.168.112.138,设置网关为192.168.112.136

rs2 内网:192.168.112.139,设置网关为192.168.112.136

三台机器上都执行执行

systemctl stop firewalld; systemc disable firewalld

systemctl start iptables-services; iptables -F; service iptables save

注意:ying01和ying02机器已经存在,现在需要克隆一台ying03机器;其IP定位:192.168.112.139。此处不详细介绍

在ying01上

分发器需要,两个网卡,也就是ying01机器上需要两个网卡

在ying01机器,vmware上配置仅主机模式

此时查看ens37网卡的IP为192.168.24.128

查看网卡网关

保存清空的规则

ying02上

停止防火墙

安装iptables-services服务

开启iptables服务,清空规则后,保存规则

此时把ying02上的IP网关改为192.168.112.136

重启网络服务,查看其网关

在ying03的上

安装iptables-services服务

开启iptables服务,清空规则后,保存规则

此时把ying02上的IP网关改为192.168.112.136

重启网络服务,查看其网关

回到ying01上设置

安装ipvsadm包

[root@ying01 ~]# yum install -y ipvsadm

编辑lvs_nat.sh脚本

ying02上

ying02上开启nginx,把其主页重新定义

ying03上

ying03同ying02一样,开启nginx服务,并重新定义网页内容

ying01上

执行脚本,查看nat规则,发现有网段出现

测试192.168.24.128的主页,发现显示单位为ying02上的主页

进入脚本,把延迟时间去掉

重新执行脚本,此时每测试一次,显示的主页为ying02、ying03;很均衡的显示

ipvsadm -ln 查看其规则

转载于:https://my.oschina.net/u/4093954/blog/3058008

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值