xglys 发表于 2018-9-27 13:30:14

crosync + pacemaker + (NFS,DRBD,iSCSI)实现MySQL的高可用

具体详细配置可参考:http://guoting.blog.51cto.com/8886857/1553462  

  
1、准备好共享磁盘
  
这里使用的是 /dev/sda5。Node2 和 Node3上都是。
  

  
2、安装软件
  
rpm -ivh drbd-8.4.3-33.el6.x86_64.rpm drbd-kmdl-2.6.32-431.el6-8.4.3-33.el6.x86_64.rpm
  

  
3、配置文件
  
Node2:
  
1) 配置/etc/drbd.d/global-common.conf
  
global {
  
      usage-count no; # 是否为drbd官方收集数据
  
      # minor-count dialog-refresh disable-ip-verification
  
}
  
# common是各个资源共用的选项
  
common {
  
      protocol C; # 复制协议
  

  
      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";
  
                # 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 120;
  
                #degr-wfc-timeout 120;
  
      }
  

  
      disk {
  
                on-io-error detach; # 发生i/o错误的处理方法,detach将镜像磁盘直接拔除
  
                #fencing resource-only;
  
      }
  

  
      net {
  
                cram-hmac-alg "sha1";
  
                shared-secret "mydrbdlab";
  
      }
  

  
      syncer {
  
                rate 1000M;
  
      }
  
}
  

  
2) 定义一个资源/etc/drbd.d/mysql.res,内容如下:
  
resource mysql {
  
on node2.example.com {
  
    device    /dev/drbd0;
  
    disk      /dev/sda5;
  
    address   172.16.10.22:7789;
  
    meta-disk internal;
  
}
  
on node3.example.com {
  
    device    /dev/drbd0;
  
    disk      /dev/sda5;
  
    address   172.16.10.33:7789;
  
    meta-disk internal;
  
}
  
}
  
3) scp /etc/drbd.d/*node3.example.com:/etc/drbd.d
  
##############################################################################
  

  
在两个节点上初始化已定义的资源并启动服务
  
1)初始化资源,在 Node2 和 Node3 上分别执行:
  
drbdadm create-md test
  

  
2)启动服务,在 Node3 和 Node2 上分别执行:
  
/etc/init.d/drbd start
  

  
3)drbdadm primary --force mysql
  
#############################################################################
  
完成上面的步骤后,就可以使用 /dev/drbd0 设备了,可以正常的分区挂载使用。


页: [1]
查看完整版本: crosync + pacemaker + (NFS,DRBD,iSCSI)实现MySQL的高可用