集群-基础知识(1)

背景

随着互联网访问量的急剧增加,单台服务器的能力已严重不能满足需求。则需要从两个方面考虑提高服务能力:1、向上扩展,2、向外扩展

向上扩展的缺点:

1、造价高

2、随着性能的提高,会在某个临界点遇到瓶颈,导致性能随后降低。

向外扩展的优点:

1、造价低

2、提供高并发能力和高可用性

3、可扩展性好。

分类

负载均衡集群(Load Balance)

高可用集群(High Availability Cluster)

高性能集群(High performance computing)

负载均衡集群:由于电信运行商dns的原因,所以不能靠dns来做负载均衡,必须通过前端调度器将请求分发至后端的服务器,以提高并发访问量。但随着访问量的提高,调度器和存储等的限制,访问速度会成为瓶颈,所以需对网站进行功能切分,分别做集群,例如门户网站的分类。为了保证后端服务器提供的内容一致性,网页的静态内容使用rsync+inotify的机制做同步。一个web页面包含多个web对象,而目前的浏览器都支持多线程,所以来自客户端的请求,可能并发多个请求,调度器分发至多个后端服务器,可以提高网页的打开速度。而调度器具有health check的能力,能将挂了的主机移除,也能将恢复的主机加进集群。

优点:提高并发处理能力

高可用集群:可以提高服务的在线能力、服务可用性。例如有两台主机提供web服务,A作为正常提供服务的主机,B作为备用的主机,A不断地将自己的心跳信息用组播的方式传递给B,而B也能去检查A的心跳信息。当B不能得到A的心跳后,则会通过电源交换机关闭A的电源,并将A的ip地址夺过来,启动A之前提供的服务,以提高服务的在线能力。若是多台主机的高可用集群,还可以设置备节点的优先级,来响应主节点挂掉后的动作。

高可用集群传递的不只是心跳信息,还有事务信息(优先级等)。而负责协调完成事务的节点叫做DC(节点中的一台),若DC挂了,则其他主机间推选一个即可。

负载均衡集群和高可用集群的主要区别:

负载均衡集群提供并发处理能力,提供health check

高可用集群提供服务的始终在线能力,提供heartbeat

高性能集群:利用分布式文件系统将复杂问题分解为小问题并行处理。

由于高可用集群的效率不是很高(备份的主机会造成资源浪费),所以需要提高。例如web服务和邮件服务分别在A、B主机启动,然后它俩互为主备,则可以提高效率。但高可用集群在某一时刻资源只能在一台主机上启动。

脑裂:是因为cluster分裂导致的,cluster集群中节点因为处理器忙或者其他原因暂时停止响应时,其他节点可能误认为该节点“已死”,从而夺取共享磁盘(即资源)的访问权,此时极有可能假死节点重新对共享文件系统产生读写操作,从而导致共享磁盘文件系统损坏。

stonith:爆头,shoot the other node in the head通过电源交换机切断检测不到心跳信息的主机的电源。

隔离:fancing,拒绝某个节点访问某个资源。分为节点隔离(stonith)和资源隔离。

为了防止集群脑裂,集群节点应该为3或3个以上的奇数个。

其他知识:

DAS:直接附加存储。内核直接操作块设备的数据。若不同主机同时访问同一文件,则会造成写错误。但效率高。

NAS:网络附加存储。是文件级别的操作,第一个主机写数据时会施加锁,第二个主机就不能写。性能要比DAS差。


原创文章,作者:黑白子,如若转载,请注明出处:http://www.178linux.com/9468

(0)
上一篇 2015-11-26 16:39
下一篇 2015-11-26 16:41

相关推荐

  • 8月9日sed(更新版)

    sed命令及vim基础使用命令 处理文本的工具sed stream editor,行编辑器    sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有…

    Linux干货 2016-08-15
  • 马哥教育21期网络班—第7周课程+练习—-成长进行时–努力前进

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; fdisk /dev/sdb   1、磁盘分区 &nbs…

    Linux干货 2016-08-19
  • 第四周-grep正则表达式简单应用

    复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 cp -r /etc/skel /home/tuser1 && chmod 700 -R /home/tuser1 编辑/etc/g…

    Linux干货 2016-08-02
  • 快速运用NFS共享web页面

    环境:centos7.3最小化三台,前期准备关闭防火墙和selinux 目的:通过文件共享,使客户端访问web服务器时是同样的页面。 拓扑图: 优势:减少WEB服务器的压力。 一、安装软件 NFS、WEB1、WEB2: #yum install nfs-utils -y WEB1、WEB2: #yum install httpd -y 二、配置 NFS: #…

    2017-04-27
  • bash脚本编程实例

    bash脚本编程实例 1.写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态 在线的主机使用绿色显示 不在线的主机使用红色显示 #!/bin/bash for i in {1..254};do if /bin/ping -W 1 -c 1 172.16.250.${i} >> /dev/…

    Linux干货 2017-08-20
  • 马哥linux0726课程内容

    课堂内容笔记   使用几个符号可以使用原始命令 \,’’,绝对路径运行 这三种方法都可以使用到原始命令,不使用别名   别名-内部命令-缓存-外部命令 使用命令的优先级   man帮助具体用法 makewhatis老版本安装whatis mandb新版本安装whatis man的具体路径在/usr/share/man whati…

    Linux干货 2016-08-04