RedHat Linux AS 3配置HA Cluster实战
时间:2005-02-04 来源:busyant
实战RedHat Linux AS 3配置HA Cluster
一、集群概念:
将多台同构或异构的计算机连接起来协同完成特定的任务就构成了集群系统;
二、集群系统的分类:
集群系统一般可分为三类:
1、高可用性(HA——High Aviable)集群:主要功能就是提供不间断的服务。集群中的计算机共用同一个存储器,该存储器同一时刻只能有一台计算机访问;计算机之间通过心跳信号相互监视对方健康状况,一旦对方Down机就立刻接管服务;因此可获得极短的故障响应和恢复时间。
有许多应用程序都必须一天二十四小时地不停运转,如web服务器、工业控制器、远程通讯转接器、医学与军事监测仪以及股票处理机等。对这些应用程序而言,暂时的停机都会导致数据的丢失和灾难性的后果。
2、负载均衡(Load Balance)集群:负载均衡集群常常也有高可用的特性;一组服务器通过高速的局域网或者地理分布的广域网相互连接,在它们的前端有一个负载调度器(Load Balancer)。负载调度器能无缝地将网络请求调度到真实服务器上,服务器集群的结构对客户是透明的,客户访问集群系统提供的网络服务就像访问一台高性能、高可用的服务器一样;系统的伸缩性通过在服务机群中透明地加入和删除一个节点来达到,通过检测节点或服务进程故障和正确地重置系统达到高可用性。由于我们的负载调度技术是在Linux内核中实现的,我们称之为Linux虚拟服务器(Linux Virtual Server)。在Linux环境下有一个LVS——linux Virtual Server项目组负责相关技术的开发和维护;负载均衡集群有三种实现方式:NAT(Network Address Translation),DR(Direct Routing),IP Tunneling。其中,最为常用的是DR方式。
3、高性能(HP——High Performence)集群:通过将多台机器连接起来同时处理复杂的计算问题。常采用任务分片的方式,将一个任务分片,然后交由各集群计算机执行,因此可获得非常高的系统响应时间和运算效率;
模拟星球附近的磁场、预测龙卷风的出现、定位石油资源的储藏地等情况都需要对大量的数据进行处理。传统的处理方法是使用超级计算机来完成计算工作,但是超级计算机的价格比较昂贵,而且可用性和可扩展性不够强,因此集群成为了高性能计算领域瞩目的焦点。
三、HA集群配置示例:
1、硬件平台:曙光TC1700服务器,双至强1.8G,1G RAM;
2、软件环境:虚拟机软件:VMware GSX Server 3.1
宿主系统:Windows Server 2003
寄生系统:Redhat Linux AS3 Update3
Cluster 配置软件: clumanager-1.2.16.i386.rpm(下载地址:http://rpm.pbone.net/index.php3/stat/4/idpl/1430880/com/clumanager-1.2.16-1.i386.rpm.html)
redhat-config-cluster-1.0.0-5.noarch.rpm(下载地址:http://linuxsoft.cern.ch/repository/ia64/redhat-config-cluster-1.0.0-5.noarch.html)
3、配置步骤分析:
1.需要两台Linux服务器,主机名分别为LIN-CLUSTER1和LIN-CLUSTER2。需在虚拟机中安装并克隆;
2.每台服务器两张网卡,一对传递心跳信号,一对与外网交互;
3.两台服务器需共享一个存储器,需新建一块虚拟SCSI磁盘;
4.安装并配置Cluster软件;
4、配置步骤:
1.安装Vmware GSX Server 3.1和Redhat AS3.0的基本系统,为简化系统和方便配置,设定为无网卡、无声卡、无USB接口;设置主机名为LIN-CLUSTER1;具体步骤省略;
2.克隆现有Redhat AS3.0;设置主机名为LIN-CLUSTER2;
3.关闭LIN-CLUSTER1,添加一块Ethernet网卡,系统启动自检时配置IP为192.168.0.9;即eth0的IP为192.168.0.9;关闭LIN-CLUSTER1,再次添加一块Ethernet网卡,配置IP为219.221.76.9;即eth1的IP为219.221.176.9;(eth0传递心跳信号,所以采用私有IP;网络219.221.176.0为本实验所在网络环境)
4.开机LIN-CLUSTER2,重复步骤三,IP分别为:eth0:192.168.0.10;eth1:219.221.176.10;
5.创建共享磁盘:给HA系统创建共享磁盘sdb,大小为1000M,先打开LIN-CLUSTER1系统的设置,创建磁盘,命名为:share.vmdk,选中Allocate all disk space now这一选项;将新建磁盘的装入点设为scsi 1:0,这就是系统用于共享的裸设备;对LIN-CLUSTER2添加共享磁盘,选择“Use an existing virtual disk”,然后选择share.vmdk;
6.用编辑器打开LIN-CLUSTER1.vmx和LIN-CLUSTER2.vmx文件,在最后增加一行:Disk.locking = false,防止系统启动时锁定磁盘;
7.配置共享磁盘:在LIN-CLUSTER1里,将新建磁盘/dev/sdb分区为sdb1,sdb2,各500M。再在两台服务器上分别编辑/etc/sysconfig/rawdevices文件,将分区绑定到裸设备:
#vi /etc/sysconfig/rawdevices
加入
/dev/raw/raw1 /dev/sdb1
/dev/raw/raw2 /dev/sdb2
重启服务
#service rawdevices restart
格式化共享磁盘,每个块大小为4K
#mkfs.ext3 /dev/sdb1
#mkfs.ext3 /dev/sdb2
8.至此,准备工作全部完成;
9.安装并配置基本的HA系统:
打开LIN-CLUSTER1服务器,
a.安装clumanager-1.2.16.i386.rpm和redhat-config-cluster-1.0.0-5.noarch.rpm软件包;
b.运行cluster守护进程:
#service clumanager start
c.设置当前集群名字为“SERVER”:
#redhat-config-cluster-cmd --cluster --name='SERVER'
d.添加本机作为集群节点(Node):
#redhat-config-cluster-cmd --add_member --name="192.168.0.9"
e.添加LIN-CLUSTER2作为集群节点:
#redhat-config-cluster-cmd --add_member --name="192.168.0.10"
由于Clumanager已经把共享分区默认绑定到了/dev/raw/raw1和/dev/raw/raw2;所以一个还没有提供任何服务的Linux HA集群就已经配置成功了,运行:
#clustat
出现如下信息:
Cluster Status -SERVER
13:57:22
Cluster Quorum Incarnation #1
Shared State: Shared Raw Device Driver v1.2
Member Status
------------------ ----------
192.168.0.9 Active <-- You are here
92.168.0.10 Active
Service Status Owner (Last) Last Transition Chk Restarts
---------------- --------------- --- --------
运行正常,配置成功!