一、介绍
高可用,大家可能会想到比较简单的Keepalived,或者更早一点的 heartbeat,也可能会用到 Corosync+Pacemaker,那么他们之间有什么区别。
Heartbeat到了v3版本后,拆分为多个子项目:Heartbeat、cluster-glue、Resource Agent、Pacemaker。
Heartbeat:只负责维护集群各节点的信息以及它们之前通信。
Cluster-glue:当于一个中间层,可以将heartbeat和crm(pacemaker)联系起来,主要包含2个部分,LRM和STONITH;
Resource Agent :用来控制服务启停,监控服务状态的脚本集合,这些脚本将被LRM调用从而实现各种资源启动、停止、监控等等。
pacemaker:原Heartbeat 拆分出来的资源管理器,用来管理整个HA的控制中心,客户端通过pacemaker来配置管理监控整个集群。
它不能提供底层心跳信息传递的功能,它要想与对方节点通信需要借助底层(新拆分的heartbeat或corosync)的心跳传递服务,将信息通告给对方。
Pacemaker 配置文件比较不太容易修改,可以使用命令行界面的crmsh、pcs和图形化界面pygui、hawk等进行管理,看个人喜好。
Heartbeat 和 Corosync 的区别:
1、经过安装heartbeat 体验,Heartbeat 配置比较简单,主要修改三个文件即可: ha.cf、 haresources、 authkeys ,
但是在支持多节点的时候不知道个人配置问题,还是其他,脑裂严重(查看很多博客说只支持2个节点),并且自带的服务脚本较少,很多服务监控脚本需要自己编写。
2、Heartbeat只能为所有的资源配置一个主服务,而corosync则允许为不同的资源组配置不同的主服务 ,corosync支持多个节点的集群,
支持把资源进行分组,按照组进行资源的管理,设置主服务,自行进行启停 。
3、管理资源的灵活性:在corosync中,其会自行处理配置文件的同步问题,heartbeat则无此功能
k
配置环境准备
vip 10.101.11.13
node1 10.101.11.11
node2 10.101.11.12
安装drbd软件(各个节点)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
sudo
su
-
ip=`
/sbin/ifconfig
|
grep
'inet '
|
grep
'10.101.11'
|
grep
-
v
'grep'
|
awk
'{print $2}'
`
echo
$ip
#如果不为空
if
[
"$ip"
!=
''
];
then
echo
"数据库段IP: ${ip} "
name_add=bwscdb${ip:10:3}
'.bwscdb.local'
echo
$name_add
fi
echo
$name_add
hostnamectl
set
-
hostname
$name_add
uname
-n
systemctl daemon-reload
systemctl restart network
|
#更改各个网卡的mac 地址
1
2
3
4
|
maceth0=`
/sbin/ifconfig
eth0 |
egrep
"ether"
|
awk
'{print $2}'
`
echo
$maceth0
maceth1=`
/sbin/ifconfig
eth1 |
egrep
"ether"
|
awk
'{print $2}'
`
echo
$maceth1
|
> /etc/udev/rules.d/90-eno-fix.rules
1
2
3
4
5
|
cat
>>
/etc/udev/rules
.d
/90-eno-fix
.rules <<EOF
# This file was automatically generated on systemd update
SUBSYSTEM==
"net"
, ACTION==
"add"
, DRIVERS==
"?*"
, ATTR{address}==
"$maceth0"
, NAME=
"eth0"
SUBSYSTEM==
"net"
, ACTION==
"add"
, DRIVERS==
"?*"
, ATTR{address}==
"$maceth1"
, NAME=
"eth1"
EOF
|
> /etc/udev/rules.d/70-persistent-net.rules
1
2
3
4
5
|
cat
>>
/etc/udev/rules
.d
/70-persistent-net
.rules <<EOF
# This file was automatically generated on systemd update
SUBSYSTEM==
"net"
, ACTION==
"add"
, DRIVERS==
"?*"
, ATTR{address}==
"$maceth0"
, NAME=
"eth0"
SUBSYSTEM==
"net"
, ACTION==
"add"
, DRIVERS==
"?*"
, ATTR{address}==
"$maceth1"
, NAME=
"eth1"
EOF
|
> /etc/sysconfig/network-scripts/ifcfg-eth0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
cat
>>
/etc/sysconfig/network-scripts/ifcfg-eth0
<<EOF
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=
yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=
yes
IPV6_DEFROUTE=
yes
IPV6_PEERDNS=
yes
IPV6_PEERROUTES=
yes
IPV6_FAILURE_FATAL=no
NAME=eth0
HWADDR=$maceth0
ONBOOT=
yes
IPADDR=$ip
PREFIX=24
GATEWAY=10.101.11.1
DNS1=218.104.111.114
DNS2=223.6.6.6
EOF
|
> /etc/sysconfig/network-scripts/ifcfg-eth1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
cat
>>
/etc/sysconfig/network-scripts/ifcfg-eth1
<<EOF
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=
yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=
yes
IPV6_DEFROUTE=
yes
IPV6_PEERDNS=
yes
IPV6_PEERROUTES=
yes
IPV6_FAILURE_FATAL=no
NAME=eth1
DEVICE=eth1
ONBOOT=
yes
HWADDR=$maceth1
IPADDR=192.168.11.${ip:10:3}
PREFIX=24
EOF
|
1
|
/etc/init
.d
/network
restart
|
1
2
3
4
5
6
|
/usr/bin/chattr
-i
/etc/passwd
/usr/bin/chattr
-i
/etc/inittab
/usr/bin/chattr
-i
/etc/group
/usr/bin/chattr
-i
/etc/shadow
/usr/bin/chattr
-i
/etc/gshadow
/usr/bin/chattr
-i
/etc/hosts
|
> /etc/hosts
1
2
3
4
5
6
7
|
echo
'127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4'
>>
/etc/hosts
echo
'::1 localhost localhost.localdomain localhost6 localhost6.localdomain6'
>>
/etc/hosts
echo
'10.101.11.11 bwscdb11.bwscdb.local bwscdb11'
>>
/etc/hosts
echo
'10.101.11.12 bwscdb12.bwscdb.local bwscdb12'
>>
/etc/hosts
echo
'192.168.11.11 bwscdb11_priv bwscdb11_priv'
>>
/etc/hosts
echo
'192.168.11.12 bwscdb11_priv bwscdb12_priv'
>>
/etc/hosts
echo
'10.101.11.13 mysql_vip1 mysql_vip1'
>>
/etc/hosts
|
同步时间:
1
|
ntpdate ntp6.aliyun.com
|
安装依赖包:
1
2
3
4
5
|
yum -y
install
gcc gcc-c++
make
glibc kernel-devel kernel-headers
#yum -y install gcc gcc-c++ make glibc flex kernel kernel-devel kernel-headers
rpm --
import
https:
//www
.elrepo.org
/RPM-GPG-KEY-elrepo
.org
rpm -Uvh http:
//www
.elrepo.org
/elrepo-release-7
.0-2.el7.elrepo.noarch.rpm
yum
install
-y kmod-drbd84 drbd84-utils
|
安装 pacemaker pcs
1
2
3
4
5
6
7
8
|
ntpdate cn.pool.ntp.org
yum
install
-y pacemaker pcs psmisc polic ycoreutils-python
yum -y
install
corosync pacemaker pcs
systemctl
enable
pcsd
systemctl
enable
corosync
systemctl
enable
pacemaker
systemctl restart pcsd.service
systemctl
enable
pcsd.service
|
# 安装crmsh:最好两个节点都安装方便测试
#crmsh是opensuse源提供 http://download.opensuse.org/repositories/network:/ha-clustering:/Stable/
1
2
3
|
cd
/etc/yum
.repos.d/
wget http:
//download
.opensuse.org
/repositories/network
:
/ha-clustering
:
/Stable/CentOS_CentOS-7/network
:ha-clustering:Stable.repo
yum
install
crmsh -y
|
#重启
1
|
reboot
|
#加载DRBD模块、查看DRBD模块是否加载到内核:(node1,node2)
1
2
3
4
5
|
[root@bwscdb12 ~]
# modprobe drbd
[root@bwscdb12 ~]
#
[root@bwscdb12 ~]
# lsmod |grep drbd
drbd 397041 0
libcrc32c 12644 4 xfs,drbd,nf_nat,nf_conntrack
|
#主配置文件
1
2
|
/etc/drbd
.conf
#主配置文件
/etc/drbd
.d
/global_common
.conf
#全局配置文件
|
#查看主配置文件
1
2
3
4
|
[root@node1 ~]
# cat /etc/drbd.conf
# You can find anexample in /usr/share/doc/drbd.../drbd.conf.example
include
"drbd.d/global_common.conf"
;
include
"drbd.d/*.res"
;
|
#分别在两台机器上各添加一块硬盘,并分区
#LVM 的方案
创建lvm(每个节点都需执行)
1
2
3
|
pvcreate
/dev/sdb
vgcreate datavg
/dev/sdb
lvcreate --size 195G --name drbd_data datavg
|
#创建配置文件
>/etc/drbd.d/db.res
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
cat
>>
/etc/drbd
.d
/db
.res <<EOF
resource drbd_data{
protocol C;
startup {
wfc-timeout 0; degr-wfc-timeout 120;
}
disk {
on-io-error detach;
}
net{
timeout 60;
connect-int 10;
ping
-int 10;
max-buffers 2048;
max-epoch-size 2048;
}
syncer{
verify-alg sha1;
#加密算法
rate 100M;}
on bwscdb11.bwscdb.
local
{
device
/dev/drbd1
;
#drbd1 为DRBD 自定义分区
disk
/dev/mapper/datavg-drbd_data
;
address 10.101.11.11:7788;
meta-disk internal;}
on bwscdb12.bwscdb.
local
{
device
/dev/drbd1
;
disk
/dev/mapper/datavg-drbd_data
;
address 10.101.11.12:7788;
meta-disk internal;}
}
EOF
|
#启动
1
|
dd
if
=
/dev/zero
bs=1M count=1 of=
/dev/sdb1
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
[root@bwscdb11 drbd.d]
# drbdadm create-md drbd_data
# drbdadm create-md drbd_data
等待片刻,显示success表示drbd块创建成功
md_offset 1036290879488
al_offset 1036290846720
bm_offset 1036259221504
Found some data
==> This might destroy existing data! <==
Do you want to proceed?
[need to
type
'yes'
to confirm]
yes
initializing activity log
initializing bitmap (30884 KB) to all zero
Writing meta data...
New drbd meta data block successfully created.
success
|
注意:如果等很久都没提示success,就按下回车键再等等。
再次输入该命令:
1
|
# drbdadm create-md drbd_data
|
#启动DRBD服务:(node1,node2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
[root@bwscdb12 ~]
# systemctl start drbd
[root@bwscdb12 ~]
# systemctl status drbd
● drbd.service - DRBD -- please disable. Unless you are NOT using a cluster manager.
Loaded: loaded (
/usr/lib/systemd/system/drbd
.service; disabled; vendor preset: disabled)
Active: active (exited) since Mon 2019-04-29 16:55:05 CST; 4s ago
Process: 2959 ExecStart=
/lib/drbd/drbd
start (code=exited, status=0
/SUCCESS
)
Main PID: 2959 (code=exited, status=0
/SUCCESS
)
Apr 29 16:55:04 bwscdb12 drbd[2959]: Starting DRBD resources: [
Apr 29 16:55:04 bwscdb12 drbd[2959]: create res: drbd_data
Apr 29 16:55:04 bwscdb12 drbd[2959]: prepare disk: drbd_data
Apr 29 16:55:04 bwscdb12 drbd[2959]: adjust disk: drbd_data
Apr 29 16:55:04 bwscdb12 drbd[2959]: adjust net: drbd_data
Apr 29 16:55:04 bwscdb12 drbd[2959]: ]
Apr 29 16:55:04 bwscdb12 drbd[2959]: WARN: stdin
/stdout
is not a TTY; using
/dev/consoleoutdated-wfc-timeout
has to be shorter than degr-wfc-timeout
Apr 29 16:55:04 bwscdb12 drbd[2959]: outdated-wfc-timeout implicitly
set
to degr-wfc-timeout (120s)
Apr 29 16:55:05 bwscdb12 drbd[2959]: .
Apr 29 16:55:05 bwscdb12 systemd[1]: Started DRBD -- please disable. Unless you are NOT using a cluster manager..
|
1
|
[root@bwscdb11 ~]
#drbdadm up drbd_data
|
#初始化
1
|
[root@bwscdb11 ~]
#drbdadm --force primary drbd_data
|
#查看同步状态
1
2
3
4
5
6
7
|
[root@bwscdb11 ~]
# cat /proc/drbd
version: 8.4.11-1 (api:1
/proto
:86-101)
GIT-
hash
: 66145a308421e9c124ec391a7848ac20203bb03c build by mockbuild@, 2018-11-03 01:26:55
0: cs:SyncSource ro:Primary
/Secondary
ds:UpToDate
/Inconsistent
C r-----
ns:446464 nr:0 dw:0 dr:448592 al:16 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:41494236
[>....................]
sync
'ed: 1.1% (40520
/40956
)M
finish: 0:17:01 speed: 40,584 (40,584) K
/sec
|
1
2
3
4
5
|
[root@bwscdb11 resource.d]
# drbdadm status
drbd_data role:Primary
disk:UpToDate
peer role:Secondary
replication:SyncSource peer-disk:Inconsistent
done
:91.18
|
同步完成
1
2
3
4
5
6
|
[root@bwscdb11 ~]
#cat /proc/drbd #查看状态
[root@bwscdb11 drbd_data]
# cat /proc/drbd
version: 8.4.11-1 (api:1
/proto
:86-101)
GIT-
hash
: 66145a308421e9c124ec391a7848ac20203bb03c build by mockbuild@, 2018-11-03 01:26:55
0: cs:Connected ro:Primary
/Secondary
ds:UpToDate
/UpToDate
C r-----
ns:41618688 nr:0 dw:792108 dr:41486240 al:210 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
|
1
2
3
4
5
6
7
|
[root@bwscdb11 drbd_data]
# drbdadm status
drbd_data role:Primary
disk:UpToDate
peer role:Secondary
replication:Established peer-disk:UpToDate
[root@bwscdb11 resource.d]
# drbdadm dstate drbd_data
UpToDate
/UpToDate
|
#在对端节点 执行
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
[root@bwscdb12 ~]
# modprobe drbd
[root@bwscdb12 ~]
# lsmod | grep drbd
drbd 397041 0
libcrc32c 12644 4 xfs,drbd,nf_nat,nf_conntrack
[root@bwscdb12 ~]
#
[root@bwscdb12 ~]
# drbdadm up drbd_data
[root@bwscdb12 ~]
# cat /proc/drbd
version: 8.4.11-1 (api:1
/proto
:86-101)
GIT-
hash
: 66145a308421e9c124ec391a7848ac20203bb03c build by mockbuild@, 2018-11-03 01:26:55
0: cs:SyncTarget ro:Secondary
/Primary
ds:Inconsistent
/UpToDate
C r-----
ns:0 nr:2400256 dw:2397184 dr:0 al:8 bm:0 lo:3 pe:2 ua:3 ap:0 ep:1 wo:f oos:39543516
[>...................]
sync
'ed: 5.8% (38616
/40956
)M
finish: 0:19:00 speed: 34,652 (37,456) want: 27,960 K
/sec
[root@bwscdb12 ~]
# cat /proc/drbd
version: 8.4.11-1 (api:1
/proto
:86-101)
GIT-
hash
: 66145a308421e9c124ec391a7848ac20203bb03c build by mockbuild@, 2018-11-03 01:26:55
0: cs:Connected ro:Secondary
/Primary
ds:UpToDate
/UpToDate
C r-----
ns:0 nr:41618688 dw:42273884 dr:0 al:8 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
[root@bwscdb12 ~]
# drbdadm status
drbd_data role:Secondary
disk:UpToDate
peer role:Primary
replication:Established peer-disk:UpToDate
|
备注:ro在主从服务器上分别显示 Primary/Secondary和Secondary/Primary
ds显示UpToDate/UpToDate,表示主从配置成功(注意这个需要时间初始化和同步的,请等待显示成上面的状态后再执行下面的步骤)。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
[root@bwscdb11 ~]
# cat /proc/drbd
version: 8.4.11-1 (api:1
/proto
:86-101)
GIT-
hash
: 66145a308421e9c124ec391a7848ac20203bb03c build by mockbuild@, 2018-11-03 01:26:55
1: cs:Connected ro:Primary
/Secondary
ds:UpToDate
/UpToDate
C r-----
ns:5242684 nr:0 dw:0 dr:5244780 al:8 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
[root@bwscdb11 ~]
# cat /proc/drbd
version: 8.4.11-1 (api:1
/proto
:86-101)
GIT-
hash
: 66145a308421e9c124ec391a7848ac20203bb03c build by mockbuild@, 2018-11-03 01:26:55
1: cs:Connected ro:Primary
/Secondary
ds:UpToDate
/UpToDate
C r-----
ns:5242684 nr:0 dw:0 dr:5244780 al:8 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
[root@bwscdb11 ~]
#
[root@bwscdb11 ~]
# drbdadm status
drbd_data role:Primary
disk:UpToDate
peer role:Secondary
replication:Established peer-disk:UpToDate
[root@bwsc45 ~]
# cat /proc/drbd
version: 8.4.11-1 (api:1
/proto
:86-101)
GIT-
hash
: 66145a308421e9c124ec391a7848ac20203bb03c build by mockbuild@, 2018-11-03 01:26:55
1: cs:Connected ro:Secondary
/Primary
ds:UpToDate
/UpToDate
C r-----
ns:0 nr:5242684 dw:5242684 dr:0 al:8 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
[root@bwsc45 ~]
#
[root@bwsc45 ~]
# drbdadm status
drbd_data role:Secondary
disk:UpToDate
peer role:Primary
replication:Established peer-disk:UpToDate
|
同步完成
####***(node1,注意只有node1)
#挂载DRBD:(node1,注意只有node1)
#从刚才的状态上看到mounted和fstype参数为空,所以我们这步开始挂载DRBD到系统目录/drbd_data
(每个节点都需执行)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
mkdir
-p
/drbd_data
mkfs.xfs
/dev/drbd1
mount
/dev/drbd1
/drbd_data
[root@bwsc44 ~]
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3
36G 5.6G 30G 16% /
devtmpfs 1.9G 0 1.9G 0%
/dev
tmpfs 1.9G 0 1.9G 0%
/dev/shm
tmpfs 1.9G 9.5M 1.9G 1%
/run
tmpfs 1.9G 0 1.9G 0%
/sys/fs/cgroup
/dev/sda1
497M 207M 291M 42%
/boot
tmpfs 379M 12K 379M 1%
/run/user/42
tmpfs 379M 0 379M 0%
/run/user/0
/dev/drbd1
3G 33M 3G 1%
/drbd_data
|
注:Secondary节点上不允许对DRBD设备进行任何操作,包括挂载;所有的读写操作只能在Primary节点上进行,
只有当Primary节点挂掉时,Secondary节点才能提升为Primary节点,并自动挂载DRBD继续工作。
##两节点上修改用户hacluster的密码(用户已经固定不可以改变)
1
|
[root@cml1 ~]
# echo 000000 | passwd --stdin hacluster
|
##注册pcs集群主机(默认注册使用用户名hacluster,和密码):
1
2
3
4
5
|
[root@bwscdb11 ~]
# pcs cluster auth bwscdb11.bwscdb.local bwscdb12.bwscdb.local
Username: hacluster
Password: 000000
bwscdb11: Authorized
bwscdb12: Authorized
|
在集群上注册两台集群:
##设置集群
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
[root@bwscdb11 ~]
# pcs cluster setup --name mycluster bwscdb11.bwscdb.local bwscdb12.bwscdb.local --force
Destroying cluster on nodes: bwscdb11, bwscdb12...
bwscdb12: Stopping Cluster (pacemaker)...
bwscdb11: Stopping Cluster (pacemaker)...
bwscdb12: Successfully destroyed cluster
bwscdb11: Successfully destroyed cluster
Sending
'pacemaker_remote authkey'
to
'bwscdb11'
,
'bwscdb12'
bwscdb11: successful distribution of the
file
'pacemaker_remote authkey'
bwscdb12: successful distribution of the
file
'pacemaker_remote authkey'
Sending cluster config files to the nodes...
bwscdb11: Succeeded
bwscdb12: Succeeded
Synchronizing pcsd certificates on nodes bwscdb11, bwscdb12...
bwscdb11: Success
bwscdb12: Success
Restarting pcsd on the nodes
in
order to reload the certificates...
bwscdb11: Success
bwscdb12: Success
|
接下来就在某个节点上已经生成来corosync配置文件:
1
2
3
|
[root@bwscdb11 ~]
# cd /etc/corosync/
[root@bwscdb11 corosync]
# ls
corosync.conf corosync.conf.example corosync.conf.example.udpu corosync.xml.example uidgid.d
|
我们看一下注册进来的文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
[root@bwscdb11 corosync]
# cat corosync.conf
totem {
version: 2
cluster_name: mycluster
secauth: off
transport: udpu
}
nodelist {
node {
ring0_addr: bwscdb11.bwscdb.
local
nodeid: 1
}
node {
ring0_addr: bwscdb12.bwscdb.
local
nodeid: 2
}
}
quorum {
provider: corosync_votequorum
two_node: 1
}
logging {
to_logfile:
yes
logfile:
/var/log/cluster/corosync
.log
to_syslog:
yes
}
[root@bwscdb11 corosync]
#
|
启动集群:现在启动所有集群服务并启用它们。
1
2
3
4
5
6
7
8
9
|
[root@bwscdb11 corosync]
# pcs cluster start --all
bwscdb11: Starting Cluster (corosync)...
bwscdb12: Starting Cluster (corosync)...
bwscdb12: Starting Cluster (pacemaker)...
bwscdb11: Starting Cluster (pacemaker)...
[root@bwscdb11 corosync]
# pcs cluster enable --all
bwscdb11: Cluster Enabled
bwscdb12: Cluster Enabled
[root@bwscdb11 corosync]
#
|
##相当于启动来pacemaker和corosync:
1
2
3
4
5
6
7
8
9
10
11
12
|
[root@bwscdb11 corosync]
# ps -ef | grep corosync
root 3038 1 1 21:02 ? 00:00:00 corosync
root 3149 1995 0 21:02 pts
/0
00:00:00
grep
--color=auto corosync
[root@bwscdb11 corosync]
# ps -ef | grep pacemaker
root 3057 1 0 21:02 ? 00:00:00
/usr/sbin/pacemakerd
-f
haclust+ 3058 3057 0 21:02 ? 00:00:00
/usr/libexec/pacemaker/cib
root 3059 3057 0 21:02 ? 00:00:00
/usr/libexec/pacemaker/stonithd
root 3060 3057 0 21:02 ? 00:00:00
/usr/libexec/pacemaker/lrmd
haclust+ 3061 3057 0 21:02 ? 00:00:00
/usr/libexec/pacemaker/attrd
haclust+ 3062 3057 0 21:02 ? 00:00:00
/usr/libexec/pacemaker/pengine
haclust+ 3063 3057 0 21:02 ? 00:00:00
/usr/libexec/pacemaker/crmd
root 3167 1995 0 21:02 pts
/0
00:00:00
grep
--color=auto pacemaker
|
查看集群的状态(显示为no faults就是ok)
1
2
3
4
5
6
7
8
9
10
11
12
|
[root@bwscdb11 ~]
# corosync-cfgtool -s
Printing ring status.
Local node ID 1
RING ID 0
id
= 10.101.11.11
status = ring 0 active with no faults
[root@bwscdb12 yum.repos.d]
# corosync-cfgtool -s
Printing ring status.
Local node ID 2
RING ID 0
id
= 10.101.11.12
status = ring 0 active with no faults
|
可以查看集群是否有错:
1
2
3
4
5
|
[root@bwscdb11 corosync]
# crm_verify -L -V
error: unpack_resources:Resource start-up disabled since no STONITH resources have been defined
error: unpack_resources:Either configure some or disable STONITH with the stonith-enabled option
error: unpack_resources:NOTE: Clusters with shared data need STONITH to ensure data integrity
Errors found during check: config not valid
|
##因为我们没有配置STONITH设备,所以我们下面要关闭
关闭STONITH设备:
使用以下pcs命令禁用STONITH。
1
2
3
|
[root@bwscdb11 corosync]
# pcs property set stonith-enabled=false
[root@bwscdb11 corosync]
# crm_verify -L -V
[root@bwscdb12 ~]
# pcs property set stonith-enabled=false
|
#已经显示不报错了
1
|
[root@bwscdb12 ~]
# crm_verify -L -V
|
#接下来,因为两个节点所以对于仲裁政策,请忽略它。
#pcs property set no-quorum-policy=ignore
1
2
3
4
5
6
7
8
|
[root@bwscdb11 corosync]
# pcs property list
Cluster Properties:
cluster-infrastructure: corosync
cluster-name: mycluster
dc
-version: 1.1.19-8.el7_6.4-c3c624ea3d
have-watchdog:
false
stonith-enabled:
false
[root@bwscdb11 corosync]
#
|
Mysql安装和配置
##这里我是使用yum直接安装的,如果使用编译安装也是一样的但是就要在
1
|
wget http:
//yum
.bwceshi.
top
/SE_tools/cmake-2
.8.8.
tar
.gz
|
安装过程在这里就不详细说明了
PS 两边用户一样 环境变量一样 mysql 安装只需要在一边安装即可
> /lib/systemd/system/mysqld.service
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
cat
>>
/lib/systemd/system/mysqld
.service <<EOF
[Unit]
Description=MySQL Community Server
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
Alias=mysql.service
[Service]
User=mysql
Group=mysql
# Execute pre and post scripts as root
PermissionsStartOnly=
true
# Needed to create system tables etc.
#ExecStartPre=/usr/bin/mysql-systemd-start pre
# Start main service
ExecStart=
/drbd_data/mysql56/bin/mysqld_safe
# Don't signal startup success before a ping works
#ExecStartPost=/usr/bin/mysql-systemd-start post
# Give up if ping don't get an answer
TimeoutSec=600
Restart=always
EOF
systemctl daemon-reload
systemctl start mysqld
systemctl status mysqld
systemctl stop mysqld
systemctl restart mysqld
systemctl status mysqld
|
登录到数据库
用mysql -uroot命令登录到mysqld,
1
2
3
4
5
6
7
8
9
10
|
[root@bwscdb11 bin]
# mysql -uroot -p000000
Warning: Using a password on the
command
line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection
id
is 1
Server version: 5.6.16-log Source distribution
Copyright (c) 2000, 2014, Oracle and
/or
its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and
/or
its
affiliates. Other names may be trademarks of their respective
owners.
Type
'help;'
or
'\h'
for
help. Type
'\c'
to
clear
the current input statement.
|
##配置之前最好检查服务没有启动
1
2
3
4
5
|
systemctl stop mysqld
fuser -m -
v
-k
/drbd_data
umount
/dev/drbd1
systemctl stop drbd
systemctl
enable
mysqld
|
####需要设置开机启动在下面配置systemd:mysqld时才会出现。
Crmsh安装和资源管理
借助crmsh配置mysql高可用
1
2
3
4
5
6
7
8
9
10
11
|
[root@bwscdb11 ~]
# crm
crm(live)
# status
Stack: corosync
Current DC: bwscdb11 (version 1.1.19-8.el7_6.4-c3c624ea3d) - partition with quorum
Last updated: Tue Apr 30 06:13:11 2019
Last change: Mon Apr 29 21:05:49 2019 by root via cibadmin on bwscdb11
2 nodes configured
0 resources configured
Online: [ bwscdb11.bwscdb.
local
bwscdb12.bwscdb.
local
]
No resources
crm(live)
#
|
##配置之前最好检查服务没有启动
1
2
3
4
5
6
|
[root@bwscdb11 ~]
# systemctl stop mysqld
[root@bwscdb11 ~]
# fuser -m -v -k /dev/drbd1
[root@bwscdb11 ~]
# umount /dev/drbd1
[root@bwscdb11 ~]
# systemctl stop drbd
#[root@bwscdb11 ~]# systemctl enable mysqld
Created
symlink
from
/etc/systemd/system/multi-user
.target.wants
/mysqld
.service to
/usr/lib/systemd/system/mysqld
.service.
|
1
2
3
4
5
6
7
8
|
[root@bwscdb11 ~]
# crm
crm(live)
# configure
#关闭STONITH设备
crm(live)configure
# property stonith-enabled=false
#仲裁政策
crm(live)configure
# property no-quorum-policy=ignore
crm(live)configure
# property migration-limit=1
crm(live)configure
# verify
|
#创建资源
1
2
3
|
crm(live)configure
# primitive mysqldrbd ocf:linbit:drbd params drbd_resource=drbd_data op start timeout=240 op stop timeout=100 op monitor role=Master interval=20 timeout=30 op monitor role=Slave interval=30 timeout=30
crm(live)configure
#
crm(live)configure
#
|
#创建主从资源
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
crm(live)configure
# ms ms_mysqldrbd mysqldrbd meta master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true
crm(live)configure
# verify
crm(live)configure
# show
node 1: bwscdb11.bwscdb.
local
node 2: bwscdb12.bwscdb.
local
primitive mysqldrbd ocf:linbit:drbd \
params drbd_resource=drbd_data \
op
start timeout=240 interval=0 \
op
stop timeout=100 interval=0 \
op
monitor role=Master interval=20 timeout=30 \
op
monitor role=Slave interval=30 timeout=30
ms ms_mysqldrbd mysqldrbd \
meta master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=
true
property cib-bootstrap-options: \
have-watchdog=
false
\
dc
-version=1.1.19-8.el7_6.4-c3c624ea3d \
cluster-infrastructure=corosync \
cluster-name=mycluster \
stonith-enabled=
false
\
no-quorum-policy=ignore \
migration-limit=1
crm(live)configure
# commit
|
增加文件系统资源:
1
2
3
|
crm(live)configure
# primitive mystore ocf:heartbeat:Filesystem params device=/dev/drbd1 directory=/drbd_data fstype=xfs op start timeout=60 opstop timeout=60
crm(live)configure
#
crm(live)configure
# verify
|
给文件系统类型和drbd做亲缘性绑定(inf为证书为接近,当位负数时候为分离)。
###资源间亲缘关系
1
2
3
|
crm(live)configure
#colocation mystore_with_ms_mysqldrbd inf: mystore ms_mysqldrbd:Master
crm(live)configure
# verify
|
做顺序约束,当drbd起来之后才对文件系统进行绑定:
#资源顺序
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
crm(live)configure
#order mystore_after_ms_mysqldrbd mandatory: ms_mysqldrbd:promote mystore:start
crm(live)configure
# verify
crm(live)configure
# commit
crm(live)configure
# show
node 1: bwscdb11.bwscdb.
local
node 2: bwscdb12.bwscdb.
local
primitive mysqldrbd ocf:linbit:drbd \
params drbd_resource=drbd_data \
op
start timeout=240 interval=0 \
op
stop timeout=100 interval=0 \
op
monitor role=Master interval=20 timeout=30 \
op
monitor role=Slave interval=30 timeout=30
primitive mystore Filesystem \
params device=
"/dev/drbd1"
directory=
"/drbd_data"
fstype=xfs \
op
start timeout=60 interval=0 opstop
ms ms_mysqldrbd mysqldrbd \
meta master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=
true
order mystore_after_ms_mysqldrbd Mandatory: ms_mysqldrbd:promote mystore:start
colocation mystore_with_ms_mysqldrbd inf: mystore ms_mysqldrbd:Master
property cib-bootstrap-options: \
have-watchdog=
false
\
dc
-version=1.1.19-8.el7_6.4-c3c624ea3d \
cluster-infrastructure=corosync \
cluster-name=mycluster \
stonith-enabled=
false
\
no-quorum-policy=ignore \
migration-limit=1
|
查看
1
2
3
4
5
6
7
8
9
10
11
|
[root@bwscdb12 src]
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3
36G 5.6G 30G 16% /
devtmpfs 1.9G 0 1.9G 0%
/dev
tmpfs 1.9G 38M 1.9G 2%
/dev/shm
tmpfs 1.9G 9.5M 1.9G 1%
/run
tmpfs 1.9G 0 1.9G 0%
/sys/fs/cgroup
/dev/sda1
497M 207M 291M 42%
/boot
tmpfs 379M 12K 379M 1%
/run/user/42
tmpfs 379M 0 379M 0%
/run/user/0
/dev/drbd1
40G 49M 38G 1%
/drbd_data
|
增加mysql资源,资源间在一起启动
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
[root@bwscdb11 ~]
# crm
crm(live)
# configure
#创建资源
crm(live)configure
# primitive mysqld systemd:mysqld
#资源间亲缘关系
crm(live)configure
# colocation mysqld_with_mystore inf: mysqld mystore
crm(live)configure
# verify
WARNING: mysqld: default timeout 20s
for
start is smaller than the advised 100
WARNING: mysqld: default timeout 20s
for
stop is smaller than the advised 100
##会有警告,直接edit编辑即可
primitive mysqld systemd:mysqld
op
start timeout=100 interval=0
op
stop timeout=100
interval=0
crm(live)configure
# commit
[root@bwscdb11 ~]
# systemctl status mysqld
● mysqld.service - Cluster Controlled mysqld
Loaded: loaded (
/usr/lib/systemd/system/mysqld
.service; disabled; vendor preset: disabled)
Drop-In:
/run/systemd/system/mysqld
.service.d
└─50-pacemaker.conf
Active: active (running) since Mon 2019-05-20 17:19:16 CST; 11s ago
Main PID: 8787 (mysqld_safe)
CGroup:
/system
.slice
/mysqld
.service
├─8787
/bin/sh
/drbd_data/mysql56/bin/mysqld_safe
└─9534
/drbd_data/mysql56/bin/mysqld
--basedir=
/drbd_data/mysql56
--datadir=
/drbd_data/mysqldata
--plugin-
dir
=
/drbd_data/mysql56/lib/plugin
--log-error=
/drbd_data/mysql56/txy_m
...
May 20 17:19:16 bwscdb11.bwscdb.
local
systemd[1]: Started Cluster Controlled mysqld.
May 20 17:19:16 bwscdb11.bwscdb.
local
mysqld_safe[8787]: 190520 17:19:16 mysqld_safe Logging to
'/drbd_data/mysql56/txy_mysql_error.log'
.
May 20 17:19:16 bwscdb11.bwscdb.
local
mysqld_safe[8787]: 190520 17:19:16 mysqld_safe Starting mysqld daemon with databases from
/drbd_data/mysqldata
|
做顺序约束,先挂载文件系统,然后启动mysqld资源
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
crm(live)configure
# order mysqld_after_mystore mandatory: mystore mysqld
crm(live)configure
# verify
crm(live)configure
# commit
crm(live)configure
# show
node 1: bwscdb11.bwscdb.
local
node 2: bwscdb12.bwscdb.
local
primitive mysqld systemd:mysqld
primitive mysqldrbd ocf:linbit:drbd \
params drbd_resource=drbd_data \
op
start timeout=240 interval=0 \
op
stop timeout=100 interval=0 \
op
monitor role=Master interval=20 timeout=30 \
op
monitor role=Slave interval=30 timeout=30
primitive mystore Filesystem \
params device=
"/dev/drbd1"
directory=
"/drbd_data"
fstype=xfs \
op
start timeout=60 interval=0 opstop
ms ms_mysqldrbd mysqldrbd \
meta master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=
true
order mysqld_after_mystore Mandatory: mystore mysqld
colocation mysqld_with_mystore inf: mysqld mystore
order mystore_after_ms_mysqldrbd Mandatory: ms_mysqldrbd:promote mystore:start
colocation mystore_with_ms_mysqldrbd inf: mystore ms_mysqldrbd:Master
property cib-bootstrap-options: \
have-watchdog=
false
\
dc
-version=1.1.19-8.el7_6.4-c3c624ea3d \
cluster-infrastructure=corosync \
cluster-name=mycluster \
stonith-enabled=
false
\
no-quorum-policy=ignore \
migration-limit=1
|
检测资源,并且看一下node2的mysql是否已经启动:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
[root@bwscdb11 yum.repos.d]
# crm
crm(live)
# status
Stack: corosync
Current DC: bwscdb12 (version 1.1.19-8.el7_6.4-c3c624ea3d) - partition with quorum
Last updated: Tue Apr 30 23:06:55 2019
Last change: Tue Apr 30 23:06:36 2019 by root via cibadmin on bwscdb11
2 nodes configured
4 resources configured
Online: [ bwscdb11.bwscdb.
local
bwscdb12.bwscdb.
local
]
Full list of resources:
Master
/Slave
Set: ms_mysqldrbd [mysqldrbd]
Masters: [ bwscdb11 ]
Slaves: [ bwscdb12 ]
mystore(ocf::heartbeat:Filesystem):Started bwscdb11
mysqld(systemd:mysqld):Started bwscdb11
|
增加VIP资源,作虚拟IP调度 crm configure primitive eth0_virtual ocf:heartbeat:IPaddr params ip="200.zzz.z.162" nic="eth0" cidr_netmask="24" broadcast="200.zzz.z.255" op monitor interval="10s" timeout="20s"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
crm(live)
#
crm(live)
# configure
crm(live)configure
# primitive myvip ocf:heartbeat:IPaddr params ip="10.101.11.13" nic="eth0" cidr_netmask="24" op monitor interval=20 timeout=20 on-fail=restart
#资源间亲缘关系 myvip ms_mysqldrbd 在一起启动
crm(live)configure
# colocation vip_with_ms_mysqldrbd inf: myvip mysqld
crm(live)configure
# verify
crm(live)configure
# commit
crm(live)configure
# show
node 1: bwscdb11.bwscdb.
local
node 2: bwscdb12.bwscdb.
local
primitive mysqld systemd:mysqld
primitive mysqldrbd ocf:linbit:drbd \
params drbd_resource=drbd_data \
op
start timeout=240 interval=0 \
op
stop timeout=100 interval=0 \
op
monitor role=Master interval=20 timeout=30 \
op
monitor role=Slave interval=30 timeout=30
primitive mystore Filesystem \
params device=
"/dev/drbd1"
directory=
"/drbd_data"
fstype=xfs \
op
start timeout=60 interval=0 opstop
primitive myvip IPaddr \
params ip=10.101.11.13 nic=eth0 cidr_netmask=24 \
op
monitor interval=20 timeout=20 on-fail=restart
ms ms_mysqldrbd mysqldrbd \
meta master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=
true
order mysqld_after_mystore Mandatory: mystore mysqld
colocation mysqld_with_mystore inf: mysqld mystore
order mystore_after_ms_mysqldrbd Mandatory: ms_mysqldrbd:promote mystore:start
colocation mystore_with_ms_mysqldrbd inf: mystore ms_mysqldrbd:Master
colocation vip_with_ms_mysqldrbd inf: myvip mysqld
property cib-bootstrap-options: \
have-watchdog=
false
\
dc
-version=1.1.19-8.el7_6.4-c3c624ea3d \
cluster-infrastructure=corosync \
cluster-name=mycluster \
stonith-enabled=
false
\
no-quorum-policy=ignore \
migration-limit=1
[root@bwscdb11 ~]
# ip addr | grep 10.101.11
inet 10.101.11.11
/24
brd 10.101.11.255 scope global eth0
inet 10.101.11.13
/24
brd 10.101.11.255 scope global secondary eth0
|
#测试
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
[root@bwscdb11 ~]
# mysql -uroot -p000000
Welcome to the mysqld monitor. Commands end with ; or \g.
Your mysqld connection
id
is 5
Server version: 5.5.60-mysqld mysqld Server
Copyright (c) 2000, 2018, Oracle, mysqld Corporation Ab and others.
Type
'help;'
or
'\h'
for
help. Type
'\c'
to
clear
the current input statement.
mysqld [(none)]> use mysql;
Reading table information
for
completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysqld [mysql]>
select
database();
+------------+
| database() |
+------------+
| mysql |
+------------+
1 row
in
set
(0.00 sec)
mysqld [mysql]>
select
User,Host,Password from user;
+------+-----------+-------------------------------------------+
| User | Host | Password |
+------+-----------+-------------------------------------------+
| root | localhost | *032197AE5731D4664921A6CCAC7CFCE6A0698693 |
| root | bwscdb11 | |
| root | 127.0.0.1 | |
| root | ::1 | |
| | localhost | |
| | bwscdb11 | |
+------+-----------+-------------------------------------------+
6 rows
in
set
(0.00 sec)
mysqld [mysql]> delete from mysql.user where user=
''
;
Query OK, 2 rows affected (0.00 sec)
mysqld [mysql]> delete from mysql.user where password=
''
;
Query OK, 3 rows affected (0.00 sec)
mysqld [mysql]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysqld [mysql]> SET PASSWORD FOR
'root'
@
'localhost'
= PASSWORD(
'000000'
);
Query OK, 0 rows affected (0.00 sec)
mysqld [mysql]> flush privileges;
= PASSWORD(
'000000'
);
flush privileges;Query OK, 0 rows affected (0.00 sec)
mysqld [mysql]> use mysql
Database changed
mysqld [mysql]> update user
set
host =
'%'
where user =
'root'
;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysqld [mysql]> GRANT ALL PRIVILEGES ON *.* TO
'root'
@
'localhost'
IDENTIFIED BY
'000000'
WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysqld [mysql]>
mysqld [mysql]>
mysqld [mysql]> SET PASSWORD FOR
'root'
@
'%'
= PASSWORD(
'000000'
);
ERROR 1133 (42000): Can't
find
any matching row
in
the user table
mysqld [mysql]>
mysqld [mysql]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysqld [mysql]>
mysqld [mysql]>
mysqld [mysql]>
exit
Bye
[root@bwscdb11 ~]
# mysql -uroot -p000000
Welcome to the mysqld monitor. Commands end with ; or \g.
Your mysqld connection
id
is 6
Server version: 5.5.60-mysqld mysqld Server
Copyright (c) 2000, 2018, Oracle, mysqld Corporation Ab and others.
Type
'help;'
or
'\h'
for
help. Type
'\c'
to
clear
the current input statement.
mysqld [(none)]>
|
###下面我们把 bwsw112 设置为 standby,然后在 bwscdb12 访问:
#standby
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
[root@bwscdb11 ~]
# crm node standby bwscdb11
[root@bwscdb11 ~]
# crm status
Stack: corosync
Current DC: bwscdb12 (version 1.1.19-8.el7_6.4-c3c624ea3d) - partition with quorum
Last updated: Tue Apr 30 23:23:07 2019
Last change: Tue Apr 30 23:22:53 2019 by root via crm_attribute on bwscdb11
2 nodes configured
5 resources configured
Node bwscdb11: standby
Online: [ bwscdb12 ]
Full list of resources:
Master
/Slave
Set: ms_mysqldrbd [mysqldrbd]
Masters: [ bwscdb12 ]
Stopped: [ bwscdb11 ]
mystore(ocf::heartbeat:Filesystem):Started bwscdb12
mysqld(systemd:mysqld):Started bwscdb12
myvip(ocf::heartbeat:IPaddr):Started bwscdb12
|
在 bwscdb12 访问:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
[root@bwscdb12 yum.repos.d]
# mysql -uroot -p000000
Welcome to the mysqld monitor. Commands end with ; or \g.
Your mysqld connection
id
is 2
Server version: 5.5.60-mysqld mysqld Server
Copyright (c) 2000, 2018, Oracle, mysqld Corporation Ab and others.
Type
'help;'
or
'\h'
for
help. Type
'\c'
to
clear
the current input statement.
mysqld [(none)]>
select
User,Host,Password from user;
ERROR 1046 (3D000): No database selected
mysqld [(none)]> use mysql;
Reading table information
for
completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysqld [mysql]>
select
User,Host,Password from user;
+------+-----------+-------------------------------------------+
| User | Host | Password |
+------+-----------+-------------------------------------------+
| root | % | *032197AE5731D4664921A6CCAC7CFCE6A0698693 |
| root | localhost | *032197AE5731D4664921A6CCAC7CFCE6A0698693 |
+------+-----------+-------------------------------------------+
2 rows
in
set
(0.00 sec)
mysqld [mysql]>
exit
# online 节点1 standby 节点2 切换后在online 节点2
crm node online bwscdb11
sleep
5
crm node standby bwscdb12
sleep
10
crm node online bwscdb12
[root@bwscdb11 ~]
# crm status
Stack: corosync
Current DC: bwscdb12 (version 1.1.19-8.el7_6.4-c3c624ea3d) - partition with quorum
Last updated: Tue Apr 30 23:26:48 2019
Last change: Tue Apr 30 23:26:44 2019 by root via crm_attribute on bwscdb11
2 nodes configured
5 resources configured
Online: [ bwscdb11.bwscdb.
local
bwscdb12.bwscdb.
local
]
Full list of resources:
Master
/Slave
Set: ms_mysqldrbd [mysqldrbd]
Masters: [ bwscdb11 ]
Slaves: [ bwscdb12 ]
mystore(ocf::heartbeat:Filesystem):Started bwscdb11
mysqld(systemd:mysqld):Started bwscdb11
myvip(ocf::heartbeat:IPaddr):Started bwscdb11
[root@bwscdb11 yum.repos.d]
# mysql -uroot -p000000
Welcome to the mysqld monitor. Commands end with ; or \g.
Your mysqld connection
id
is 2
Server version: 5.5.60-mysqld mysqld Server
Copyright (c) 2000, 2018, Oracle, mysqld Corporation Ab and others.
Type
'help;'
or
'\h'
for
help. Type
'\c'
to
clear
the current input statement.
mysqld [(none)]>
|
move 资源的方式迁移 切换主备
1
2
|
[root@bwsc45 yum.repos.d]
# pcs resource move ms_haproxy_drbd bwscdb12.bwscdb.local
[root@bwsc45 yum.repos.d]
# crm status
|