linux Cluster Basic

摘要

一、集群概述

  为什么需要集群?来源是系统扩展的需求,而系统扩展自身能力有2种方式:Scale UP,即使用性能更好的计算机来满足,例如使用更好的固态硬盘等等,但是这种方式扩展性和上限较低,因此还有另外一种方式Scale OUT,即水平扩展,利用多台主机来解决问题。

  集群是什么?由多个独立的主机(可以是物理机,也可以是虚拟机)组织起来解决一个特定问题,这种组织的方式就称为集群。而集群大体上有以下几种类型:

  LB: Load Blancing 负载均衡,负载均衡类型的集群往往有一个上游的调度器和多台真正提供服务的后端主机(backend server, upstreaming server, real server),这样可以减轻每台服务器上的压力。

  HA: High Availiabilty,高可用集群,例如一台活动服务器(Active),一台备用服务器(Passive, Standby),主要在于解决单点故障问题(SPOF: Single Point Of Failure), 通常其可用性用A=MTBF/(MTBF+MTTR)来衡量其可用性,即平均无故障时间/(平均无故障时间+平均修复时间),例如90%,95%,99%,99.9%,99.999%等。

  HP: High Performance 高性能集群,全球前500的超级计算机在 www.top500.org网上可以查询,超级计算机其中99%都是集群架构

  DS: Distributed System,分布式系统,其中也有很多组织方式,比如分布式计算系统,分布式存储系统,比如Hadoop中的hdfs和map reduce。

  

  LB集群的实现

  网络上的资源都是通过域名进行访问,而域名在做DNS解析的时候如果有多台地址,会自动轮询,这也是一种负载均衡的方式,但是这种方式是有限制的,比如负载均衡方式只支持轮询,而且DNS是有缓存的,而且比较难以控制,因此,我们需要更好的负载均衡方式,即需要专门的调度器来负载均衡,调度器可以有硬件和软件2种方式,硬件中著名的有F5的BIG-IP(几十万到百万不等),Citrix的Netscaler,A10的A10,Array公司,Redware公司等等,而软件的方式也多种多样,比如lvs(Linux Virtual Server),haproxy,nginx,ats(apache traffice server),perlbal,特别自信的,二次研发能力特别强的公司喜欢玩ats,比如淘宝.

  从另一个角度来观察,TCP/IP 4层的角度,基于传输层的有lvs, haproxy的mode tcp,例如lvs就工作在内核空间上,该服务不需要监听在某个端口上进行套接字通信,而基于应用层的有haproxy中的mode http, nginx, ats, perlbal,基于应用层就需要一个端口监听,还需要扮演一个客户端的角色和真正的服务器端进行交互。综上,基于传输层的lvs基本没有限制,据说可以支持400w-500w个并发,而基于应用层的能力就没有这么强了,对于一般的服务器而言,几万个并发已经非常夸张了,因此对于LB实现的选择还是应该根据具体需求。

  HA集群的实现

  比较常见的有keepalived,通过实现vppr协议来实现地址漂移,AIS中的hertbeat, cman+rgmanger(RHCS: redhat cluster suite),corosync+pacemaker等

  个系统的构建有可能用到多种集群方式,比如会按业务分层,分割, 做分布式的应用,数据,存储,计算等等。

  

   

时间: 2024-10-13 02:40:13

linux Cluster Basic的相关文章

Linux Cluster

http://www.geekpeek.net/linux-cluster-corosync-pacemaker/ Linux Cluster Part 1 – Install Corosync and Pacemaker on CentOS 6 I have been using Linux Cluster Engine called Corosync and Linux Cluster Resource Manager called Pacemaker for a while now and

概念.linux Cluster

Linux Cluster:linux 集群 (或成为分布式系统) Cluster:计算机集合.为解决某个特定问题组合起来: 系统扩展的方式: Scale Up:向上扩展:更好的硬件 Scale Out:向外扩展: 更多的机器 Linux Cluster类型: LB:Load Balancing,负载均衡: SPoF(单点故障), 瓶径 HA:High Availiablity, 高可用: A=MTBF/(MTBF+MTTR) 平均无故障时间/(平均无故障时间+平均修复时间) (0,1), 90

linux cluster LB集群之LVS

Linux Cluster 类型分类: 负载均衡集群:Load balancing 高可用集群:High Avaiability 高性能集群:High Performance 及分布式系统 LB:LB的实现是在提供相同服务的多台服务器之前添加调度器即负载均衡集群 工作协议层来划分: tcp:根据请求报文中的目标地址和端口进行调度: 应用层:根据请求的内容进行调度,而且此种调度为"代理"方式: lvs: Linux Virtual Server,虚拟服务, 由章文嵩研发工作于layer4

linux shell basic command

Learning basic Linux commands Command Description $ ls This command is used to check the contents ofthe directory. $ pwd This command is used to check the presentworking directory. $ mkdir work We will work in a separate directory calledwork in our h

Linux Cluster(二)

LVS-dr ============================================================================ 概述: ============================================================================ ipvs-dr类型的实现 ipvs-dr设计要点: ★dr模型中,各主机上均需要配置VIP,解决地址冲突的方式有三种: (1)在前端网关做静态绑定: (2)在各RS使用a

Linux system basic 2

Linux install LibreOffice: install LibreOffice: git clone http://XX dictionary_path git clone to specific dictionary. jupyter with kernel: here, and 为Jupyter notebook增加新的kernel 1.切换到py35环境下. 2. pip install ipykernel 3. python -m ipykernel install --u

Linux Cluster讲解

一.什么是集群         集群是一组的.通过高速的计算机,它们构成了一个组,并以单一系统的模式加以管理.一个客户与集群相互作用时,集群像是一个独立的服务器.集群配置是用于提高可用性和可缩放性.          和传统的高性能计算机技术相比,集群技术可以利用各档次的服务器作为节点,系统造价低,可以实现很高的运算速度,完成大运算量的计算,具有较高的响应能力,能够满足当今日益增长的信息服务的需求.          而集群技术是一种通用的技术,其目的是为了解决单机运算能力的不足.IO能力的不足

Linux Cluster 02

摘要 一.LVS-HA 1.1 HA与keepalived 上述演示中,不管是lvs-nat还是lvs-nat模型,都会有2个遗留问题: (1) 如果调度器服务器挂了,如何对调度器做高可用 (2) 如果RS中某台服务器挂了,如何对RS做集群的健探测 健康监测的方式有很多种,比如网络层可以使用icmp ping监测主机的存活状态,传输层可以使用tcp端口监测工具探测端口的可用性,比如nmap,应用层,比如可以对关键服务发起请求. 而实现高可用的方案一般有2种,一种是vrrp协议的实现,比如keep

Configure Red Hat Enterprise Linux shared disk cluster for SQL Server

下面一步一步介绍一下如何在Red Hat Enterprise Linux系统上为SQL Server配置共享磁盘集群(Shared Disk Cluster)及其相关使用(仅供测试学习之用,基础篇) 一.      创建共享磁盘和 Cluster 微软官方配置文档:https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-shared-disk-cluster-red-hat-7-configure. Linux Cluster结构