DRBD+heartbeat+Mysql配置安装
2017-03-04 00:15
483 查看
安装环境准备
1. 配置/etc/hosts文件,在两台服务器的文件中,均在最后加入以下配置:
vmtxuzhengyunagiostest1 172.27.206.6
vmtxuzhengyunagiostest2 172.27.206.7
2. 关闭两台设备的安全配置
chkconfig iptables off
vi /etc/selinux/config
把SELINUX=enforcing改成disabled
3. 重启服务器以生效
4.安装GCC
yum -y install gcc gcc-c++ kernel-devel
5.安装flex
yum -y install kernel-devel kernel kernel-headers flex
6.安装 lrzsz 安装上传下载工具 ,执行rz命令进行文件上传,执行[sz 文件名]命令进行文件下载。
yum -y install lrzsz
7.更新内核
yum install kernel*
划分同步硬盘块
1.fdisk -l
//--------------
Disk /dev/sda: 64.4 GB, 64424509440 bytes
255 heads, 63 sectors/track, 7832 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0000ed56
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 7833 62401536 8e Linux LVM
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/VolGroup-lv_root: 52.3 GB, 52344913920 bytes
255 heads, 63 sectors/track, 6363 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/VolGroup-lv_swap: 6442 MB, 6442450944 bytes
255 heads, 63 sectors/track, 783 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/VolGroup-lv_home: 5108 MB, 5108662272 bytes
255 heads, 63 sectors/track, 621 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
//-----------
2.查看是否有/dev/sdb,没有请挂载第二块硬盘,大小预计是10GB
由于安装操作系统的时候,预留了一部分磁盘空间没有分区,所以要在/dev/sdb上划分出/dev/sdb1
fdisk /dev/sdb
//-------------------------
The number of cylinders for this disk is set to 17844.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help):n
Command action
e extended
p primary partition (1-4)
p
First cylinder (3147-17844, default 3147):[直接回车]
Using default value 3147
Last cylinder or +size or +sizeM or +sizeK (3147-17844, default 17844):[直接回车]
Using default value 17844
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
//----------------------
再用fdisk -l命令查看一下,是否划分成功
//------------------------
Disk /dev/sdb: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x58198a30
Device Boot Start End Blocks Id System
/dev/sdb1 1 5221 41937651 83 Linux
//-------------------------------
3.重启系统,让划分生效
安装MySQL
1)yum 安装MYSQL
yum install -y mysql-server mysql mysql-deve
2)测试是否完成安装
rpm -qi mysql-server
3)启动mysql 服务
service mysqld start
4)设置成开机启动,这样就不用每次都去手动启动了
chkconfig mysqld on
5) 为root账号设置密码
/usr/bin/mysqladmin -u root password '_Y-93iE2'
6)通过 mysql -u root -p 命令来登录我们的mysql数据库了
安装DRBD
1)rz上传本地DRBD安装包到/home
2)解压
tar xzvf drbd-8.3.15.tar.gz
3)cd drbd-8.3.15
4)使用命令查看,此时的内核版本
# uname -r
2.6.32-642.11.1.el6.x86_64
5)./configure --prefix=/usr/local/drbd --with-km --with-heartbeat
6)make KDIR=/usr/src/kernels/2.6.32-642.15.1.el6.x86_64
7)make install
8)cd scripts
9)mkdir /usr/share/cluster
10)cp drbd.sh.rhcs /usr/share/cluster/drbd.sh
11)cp drbd.metadata.rhcs /usr/share/cluster/drbd.metadata
12)cp drbd /etc/init.d/
13)chkconfig --add drbd
14)chkconfig drbd on
配置DRBD
1) 配置文件修改 vi /usr/local/etc/drbd.conf
include "drbd.d/global_common.conf";
include "drbd.d/*.res";
2)保持默认即可 vi /usr/local/drbd/etc/drbd.d/global_common.conf
global {
usage-count yes;
# minor-count dialog-refresh disable-ip-verification
}
common {
protocol C;
handlers {
# These are EXAMPLE handlers only.
# They may have severe implications,
# like hard resetting the node under certain circumstances.
# Be careful when chosing your poison.
# 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";
# fence-peer "/usr/lib/drbd/crm-fence-peer.sh";
# split-brain "/usr/lib/drbd/notify-split-brain.sh root";
# out-of-sync "/usr/lib/drbd/notify-out-of-sync.sh root";
# before-resync-target "/usr/lib/drbd/snapshot-resync-target-lvm.sh -p 15 -- -c 16k";
# after-resync-target /usr/lib/drbd/unsnapshot-resync-target-lvm.sh;
}
startup {
# wfc-timeout degr-wfc-timeout outdated-wfc-timeout wait-after-sb
}
disk {
# on-io-error fencing use-bmbv no-disk-barrier no-disk-flushes
# no-disk-drain no-md-flushes max-bio-bvecs
}
net {
# sndbuf-size rcvbuf-size timeout connect-int ping-int ping-timeout max-buffers
# max-epoch-size ko-count allow-two-primaries cram-hmac-alg shared-secret
# after-sb-0pri after-sb-1pri after-sb-2pri data-integrity-alg no-tcp-cork
}
3)vi /usr/local/drbd/etc/drbd.d/r0.res
resource r0 {
on vmtxuzhengyunagiostest1 {
device /dev/drbd0;
disk /dev/sdb1;
address 172.27.206.6:7789;
meta-disk internal;
}
on vmtxuzhengyunagiostest2 {
device /dev/drbd0;
disk /dev/sdb1;
address 172.27.206.7:7789;
meta-disk internal;
}
}
2)生成新的modules.dep。
depmod
3)加载drbd的内核模块
modprobe drbd
4)确认 drbd 模块是否载入
lsmod|grep drbd
5)创建drbd元数据
drbdadm create-md r0
6)启动drbd
drbdadm up r0
7)选择其中一台服务器作为DRBD的primary节点,并格式化DRBD块设备(注意此步骤只需要在其中一台服务器上做)
drbdadm -- --overwrite-data-of-peer primary r0
mkfs.ext3 /dev/drbd0
8)查看DRBD同步状态
cat /proc/drbd
9)挂载目录
mkdir /data
mount /dev/drbd0 /data
配置MySQL
1. 修改配置文件
vi /etc/my.cnf
修改datadir = /data/mysql_data此处为MySQL存放数据文件的位置
2. 创建目录与授权,在primary上操作
mkdir /data/mysql_data
chown mysql: /data/mysql_data
3. 初始化数据库
/usr/bin/mysql_install_db --user=mysql --datadir=/data/mysql_data
4.启动数据库
service mysqld start
MySQL+DRBD切换测试
至此,MySQL与DRBD部署完毕,可进行手工主备切换测试
1. 在vmtxuzhengyunagiostest1上正在运行的数据库中创建一个数据库,如aaa
2. 停止vmtxuzhengyunagiostest1上的MySQL并且将DRBD切换成secondary
service mysqld stop
umount /dev/drbd0 /data
drbdadm secondary r0
3. 在vmtxuzhengyunagiostest2上开启MySQL服务,并且将DRBD切换成primary(切换前需要确认在vmtxuzhengyunagiostest2上有/data目录,没有的话手工创建)
drbdadm primary r0
mount /dev/drbd0 /data
service mysqld start
4. 确认是否切换成功
可以查看/proc/drbd确认,并且进入vmtxuzhengyunagiostest2上的MySQL查看是否存在数据库aaa
安装Heartbeat依赖项
1) 安装glib
yum install bzip2-devel libxml2* yacc bison glib2-devel
3)rz上传本地libnet-1.1.2.1.tar.gz安装包到/home
4)tar xzvf libnet-1.1.2.1.tar.gz
5)cd libnet
6)./configure
7)make
8)make install
安装Heartbeat
1)rz上传本地epel-release-latest-6.noarch.rpm安到/home
2)rpm -ivh epel-release-latest-6.noarch.rpm
3)yum -y install heartbeat-stonith heartbeat-pils heartbeat heartbeat-devel heartbeat-gui libnet
配置Heartbeat
1. 寻找主要包括三个配置文件,authkeys,ha.cf和haresources
rpm -q heartbeat -d
2)vi authkeys
把以下两行前面的注释去掉,使用crc的认证方式
auth 1
1 crc
3) 配置ha.cf
vmtxuzhengyunagiostest1上
vi ha.cf
logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 30
warntime 10
initdead 60
udpport 694
ucast eth2 172.27.206.7
auto_failback on
node vmtxuzhengyunagiostest1
node vmtxuzhengyunagiostest2
ping 172.27.206.255
respawn hacluster /usr/lib64/heartbeat/ipfail
vmtxuzhengyunagiostest2上
vi ha.cf
logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 30
warntime 10
initdead 60
udpport 694
ucast eth2 172.27.206.6
auto_failback on
node vmtxuzhengyunagiostest1
node vmtxuzhengyunagiostest2
ping 172.27.206.255
respawn hacluster /usr/lib64/heartbeat/ipfail
4) 配置haresources
haresources用来设置master的主机名、虚拟IP、服务以及磁盘挂载等
vi haresources
在最后加入一行
vmtxuzhengyunagiostest1 IPaddr:: 172.27.206.5/24/eth1 drbddisk::r0 Filesystem::/dev/drbd0::/data mysql
两台服务器上的配置必须一致
cp /usr/share/doc/heartbeat-3.0.4/ha.cf /etc/ha.d/ha.cf
cp /usr/share/doc/heartbeat-3.0.4/authkeys /etc/ha.d/authkeys
cp /usr/share/doc/heartbeat-3.0.4/haresources /etc/ha.d/haresources
cd /etc/ha.d
chmod 600 authkeys
5)启动Heartbeat
service heartbeat start
DRBD脑裂处理
在选定的非主节点上执行
drbdadm secondary r0
drbdadm -- --discard-my-data connect r0
主节点上执行
drbdadm connect r0
MySQL+DRBD+Heartbeat切换测试
1. 在vmtxuzhengyunagiostest1上停止heartbeat服务后,drbd与mysql切换至vmtxuzhengyunagiostest2
2. 在vmtxuzhengyunagiostest1上重新启动heartbeat服务后,drbd与mysql切换回vmtxuzhengyunagiostest1
3. 将vmtxuzhengyunagiostest1上的172.27.206.6 eth2网卡停止,则vmtxuzhengyunagiostest1无法ping通之前配置的172.27.206.255,drbd与mysql切换至vmtxuzhengyunagiostest2
4. 将vmtxuzhengyunagiostest1上的eth1网卡恢复,drbd与mysql切换回vmtxuzhengyunagiostest1
5. 将vmtxuzhengyunagiostest1服务器直接关机,drbd与mysql切换至vmtxuzhengyunagiostest2
6. 将vmtxuzhengyunagiostest1服务器重新开机,drbd与mysql切换回vmtxuzhengyunagiostest1
注意:切换过程中,可进行ping 172.27.206.5进行测试,或者连接mysql在每次切换完成后对数据库进行操作以此来观察切换效果。
1. 配置/etc/hosts文件,在两台服务器的文件中,均在最后加入以下配置:
vmtxuzhengyunagiostest1 172.27.206.6
vmtxuzhengyunagiostest2 172.27.206.7
2. 关闭两台设备的安全配置
chkconfig iptables off
vi /etc/selinux/config
把SELINUX=enforcing改成disabled
3. 重启服务器以生效
4.安装GCC
yum -y install gcc gcc-c++ kernel-devel
5.安装flex
yum -y install kernel-devel kernel kernel-headers flex
6.安装 lrzsz 安装上传下载工具 ,执行rz命令进行文件上传,执行[sz 文件名]命令进行文件下载。
yum -y install lrzsz
7.更新内核
yum install kernel*
划分同步硬盘块
1.fdisk -l
//--------------
Disk /dev/sda: 64.4 GB, 64424509440 bytes
255 heads, 63 sectors/track, 7832 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0000ed56
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 7833 62401536 8e Linux LVM
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/VolGroup-lv_root: 52.3 GB, 52344913920 bytes
255 heads, 63 sectors/track, 6363 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/VolGroup-lv_swap: 6442 MB, 6442450944 bytes
255 heads, 63 sectors/track, 783 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/VolGroup-lv_home: 5108 MB, 5108662272 bytes
255 heads, 63 sectors/track, 621 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
//-----------
2.查看是否有/dev/sdb,没有请挂载第二块硬盘,大小预计是10GB
由于安装操作系统的时候,预留了一部分磁盘空间没有分区,所以要在/dev/sdb上划分出/dev/sdb1
fdisk /dev/sdb
//-------------------------
The number of cylinders for this disk is set to 17844.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help):n
Command action
e extended
p primary partition (1-4)
p
First cylinder (3147-17844, default 3147):[直接回车]
Using default value 3147
Last cylinder or +size or +sizeM or +sizeK (3147-17844, default 17844):[直接回车]
Using default value 17844
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
//----------------------
再用fdisk -l命令查看一下,是否划分成功
//------------------------
Disk /dev/sdb: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x58198a30
Device Boot Start End Blocks Id System
/dev/sdb1 1 5221 41937651 83 Linux
//-------------------------------
3.重启系统,让划分生效
安装MySQL
1)yum 安装MYSQL
yum install -y mysql-server mysql mysql-deve
2)测试是否完成安装
rpm -qi mysql-server
3)启动mysql 服务
service mysqld start
4)设置成开机启动,这样就不用每次都去手动启动了
chkconfig mysqld on
5) 为root账号设置密码
/usr/bin/mysqladmin -u root password '_Y-93iE2'
6)通过 mysql -u root -p 命令来登录我们的mysql数据库了
安装DRBD
1)rz上传本地DRBD安装包到/home
2)解压
tar xzvf drbd-8.3.15.tar.gz
3)cd drbd-8.3.15
4)使用命令查看,此时的内核版本
# uname -r
2.6.32-642.11.1.el6.x86_64
5)./configure --prefix=/usr/local/drbd --with-km --with-heartbeat
6)make KDIR=/usr/src/kernels/2.6.32-642.15.1.el6.x86_64
7)make install
8)cd scripts
9)mkdir /usr/share/cluster
10)cp drbd.sh.rhcs /usr/share/cluster/drbd.sh
11)cp drbd.metadata.rhcs /usr/share/cluster/drbd.metadata
12)cp drbd /etc/init.d/
13)chkconfig --add drbd
14)chkconfig drbd on
配置DRBD
1) 配置文件修改 vi /usr/local/etc/drbd.conf
include "drbd.d/global_common.conf";
include "drbd.d/*.res";
2)保持默认即可 vi /usr/local/drbd/etc/drbd.d/global_common.conf
global {
usage-count yes;
# minor-count dialog-refresh disable-ip-verification
}
common {
protocol C;
handlers {
# These are EXAMPLE handlers only.
# They may have severe implications,
# like hard resetting the node under certain circumstances.
# Be careful when chosing your poison.
# 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";
# fence-peer "/usr/lib/drbd/crm-fence-peer.sh";
# split-brain "/usr/lib/drbd/notify-split-brain.sh root";
# out-of-sync "/usr/lib/drbd/notify-out-of-sync.sh root";
# before-resync-target "/usr/lib/drbd/snapshot-resync-target-lvm.sh -p 15 -- -c 16k";
# after-resync-target /usr/lib/drbd/unsnapshot-resync-target-lvm.sh;
}
startup {
# wfc-timeout degr-wfc-timeout outdated-wfc-timeout wait-after-sb
}
disk {
# on-io-error fencing use-bmbv no-disk-barrier no-disk-flushes
# no-disk-drain no-md-flushes max-bio-bvecs
}
net {
# sndbuf-size rcvbuf-size timeout connect-int ping-int ping-timeout max-buffers
# max-epoch-size ko-count allow-two-primaries cram-hmac-alg shared-secret
# after-sb-0pri after-sb-1pri after-sb-2pri data-integrity-alg no-tcp-cork
}
3)vi /usr/local/drbd/etc/drbd.d/r0.res
resource r0 {
on vmtxuzhengyunagiostest1 {
device /dev/drbd0;
disk /dev/sdb1;
address 172.27.206.6:7789;
meta-disk internal;
}
on vmtxuzhengyunagiostest2 {
device /dev/drbd0;
disk /dev/sdb1;
address 172.27.206.7:7789;
meta-disk internal;
}
}
2)生成新的modules.dep。
depmod
3)加载drbd的内核模块
modprobe drbd
4)确认 drbd 模块是否载入
lsmod|grep drbd
5)创建drbd元数据
drbdadm create-md r0
6)启动drbd
drbdadm up r0
7)选择其中一台服务器作为DRBD的primary节点,并格式化DRBD块设备(注意此步骤只需要在其中一台服务器上做)
drbdadm -- --overwrite-data-of-peer primary r0
mkfs.ext3 /dev/drbd0
8)查看DRBD同步状态
cat /proc/drbd
9)挂载目录
mkdir /data
mount /dev/drbd0 /data
配置MySQL
1. 修改配置文件
vi /etc/my.cnf
修改datadir = /data/mysql_data此处为MySQL存放数据文件的位置
2. 创建目录与授权,在primary上操作
mkdir /data/mysql_data
chown mysql: /data/mysql_data
3. 初始化数据库
/usr/bin/mysql_install_db --user=mysql --datadir=/data/mysql_data
4.启动数据库
service mysqld start
MySQL+DRBD切换测试
至此,MySQL与DRBD部署完毕,可进行手工主备切换测试
1. 在vmtxuzhengyunagiostest1上正在运行的数据库中创建一个数据库,如aaa
2. 停止vmtxuzhengyunagiostest1上的MySQL并且将DRBD切换成secondary
service mysqld stop
umount /dev/drbd0 /data
drbdadm secondary r0
3. 在vmtxuzhengyunagiostest2上开启MySQL服务,并且将DRBD切换成primary(切换前需要确认在vmtxuzhengyunagiostest2上有/data目录,没有的话手工创建)
drbdadm primary r0
mount /dev/drbd0 /data
service mysqld start
4. 确认是否切换成功
可以查看/proc/drbd确认,并且进入vmtxuzhengyunagiostest2上的MySQL查看是否存在数据库aaa
安装Heartbeat依赖项
1) 安装glib
yum install bzip2-devel libxml2* yacc bison glib2-devel
3)rz上传本地libnet-1.1.2.1.tar.gz安装包到/home
4)tar xzvf libnet-1.1.2.1.tar.gz
5)cd libnet
6)./configure
7)make
8)make install
安装Heartbeat
1)rz上传本地epel-release-latest-6.noarch.rpm安到/home
2)rpm -ivh epel-release-latest-6.noarch.rpm
3)yum -y install heartbeat-stonith heartbeat-pils heartbeat heartbeat-devel heartbeat-gui libnet
配置Heartbeat
1. 寻找主要包括三个配置文件,authkeys,ha.cf和haresources
rpm -q heartbeat -d
2)vi authkeys
把以下两行前面的注释去掉,使用crc的认证方式
auth 1
1 crc
3) 配置ha.cf
vmtxuzhengyunagiostest1上
vi ha.cf
logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 30
warntime 10
initdead 60
udpport 694
ucast eth2 172.27.206.7
auto_failback on
node vmtxuzhengyunagiostest1
node vmtxuzhengyunagiostest2
ping 172.27.206.255
respawn hacluster /usr/lib64/heartbeat/ipfail
vmtxuzhengyunagiostest2上
vi ha.cf
logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 30
warntime 10
initdead 60
udpport 694
ucast eth2 172.27.206.6
auto_failback on
node vmtxuzhengyunagiostest1
node vmtxuzhengyunagiostest2
ping 172.27.206.255
respawn hacluster /usr/lib64/heartbeat/ipfail
4) 配置haresources
haresources用来设置master的主机名、虚拟IP、服务以及磁盘挂载等
vi haresources
在最后加入一行
vmtxuzhengyunagiostest1 IPaddr:: 172.27.206.5/24/eth1 drbddisk::r0 Filesystem::/dev/drbd0::/data mysql
两台服务器上的配置必须一致
cp /usr/share/doc/heartbeat-3.0.4/ha.cf /etc/ha.d/ha.cf
cp /usr/share/doc/heartbeat-3.0.4/authkeys /etc/ha.d/authkeys
cp /usr/share/doc/heartbeat-3.0.4/haresources /etc/ha.d/haresources
cd /etc/ha.d
chmod 600 authkeys
5)启动Heartbeat
service heartbeat start
DRBD脑裂处理
在选定的非主节点上执行
drbdadm secondary r0
drbdadm -- --discard-my-data connect r0
主节点上执行
drbdadm connect r0
MySQL+DRBD+Heartbeat切换测试
1. 在vmtxuzhengyunagiostest1上停止heartbeat服务后,drbd与mysql切换至vmtxuzhengyunagiostest2
2. 在vmtxuzhengyunagiostest1上重新启动heartbeat服务后,drbd与mysql切换回vmtxuzhengyunagiostest1
3. 将vmtxuzhengyunagiostest1上的172.27.206.6 eth2网卡停止,则vmtxuzhengyunagiostest1无法ping通之前配置的172.27.206.255,drbd与mysql切换至vmtxuzhengyunagiostest2
4. 将vmtxuzhengyunagiostest1上的eth1网卡恢复,drbd与mysql切换回vmtxuzhengyunagiostest1
5. 将vmtxuzhengyunagiostest1服务器直接关机,drbd与mysql切换至vmtxuzhengyunagiostest2
6. 将vmtxuzhengyunagiostest1服务器重新开机,drbd与mysql切换回vmtxuzhengyunagiostest1
注意:切换过程中,可进行ping 172.27.206.5进行测试,或者连接mysql在每次切换完成后对数据库进行操作以此来观察切换效果。
相关文章推荐
- CentOS 6.3 Mysql+heartbeat+drbd+LVS 的安装和配置(2)
- DRBD+Heartbeat+Mysql:配置mysql的高可用
- Centos5.6 x86下部署安装DRBD+Heartbeat+MySQL
- MySQL之——CentOS6.5_x64安装配置drbd8.4.2
- Mysql测试三:Mysql + DRBD + Heartbeat(v1)基本配置笔记及切换测试
- Mysql DBA 高级运维学习笔记-heartbeat高可用软件的安装及配置
- Heartbeat+Drbd+MySQL 安装部署
- centos6.3下heartbeat+drbd的安装和配置
- 安装配置MySql+DRBD+Corosync+pacemaker高可用集群 推荐
- Centos5.6 x86下部署安装DRBD+Heartbeat+MySQL
- mysql+drbd+heartbeat高可用配置说明 推荐
- Mysql + DRBD + Heartbeat(v1)基本配置笔记及切换测试
- DRDB安装配置详解+NFS(Mysql)+Heartbeat高可用实例配置-任志远
- Ubuntu下Mysql+drbd+heartbeat高性能服务集群配置
- Heartbeat+DRBD+mysql的配置过程
- Centos5.6 x86下部署安装DRBD+Heartbeat+MySQL
- Centos linux 5.4x86 安装DRBD+Heartbeat+Mysql
- linux corosync+pacemaker+drbd+mysql配置安装详解
- CentOS6安装MySQL HA架构部署(MySQL + Heartbeat + DRBD)
- MySQL基础入门-03MySQL的安装和配置