菜鸟学习Linux集群之概念篇

前两天学习了集群的应用,简单总结下:集群并不是很高深难懂的知识,只要掌握其原理,那么实现起来并不是很困难。下面我们一起来简单学习下集群。

 

 

什么是集群?

 

集群或者说是群集:其目的是为了实现将多台计算机组合以来完成特定的任务,比如天气预报,大型网络游戏,这些都需要很大的运算量,单台计算机实现成本太高,而且不显示。那么就需要通过集群的方式,将废弃的或者正在使用的计算机联合起来,结合整体的力量来解决这些问题。

 

 

集群的类型大致分为三类:

1.LB   Load Balancing(负载均衡集群)

2.HA  High Availability(高可用性集群)

3.HP   High Performance(高性能集群)

 

简单说明下这三种类型的集群:

1.      负载均衡型的集群目的是为了提高服务的并发能力,比如三台WEB服务器组合成一个集群,我们就需要用这种类型的集群来实现负载均衡,既让这三台WEB服务器的负载平均一些,不至于有很空闲的服务器。

2.      高可用性的集群目的是为了提供7*24小时服务的能力,通过提供冗余服务器,来防止宏机造成的服务中断

3.      高性能集群目的是为了在短期内解决大量复杂的计算,常见的天气预报系统,科学勘探,人口普查等等

 

同时,集群提供了非常好的扩展/缩减性非常,可以方便的增加或者减少服务器。

 

集群实现的方式

LB负载均衡

F5(硬件)

lvs

haproxy

HA    高可用

Heartbeat                ***目前分类成几个小项目

corosync+openais: RHCS   ***REDHAT6.0目前使用的,它的可配置,可共享性优于上面的

ultramokey

keepalive

HP高性能

bowerful

 

============================分   割   线======================================

下面我们来详细的介绍下负载均衡集群和高可用集群的实现原理

 

负载均衡集群


————负载均衡其实就是一个乐队的指挥,指挥下面的乐队

 

为了实现负载均衡,我们需要一个前端的负载均衡器---------Direcor转发服务器(或者专业的硬件),通过它来接受客户端的请求,把这些请求来转发给后方的服务器。在这个转发的过程中,根据后方服务器的负载情况(通过算法)平均分配,以实现负载均衡。

 

上面说了,可以通过构架专用的服务器来实现负载均衡器的作用,那么通过什么软件来实现这个服务呢?

主要有两种:

1. LVS    Linux Virtual Server   LVS是由国人章文嵩开发的开源集群软件,是目前广泛使用的集群软件之一。

2. haproxy

 

LVS经过优化能够提供接近于硬件的性能,而且开源所以使用很多。但是当Director这台主机当机了,整个集群就失效了,这就是单点故障,所以我们需要通过另一种集群的组合来实现集群的功能。

 

好处:

1.实现负载均衡

2.能过提供类似高可用的功能,比如第一台WEB服务器当机了,通过算法将请求转到第二台

3.能够非常容易扩展,便捷的扩展性,很容易增加主机

 

 

高可用集群

—————认为哪个地方不会出错,它就出错----莫非定律

 

上面说了,高可用集群就是为了可以提供7*24小时在线服务的能力,那么完成这样的需求都需要什么呢?

 

完成高可用集群需要:

1.服务一旦发生故障,服务就转移到另一台服务器

假设服务器A有一颗“心脏“,在它正在提供服务的时候,剩余两台服务器通过探测它的”心跳“来确认它是否还”活着“,如果“心跳”停止了,那么立刻再监听一次,如果这次“心跳”仍然是停止的,那么立刻顶替上去提供服务

 

2.数据同步

数据同步的实现方式:

1)通过类似NFS的共享服务,但是NFS也需要网络传输,效率比较低

  2)通过某种机制(文件同步rsync),将A节点改变的内容发给B节点.

# Rsync是一个命令,不过现在有专业的工具,通过rsyncserver来实现同步数据。它的效率比较高,但是缺点是文件必须存两份。

上面的都是在文件级别实现同步,效率不高,但是比NFS高多了,缺点是数据村两份

 3)  DRBD:在内核中基于块级别的共享,类似于rsync比rsync工作级别更低的,效率更高的解决方案,而且新版本的内核已经做进内核,廉价

  4)使用专业级别的SAN ,通过光纤来同步块设备,(存储区域网络)这种存储的级别非常高,通过块设备。

 

但是数据同步存在一个问题:

 

A节点很忙,B认为A当机了,就抢过服务,而A并没有当机,这样A也抢服务,这样A,B同时读写共享文件系统同一个文件,造成文件系统崩溃

 

 

 

解决这种问题的方法:

B抢过服务后,B(通过电源交换机)直接将A关闭。当然还有其他的实现方法。

 

上述只是一种说明,真是情况超过100个节点,心跳探测是通过广播的方式通告,一旦没有广播,就判定那个节点死亡了,这样就造成了几十个节点争夺服务的情况,就需要其他的机制来限制这种争夺,比如排队,谁在最前,谁顶替,其他的继续监听,当然还有其他的方法。

 

 

 

高性能集群

类似于LVS,但是它的前端,是把请求分成N个小任务,给后方不同的主机处理,处理的结果返回给前端

 

 

 

它通过bowerfull这个软件来实现,这里不作过多说明,因为我们不学这个………

它适用于在线量比较大的网站,游戏,云计算等领域

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

第1讲 iscsi的概念、组成和工作原理 课程目标:了解iscsi的组成和工作原理。 课程内容: iscsi的概念。 iscsi的组成。 iscsi的工作原理。 第2-3讲 基于iscsi的ip san存储系统 课程目标: 能熟练搭建基于iscsi的ip san存储系统 安装iscsi target软件 配置一个简单的iscsi target 在windows上配置iscsi initiator 在linux上配置iscsi initiator 第4讲 基于iscsi 在安全方面相关设定 课程目标: 如何管理和使用iscsi存储网络 initiator主机以ip认证方式获取iscsi target资源 initiator主机以密码认证方式获取iscsi target资源 第5讲 nagios综述 课程目标:了解nagios的概念和组成以及特点 课程内容: 什么是nagios nagios的组成和特点。 iscsi的工作原理。 第6-9讲 安装与配置nagios监控系统 课程目标:快速搭建一个基于nagios的网络监控系统 安装nagios软件 安装nagios插件 nagios默认配置文件结束 nagios各个配置文件之间的关系 详细介绍nagios每个配置文件 第10讲 nagios的日常维护和管理 课程目标: 能够熟练运用和管理nagios监控系统 验证nagios配置文件的正确性 如何启动与停止nagios监控系统 第11-12讲 利用插件扩展nagios的监控功能 课程目标: 通过nagios的扩展插件补充nagios的监控功能 利用nrpe外部构件监控远程主机 利用飞信实现nagios短信报警功能 第13讲 heartbeat的概念组成以及工作原理 课程目标: 熟悉heartbeat的概念、组成和工作原理 课程内容: heartbeat的概念 ha集群相关术语 heartbeat的组成和工作原理 第14-15讲 安装与配置heartbeat集群系统 课程目标: 熟练掌握heartbeat的安装、配置和管理 安装heartbeat前的准备工作 安装heartbeat 详细介绍heartbeat相关配置文件 维护heartbeat 第16讲 测试heartbeat的ha功能 课程目标: 灵活掌握heartbeat在各种情况下的工作状态和切换流程 正常关闭和重启主节点的heartbeat 在主节点上拔去网线 在主节点上拔去电源线 切断主节点的所有网络连接 在主节点上非正常关闭heartbeat守护进程 第17讲 drbd的概念和运行原理 课程目标: 了解drbd的概念和实现原理以及应用范围 课程内容: 什么是drbd drbd是如何工作的 drbd的应用领域 第18讲 安装与配置drbd 课程目标: 熟练掌握drbd配置文件各个参数的含义,并能够迅速搭建一套drbd系统 安装drbd 配置drbd 启动并管理drbd系统 测试drbd的数据镜像功能 drbd在主备节点间的切换 第19讲 lvs的体系结构和特点 课程目标: 了解lvs集群的特点以及负载均衡调度算法 课程内容: lvs简介 lvs集群的体系结构 lvs集群负载均衡方式与调度算法 第20-21讲 通过LVS+Keepalived搭建高可用的负载均衡集群系统 课程目标: 熟练掌握lvs的安装方式以及基于dr/tun模式的配置方式 安装lvs管理软件ipvs ipvsadm的用法 lvs在负载调度器上的配置 通过ipvsadm命令行方式配置LVS 通过Redhat提供的工具piranha来配置LVS 在Director上配置冗余策略 Ldirectord 启动LVS集群服务 lvs在后端realserver节点上的配置 配置lvs冗余策略 LVS+Keepalived构建拓扑图 安装Keepalived 配置Keepalived 启动Keepalived+lvs集群系统 第22讲 测试LVS+Keepalived高可用负载均衡集群 课程目标: 通过测试了解lvs负载均衡集群的工作机制和切换原理 启动LVS高可用集群服务 keepalived高可用性功能测试 测试lvs+keepalived的负载均衡集群功能 测试lvs+keepalived的故障透明转移功能 第23讲 drbd+mysql+heartbeat+lvs可行性分析 课程目标: 了解mysql与drbd+lvs+heartbeat整合的必要性 课程内容: mysql应用需求现状与存在问题 drbd+mysql+heartbeat+lvs方案实现原理 第24讲 mysql主从复制的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值