Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19481
  • 博文数量: 10
  • 博客积分: 1464
  • 博客等级: 上尉
  • 技术积分: 110
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-05 00:26
文章分类
文章存档

2011年(2)

2010年(8)

我的朋友
最近访客

分类: LINUX

2010-09-11 20:46:23

###################$$$$$$$$$$$$$..高可用集群..$$$$$$$$$$################



集群概述

      1.
集群是一组协同工作的服务实体
      2.
集群实体的可扩展性
      3.
集群实体的高可用性
      4.
集群实体地址
      5.
客户请求的负载均衡
      6.
服务节点的错误恢复
   
集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性和可用性的服务平台。
   
从客户端看来,一个集群就是一个完整不可细分的实体,但事实上一个集群实体是由完成不同任务的服务节点个体所组成的。
   
集群实体的可扩展性是指,在集群运行的中新的服务节点可以动态的加入集群实体从而提升集群实体的综合性能。
   
集群实体的高可用性是指,集群实体通过其内部的服务节点的冗余使客户端免予 OUTOF SERVICE 错误。简单的说,在集群中同一服务可以由多个服务节点提供,当部分服务节点失效后,其它服务节点可以接管服务。
   
集群实体地址是指客户端访问集群实体获取服务资源的唯一入口地址。
   
负载均衡是指集群中的分发设备(服务)将用户的请求任务比较均衡(不是平均)分布到集群实体中的服务节点计算、存储和网络资源中。一般我们将提供负载均衡分发的设备叫做负载均衡器。负载均衡器一般具备如下三个功能:
      1.
维护集群地址
      2.
负责管理各个服务节点的加入和退出
      3.
集群地址向内部服务节点地址的转换
   
错误恢复是指集群中某个或某些服务节点(设备)不能正常工作(或提供服务),其它类似服务节点(设备)可以资源透明和持续的完成原有任务。具备错误恢复能力是集群实体高可用性的必要条件。
   
负责均衡和错误恢复都需要集群实体中各个服务节点中有执行同一任务的资源存在,而且对于同一任务的各个资源来说,执行任务所需的信息视图必须一致。类似服务节点(设备)可以资源透明和持续的完成原有任务。具备错误恢复能力是集群实体高可用性的必要条件。
   
负责均衡和错误恢复都需要集群实体中各个服务节点中有执行同一任务的资源存在,而且对于同一任务的各个资源来说,执行任务所需的信息视图必须一致。


集群技术的优势:
1.
低成本

2.
高可用
3.
高扩展
4.
高资源利用率

Linux
集群的优势:
1.
稳定

2.
高性能
3.
兼容 UNIX 系统
4.
开源的发展模式
5.
兼容多种硬件平台
6.
利于分发的纯文本配置文件
7.
方便快捷的文本化管理界面

           
安装 Linux 集群的前期准备

Linux 
集群硬件需求
      1.
最小硬件需求
          
至少两台兼容 Linux 的服务器
          
每台服务器至少一块兼容 Linux 的可用网卡,推荐两块网卡
          
具备支持磁盘共享(Share Storage)的磁盘柜或服务器
           
具备相应链接方式的链接设备或线路
      2.
无单一故障点(SPOF)硬件需求
          
至少两台兼容 Linux 的服务器
          
每台服务器至少三块兼容 Linux 的可用网卡,推荐其中一块用来链接心跳设备
          
具有 SCSI FC 卡用以连接磁盘共享(Share Storage)的高速磁盘柜系统支持多路复用(multipath)技术
          
具有至少一台双控高速磁盘柜
          
两台以上的高速网络交换设备
           
使用 UPS
安装 Linux 系统时注意事项
:

1.
安装前需事先确定网络配置

2.
不要将本地文件系统放在共享存储(Share Storage)上
3.
/tmp /var 放在不同的文件系统上有助于提高 HA 集群性能
4.
使用 LVM 方式的共享存储有助于存储设备的扩充
5.
安装后编辑/boot/grub/grub.conf 降低等待时间
6.
安装后编辑/etc/hosts 加入所有成员服务器(Member Server
7.
安装后确认服务器上的硬件正确识别
8.
安装后确认网络连接通畅
9.
确认需配置的服务(Service)正确安装
10.
在所有成员服务器(Member Server)识别并安装共享存储设备
11.
如果 SCSI 设备顺序识别不正常需编辑 Udev 规则进行配置
12.
如果需要在内核启动时不能自动识别共享存储设备需重新生成 Linux 内核模块
13.
在共享存储上创建集群文件系统
14.
如共享存储设备为裸设备类型,不可使用 dd 操作
15.
如有必要配置多网卡绑定,增强网卡的冗余性能
16.
安装并配置 UPS
17.
安装并配置可编程电源控制器



            Linux 
高可用性(HA)集群技术简介

Linux 
高可用性(HA)集群的三种方式
    1.
主从方式(非对称)
    2.
对称方式(互备互援
)
    3.
多机方式(多机互备
)
   
主从方式包含二台服务器及一个或多个服务,基中一台服务器运行服务,另外一台做为备份服务器随时检查主服务器的状态,发生故障时,服务会立即切换至从服务器上以保证服务的正常运行
    
   
主从方式由一台主服务器和一台备份服务器构成,主服务器运行一个或多个SERVICE,从服务器和主服务相互监控,如果主服务器上的服务发生故障则执行故障切换功能。SERVICE 切换到从服务器继续运行主从方式提出供了较高级别的可用性,由于一台服务器专门用于备份,所以主从方式对资源利用率较低。


   
对称方式包含二台服务器及一个或多个服务,两台服务器都运行服务并互为备份,相互监视,当有服务发生故障时,服务会立即切换到另一台服务器。
   
由两台服务器构成,两台服务器分别运行一个或多个不同的 SERVICE,两台服务器相互监控,如果其中的 SERVICE 发生故障则切换到另外一台服务器上运行。对称方式在提供了较高资源利用率的同时,也为服务提供了可用性保证。

   
多机方式由多台服务器及多个服务构成,每台服务器都可能运行或不运行服务,每台服务器都会监视指定的几个服务,当服务发生故障时会备切换至一组服务器中的一台。
   
由多台服务器构成,每台服务器上分别运行一个或多个 SERVICE,服务器间相互监控,如果某台服务器上的 SERVICE 发生故障则切换到其它服务器继续运行。集群方式将许多台服务器连接在一起构成高可用服务集群,配置相对主从或对称方式的高可用集群相对较为困难,支持多台机器的共享存储设备售价也较高,一般情况下不建议采用集群方式的高可用集群。


Linux 
高可用性(HA)集群的基本组成
1.
服务(Service
2.
浮动 IPFloat IP
3.
成员服务器或称节点(Member Server or Node)
4.
失效域(Failover Domain

5.
心跳(Heartbeat
6.
共享存储(Share Storage



RedHat Cluster Suite 
中包括的组件:

  1. CCS:
集群配置系统,以管理 cluster.conf 档案

  2. CLVM:
集群扩展到 LVM2 可扩展逻辑盘管理工具
  3. CMAN :
集群管理器
  4. Conga :RHCM
Web 控制套件。包括 luci ricci
  5. DLM :
分布式锁管理器

  6. luci:RHCM
Web 控制套件中 Web 图形界面集群管理器
  7. LVS :Linux
虚拟服务器(ipvsadm
  8. LVM2­Cluster:
基于 LVM 的集群可扩展存储功能
  9. Fence :
输入/输出系统围栏系统(栅设备)
  10. GFS :
共享磁盘簇文件系统(全球文件系统)

  11. GFS2 :
共享磁盘簇文件系统(全球文件系统 2
  12. GNBD :
内核模块,多机网络共享块设备管理器
  13. GULM :
基于服务器的集群冗余锁定管理器(替代 CMAN DLM
  14. Magma :
集群/锁定库用于 gulm CMAN/DLM 的迁移
  15. ricci :RHCM
Web 控制套件中 Web 图形界面集群管理代理(node 端)
  16. RGmanager :
资源组管理器,用来监督、启动和停止应用、服务和资源
  17. Openais :
开源集群基础设施
  18. system­config­cluster :
图形化工具来管理集群中的多个机器

构建HA集群所需RHCS
     1. ccs
     2. cman
cman-kernel cman-kernheaders
     3. dlm
dlm-kerneldlm-kernheaders
gulm
     4. fence
     5. rgmanager
     6. system-config-cluster(
可选)

     7. luci,ricci (
可选)
     8. magma,magma-plugins
RHCS v5 中已剔出)

集群程序打开的端口
   1. rgmanager/clurgmarg tcp 41966~41969
   2. ccsd tcp 50006
5000850009  udp 50007 
   3. dlm tcp 21064 
   4. cman udp 6809(EL4
udp 5405(EL5

   5. gnbd tcp 14567
端口                  程序                         协议
41966               rgmanager/clurgmgrd        tcp 
41967               rgmanager/clurgmgrd        tcp 
41968               rgmanager/clurgmgrd        tcp 
41969               rgmanager/clurgmgrd        tcp 
50006               ccsd                       tcp   
50007               ccsd                       udp   
50008               ccsd                       tcp   
50009               ccsd                       tcp 
21064               dlm                        tcp   
6809 (RHEL4 and under) cman                    udp 
5405 (RHEL5 and above)  cman                   udp   
14567               gnbd                       tcp 


环境:
初始化配置:
一,修改hosts的路由信息:

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               localhost.localdomain localhost
::1             localhost6.localdomain6 localhost6
#192.168.0.170           node1s.uplooking.com node1s
#192.168.10.173          node2.uplooking.com node2
192.168.10.170          node1.uplooking.com node1
192.168.0.173           node2s.uplooking.com node2s
192.168.0.168           fence.uplooking.com fence
192.168.0.169           node3.uplooking.com node3

  
/etc/hosts 文件复制到其他节点上,声明将添加到集群中各节点
node1# scp /etc/hosts node2:/etc/
node1# scp /etc/hosts node3:/etc/
node1# scp /etc/hosts fence:/etc/


二,设置各节点的 ssh_key ,这样有利于我们在节点间相互访问。
node1# ssh-keygan       //
不需要设置密码,空的即可
node1# cp .ssh/id_dsa.pub .ssh/authorized_keys  //
将生成的keys发送给其他主机

  
node1 /root/ .ssh 目录复制到其他节点上,这样所有极点就都可以相互无密码的
访问了。
  node1# scp -r .ssh node2:/root/
  node1# scp -r .ssh node3:/root/
  node1# scp -r .ssh fence:/root/

三,清楚iptables的内容,最好关闭iptables
node1#iptables -F
node1#chkconfig iptables off

四,关闭
selinux
node1#vim /etc/sysconfig/selinux

Enforcing---->disabled

或者执行命令

node1#sed -i 's@Enforcing@disabled@g' /etc/sysconfig/selinux


node1#chkconfig selinux off


               
实验步骤:


一,打开其中一台主机,执行一下的命令:
node1#system-config-cluster         //
打开配置的图形化界面

配置好的文件在:/etc/cluster/cluster.conf


       
       
               
                       
                       
                               
                                       
                               

                       

               

               
                       
                       
                               
                                       
                               

                       

               

               
                       
                       
                               
                                       
                                

                       

               

       

       
               
       

       
               
       

       
               
                       
                               
                               
                       

               

               
                       
                       

阅读(1252) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-09-13 14:43:30

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com