SLES_11_SP1_x64 High Availability
1   环境准备
两台装有suse 11 sp1 OS的服务器,每台服务器有两块网卡。
Suse 11 sp1 系统安装盘或者ISO文件:SLES-11-SP1-DVD-x86_64-GM-DVD1.iso
suse 11 sp1 HA 安装盘或者ISO文件:SLES-11-SP1-HA-x86_64-GM-Media1.iso
2   安装HA
分别在主备机上执行如下安装操作:
将刻有 SLE-11-SP1-HA-x86_64-GM-Media1.iso的DVD插入光驱,然后以root用户登入,运行yast2命令启动YaST2控制中心,如下图:
图 2.1 YaST2控制中心
点击 YaST2控制中心里的“附加产品”,出现如下图所示的“媒体类型”选择界面:
图 2.2 媒体类型
选择 DVD,然后点击下一步,在确认完授权信息后,将显示如下的软件安装选择界面,在左边列表中勾选“高可用性”后点击“确定”即可进行安装。期间会提示插入SLES-11-SP1-DVD-x86_64-GM-DVD1.iso光盘。
图 2.3 选择安装高可用性组件
 
3.1主机准备
1)在两台服务器上修改 /etc/hosts文件,修改内容如下:
server:/etc/corosync # cat /etc/hosts
10.0.0.1         server.site server
192.168.1.1      server.site server
10.0.0.2         server1.site server1
192.168.1.2      server1.site server1
3.2Cluster配置
SuSE的 HA提供了直观的图形配置管理界面,为了便于理解和操作我们以图形配置管理为主进行HA配置,并配以相关的配置命令及文件。本文档的配置按下图所示的网络拓扑结构来进行,其中suseA和suseB的eth1网络接口作为HA心跳连接网络(10.0.0.0网段),使用直连线进行连接,eth0网络接口作为生产(192.168.1.0网段)。
图 3.1.1 HA网络拓扑结构
 
1 )在终端中执行如下命令启动cluster配置管理:
yast2 cluster
然后在“通讯通道”里的“ Bind Network Address”里选择心跳连接的网段,本示例为10.0.0.0;在“Multicast Address”里填入组播 IP 地址(组播 IP地址范围是从 224.0.0.0到239.255.255.255,详细内容请参阅“组播”的相关资料);在“Multicast Port”里填入组播端口;在“节点 ID”处勾选中“Auto Generate Node ID”。这部分的配置对应“/etc/corosync/corosync.conf”文件中的“interface”部分的如下项目值:
bindnetaddr:     10.0.0.0
mcastaddr: 225.1.1.1
mcastport:  5405
注意:群集中的节点通过使用同一组播地址和同一端口号来相互了解。对于不同的群集,请使用不同的多路广播地址。
图 3.1.2 配置通讯通道
 
2 )点击左边的“安全”项,进行安全配置:
图 3.1.3 配置安全项
勾选“启用安全身份验证”,“ Threads”里使用缺省的2即可。在主服务器上点击“Generate Auth Key File”生成安全验证文件“/etc/corosync/authKey”,然后将这个文件复制到从服务器上即可。这部分的配置对应“/etc/corosync/corosync.conf”文件中的“totem”部分的如下项目值:
secauth:     on
threads: 2
3 点击左边的“服务”项,进行服务配置:
图 3.1.4 配置服务项
    选中“开启 —引导时启动openais”,这个可以使用chkconfig对“/etc/init.d/openais”进行管理。勾选“Enable mgmtd. The GUI client require this.”项,这个配置对应“/etc/corosync/corosync.conf”文件中的“service”部分的如下项目值:
use_mgmtd: yes
4 )群集通讯,添加群集中所有节点,点击同步文件,生成密钥,开启csync2服务。操作顺序:“Add”—“Generate Pre-Shared-Keys”—“Turn csync2 ON”—“Add Suggested Files”
 
5 )然后使用下面的命令启动openais服务:
rcopenais start
在 openais服务启动后,执行下面的配置命令:
    crm configure property stonith-enabled=false
    crm configure property no-quorum-policy=ignore
crm configure rsc_defaults resource-stickiness=100
至此, cluster主节点配置完成。
 
6 )配置同步服务,将节点2添加到集群中来:
a.在群集中的其他服务器上完成同步服务器的配置,与主服务器相同,群集节点添加时无需添加服务器,只需要开启 csync2服务。拷贝主服务器中/etc/csync2/csync2.cfg和/etc/csync2/key_hagroup。
server:~ # cd /etc/csync2/
server:/etc/csync2 # scp ./csync2.cfg root@192.168.1.2:/etc/csync2/
server:/etc/csync2 # scp ./key_hagroup root@192.168.1.2:/etc/csync2/
 
b.在 所有节点上开启rcxinetd服务
server:~ # rcxinetd start
server:~ # chkconfig csync2 on
server:~ # chkconfig xinetd on
 
c.在 主服务器上同步所有配置文件
server:~ # csync2 –xv
第一次运行可能会有两个文件报错,那么可以强行同步这两个文件。
如: /etc/csync2/csync2.cfg和/etc/csync2/key_hagroup
server:~ # csync2 -f /etc/csync2/csync2.cfg
server:~ # csync2 -f /etc/csync2/key_hagroup
再运行同步命令
server:~ # csync2 -xv
Marking file as dirty: /etc/sysconfig/pacemaker
Marking file as dirty: /etc/sysconfig/openais
Marking file as dirty: /etc/csync2/csync2.cfg
Marking file as dirty: /etc/corosync/corosync.conf
Connecting to host server1 (SSL) ...
Updating /etc/corosync/corosync.conf on server1 ...
File is already up to date on peer.
Updating /etc/csync2/csync2.cfg on server1 ...
File is already up to date on peer.
Updating /etc/sysconfig/openais on server1 ...
File is already up to date on peer.
Updating /etc/sysconfig/pacemaker on server1 ...
File is already up to date on peer.
Finished with 0 errors.
同步完成,没有报错。
在节点 2上启动openais服务。
rcopenais start
chkconfig openais on
 
7 )使用crm_mon查看联机运行状态:
server:~ # crm_mon status
============
Last updated: Fri Aug 24 14:42:15 2012
Stack: openais
Current DC: server - partition WITHOUT quorum
Version: 1.1.2-2e096a41a5f9e184a1c1537c82c6da1093698eb5
2 Nodes configured, 2 expected votes
3 Resources configured.
============
 
Online: [ server server1 ]
 
如上图,可看到群集中有两台主机, server 和 server1都为online状态。