Centos6 安装配置corosync HA.docx

上传人:b****7 文档编号:10791431 上传时间:2023-02-22 格式:DOCX 页数:11 大小:18.91KB
下载 相关 举报
Centos6 安装配置corosync HA.docx_第1页
第1页 / 共11页
Centos6 安装配置corosync HA.docx_第2页
第2页 / 共11页
Centos6 安装配置corosync HA.docx_第3页
第3页 / 共11页
Centos6 安装配置corosync HA.docx_第4页
第4页 / 共11页
Centos6 安装配置corosync HA.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

Centos6 安装配置corosync HA.docx

《Centos6 安装配置corosync HA.docx》由会员分享,可在线阅读,更多相关《Centos6 安装配置corosync HA.docx(11页珍藏版)》请在冰豆网上搜索。

Centos6 安装配置corosync HA.docx

Centos6安装配置corosyncHA

Centos6安装配置corosyncHA

yuminstallcorosync*pacemaker*pcslrzsz(kernel-develkernel-headersflex)–y

servicepcsdstart

passwdhacluster

pcsclusterauthha01ha02

Username:

hacluster

Password:

pcmk-1:

Authorized

pcmk-2:

Authorized

vi/etc/corosync/corosync.conf

[root@ha01corosync]#morecorosync.conf

totem{

version:

2

secauth:

off

threads:

0

interface{

ringnumber:

0

bindnetaddr:

192.168.56.0

mcastaddr:

230.100.100.7

mcastport:

5405

ttl:

1

}

}

logging{

fileline:

off

to_stderr:

no

to_logfile:

yes

to_syslog:

yes

logfile:

/var/log/cluster/corosync.log

debug:

off

timestamp:

on

logger_subsys{

subsys:

AMF

debug:

off

}

}

amf{

mode:

disabled

}

service{

ver:

0

name:

pacemaker

}

aisexec{

user:

root

group:

root

}

servicecorosyncstart

pcspropertysetstonith-enabled=false

 

pcsresourcecreateVirtualIPocf:

heartbeat:

IPaddr2ip=192.168.56.10cidr_netmask=24opmonitorinterval=10s

 

corosync集群心跳配置及mgmt调用修改方法

corosync集群心跳可在文件/etc/corosync/corosync.conf中的interface字段进行配置,如下配置了两路心跳:

totem{

version:

2

secauth:

off

threads:

0

rrp_mode:

passive

interface{

ringnumber:

0

bindnetaddr:

172.16.70.0

broadcast:

yes

mcastport:

5546

}

interface{

ringnumber:

1

bindnetaddr:

192.168.127.0

broadcast:

yes

mcastport:

5547

}

}

interface字段主要有以下几个参数:

1.ringnumber:

interface的ringnumber,用于区分不同的心跳,必须从0开始

2.bindnetaddr:

绑定的网络地址,经常以0结尾,也可以使用IPV6地址。

例如,如果本地心跳为192.168.5.92,子网255.255.255.0,则设置bindnetaddr为192.168.5.0;如果本地心跳为192.168.5.92,子网255.255.255.192,则设置bindnetaddr为192.168.5.64。

3.mcastport:

UDP端口号

4.broadcast:

该字段可选,设为YES时表示将使用广播地址,如果设为该选项,则可以不设mcastaddr字段

5.mcastaddr:

多播地址,不允许使用224.x.x.x之类的地址。

也可以使用IPV6地址。

corosync-cfgtool为显示及配置corosync的工具,与心跳有关的使用如下:

显示该节点的当前心跳状态

[root@server-1BUILD]#corosync-cfgtool-s

Printingringstatus.

LocalnodeID-1085927252

RINGID0

id=172.16.70.191

status=ring0activewithnofaults

RINGID1

id=192.168.127.191

status=ring1activewithnofaults

心跳出错后重新配置集群中的心跳状态,即重新启动失败的心跳

[root@server-1BUILD]#corosync-cfgtool-r

为了在mgmt下可以检查心跳状态,在mgmt/daemon/mgmt_crm.c中添加如下函数:

char*

on_status_of_hblinks(char*argv[],intargc)

{

char*ret=strdup(MSG_OK);

cs_error_tresult;

corosync_cfg_handle_thandle;

unsignedintinterface_count;

char**interface_names;

char**interface_status;

unsignedinti;

unsignedintnodeid;

//初始化;

result=corosync_cfg_initialize(&handle,NULL);

if(result!

=CS_OK){

mgmt_log(LOG_WARNING,"Couldnotinitialize

corosyncconfigurationAPIerror%d\n",result);

exit

(1);

}

//取当前nodeid;

result=corosync_cfg_local_get(handle,&nodeid);

if(result!

=CS_OK){

mgmt_log(LOG_WARNING,"Couldnotgetthe

localnodeid,theerroris:

%d\n",result);

}

//取心跳情况,包括名称、状态等;

result=corosync_cfg_ring_status_get(handle,

&interface_names,

&interface_status,

&interface_count);

//返回结果;

if(result!

=CS_OK){

mgmt_log(LOG_WARNING,"Couldnotgetthe

ringstatus,theerroris:

%d\n",result);

}else{

for(i=0;i

ret=mgmt_msg_append(ret,interface_names[i]);

ret=mgmt_msg_append(ret,interface_status[i]);

}

}

(void)corosync_cfg_finalize(handle);

returnret;

}

之后即可在mgmt中使用status_hblinks命令即可查询心跳的状态,如下所示:

[root@server-1heartbeat-gui]#./mgmtcmd.pystatus_hblinks

---------------------------

o

172.16.70.191

ring0activewithnofaults

192.168.127.191

ring1activewithnofaults

 

创建集群

pcsclustersetup--start--namemy_cluster

启动集群服务

pcsclusterenable--all

查看集群状态

pcsclusterstatus

创建stonith设备

pcsstonithcreatemyapcfence_apc_snmpparamsipaddr=""pcmk_host_map=":

1;:

2"pcmk_host_check="static-list"pcmk_host_list=","login="apc"passwd="apc"

pcsstonithshowmyapc

创建资源

pcsresourcecreatemy_lvmLVMvolgrpname=my_vgexclusive=true--groupapachegroup

pcsresourceshow

pcsresourceenable

pcsresourcecreatemy_fsFilesystemdevice="/dev/my_vg/my_lv"directory="/var/www"fstype="ext4"--groupapachegroup

pcsresourcecreateVirtualIPIPaddr2ip=198.51.100.3cidr_netmask=24--groupapachegroup

pcsresourcecreateWebsiteapacheconfigfile="/etc/httpd/conf/httpd.conf"statusurl="http:

//127.0.0.1/server-status"--groupapachegroup

pcsresourcecreateVirtualIPocf:

heartbeat:

IPaddr2ip=192.168.0.120cidr_netmask=24opmonitorinterval=30s

查看集群状态:

pcsstatus

倒换节点:

pcsclusterstandbypcsclusterunstandby

查看帮助pcsresource-h

导出和备份配置文件pcsclustercibtestfilepcsconfigbackuppcsconfigrestorepcsclustersetup--namenew_clusternodeAnodeB--token10000--join100pcsclusterstoppcsclusterenablepcsclusterdisablepcsclusternodeaddnodepcsclusternoderemovenodepcsclusterstandbynodepcsclusterunstandbynodepcsstonithlistpcsstonithdescribepcsstonithshow--fullpcsstonithcreatemyapc-west-13fence_apcpcmk_host_list="west-13"ipaddr="west-apc"login="apc"passwd="apc"port="15"

fence对应节点:

pcsstonithfencenodepcsresourcedeleteVirtualIPpcsresourcedescribeLVMpcsresourceshow--fullpcsresourceenableresource_id

pcsresourcedisableresource_id

设置资源先后关系pcsconstraintVirtualIPthendummy_resourcekind=Optional

进入维护模式:

pcsresourceunmanageresource1

解除维护模式

pcsresourcemanageresource1

 

Corosync与Pacemaker实现nfs作为共享存储的MysSQL高可用

以下分别以crm和pcs两种命令来实现

  1.安装corosync和pacemaker,在CentOS6.5自带有rpm包。

 yum-yinstallcorosyncpacemaker 

2.配置pacemaker做为corosync的插件运行:

 在/etc/corosync/nf加入如下配置

   secauth:

on#开启集群节点之间通信的安全认证

   interface{

     bindnetaddr:

192.168.0.0#指定进行网卡所在的网络地址

   }

   service{

     name:

pacemaker#指定资源管理器的名称

     ver:

0#0:

表示pacemaker作为corosync的插件来运行;1:

表示pacemaker作为单一的      守护进程来运行,也就是说在启动corosync后还必须手动启动pacemaker守护进程。

     }

   aisexec{

     user:

root #表示以哪个用户来运行pacemaker资源管理器。

     group:

root#表示以哪个组来运行pacemaker资源管理器。

   }

3.配置节点间通信使用的密钥:

 corosync-keygen

4.配置集群属性

 crmconfigurepropertyno-quorum-policy=ignore

  【pcspropertysetno-quorum-policy=ignore】

 #表示不管出现何种情况资源照样继续运行

 crmconfigurepropertystonith-enabled=false

  【pcspropertysetstonith-enabled=false】

 #表示禁用stonith,默认情况下,若是没有stonith设备,集群是无法启动的。

5.配置资源以及对资源的监控

 1、配置虚拟ip

   crmconfigureprimitivemyipocf:

heartbeat:

IPaddrparamsip="192.168.0.100"nic="eth0"cidr_netmask="24" opmonitorinterval=20stimeout=30s

  【pcsresourcecreatemyipocf:

heartbeat:

IPaddrparamsip="192.168.0.100"nic="eth0"cidr_netmask="24" opmonitorinterval=20stimeout=30s】

   #表示定义一个主资源myip,ocf:

heartbeat:

IPaddr表示资源代理的类型为ocf,提供者是heartbeat,具体的代理为IPaddr,params表示代理IPaddr的参数为ip="192.168.0.100"nic="eth0"cidr_netmask="24"等,op表示对此资源的操作,有monitor、start、stop、status等。

interval表示每隔20s对资源的健康状态进行一次检查,如果检测不成功,30s后就超时了。

 2、配置mysqld服务

   crmconfigureprimitivemyserviceocf:

heartbeat:

mysqlparamsbinary="/usr/bin/mysqld_safe"config="/etc/f"datadir="/var/lib/mysql"pid="/var/run/mysqld/mysql.pid"socket="/tmp/mysql.sock"additional_parameters="--bind-address=192.168.0.100"opstarttimeout=120sopstoptimeout=120sopmonitorinterval=20stimeout=30s

  【pcsresourcecreatemyserviceocf:

heartbeat:

mysqlparamsbinary="/usr/bin/mysqld_safe"config="/etc/f"datadir="/var/lib/mysql"pid="/var/run/mysqld/mysql.pid"socket="/tmp/mysql.sock"additional_parameters="--bind-address=192.168.0.100"opstarttimeout=120sopstoptimeout=120sopmonitorinterval=20stimeout=30s】

 3、配置共享存储

   crmconfigureprimitivemystoreocf:

heartbeat:

Filesystemparamsdevice=192.168.0.13:

/mysqldatadirectory=/var/lib/mysqlfstype=nfsopstarttimeout=60sopstoptimeout=60sopmonitorinterval=20stimeout=60s

  【pcsresourcecreatemystoreocf:

heartbeat:

Filesystemparamsdevice=192.168.0.13:

/mysqldatadirectory=/var/lib/mysqlfstype=nfsopstarttimeout=60sopstoptimeout=60sopmonitorinterval=20stimeout=60s】

  6.配置约束规则

 1、配置排列约束

   crmconfigurecolocationmyip_with_mystore_myserviceinf:

myipmystoremyservice

  【pcsconstraintcolocationaddmyipmystoremyserviceINFINITY】

   #表示myip、mystore、myservice三个资源必须在一起,或者定义一个组资源,将这三个资源放入组中即可。

 2、配置顺序约束

   crmconfiguremyip_then_mystore_then_myserviceinf:

myipmystoremyservice

  【pcsconstraintordermyipthenmystorethenmyservice】

   #表示起源启动的顺序依此是myip、mystore、myservice

7.配置网络pingnode监控

 1、配置pingnode主资源

     crmconfigureprimitivepnodeocf:

pacemaker:

ping paramshost_list=192.168.0.200multiplier=100opmonitorinterval=10stimeout=60sopstarttimeout=60s

  【pcsresourcecreatepnodeocf:

pacemaker:

pingparamshost_list=192.168.0.200multiplier=100opmonitorinterval=10stimeout=60sopstarttimeout=60s】

   #192.168.0.200是网关地址或可以ping通的其他节点,可以有多个,使用空格分隔。

而multiplier表示如果集群中的节点可以ping通,那么那个节点的分数就会乘以这个参数指定的值,来进行累加,比如nodeA,ping通一次就是1*100,ping通两次2*100,一次类推。

 2、配置pnode的克隆资源

   crmconfigureclonecl_pnodepnode

  【pcsresourceclonepnode】

 3、配置pingnode失败的时候,资源的故障转移

   crmconfigurelocationmystore_on_ping rule-inf:

not_definedpingdorpingdnumber:

lte0

  【pcsconstraintlocationmystorerulescore=-INFINITY:

not_definedpingd】

   【pcsconstraintlocationmystorerulesorce=-INFINITY:

pingdlte0type=number】

   #表示如果由pingnode得出的分数小于等于0或者某个节点没有定义域pingnode相关的属性的话,那么就进行资源的转移。

8.检查以上的配置是否有语法错误,然后提交保存

 1、校验是否有语法错误

   crmconfigureverify

 2、提交保存

   crmconfigurecommit

9.测试

 1、使用crmnodestandbynodeX 

   #nodeX表示你要将哪个节点挂起

 2、使用禁止ping信息来测试

   iptables-AOUTPUT-picmp-jDROP

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 简洁抽象

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1