首页 数据库 mysql教程 CoroSync Drbd MySQL 实现MySQL的高可用集群_MySQL

CoroSync Drbd MySQL 实现MySQL的高可用集群_MySQL

May 31, 2016 am 08:46 AM

Mysql集群

 Corosync DRBD MySQL构建高可用MySQL集群

节点规划:

node1.huhu.com172.16.100.103

node2.huhu.com172.16.100.104

资源名称规划

资源名称:可以是除了空白字符外的任意ACSII码字符

DRBD设备:在双节点上,此DRBD设备文件,一般为/dev/drbdN,主设备号147

磁盘:在双方节点上,各自提供存储设备

网络配置:双方数据同步所使用的网络属性

DRBD从Linux内核2.6.33起已经整合进内核

1.配置双击互信(基于秘钥认证),HOSTS文件,时间同步

1)所有节点的主机名称和对应的IP地址解析服务可以正常工作,且每个节点的主机名称需要跟"uname -n“命令的结果保持一致;因此,需要保证两个节点上的/etc/hosts文件均为下面的内容:

172.16.100.103node1.huhu.com node1

172.16.100.104node2.huhu.com node2

Node1:

#sed -i 's@/(HOSTNAME=/).*@/1node1.huhu.com@g' /etc/sysconfig/network

#hostname node1.huhu.com

Node2:

#sed -i 's@/(HOSTNAME=/).*@/1node2.huhu.com@g' /etc/sysconfig/network

#hostname node2.huhu.com

2)设定两个节点可以基于密钥进行ssh通信,这可以通过类似如下的命令实现:

#yum install openssh-clients

Node1:

#ssh-keygen -t rsa

#ssh-copy-id -i ~/.ssh/id_rsa.pub root@node2

Node2:

#ssh-keygen -t rsa

#ssh-copy-id -i ~/.ssh/id_rsa.pub root@node1

配置时间同步:

*/5* * * * root /usr/sbin/ntpdate ntp.api.bz & > /dev/null

2.创建和配置DRBD

Node1上执行:

#rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm

#ssh node2 'rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm'

#yum update -y

#ssh node2 'yum update -y'

#yum install drbd84-utils kmod-drbd84 -y

#ssh node2 'yum install drbd84-utils kmod-drbd84 -y'

加载模块到内核:

#/sbin/modprobe drbd

#ssh node2 '/sbin/modprobe drbd'

DRBD的配置文件:

/etc/drbd.conf

/etc/drbd.d/global_common.conf

/etc/drbd.d/resource.d/

#yum -y install parted

#ssh node2 'yum -y install parted'

#fdisk /dev/sdb

n新建分区

p主分区

1分区号,两车回车按照默认大小选择

wq保存退出

#partprobe /dev/sdb1

资源规划:

资源名称:mydrbd

DRBD设备:/dev/drbd0

磁盘:/dev/sdb1

网络配置:100M

#cat /etc/drbd.d/global_common.conf | grep -v "#"

global{

usage-countyes;

}

common{

handlers{

pri-on-incon-degr"/usr/lib/drbd/notify-pri-on-incon-degr.sh;/usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ;reboot -f";

pri-lost-after-sb"/usr/lib/drbd/notify-pri-lost-after-sb.sh;/usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ;reboot -f";

local-io-error"/usr/lib/drbd/notify-io-error.sh; /usr/lib/drbd/notify-emergency-shutdown.sh;echo o > /proc/sysrq-trigger ; halt -f";

}

startup{

}

options{

}

disk{

on-io-errordetach;

}

net{

cram-hmac-alg "sha1";

shared-secret "1q2w3e4r5t6y";

}

syncer{

rate 200M;

}

}

#cat mydrbd.res

resourcemydrbd {

device/dev/drbd0;

disk/dev/sdb1;

meta-diskinternal;

onnode1.huhu.com {

address172.16.100.103:7789;

}

onnode1.huhu.com {

address172.16.100.104:7789;

}

}

复制配置文件到node2节点

scp-r /etc/drbd.* node2:/etc/

在两个节点上,初始化已定义的资源,并启动服务

#drbdadm create-md mydrbd

#ssh node2 'drbdadm create-md mydrbd'

#/etc/init.d/drbd start

#ssh node2 '/etc/init.d/drbd start'

查看DRBD设备的状态:

#cat /proc/drbd

version:8.4.4 (api:1/proto:86-101)

GIT-hash:599f286440bd633d15d5ff985204aff4bccffadd build by phil@Build64R6, 2013-10-1415:33:06

0:cs:Connected ro:Secondary/Secondaryds:Inconsistent/Inconsistent C r-----

ns:0nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:2096348

目前两个节点都处于secondary状态,手动让其node1成为主节点:

#drbdadm -- --overwrite-data-of-peer primary mydrbd

#cat /proc/drbd

version:8.4.4 (api:1/proto:86-101)

GIT-hash:599f286440bd633d15d5ff985204aff4bccffadd build by phil@Build64R6, 2013-10-1415:33:06

0:cs:Connected ro:Primary/Secondaryds:UpToDate/UpToDateC r-----

ns:2096348nr:0 dw:0 dr:2097012 al:0 bm:128 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0

在primary节点上进行格式化drbd分区然后挂载

#mke2fs -j /dev/drbd0

#mkdir /mydata

#mount /dev/drbd0 /mydata/

#cp /etc/inittab /mydata/

#ls -lh /mydata/

total20K

-rw-r--r--.1 root root 884 Jul 8 17:24 inittab

drwx------.2 root root 16K Jul 8 17:23 lost found

到此drbd分区已经可以正常使用了

DRBD分区的主备切换

primary节点上执行:

#umount /mydata/

# drbdadm secondary mydrbd

#drbd-overview

0:mydrbd/0ConnectedSecondary/SecondaryUpToDate/UpToDateC r-----

secondary上执行

#drbd-overview确保两者的状态都有secondary状态

#drbdadm primary mydrbd

#mkdir -p /mydata

# mount /dev/drbd0 /mydata/

#ls -lh /mydata/

total20K

-rw-r--r--.1 root root 884 Jul 8 17:24 inittab

drwx------.2 root root 16K Jul 8 17:23 lost found

#drbd-overview

0:mydrbd/0ConnectedPrimary/SecondaryUpToDate/UpToDate Cr----- /mydata ext3 2.0G 36M 1.9G 2%

状态已经改变,primary /secondary

3.配置coresync服务

各个节点上停止掉drbd服务,并且关闭开机启动

#/etc/init.d/drbd stop

#ssh node2 '/etc/init.d/drbd stop'

#chkconfig drbd off

#ssh node2 'chkconfig drbd off'

#chkconfig --list | grep drbd

#ssh node2 'chkconfig --list | grep drbd'

drbd0:off 1:off 2:off 3:off 4:off 5:off 6:off

安装corosync

#yum install libibverbs librdmacm lm_sensors libtool-ltdl openhpi-libs openhpiperl-TimeDate

#yum install corosync pacemaker

#ssh node2 '# yum install libibverbs librdmacm lm_sensors libtool-ltdlopenhpi-libs openhpi perl-TimeDate'

wgethttp://ftp5.gwdg.de/pub/opensuse/repositories/network:/ha-clustering:/Stable/CentOS_CentOS-6/x86_64/crmsh-2.1-1.1.x86_64.rpm&& wgethttp://ftp5.gwdg.de/pub/opensuse/repositories/network:/ha-clustering:/Stable/CentOS_CentOS-6/x86_64/pssh-2.3.1-4.1.x86_64.rpm

#ssh node2 'wget http://ftp5.gwdg.de/pub/opensuse/repositories/network:/ha-clustering:/Stable/CentOS_CentOS-6/x86_64/crmsh-2.1-1.1.x86_64.rpm&& wgethttp://ftp5.gwdg.de/pub/opensuse/repositories/network:/ha-clustering:/Stable/CentOS_CentOS-6/x86_64/pssh-2.3.1-4.1.x86_64.rpm'

yum--nogpgcheck localinstall crmsh-2.1-1.1.x86_64.rpm pssh-2.3.1-4.1.x86_64.rpm

如果安装失败,请添加以下源

#vim /etc/yum.repos.d/ha-clustering.repo

[haclustering]

name=HAClustering

baseurl=http://download.opensuse.org/repositories/network:/ha-clustering:/Stable/CentOS_CentOS-6/

enabled=1

gpgcheck=0

#yum --nogpgcheck localinstall crmsh-2.1-1.1.x86_64.rpmpssh-2.3.1-4.1.x86_64.rpm

node2上同样执行以上

配置corosync

#cd /etc/corosync/

#cp corosync.conf.example corosync.conf

#cat corosync.conf | grep -v "^#" | sed -e'/^$/d'

compatibility: whitetank

totem {

version: 2

secauth: on

threads: 2

interface {

ringnumber: 0

bindnetaddr: 172.16.100.0

mcastaddr: 226.94.8.9

mcastport: 5405

ttl: 1

}

}

logging {

fileline: off

to_stderr: no

to_logfile: yes

to_syslog: no

logfile: /var/log/cluster/corosync.log

debug: off

timestamp: on

logger_subsys {

subsys: AMF

debug: off

}

}

service {

ver: 0

name: pacemaker

# use_mgmtd: yes

}

aisexec {

user: root

group: root

}

amf {

mode: disabled

}

生成秘钥

#corosync-keygen

#scp -p authkey corosync.conf node2:/etc/corosync/

创建日志文件目录

#mkdir -p /var/log/cluster/ -pv

# ssh node2 'mkdir -p /var/log/cluster/ -pv'

启动corosync服务

#service corosync start

#ssh node2 'service corosync start'

检查corosync引擎是否已经启动

#grep -e "Corosync Cluster Engine" -e "configuration file"/var/log/cluster/corosync.log

Jul09 10:28:14 corosync [MAIN ] Corosync Cluster Engine ('1.4.1'): started andready to provide service.

Jul09 10:28:14 corosync [MAIN ]Successfullyreadmain configuration file '/etc/corosync/corosync.conf'.

查看节点成员之间通信是否正常

#grep TOTEM /var/log/cluster/corosync.log

Jul09 10:28:14 corosync [TOTEM ] Initializing transport (UDP/IP Multicast).

Jul09 10:28:14 corosync [TOTEM ] Initializing transmit/receive security:libtomcrypt SOBER128/SHA1HMAC (mode 0).

Jul09 10:28:14 corosync [TOTEM ]The network interface[172.16.100.103] is now up.

Jul09 10:28:14 corosync [TOTEM ] A processor joined or left the membership and anew membership was formed.

Jul09 10:28:29 corosync [TOTEM ] A processor joined or left the membership and anew membership was formed.

检查pacemaker启动是否正常

#grep pcmk_startup /var/log/cluster/corosync.log

Jul09 10:28:14 corosync [pcmk ] info: pcmk_startup: CRM: Initialized

Jul09 10:28:14 corosync [pcmk ] Logging: Initialized pcmk_startup

7 月 09 月 10:28:14 corosync [pcmk ] 信息:pcmk_startup:最大核心文件大小为:18446744073709551615

7 月 09 10:28:14 corosync [pcmk ] 信息:pcmk_startup:服务:9

Jul09 10:28:14 corosync [pcmk ] info: pcmk_startup: 本地主机名: node1.huhu.com

查看错误信息

#grep ERROR /var/log/cluster/ corosync.log | grep -v unpack_resources

Jul09 10:28:14 corosync [pcmk ] 错误:process_ais_conf:您已使用 Corosync 的 Pacemaker 插件配置了 acluster。此环境不支持该插件,很快就会被删除。

Jul09 10:28:14 corosync [pcmk ] 错误:process_ais_conf:请参阅“从头开始的集群”的第 8 章 (http://www .clusterlabs.org/doc)了解有关使用 Pacemaker 与 CMAN 的详细信息

Jul09 10:28:35 [1373] node1.huhu.com pengine: 注意:process_pe_message:PE 处理期间发现配置错误。请运行“crm_verify-L”来识别问题。

注意:这里因为没有使用stonith设备,因此错误可以忽略

#crm status

Lastupdated: Wed Jul 9 2014 年 10:49:53

最后更改:2014 年 7 月 9 日星期三 10:19:07,通过 node1.huhu.com 上的 crmd

Stack:classic openais(带插件)

CurrentDC:node1.huhu.com - 具有法定人数的分区

版本:1.1.10-14.el6_5.3-368c726

配置了2个节点,2个预期投票

0资源已配置

在线:[node1.huhu.com node2.huhu.com]

以上说明corosync配置启动正常。

关闭stonith设备,并验证提交

crm(live)#configure

crm(live)configure#property stonith-enabled=false

crm(live)configure#verify

crm(live) configure#commit

关闭不具备法定票数的时候,不能关闭集群服务

crm(live)configure#property no-quorum-policy=ignore

crm(live )configure#verify

crm(live)configure#commit

配置资源粘性,更倾向于当前节点

crm(live)configure#rsc_defaults resources-stickiness=100

crm(live)configure#verify

crm(live)configure#commit

查看当前的配置

crm(live)configure#show

nodenode1.huhu.com

nodenode2.huhu.com

propertycib-bootstrap-options:/

dc-version=1.1.10-14。 el6_5.3-368c726/

cluster-infrastruct="classicopenais (带插件)" /

expected-quorum-votes=2/

stonith-enabled=false/

no-quorum-policy=ignore

rsc_defaultsrsc-options: /

resource-stickiness=100

crm(live)configure#

查看drbd的资源代理

crm(live)configure#cd ..

crm(live)#ra

crm(live)ra#providers drbd

linbit

注意:这里只有linbit没有beartbeat,corosync1.4以前的版本有heartbeat。

查看原数据

crm(live)ra#元 ocf:linbit:drbd

定义资源:

crm(live)configure#primitive mysql_drbd ocf:linbit:drbd paramsdrbd_resource=mydrbd op start timeout=240 op stop timeout=100 op monitorrole=主设备间隔=50s 超时=30s 操作监控角色=从设备间隔=60s 超时=30s

定义集群资源:

crm(live)configure#master MS_mysql_drbd mysql_drbd metamaster-max="1" master-node-max=“1”clone-max=“2”clone-node-max=“1”notify=“true”

crm(live)configure#显示 mysql_drbd

primitivemysql_drbd ocf:linbit:drbd /

paramsdrbd_resource=mydrbd /

opstart 超时=240 间隔=0 /

opstop 超时=100 间隔=0 /

opmonitor 角色=主控间隔=50s 超时=30s /

opmonitor 角色=从属间隔=60s 超时=30s

crm(live)configure#show MS_mysql_drbd

msMS_mysql_drbd mysql_drbd /

metamaster-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true

crm(live)configure#verify

crm(live)configure#commit

crm(live)configure#cd

crm(live)#status

最后更新:2014年7月9日星期三11:54:30

最后更改:2014年7月9日星期三11:54:17,通过node1.huhu.com上的cibadmin

Stack:classic openais (带插件)

CurrentDC:node2.huhu.com - 带仲裁的分区

版本:1.1.10-14.el6_5.3-368c726

已配置 2 个节点,预计 2 个投票

已配置2个资源

上线:[node1.huhu.com node2.huhu.com]

主/从集:MS_mysql_drbd [mysql_drbd]

主站:[node1.huhu.com]

从站:[node2.huhu.com]

crm(live)#

主从资源已经完成定义

[root@node1corosync]# drbd-overview

0:mydrbd/0Connected Primary/Secondary UpToDate/UpToDate C r-----

[root@node1corosync]#

此时当前节点已经成为主资源了

手动做一次主从切换:

#crm节点待机

#crm状态

最后更新:2014年7月9日星期三12:01:44

最后更改:2014年7月9日星期三12:01:29,通过node1.huhu.com上的crm_attribute

Stack:classic openais(带有插件) )

当前DC:node2.huhu.com - 具有法定人数的分区

版本:1.1.10-14.el6_5.3-368c726

已配置2个节点,2个预期投票

已配置2个资源

Nodenode1.huhu.com:备用

Online:[ node2.huhu.com ]

Master/SlaveSet: MS_mysql_drbd [mysql_drbd]

Masters:[ node2.huhu.com ]

Stopped:[ node1.huhu.com ]

#crm node online

#crm status

Lastupdated: Wed Jul 9 12:02:46 2014

Lastchange: Wed Jul 9 12:02:43 2014 via crm_attribute on node1.huhu.com

Stack:classic openais (with plugin)

CurrentDC: node2.huhu.com - partition with quorum

Version:1.1.10-14.el6_5.3-368c726

2Nodes configured, 2 expected votes

2Resources configured

Online:[ node1.huhu.com node2.huhu.com ]

Master/SlaveSet: MS_mysql_drbd [mysql_drbd]

Masters:[ node2.huhu.com ]

Slaves:[ node1.huhu.com ]

#drbd-overview

0:mydrbd/0Connected Secondary/Primary UpToDate/UpToDate C r-----

[root@node1corosync]#

当前节点就切换为从节点了

此时保证了资源可以主从切换,但是文件系统是没有挂载

因此必须定义文件系统

crm(live)configure#primitive mystore ocf:heartbeat:Filesystem paramsdevice=/dev/drbd0 directory=/mydata fstype=ext3 op start timeout=60 op stoptimeout=60

crm(live)configure#verify

注意:这里千万不要提交,因为必须保证文件系统跟主节点在一起,定义排列约束

crm(live)configure#colocation mystore_with_MS_mysql_drbd inf: mystoreMS_mysql_drbd:Master

定义存储资源必须和资源的主节点在一起

crm(live)configure#order mystore_after_MS_mysql_drbd mandatory:MS_mysql_drbd:promote mystore:start

定义存储资源必须在主节点启动后进行挂载

crm(live)configure#verify

crm(live)configure#commit

crm(live)configure#cd ..

crm(live)#status

Lastupdated: Wed Jul 9 12:25:25 2014

Lastchange: Wed Jul 9 12:22:30 2014 via cibadmin on node1.huhu.com

Stack:classic openais (with plugin)

CurrentDC: node2.huhu.com - partition with quorum

Version:1.1.10-14.el6_5.3-368c726

2Nodes configured, 2 expected votes

3Resources configured

Online:[ node1.huhu.com node2.huhu.com ]

Master/SlaveSet: MS_mysql_drbd [mysql_drbd]

Masters:[ node1.huhu.com ]

Slaves:[ node2.huhu.com ]

mystore(ocf::heartbeat:Filesystem): Started node1.huhu.com

crm(live)#

可以看到Master在node1上,mystore就启动在node1上

[root@node1~]# ls -lh /mydata/

total20K

-rw-r--r--.1 root root 884 Jul 8 17:24 inittab

drwx------2 root root 16K Jul 8 17:23 lost found

[root@node1~]#

手动模拟一次切换

[root@node1corosync]# crm node standby

[root@node1corosync]# crm status

Lastupdated: Wed Jul 9 12:28:55 2014

Lastchange: Wed Jul 9 12:28:49 2014 via crm_attribute on node1.huhu.com

Stack:classic openais (with plugin)

CurrentDC: node2.huhu.com - partition with quorum

Version:1.1.10-14.el6_5.3-368c726

2Nodes configured, 2 expected votes

3Resources configured

Nodenode1.huhu.com: standby

Online:[ node2.huhu.com ]

Master/SlaveSet: MS_mysql_drbd [mysql_drbd]

Masters:[ node2.huhu.com ]

Stopped:[ node1.huhu.com ]

mystore(ocf::heartbeat:Filesystem): Started node2.huhu.com

[root@node1corosync]#

[root@node2~]# ls -lh /mydata/

total20K

-rw-r--r--.1 root root 884 Jul 8 17:24 inittab

drwx------2 root root 16K Jul 8 17:23 lost found

Youhave new mail in /var/spool/mail/root

[root@node2~]#

这样就切换到node2节点上。

4.配置MySQL结合DRBD和corosync

分别在node1节点上创建MySQL用户和组

#groupadd -g 3306 mysql

#useradd -u 3306 -g mysql -s /sbin/nologin -M mysql

#id mysql

uid=3306(mysql)gid=3306(mysql) groups=3306(mysql)

#ssh node2 'groupadd -g 3306 mysql'

#ssh node2 'useradd -u 3306 -g mysql -s /sbin/nologin -M mysql'

#wgethttp://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.38-linux2.6-x86_64.tar.gz

#tar zxvf mysql-5.5.38-linux2.6-x86_64.tar.gz -C /usr/local/

#cd /usr/local/

#ln -s mysql-5.5.38-linux2.6-x86_64/ mysql

#cd mysql

#chown root:mysql -R .

#cp support-files/my-huge.cnf /etc/my.cnf

#cp support-files/mysql.server /etc/init.d/mysqld

#[ -x /etc/init.d/mysqld ] && echo "ok" || echo "NO"

确保当前在主节点上操作

#drbd-overview

0:mydrbd/0ConnectedPrimary/SecondaryUpToDate/UpToDate Cr----- /mydata ext3 2.0G 36M 1.9G 2%

#mkdir -p /mydata/data

#chown -R mysql:mysql /mydata/data/

#scripts/mysql_install_db --user=mysql--datadir=/mydata/data

vim/etc/my.cnf

datadir=/mydata/data

#chkconfig --add mysqld

#chkconfig mysqld off

#service mysqld start

确保启动OK

#/usr/local/mysql/bin/mysql -uroot -e "CREATE DATABASE mydb"

[root@node1mysql]# /usr/local/mysql/bin/mysql -uroot -e "SHOW DATABASES"

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

|数据库 |

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

|information_schema |

|mydb|

|mysql |

|性能模式 |

|测试 |

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

#service mysqld stop

#chkconfig --list | grep 3:关闭| grep mysql

mysqld0:off 1:off 2:off 3:off 4:off 5:off 6:off

[root@node1mysql]#

将存储资源切换到node2上,在node2MySQL配置好

#crm节点备用

[root@node1mysql]# crm status

Lastupdated: Wed Jul 9 14:45:36 2014

最后更改:2014 年 7 月 9 日星期三 14:45:29,通过 node1.huhu.com 上的 crm_attribute

Stack:classic openais(带插件)

CurrentDC:node2.huhu .com - 具有法定人数的分区

版本:1.1.10-14.el6_5.3-368c726

配置了2个节点,2个预期投票

3个资源配置

Nodenode1.huhu.com:备用

在线:[node2.huhu.com]

主/从集:MS_mysql_drbd [mysql_drbd]

主:[node2.huhu。 com ]

已停止:[node1.huhu.com]

mystore(ocf::heartbeat:Filesystem):已启动node2.huhu.com

[root@node1mysql] # crm 节点在线

[root@node1mysql]# crm 状态

最后更新:2014 年 7 月 9 日星期三 14:45:52

最后更改:7 月 9 日星期三 14:45: 49 2014,通过 node1.huhu.com 上的 crm_attribute

Stack:经典 openais(带插件)

CurrentDC:node2.huhu.com - 带仲裁的分区

版本:1.1 .10-14.el6_5.3-368c726

已配置2个节点,2个预期投票

3个资源配置

上线:[node1.huhu.com node2.huhu.com ]

主/从集:MS_mysql_drbd [mysql_drbd]

主站:[node2.huhu.com]

从站:[node1.huhu.com]

mystore (ocf::heartbeat:Filesystem): 已启动node2.huhu.com

[root@node1mysql]#

# scp /root/mysql-5.5.38-linux2.6-x86_64 .tar.gz node2:/root/

# scp /etc/my.cnf node2:/etc/my.cnf

# scp /etc/init.d/mysqld node2:/ etc/init.d/mysqld

在node2上安装MySQL

#tar zxvf mysql-5.5.38-linux2.6-x86_64.tar.gz -C /usr/local/

#cd /usr/local/

#ln -s mysql-5.5.38-linux2.6-x86_64/ mysql

#cd mysql

#chown root:mysql -R .

注意:千万不要手动创建/mydata/data,否则会导致文件损坏

缺少相关库文件# yum install libaio

#service mysqld start

#/usr/local/mysql/bin/mysql -uroot -e "显示数据库"

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

|数据库 |

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

|信息架构 |

|mydb|

|mysql |

|性能_架构 |

|测试 |

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

[root@node2mydata]#

#service mysqld stop

#chkconfig mysqld off

配置MySQL加入集群资源

crm(live)#configure

crm(live)configure#primitive mysqld lsb:mysqld

crm(live) configure#verify

crm(live)configure#colocation mysqld_with_mystore inf: mysqld mystore

crm(live)configure#show xml

MySQL服务一定是跟MySQL存储资源在一起

crm(live)configure#order mysqld_after_mystore 强制: mystore mysqld

crm(live)configure#verify

MySQL 服务一定是在 MySQ 存储转移之后的,因此定义了顺序约束

crm(live)#status

最后更新:2014 年 7 月 9 日星期三 16:18:27

最后更改:2014 年 7 月 9 日星期三 16:18:16 通过 node2.huhu.com 上的 cibadmin

Stack:classic openais(带插件)

CurrentDC:node2.huhu.com - 具有法定人数的分区

版本:1.1.10-14.el6_5.3-368c726

配置了2个节点,预计2票

4个资源已配置

在线:[node1.huhu.com node2.huhu.com]

主/从集:MS_mysql_drbd [mysql_drbd]

主站:[node2.huhu.com]

从站:[node1.huhu.com]

mystore(ocf::heartbeat:Filesystem):已启动node2.huhu.com

mysqld (lsb:mysqld): 已启动node2.huhu.com

crm(live)#

相应登录node2节点

#/usr/local/mysql /bin/mysql -uroot -e "显示数据库"

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

|数据库 |

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

|information_schema |

| mydb|

|mysql |

|performance_schema |

|测试 |

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

#/usr/local/mysql/bin/mysql -uroot -e "删除数据库 mydb"

#/usr/local/mysql/bin/mysql -uroot -e "CREATE DATABASE testdb"

这里再次进行主从节切换

#crm nodestandby

#crm status

Masters:[node1. huhu.com ]

已停止:[ node2.huhu.com ]

mystore(ocf::heartbeat:Filesystem):已启动 node1.huhu.com

mysqld(lsb :mysqld): 已启动node1.huhu.com

#crm节点上线

主/从集:MS_mysql_drbd [mysql_drbd]

主站:[node1.huhu.com]

奴隶:[node2.huhu.com]

mystore(ocf::heartbeat:Filesystem):已启动node1.huhu.com

mysqld(lsb:mysqld):已启动node1.huhu.com

在node1节点上

#/usr/local/mysql/bin/mysql -uroot -e "SHOW DATABASES"

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

|数据库 |

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

|information_schema |

|mysql |

|性能架构 |

|测试 |

|testdb|

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

testdb正常显示

最后给MySQL定义了一个虚拟IP资源

crm(live)configure#primitive myip ocf:heartbeat:IPaddr paramsip=172.16.100.119 nic=eth0 cidr_netmask=24

crm(live)configure#verify

crm(live)configure#colocation myip_with_MS_mysql_drbd inf:MS_mysql_drbd:Master myip

crm(live)configure #验证

crm(live)configure#show xml

crm(live)configure#commit

crm(live)configure#cd ..

crm(live)#status

最后更新:2014 年 7 月 9 日星期三 16:46:27

最后更改:2014 年 7 月 9 日星期三 16:46:20 通过 node1.huhu.com 上的 cibadmin

Stack:classic openais (带插件)

CurrentDC:node2.huhu.com - 带仲裁的分区

版本:1.1.10-14.el6_5.3-368c726

已配置2个节点,2个预期投票

已配置5个资源

上线:[node1.huhu.com node2.huhu.com]

主/从集:MS_mysql_drbd [ mysql_drbd]

主站:[node1.huhu.com]

从站:[node2.huhu.com]

mystore(ocf::heartbeat:Filesystem):已启动node1 .huhu.com

mysqld (lsb:mysqld): 已启动node1.huhu.com

myip (ocf::heartbeat:IPaddr): 已启动node1.huhu.com

crm(live)

可以看到myip已经在node1启动。

#ip addr

1:lo: mtu 16436 qdisc noqueue 状态未知

link/loopback00:00:00:00:00:00 brd 00:00:00:00:00:00

inet127.0.0.1/8范围主机 lo

inet6::1/128 范围主机

valid_lftforever Preferred_lft 永远

2:eth0: mtu 1500 qdisc pfifo_fast stateUP qlen 1000

link/ether00:0c:29:a9:86:42 brd ff:ff:ff:ff:ff:ff

inet172.16.100.103/ 24 brd 172.16.100.255 范围全局 eth0

inet172.16.100.119/24brd 172.16.100.255 范围全局辅助 eth0

inet6fe80::20c:29ff:fea9:8642/64 范围链接

valid_lftforever Preferred_lft permanent

5.在其节点上进行MySQL登录验证

登录MySQL创建用户

#/usr/local/mysql/bin/mysql - uroot -e "将 *.* 上的所有内容授予由 '123.com' 识别的 root@'%';刷新权限"

#mysql -uroot -p123.com -h172.16.100.119 -e "显示数据库"

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

|数据库 |

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

|信息架构 |

|mysql |

|性能_架构 |

|测试 |

| testdb |

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

[root@localhost~]#

在模拟主从节点切换:

#crm节点待机

#crm节点上线

#crm状态

上线:[node1.huhu.com node2.huhu .com ]

主/从集:MS_mysql_drbd [mysql_drbd]

主站:[node2.huhu.com]

从站:[node1.huhu.com]

mystore (ocf::heartbeat:Filesystem): 已启动node2.huhu.com

mysqld (lsb:mysqld): 已启动node2.huhu.com

myip (ocf::heartbeat :IPaddr): 已启动node2.huhu.com

#mysql -uroot -p123.com -h172.16.100.119 -e "显示数据库"

[root@node2~]# crm

crm(live)#configure

crm(live)configure#show

nodenode1.huhu.com /

      attributesstandby=off

nodenode2.huhu.com /

      attributesstandby=off

primitivemyipIPaddr /

      paramsip=172.16.100.119nic=eth0cidr_netmask=24

primitive mysql_drbdocf:linbit :drbd /

      paramsdrbd_resource=mydrbd/

      opstarttimeout=240interval=0/

      opstoptimeout=100interval=0/

      opmonitorrole=Masterinterval=50stimeout=30s /

      opmonitorrole=Slaveinterval=60stimeout=30s

primitivemysqldlsb:mysqld

primitivemystoreFilesystem /

      paramsdevice="/dev/drbd0"directory="/mydata “ fstype = ext3/

> opstarttimeout = 60 Interval = 0/

opstoptimeout = 60 Interval = 0

msmss_mysql_drbd mysql_drbd mysql_dr_dr_drbd/

metamaster-max = 1master-max = 1master-node -max=1clone-max=2clone-node-max=1notify=true

colocationmyip_with_MS_mysql_drbdinf:MS_mysql_drbd:Mastermyip

colocationmysqld_with_mystoreinf:mysqldmystore

colocationmystore_with_MS_mysql_drbdinf:mystoreMS _mysql_drbd:大师

ordermysqld_after_mystoreMandatory:mystore mysqld

ordermystore_after_MS_mysql_drbdMandatory:MS_mysql_drbd:promote mystore:start

propertycib-bootstrap-options:/

      dc-version=1.1.10- 14. el6_5.3-368c726/

      cluster-infrastruct="classic openais (带插件)" /

      expected-quorum-votes=2/

      stonith-enabled=false/

      no-quorum-policy=ignore

rsc_defaultsrsc-options: /

      resource-stickiness=100

crm(实时)配置#

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1664
14
CakePHP 教程
1423
52
Laravel 教程
1318
25
PHP教程
1269
29
C# 教程
1248
24
MySQL的角色:Web应用程序中的数据库 MySQL的角色:Web应用程序中的数据库 Apr 17, 2025 am 12:23 AM

MySQL在Web应用中的主要作用是存储和管理数据。1.MySQL高效处理用户信息、产品目录和交易记录等数据。2.通过SQL查询,开发者能从数据库提取信息生成动态内容。3.MySQL基于客户端-服务器模型工作,确保查询速度可接受。

说明InnoDB重做日志和撤消日志的作用。 说明InnoDB重做日志和撤消日志的作用。 Apr 15, 2025 am 12:16 AM

InnoDB使用redologs和undologs确保数据一致性和可靠性。1.redologs记录数据页修改,确保崩溃恢复和事务持久性。2.undologs记录数据原始值,支持事务回滚和MVCC。

MySQL:世界上最受欢迎的数据库的简介 MySQL:世界上最受欢迎的数据库的简介 Apr 12, 2025 am 12:18 AM

MySQL是一种开源的关系型数据库管理系统,主要用于快速、可靠地存储和检索数据。其工作原理包括客户端请求、查询解析、执行查询和返回结果。使用示例包括创建表、插入和查询数据,以及高级功能如JOIN操作。常见错误涉及SQL语法、数据类型和权限问题,优化建议包括使用索引、优化查询和分表分区。

MySQL的位置:数据库和编程 MySQL的位置:数据库和编程 Apr 13, 2025 am 12:18 AM

MySQL在数据库和编程中的地位非常重要,它是一个开源的关系型数据库管理系统,广泛应用于各种应用场景。1)MySQL提供高效的数据存储、组织和检索功能,支持Web、移动和企业级系统。2)它使用客户端-服务器架构,支持多种存储引擎和索引优化。3)基本用法包括创建表和插入数据,高级用法涉及多表JOIN和复杂查询。4)常见问题如SQL语法错误和性能问题可以通过EXPLAIN命令和慢查询日志调试。5)性能优化方法包括合理使用索引、优化查询和使用缓存,最佳实践包括使用事务和PreparedStatemen

为什么要使用mysql?利益和优势 为什么要使用mysql?利益和优势 Apr 12, 2025 am 12:17 AM

选择MySQL的原因是其性能、可靠性、易用性和社区支持。1.MySQL提供高效的数据存储和检索功能,支持多种数据类型和高级查询操作。2.采用客户端-服务器架构和多种存储引擎,支持事务和查询优化。3.易于使用,支持多种操作系统和编程语言。4.拥有强大的社区支持,提供丰富的资源和解决方案。

MySQL与其他编程语言:一种比较 MySQL与其他编程语言:一种比较 Apr 19, 2025 am 12:22 AM

MySQL与其他编程语言相比,主要用于存储和管理数据,而其他语言如Python、Java、C 则用于逻辑处理和应用开发。 MySQL以其高性能、可扩展性和跨平台支持着称,适合数据管理需求,而其他语言在各自领域如数据分析、企业应用和系统编程中各有优势。

MySQL:从小型企业到大型企业 MySQL:从小型企业到大型企业 Apr 13, 2025 am 12:17 AM

MySQL适合小型和大型企业。1)小型企业可使用MySQL进行基本数据管理,如存储客户信息。2)大型企业可利用MySQL处理海量数据和复杂业务逻辑,优化查询性能和事务处理。

MySQL索引基数如何影响查询性能? MySQL索引基数如何影响查询性能? Apr 14, 2025 am 12:18 AM

MySQL索引基数对查询性能有显着影响:1.高基数索引能更有效地缩小数据范围,提高查询效率;2.低基数索引可能导致全表扫描,降低查询性能;3.在联合索引中,应将高基数列放在前面以优化查询。

See all articles