heartbeat+DRBD+mysql+haproxy
heartbeat+DRBD+mysql mainly realizes the single point of failure of mysql master
haproxy implements load balancing from mysql
Specific architecture diagram
IP
1, set hostname and resolution
Edit the /etc/hosts file and add the following content
192.168.3.3 dbm3
192.168.3.4 dbm4
192.168.3.5 haproxy
192.168.3.6 dbs6
192.168.3.7 dbs7
192.168.3.8 dbs8
2, Disk partition planning
Plan the space size according to specific needs
3, DRBD deployment
p>
Import source: rpm -Uvh elrepo-release-6-6.el6.elrepo.noarch.rpm
Install DRBD via yum
yum install drbd83-utils kmod -drbd83
4, check if the DRBD installation is successful:
modprobe -l | grep -i drbd
lsmod | grep -i drbd
the installation is successful After that, there are drbdadm, drbdmeta, drbdsetuo commands, and the /etc/init.d/drbd startup script under the /sbin directory.
5, DRBD configuration
1. DRBD hard disk partition
The size of the hard disk space used by the two servers as the DRBD partition should be the same. Use fdisk to create two partitions, such as sdb1 and sdb2.
2.drbd.conf Configuration file
Node role | Host name | IP address | DRBD partition < /td> |
primary node | dbm3 | 192.168 .3.3 | /dev/sdb1 |
secondary node | dbm4 | 192.168.3.4 | /dev/sdb1 |
The following is the configuration of drbd.conf:
global {
usage-count no;
#Whether to participate in DRBD user statistics, by default Yes
}
common {
protocol C;
#Use the third protocol of DRBD, which means that it is considered after receiving the write confirmation from the remote host Write complete
disk {
on-io-error detach;
no-disk-flushes;
no-md-flushes;
}
net {
Sndbuf-size 512k;
# timeout 60; # 6 seconds (unit = 0.1 seconds)
# connect-int 10; # 10 seconds (unit = 1 second)
# ping-int 10; # ping-int 10 seconds (unit = 1 second)
# ping-timeout 5; # 500 ms (unit = 0.1 seconds)
max-buffers 8000;
unplug-watermark 1024;
max-epoch-size 8000;
# ko-count 4;
# allow-two- primaries;
cram-hmac-alg “sha1”; shared-secret “pRrcAwF5Rtltz29Ml1”; after-sb-0pri disconnect; after-sb-1pri disconnect; after-sb-2pri disconnect; rr-conflict disconnect ; # Data-integrity-alg “md5”; # no-tcp-cork;} syncer {rate 200M; al-extents 517; })resource appdata {on dbm3 {device device /dev/drbd0; /dev/ db1; /dev/ db 192.168.3.3:7788; meta-disk /dev/sdb2 [0]; on dbm4 {device /dev/drbd0; disk /dev/sdb1; address 192.168.3.4:7788; meta-disk /dev/sdb2 [0] ; }}