目前大多数企业对业务的运行要求越来越高,高可用产品应运而生, Newstart HA做为一款优秀的ha解决方案,应用越来越广泛。
Newstart HA提供命令行工具(cli)及web工具配置方式,下面就两种配置方式分别讲述。为保证配置顺利进行,以下准备工作要提前做好:
1.已安装主流linux操作系统(如suse 9/10/11,rehat5/6,cgslv3/v4等);
2.两个节点的主机名不能相同;
3.两个节点的心跳链路和工作链路的网卡名都要求相同(如nodeA工作链路网卡名为eth0,则nodeB工作链路网卡名必须为eth0),心跳链路建议配2条或以上,工作链路建议做bonding,然后配置好各个网卡的物理IP;
4.串口,HA提供串口线组建串口心跳链路,如机子不具备串口设备,可不配,但要保证总的心跳链路数量在两条或以上;
5.确定业务的浮动IP地址值;
6.共享存储,如使用该类设备,请分别创建好两个节点上的挂载目录;
7.两节点已分别安装好业务应用;
8.HA安装程序放置服务器上,如果是iso文件,使用二进制方式上传,如果是光盘,把安装光盘放到服务器CDROM中。
HA程序安装:
以上准备工作完成后,就可以进行HA的安装,以iso安装文件为例,挂载安装程序到mnt目录,然后进行安装,如:
#mount -o loop nsha-3.0.1.07.iso /mnt
#/mnt/install
安装过程很简单,需注意3个地方已使用粗体标出,粗斜体表示注解。
NewStart HA Installation Program Version: 3.0.1.07 Support email: [email protected] 1)NewStart HA Server Program and CLI Administrative Tool1 2)Web-based Administrative Tool (options)(version: 20121101) 2 3)All components3 4)Cancel 说明:1为主程序和cli管理工具,2为web管理工具,3为以上全部组件 select the components to be installed [1-4]?3 …(过程省略) please enter the SN: 00TB24-FC0TCF-629A1H-B00D46 //试用SN号 …(过程省略) Do you want to start web-based administrative tool automatically as a system service? y(es) or n(o)? y //系统启动时是否自动启动Web管理工具 …(过程省略) The component(s) is installed completely. |
主程序及其组件已安装完成,接下来是license的申请,做完这一步HA的安装才算真正完成,操作如下:
1、把两台机子上的/etc/ha.d/lic/newstartha.key文件打包(名字区分好,如newstartha.key_node1/2,二进制(bin)方式下载),然后发送到邮箱:[email protected]进行license文件的申请。
2、收到的license文件后改名为newstartha.lic,用二进制(bin)方式上传到服务器,放到/etc/ha.d/lic/目录,因为每个节点newstartha.lic内容不同,key文件与license文件一一对应,所以不要搞混,否则HA无法启动。
至此,HA安装完成,接下来讲述集群配置方式。
一、命令行工具(cli)配置方式
集群的配置主要分两块,分别是集群初始化和服务初始化,必须按以上顺序进行初始化;在开始之前,有几个概念先了解一下:
1、仲裁盘:数据安全保障机制,需要在共享磁盘上划分一块小空间, 30M左右,不需格式化,作用是防止服务双挂。(可选,但推荐配置)
2、第三方IP列表:与工作链路位于同一网段的3~5个已存在IP,作用是检测节点自身网络是否正常。(建议配置)
3、HA脚本:类似于/etc/init.d/目录下的脚本,主要是规定如何启动、停止和检测业务程序,HA配置之前要准备好,HA软件也提供了主流应用的相关脚本模版供参考,位于/etc/ha.d/resource.d目录下,包括:apache、tomcat、oracle和sybase等。
配置过程:
1、集群初始化:cluster-init
进入cli,运行cluster-init,然后按向导操作,如:
cli:~>cluster-init …(此处打印省略) Please input cluster name:oracle_cluster //自定义集群名称 Input the first node name and IP:suse11-sp1-1 192.168.1.192 Input the second node name and IP:suse11-sp1-2 192.168.1.193 How long between heartbeats(in seconds)[1]:直接回车都是推荐配置,下同 How long to declare heartbeat has broken(in seconds)[60]:直接回车 Do you want to enable watchdog device ? (yes/no)[no]:直接回车 Please choose multicast heartbeat channel: 0) eth2 1) bond0 Select a multicast heartbeat channel [0, 1]:0 //选取网口心跳链路 Another multicast heartbeat channel? (yes/no)[yes]:no //是否再增加一条网口心跳,因下面会配串口心跳,总数已达两条,这里不添加 Do you want to add a serial heartbeat channel? (yes/no)[yes]:直接回车 Input serial heartbeat channel[/dev/ttyS0]:直接回车 Another serial heartbeat channel? (yes/no)[yes]:no //是否再增加一条串口心跳 Do you want to enable worklink_hb ? (yes/no)[yes]:直接回车 Do you want to add third-party ip list ? [recommended 3-5 ip] (yes/no)[yes]:直接回车 //是否配置第三方IP列表 Please input a third-party ip address:192.168.1.190 Another thirdpart ip address? (yes/no)[yes]:直接回车 Please input a third-party ip address:192.168.1.200 Another thirdpart ip address? (yes/no)[yes]:直接回车 Please input a third-party ip address:192.168.1.201 Another thirdpart ip address? (yes/no)[yes]:no Do you want to add a lock disk(recommend) ? (yes/no)[yes]:直接回车 //是否配置仲裁机制,推荐, Please input the partition name (/dev/sdb):/dev/sdb1 //选取仲裁分区 Warning:All data in /dev/sdb1 will be destroyed, sure to format it? (yes/no)[no]:yes Do you want to enable kernel panic ? (yes/no)[no]:直接回车 Please run service-init to initialize you services. |
集群初始化完成,接下来进行服务初始化。
2、服务初始化:service-init
cli中运行service-init,按向导操作,如:
cli:~>service-init …(此处打印省略) Input service name:oracle //输入服务名 Is it enabled?(yes/no)[yes]:直接回车 Do you want to configure preferred node ? (yes/no)[no]:yes //是否选取服务优先运行节点 Please choose preferred node: 0) suse11-sp1-1 1) suse11-sp1-2 Select a node: [0, 1]:0 Input start time out[60]:直接回车 Input stop time out[120]:直接回车 Input check interval[30]:直接回车 Input check time out[60]:直接回车 Input max error count[1]:直接回车 Restart after check result is failed?(yes/no)[no]:直接回车 Start service anyway when float IP exist?(yes/no)[no]:直接回车 Do you want to add a application? (yes/no)[yes]:直接回车 ====== Application ====== Input name of application[oracle_app_0]:直接回车 Input script of application [/etc/ha.d/resource.d/oracle]:/home/script/oracle.ps//HA脚本位置 Is resource critical?[yes]:直接回车 Is resource enable?[yes]:直接回车 Add another application? (yes/no)[no]:直接回车 Do you want to add a pubnic? (yes/no)[yes]:直接回车 ====== PubNIC ====== Input PubNIC name[oracle_net_card_0]:直接回车 Is resource critical?[yes]:直接回车 Please choose network device: 0) eth2 1) bond0 Select a network device [0, 1]:1 //选取工作链路 Add another pubnic? (yes/no)[no]:直接回车 ====== IP ====== Input IP name[oracle_ip_0]:直接回车 Input IP address:192.168.1.196 //浮点/业务IP Input netmask[255.255.255.0]: PubNIC of service: 0) oracle_net_card_0 suse11-sp1-1:bond0 suse11-sp1-2:bond0 Select a PubNIC: [0, 0]:0 Is resource critical?[yes]:直接回车 Add another IP? (yes/no)[no]:直接回车 Do you want to add a raw disk? (yes/no)[no]: //是否增加裸设备 Do you want to add a diskmount? (yes/no)[no]:yes //是否增加磁阵设备 ====== diskmount ====== Input diskmount name[oracle_diskmount_1]:直接回车 Is resource critical?[yes]:直接回车 Is resource enable?[yes]:直接回车 0) disk //支持普通的块设备,如/dev/sdb2 1) nfs //支持nfs设备 2) lvm //支持逻辑卷设备,如/dev/vg01/lv01 3) cancel please choose a disk type? [0, 3]:0 Input block disk device[/dev/hda1]:/dev/sdb2 Input mountpoint:/home/db //磁阵挂载目录 Input type of file system[ext3]:直接回车 Input user[root]:oracle //挂载目录的操作用户 Input group[root]:oinstall //操作用户的群组 Input mode[755]:直接回车 Input options[rw]:直接回车 Input the quota of the device[90]:直接回车 do you want to stop service when the disk is readonly?[yes]:直接回车 Add another diskmount? (yes/no)[no]:直接回车 Add another service? (yes/no)[no]:直接回车 Please run cluster-start to start the HA system, or run cluster-restart to restart the HA system. |
到这里,服务初始化完成,也意味着整个集群初始化完成。接着来看看集群启动及业务倒换。
3、集群启动、状态检测及服务倒换
配置完成后,先启动集群,然后查看运行状态,最后就进行业务倒换测试。
3.1 集群启动及状态检测。
进入cli,运行指令cluster-start(启动集群),然后运行cluster-stat(查看集群状态),稍等一会即可看到以下的类似打印:
cli:~>cluster-stat Press Ctrl-C or 'Q' to exit Date: Mon Apr 15 11:51:11 2013 Member status suse11-sp1-1 UP suse11-sp1-2 UP WorkLink suse11-sp1-1 suse11-sp1-2 bond0 ONLINE ONLINE HeartbeatLink suse11-sp1-1 suse11-sp1-2 status network eth2 eth2 ONLINE serial /dev/ttyS0 /dev/ttyS0 ONLINE LockDisk /dev/sdb1 /dev/sdb1 ONLINE ServiceName suse11-sp1-1 suse11-sp1-2 Enable *oracle running stopped YES |
该集群状态反映集群运行正常,工作链路及心跳链路都是online,服务running于节点suse11-sp1-1.
3.2 业务倒换:
Cli下运行指令service-migrate,按向导操作,最后运行指令cluster-stat查看业务倒换情况,如:
cli:~>cluster-stat Press Ctrl-C or 'Q' to exit Date: Mon Apr 15 13:55:23 2013 Member status suse11-sp1-1 UP suse11-sp1-2 UP WorkLink suse11-sp1-1 suse11-sp1-2 bond0 ONLINE ONLINE HeartbeatLink suse11-sp1-1 s use11-sp1-2 status network eth2 eth2 ONLINE serial /dev/ttyS0 /dev/ttyS0 ONLINE LockDisk /dev/sdb1 /dev/sdb1 ONLINE ServiceName suse11-sp1-1 suse11-sp1-2 Enable *oracle stopped running YES |
该集群状态表示服务倒换成功,现服务running于节点suse11-sp1-2;在现网调试时,服务在两节点上至少要各倒换一次。
至此,命令行(cli)下配置集群完成。
二、WEB工具配置方式
web方式进行集群配置,同样分两块,为集群基本配置(相当于集群初始化)和集群服务配置(相当于服务初始化),在此之前,有些知识点同样需了解:
1、web工具后台服务已启动,webadminserverstatus 查看;
2、web访问方式,http://双机任一节点物理ip:10001,缺省帐户/密码:SuperAdmin/123456;
3、web工具支持中,英文界面。
配置过程:
1、集群初始化
打开浏览器,输入地址:http://物理IP:10001,连接成功后输入用户名及密码准备登陆,如下图1:
图1
进入web工具后,建议按下面图2标识顺序进行集群初始化:填写集群参数配置(完成后保存)à增加串口心跳(完成后保存)à增加网口心跳(完成后保存)。
图2
填写完图2相关参数后,集群初始化完成,如下面图3所示:
图3
2、服务初始化
集群初始化完成后,点击右列的集群服务配置图标,进行服务初始化,推荐配置顺序已标注(见下图4),即:填写服务信息à增加工作链路(PubNic)à增加浮动/业务IP(IP)à增加磁阵及挂载点(DiskMount)à增加应用脚本(App)à保存配置。
图4
说明:HA的一个服务中允许存在多个同类资源存在,如多个网卡、浮动/业务IP、磁阵及应用。
下面是图4中步骤2配置工作链路(PubNic)的的范例,其它资源配置类似,如:
工作链路资源(允许多条工作链路)添加完成,如下:
当把服务所有相关资源添加完成后,点击左下角的保存配置选项,此时在Sservice Tree会生成服务资源树,如:
服务初始化完成,整个集群配置完成,接下来看看web下的集群启动及业务倒换操作。
3、集群启动、状态检测及服务倒换
Web下的集群管控比较简单,直观。
3.1 启动集群及查看状态
先点击集群状态监控图标,然后右键节点图标,启动HA和服务,对象是所有节点,见下图:
集群启动后,页面会周期性自动刷新,显示集群实时运行状态,如:
集群状态图
说明:上图红色的是串口心跳线,表示该链路通信有问题,需检查,其它链路通信正常;此时服务oracle运行于节点suse11-sp1-2上。
3.2 服务倒换
服务倒换很简单,以上面的集群状态图为例,服务运行于节点suse11-sp2-2,右键服务名oracle,然后选取迁移服务至节点suse11-sp1-1:
前面说过,页面会自动周期性刷新,所以执行上述操作后等待迁移结果:
服务oracle成功迁移到节点suse11-sp1-1。 如现网调试,服务在两节点上至少要各倒换一次。
至此,web方式配置集群完成。