mysql服务器的HA集群之corosync+drbd+pacemaker实现 上

通过HA实现服务器的高可用性,即通过corosync+drbd+pacemaker实现mysql服务器的高可用集群。

 

案例应用实现主要步骤:

一.准备工作:

二、DRBD安装配置步骤

三、mysql安装与配置

四、corosync+pacemaker的安装和配置 

五、集群管理

 

 

实现详细步骤:

一.准备工作:

1.1 修改node1.magedu.com主机名,IP地址和系统时间


  
  
  
  
  1. [root@node1 ~]# hostname  
  2. node1.magedu.com 
  3. [root@node1 ~]# cat /etc/sysconfig/network 
  4. NETWORKING=yes 
  5. NETWORKING_IPV6=no 
  6. HOSTNAME=node1.magedu.com 
  7. [root@node1 ~]# hwclock -s 
  8. [root@node1 ~]# date 
  9. Tue Feb 7 20:24:22 CST 2012  
  10. [root@node1 ~]# 
  11. [root@node1 ~]# setup 

  
  
  
  
  1. [root@node1 ~]# service network restart 
  2. Shutting down interface eth0: [ OK ] 
  3. Shutting down loopback interface: [ OK ] 
  4. Bringing up loopback interface: [ OK ] 
  5. Bringing up interface eth0: [ OK ] 
  6. [root@node1 ~]# ifconfig eth0 
  7. eth0 Link encap:Ethernet HWaddr 00:0C:29:AE:83:D1  
  8. inet addr:192.168.101.81 Bcast:192.168.101.255 Mask:255.255.255.0 


1.2 修改node2.magedu.com主机名,IP地址和系统时间

  
  
  
  
  1. [root@node2 ~]# hostname  
  2. node2.magedu.com 
  3. [root@node2 ~]# cat /etc/sysconfig/network 
  4. NETWORKING=yes 
  5. NETWORKING_IPV6=no 
  6. HOSTNAME=node2.magedu.com 
  7. [root@node2 ~]# hwclock -s 
  8. [root@node2 ~]# date 
  9. Tue Feb 7 20:25:49 CST 2012  
  10. [root@node2 ~]# 
  11. [root@node2 ~]# setup 


  
  
  
  
  1. [root@node2 ~]# service network restart 
  2. Shutting down interface eth0: [ OK ] 
  3. Shutting down loopback interface: [ OK ] 
  4. Bringing up loopback interface: [ OK ] 
  5. Bringing up interface eth0: [ OK ] 
  6. [root@node2 ~]# ifconfig eth0 
  7. eth0 Link encap:Ethernet HWaddr 00:0C:29:D1:D4:32  
  8. inet addr:192.168.101.82 Bcast:192.168.101.255 Mask:255.255.255.0 


1.3 node1node2上配置hosts文件和ssh密钥信息
有利于以后在一个节点对另一节点直接操作。
1.3.1 
node1上修改/etc/hosts文件

  
  
  
  
  1. [root@node1 ~]# echo "192.168.101.81 node1.magedu.com node1" >>/etc/hosts 
  2. [root@node1 ~]# echo "192.168.101.82 node2.magedu.com node2" >>/etc/hosts 


1.3.1 
node1上修改/etc/hosts文件

  
  
  
  
  1. [root@node2 ~]# echo "192.168.101.81 node1.magedu.com node1" >>/etc/hosts 
  2. [root@node2 ~]# echo "192.168.101.82 node2.magedu.com node2" >>/etc/hosts 


1.3.3 
node1上配置ssh密钥信息

  
  
  
  
  1. [root@node1 ~]# ssh-keygen -t rsa #一直输入空格 
  2. [root@node1 ~]# ssh-copy-id -i .ssh/id_rsa.pub [email protected] 


1.3.4 
node2上配置ssh密钥信息

  
  
  
  
  1. [root@node2 ~]# ssh-keygen -t rsa #一直输入空格 
  2. [root@node2 ~]# ssh-copy-id -i .ssh/id_rsa.pub [email protected] 
  3. [root@node2 ~]# ssh node1 'ifconfig' #将看到node2上的信息 
  4. The authenticity of host 'node1 (192.168.101.81)' can't be established. 
  5. RSA key fingerprint is d4:f1:06:3b:a0:81:fd:85:65:20:9e:a1:ee:46:a6:8b. 
  6. Are you sure you want to continue connecting (yes/no)? yes 
  7. Warning: Permanently added 'node1' (RSA) to the list of known hosts. 
  8. eth0 Link encap:Ethernet HWaddr 00:0C:29:AE:83:D1  
  9. inet addr:192.168.101.81 Bcast:192.168.101.255 Mask:255.255.255.0 

1.4 下载相关软件包:(这里我将下载的软件包放在/root/ha/下面了,共18个)

  
  
  
  
  1. [root@node1 ~]# cd ha/ 
  2. [root@node1 ha]# 
  3. cluster-glue-1.0.6-1.6.el5.i386.rpm 
  4. cluster-glue-libs-1.0.6-1.6.el5.i386.rpm 
  5. corosync-1.2.7-1.1.el5.i386.rpm 
  6. corosynclib-1.2.7-1.1.el5.i386.rpm 
  7. drbd83-8.3.8-1.el5.centos.i386.rpm 
  8. heartbeat-3.0.3-2.3.el5.i386.rpm 
  9. heartbeat-libs-3.0.3-2.3.el5.i386.rpm 
  10. kmod-drbd83-8.3.8-1.el5.centos.i686.rpm 
  11. ldirectord-1.0.1-1.el5.i386.rpm 
  12. libesmtp-1.0.4-5.el5.i386.rpm 
  13. mysql-5.5.15-linux2.6-i686.tar.gz 
  14. openais-1.1.3-1.6.el5.i386.rpm 
  15. openaislib-1.1.3-1.6.el5.i386.rpm 
  16. pacemaker-1.1.5-1.1.el5.i386.rpm 
  17. pacemaker-cts-1.1.5-1.1.el5.i386.rpm 
  18. pacemaker-libs-1.1.5-1.1.el5.i386.rpm 
  19. perl-TimeDate-1.16-5.el5.noarch.rpm 
  20. resource-agents-1.0.4-1.1.el5.i386.rpm 
  21. 这里不需要ldirectord-1.0.1-1.el5.i386.rpm,故将其删除 
  22. [root@node1 ha]# rm ldirectord-1.0.1-1.el5.i386.rpm  
  23. rm: remove regular file `ldirectord-1.0.1-1.el5.i386.rpm'? y 
  24. [root@node1 ha]# ssh node2 'mkdir /root/ha' 
  25. [root@node1 ha]# scp *.rpm node2:/root/ha/#将相关软件包移动到node2上 
  26. [root@node1 ha]# scp *.rpm node2:/root/ha/ 
  27. cluster-glue-1.0.6-1.6.el5.i386.rpm 100% 265KB 265.0KB/s 00:00  
  28. cluster-glue-libs-1.0.6-1.6.el5.i386.rpm 100% 130KB 130.1KB/s 00:00  
  29. corosync-1.2.7-1.1.el5.i386.rpm 100% 166KB 166.1KB/s 00:00  
  30. corosynclib-1.2.7-1.1.el5.i386.rpm 100% 155KB 154.8KB/s 00:00  
  31. drbd83-8.3.8-1.el5.centos.i386.rpm 100% 217KB 216.7KB/s 00:00  
  32. heartbeat-3.0.3-2.3.el5.i386.rpm 100% 162KB 161.7KB/s 00:00  
  33. heartbeat-libs-3.0.3-2.3.el5.i386.rpm 100% 283KB 282.8KB/s 00:00  
  34. kmod-drbd83-8.3.8-1.el5.centos.i686.rpm 100% 123KB 123.0KB/s 00:00  
  35. libesmtp-1.0.4-5.el5.i386.rpm 100% 59KB 59.0KB/s 00:00  
  36. openais-1.1.3-1.6.el5.i386.rpm 100% 202KB 202.2KB/s 00:00  
  37. openaislib-1.1.3-1.6.el5.i386.rpm 100% 92KB 92.4KB/s 00:00  
  38. pacemaker-1.1.5-1.1.el5.i386.rpm 100% 778KB 778.1KB/s 00:00  
  39. pacemaker-cts-1.1.5-1.1.el5.i386.rpm 100% 203KB 203.1KB/s 00:00  
  40. pacemaker-libs-1.1.5-1.1.el5.i386.rpm 100% 324KB 324.2KB/s 00:00  
  41. perl-TimeDate-1.16-5.el5.noarch.rpm 100% 32KB 32.1KB/s 00:00  
  42. resource-agents-1.0.4-1.1.el5.i386.rpm 100% 380KB 379.5KB/s 00:00  
  43. [root@node1 ha]# scp mysql-5.5.15-linux2.6-i686.tar.gz node2:/root/ha/ 
  44. mysql-5.5.15-linux2.6-i686.tar.gz 100% 155MB 10.3MB/s 00:15 


1.5 
配置本地yum数据库

 

  
  
  
  
  1. [root@node1 ha]#  
  2. [root@node1 ha]# mkdir /mnt/cdrom/ 
  3. [root@node1 ha]# mount /dev/cdrom /mnt/cdrom/ 
  4. mount: block device /dev/cdrom is write-protected, mounting read-only 
  5. [root@node1 ha]# yum list all 
  6. [root@node1 ha]#  
  7. [root@node1 ha]# scp /etc/yum.repos.d/server.repo node2:/etc/yum.repos.d/ 
  8. server.repo 100% 647 0.6KB/s 00:00  
  9. [root@node1 ha]# 
  10. [root@node1 ha]# ssh node2 'mkdir /mnt/cdrom/' 
  11. [root@node1 ha]# ssh node2 'mount /dev/cdrom /mnt/cdrom/' 
  12. [root@node1 ha]# ssh node2 'yum list all' 


1.6 
node1上新增磁盘

  
  
  
  
  1. [root@node1 ha]# cd 
  2. [root@node1 ~]# fdisk -l 
  3.  
  4. Disk /dev/sda: 21.4 GB, 21474836480 bytes 
  5. 255 heads, 63 sectors/track, 2610 cylinders 
  6. Units = cylinders of 16065 * 512 = 8225280 bytes 
  7.  
  8. Device Boot Start End Blocks Id System 
  9. /dev/sda1 * 1 13 104391 83 Linux 
  10. /dev/sda2 14 1318 10482412+ 83 Linux 
  11. /dev/sda3 1319 1579 2096482+ 82 Linux swap / Solaris 
  12. [root@node1 ~]# fdisk /dev/sda 
  13. p/n/p//+1000M/p/w 
  14. [root@node1 ~]# fdisk -l 
  15.  
  16. Disk /dev/sda: 21.4 GB, 21474836480 bytes 
  17. 255 heads, 63 sectors/track, 2610 cylinders 
  18. Units = cylinders of 16065 * 512 = 8225280 bytes 
  19.  
  20. Device Boot Start End Blocks Id System 
  21. /dev/sda1 * 1 13 104391 83 Linux 
  22. /dev/sda2 14 1318 10482412+ 83 Linux 
  23. /dev/sda3 1319 1579 2096482+ 82 Linux swap / Solaris 
  24. /dev/sda4 1580 1702 987997+ 83 Linux 
  25. [root@node1 ~]# partprobe /dev/sda 
  26. [root@node1 ~]# cat /proc/partitions  
  27. major minor #blocks name 
  28.  
  29. 8 0 20971520 sda 
  30. 8 1 104391 sda1 
  31. 8 2 10482412 sda2 
  32. 8 3 2096482 sda3 
  33. 8 4 987997 sda4 
  34. [root@node1 ~]# 

1.7 node2上新增磁盘

  
  
  
  
  1. [root@node2 ha]# cd 
  2. [root@node2 ~]# fdisk -l 
  3.  
  4. Disk /dev/sda: 21.4 GB, 21474836480 bytes 
  5. 255 heads, 63 sectors/track, 2610 cylinders 
  6. Units = cylinders of 16065 * 512 = 8225280 bytes 
  7.  
  8. Device Boot Start End Blocks Id System 
  9. /dev/sda1 * 1 13 104391 83 Linux 
  10. /dev/sda2 14 1318 10482412+ 83 Linux 
  11. /dev/sda3 1319 1579 2096482+ 82 Linux swap / Solaris 
  12. [root@node2 ~]# fdisk /dev/sda 
  13. p/n/p//+1000M/p/w 
  14. [root@node2 ~]# fdisk -l 
  15.  
  16. Disk /dev/sda: 21.4 GB, 21474836480 bytes 
  17. 255 heads, 63 sectors/track, 2610 cylinders 
  18. Units = cylinders of 16065 * 512 = 8225280 bytes 
  19.  
  20. Device Boot Start End Blocks Id System 
  21. /dev/sda1 * 1 13 104391 83 Linux 
  22. /dev/sda2 14 1318 10482412+ 83 Linux 
  23. /dev/sda3 1319 1579 2096482+ 82 Linux swap / Solaris 
  24. /dev/sda4 1580 1702 987997+ 83 Linux 
  25. [root@node2 ~]# partprobe /dev/sda 
  26. [root@node2 ~]# cat /proc/partitions  
  27. major minor #blocks name 
  28.  
  29. 8 0 20971520 sda 
  30. 8 1 104391 sda1 
  31. 8 2 10482412 sda2 
  32. 8 3 2096482 sda3 
  33. 8 4 987997 sda4 
  34. [root@node2 ~]# 

二、DRBD安装配置步骤

node1node2做以下操作:

我下载的软件包是:(我放在/root/ha/下了)

drbd83-8.3.8-1.el5.centos.i386.rpm 

kmod-drbd83-8.3.8-1.el5.centos.i686.rpm

2.1、安装DRBD 套件


  
  
  
  
  1. [root@node1 ~]# cd ha/ 
  2. [root@node1 ha]# ls 
  3. [root@node1 ha]# yum localinstall -y drbd83-8.3.8-1.el5.centos.i386.rpm kmod-drbd83-8.3.8-1.el5.centos.i686.rpm –nogpgcheck 
  4. ... 
  5. Installed: 
  6. drbd83.i386 0:8.3.8-1.el5.centos kmod-drbd83.i686 0:8.3.8-1.el5.centos 
  7.  
  8. Complete! 
  9. [root@node1 ha]# cd 
  10.  
  11. [root@node2 ~]# cd ha/ 
  12. [root@node2 ha]# ls 
  13. [root@node2 ha]# yum localinstall -y drbd83-8.3.8-1.el5.centos.i386.rpm kmod-drbd83-8.3.8-1.el5.centos.i686.rpm –nogpgcheck 
  14. ... 
  15. Installed: 
  16. drbd83.i386 0:8.3.8-1.el5.centos kmod-drbd83.i686 0:8.3.8-1.el5.centos 
  17.  
  18. Complete! 
  19. [root@node2 ha]# cd 

2.2、加载DRBD 模块

  
  
  
  
  1. [root@node1 ~]# modprobe drbd 
  2. [root@node1 ~]# lsmod |grep drbd 
  3. drbd 228528 0  
  4. [root@node1 ~]#  
  5. [root@node1 ~]# ssh node2 'modprobe drbd' 
  6. [root@node1 ~]# ssh node2 'lsmod |grep drbd' 
  7. drbd 228528 0  
  8. [root@node1 ~]# 


2.3
、修改配置文件 

drbd.conf配置文件DRBD运行时,会读取一个配置文件/etc/drbd.conf.这个文件里描述了DRBD设备与硬盘分区的映射关系
2.3.1 
node1上以下配置

  
  
  
  
  1. [root@node1 ~]# cp /usr/share/doc/drbd83-8.3.8/drbd.conf /etc/ 
  2. cp: overwrite `/etc/drbd.conf'? y 
  3. [root@node1 ~]# cat /etc/drbd.conf  
  4. # You can find an example in /usr/share/doc/drbd.../drbd.conf.example 
  5.  
  6. include "drbd.d/global_common.conf"; 
  7. include "drbd.d/*.res"; 
  8. [root@node1 ~]# cd /etc/drbd.d/ 
  9. [root@node1 drbd.d]# ll 
  10. total 4 
  11. -rwxr-xr-x 1 root root 1418 Jun 4 2010 global_common.conf 
  12. [root@node1 drbd.d]# cp global_common.conf global_common.conf.bak 
  13. #修改全局配置文件(说明略) 
  14. [root@node1 drbd.d]# vim global_common.conf 
  15. global { 
  16. usage-count yes; 
  17. common { 
  18. protocol C; 
  19. handlers { 
  20. 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"; 
  21. 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"; 
  22. local-io-error "/usr/lib/drbd/notify-io-error.sh; /usr/lib/drbd/notify-emergency-shutdown.sh; echo o > /proc/sysrq-trigger ; halt -f"; 
  23. startup { 
  24. wfc-timeout 120; 
  25. degr-wfc-timeout 100; 
  26. disk { 
  27. on-io-error detach; 
  28. net { 
  29. cram-hmac-alg "sha1"; 
  30. shared-secret "mydrbd123"; 
  31. syncer { 
  32. rate 100M; 
  33. #修改资源配置文件(说明略) 
  34. [root@node1 drbd.d]# vim /etc/drbd.d/mysql.res 
  35.  
  36. resource mysql { 
  37. on node1.magedu.com { 
  38. device /dev/drbd0; 
  39. disk /dev/sda4; 
  40. address 192.168.101.81:7898; 
  41. meta-disk internal; 
  42. on node2.magedu.com { 
  43. device /dev/drbd0; 
  44. disk /dev/sda4; 
  45. address 192.168.101.82:7898; 
  46. meta-disk internal; 

2.3.2 复制配置到node2上:

  
  
  
  
  1. [root@node1 drbd.d]# scp /etc/drbd.conf node2:/etc/ 
  2. drbd.conf 100% 133 0.1KB/s 00:00  
  3. [root@node1 drbd.d]# scp /etc/drbd.d/* node2:/etc/drbd.d/ 
  4. global_common.conf 100% 682 0.7KB/s 00:00  
  5. global_common.conf.bak 100% 1418 1.4KB/s 00:00  
  6. mysql.res 100% 468 0.5KB/s 00:00 


2.4
 检测配置文件创建nfs 的资源 

//分别在node1node2上初始化定义的mysql的资源 
//
检测配置文件(两次执行如下命令)
node1上:

  
  
  
  
  1. [root@node1 drbd.d]# drbdadm adjust mysql 
  2. --== Thank you for participating in the global usage survey ==-- 
  3. The server's response is: 
  4.  
  5. 0: Failure: (119) No valid meta-data signature found. 
  6.  
  7. ==> Use 'drbdadm create-md res' to initialize meta-data area. <== 
  8.  
  9. Command 'drbdsetup 0 disk /dev/sda4 /dev/sda4 internal --set-defaults --create-device --on-io-error=detach' terminated with exit code 10 
  10.  
  11. [root@node1 drbd.d]# drbdadm adjust mysql 
  12. drbdsetup 0 show:5: delay-probe-volume 0k => 0k out of range [4..1048576]k. 
  13. [root@node1 drbd.d]# drbdadm create-md mysql 
  14. Writing meta data... 
  15. initializing activity log 
  16. NOT initialized bitmap 
  17. New drbd meta data block successfully created. 
  18. [root@node1 drbd.d]# ll /dev/drbd0 
  19. brw-r----- 1 root disk 147, 0 Feb 7 20:44 /dev/drbd0 
  20. 在node2上: 
  21. [root@node2 ~]# drbdadm create-md mysql 
  22.  
  23. --== Thank you for participating in the global usage survey ==-- 
  24. The server's response is: 
  25.  
  26. Writing meta data... 
  27. initializing activity log 
  28. NOT initialized bitmap 
  29. New drbd meta data block successfully created. 
  30.  
  31. [root@node2 ~]# ll /dev/drbd0 
  32. brw-rw---- 1 root root 147, 0 Feb 7 20:47 /dev/drbd0 

2.5  启动DRBD服务,查看DRBD状态 


  
  
  
  
  1. [root@node1 drbd.d]# service drbd start 
  2. Starting DRBD resources: [  
  3. mysql 
  4. Found valid meta data in the expected location, 1011703808 bytes into /dev/sda4. 
  5. d(mysql) s(mysql) n(mysql) ]...... 
  6.  
  7. [root@node2 ~]# service drbd start 
  8. Starting DRBD resources: [  
  9. mysql 
  10. Found valid meta data in the expected location, 1011703808 bytes into /dev/sda4. 
  11. d(mysql) s(mysql) n(mysql) ]. 
  12.  
  13. [root@node1 drbd.d]# service drbd status 
  14. drbd driver loaded OK; device status: 
  15. version: 8.3.8 (api:88/proto:86-94) 
  16. GIT-hash: d78846e52224fd00562f7c225bcc25b2d422321d build by [email protected], 2010-06-04 08:04:16 
  17. m:res cs ro ds p mounted fstype 
  18. 0:mysql Connected Secondary/Secondary Inconsistent/Inconsistent C 
  19. [root@node1 drbd.d]# drbd-overview  
  20. 0:mysql Connected Secondary/Secondary Inconsistent/Inconsistent C r---- 
  21.  
  22. [root@node2 ~]# service drbd status 
  23. drbd driver loaded OK; device status: 
  24. version: 8.3.8 (api:88/proto:86-94) 
  25. GIT-hash: d78846e52224fd00562f7c225bcc25b2d422321d build by [email protected], 2010-06-04 08:04:16 
  26. m:res cs ro ds p mounted fstype 
  27. 0:mysql Connected Secondary/Secondary Inconsistent/Inconsistent C 
  28. [root@node2 ~]# drbd-overview 
  29. 0:mysql Connected Secondary/Secondary Inconsistent/Inconsistent C r---- 

2.6  设置DRBD的主节点:

从上面的信息中可以看出此时两个节点均处于Secondary状态。于是,我们接下来需要将其中一个节点设置为Primary,这里将node1设置为主节点,故要在node1上执行如下命令:可以看到文件同步过程。

  
  
  
  
  1. [root@node1 drbd.d]# drbdadm -- --overwrite-data-of-peer primary mysql 
  2.  
  3. [root@node1 drbd.d]# drbd-overview  
  4. 0:mysql SyncSource Primary/Secondary UpToDate/Inconsistent C r----  
  5. [===>................] sync'ed: 23.6% (761048/987928)K delay_probe: 20 
  6. [root@node1 drbd.d]# drbd-overview  
  7. 0:mysql SyncSource Primary/Secondary UpToDate/Inconsistent C r----  
  8. [========>...........] sync'ed: 47.6% (522296/987928)K delay_probe: 42 
  9. [root@node1 drbd.d]# 
  10. [root@node1 drbd.d]# drbd-overview  
  11. 0:mysql Connected Primary/Secondary UpToDate/UpToDate C r---- 
  12. [root@node1 drbd.d]# 
  13. [root@node1 drbd.d]# cat /proc/drbd  
  14. version: 8.3.8 (api:88/proto:86-94) 
  15. GIT-hash: d78846e52224fd00562f7c225bcc25b2d422321d build by [email protected], 2010-06-04 08:04:16 
  16. 0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r---- 
  17. ns:987928 nr:0 dw:0 dr:987928 al:0 bm:61 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0 
  18. [root@node1 drbd.d]# 
  19.  
  20.  
  21. [root@node2 ~]# drbd-overview 
  22. 0:mysql SyncTarget Secondary/Primary Inconsistent/UpToDate C r----  
  23. [=====>..............] sync'ed: 32.7% (670680/987928)K queue_delay: 0.1 ms 
  24. [root@node2 ~]# drbd-overview 
  25. 0:mysql SyncTarget Secondary/Primary Inconsistent/UpToDate C r----  
  26. [===========>........] sync'ed: 61.6% (384536/987928)K queue_delay: 11.6 ms 
  27. [root@node2 ~]# 
  28. [root@node2 ~]# drbd-overview 
  29. 0:mysql Connected Secondary/Primary UpToDate/UpToDate C r----  
  30. [root@node2 ~]# 
  31. [root@node2 ~]# cat /proc/drbd 
  32. version: 8.3.8 (api:88/proto:86-94) 
  33. GIT-hash: d78846e52224fd00562f7c225bcc25b2d422321d build by [email protected], 2010-06-04 08:04:16 
  34. 0: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r---- 
  35. ns:0 nr:987928 dw:987928 dr:0 al:0 bm:61 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0 

注:Primary/Secondary 说明当前节点为主节点;Secondary/Primary 说明当前节点为从节点。使用:watch -n 1 'cat /proc/drbd'查看同步过程!
2.7 
创建文件系统(只可以在primary节点上进行,这里在node1上创建) 

  
  
  
  
  1. [root@node1 drbd.d]# mkfs -t ext3 /dev/drbd0 
  2. [root@node1 drbd.d]# mkdir -pv /mnt/mysqldata 
  3. mkdir: created directory `/mnt/mysqldata' 
  4. [root@node1 drbd.d]# ssh node2 'mkdir -pv /mnt/mysqldata' 
  5. mkdir: created directory `/mnt/mysqldata' 
  6. [root@node1 drbd.d]# mount /dev/drbd0 /mnt/mysqldata/ 
  7. [root@node1 drbd.d]# 
  8. [root@node1 drbd.d]# cd /mnt/mysqldata/ 
  9. [root@node1 mysqldata]# ll 
  10. total 16 
  11. drwx------ 2 root root 16384 Feb 7 21:26 lost+found 
  12. [root@node1 mysqldata]# echo "123" >f1 
  13. [root@node1 mysqldata]# touch f2 
  14. [root@node1 mysqldata]# ll 
  15. total 20 
  16. -rw-r--r-- 1 root root 4 Feb 7 21:28 f1 
  17. -rw-r--r-- 1 root root 0 Feb 7 21:28 f2 
  18. drwx------ 2 root root 16384 Feb 7 21:26 lost+found 
  19. [root@node1 mysqldata]# 


2.8
node2设置为primary节点 

  
  
  
  
  1. [root@node1 mysqldata]# cd 
  2. [root@node1 ~]# umount /mnt/mysqldata/ 
  3. [root@node1 ~]# drbdadm secondary mysql 
  4. [root@node1 ~]# drbd-overview  
  5. 0:mysql Connected Secondary/Secondary UpToDate/UpToDate C r----  
  6. [root@node1 ~]# 
  7. 将node2设置为primary节点 
  8. [root@node2 ~]# drbd-overview  
  9. 0:mysql Connected Secondary/Secondary UpToDate/UpToDate C r----  
  10. [root@node2 ~]# drbdadm primary mysql 
  11. [root@node2 ~]# drbd-overview  
  12. 0:mysql Connected Primary/Secondary UpToDate/UpToDate C r----  
  13. [root@node2 ~]# mount /dev/drbd0 /mnt/mysqldata/ 
  14. [root@node2 ~]# cd /mnt/mysqldata/ 
  15. [root@node2 mysqldata]# ll 
  16. total 20 
  17. -rw-r--r-- 1 root root 4 Feb 7 21:28 f1 
  18. -rw-r--r-- 1 root root 0 Feb 7 21:28 f2 
  19. drwx------ 2 root root 16384 Feb 7 21:26 lost+found 


此处看到在node1上创建的文件在这里都显示了,
最后将node2/mnt/mysqldata/卸载
[root@node2 mysqldata]# cd 
[root@node2 ~]# umount /mnt/mysqldata/

至此DRBD配置成功!!!

 


 

你可能感兴趣的:(mysql,高可用,集群,drbd,corosync)