outlook 发表于 2019-1-7 13:07:46

Centos5.6 x86下部署安装DRBD+Heartbeat+MySQL-DevilRex119

  报错信息如下所示:

[*]  Operation refused.
[*]  Command 'drbdmeta 0 v08 /dev/sda2 internal create-md' terminated with exit code 40
[*]  drbdadm create-md r0: exited with code 40
  这个时候我们需要使用dd命令覆盖文件系统中的设备块信息,如下所示:

[*]  dd if=/dev/zero of=/dev/sda2 bs=1Mcount=128
  这个时候请一定要注意dd命令要清除的分区信息,不要搞错了,不然很容易将系统损坏,我第一次实验时就遇到了这个问题;如果部署DRBD时的分区信息是不需要写进/etc/fstab表的,即不需要在安装系统时就挂载,不然重启系统时很容易发生Emergency信息,签于以上情况,所以我这里建议大家还是用独立硬盘作为DRBD的设备。
  两台机器的基本情况如下所示:
  centos1.cn7788.com 192.168.11.32
  centos2.cn7788.com 192.168.11.33
  Heartbeat的vip为 192.168.11.30
  两台机器的hosts文件内容如下所示:
  192.168.11.32 centos1.cn7788.com centos1
  192.168.11.33 centos2.cn7788.com centos2
  实验中暂时先用千M交换机的网络作为心跳线线路,等实验搭建成功后再考虑加双绞线作为心跳线,两台机器的hostname及ntp对时这些在实验前就应该配置好,iptables和SElinux关闭,具体情况略过。
  一、DRBD的部署安装
  两台机器分别用如下命令来安装drbd软件,如下所示:

[*]  yum -y install drbd83 kmod-drbd83
[*]  modprobe drbd
[*]  lsmod | grep drbd
  正确显示如下类似信息,表示DRBD已成功安装:

[*]  drbd                  3004404
  两台机器的drbd.conf配置文件内容如下所示(两台机器的配置是一样的):

[*]  cat/etc/drbd.conf
[*]  global {
[*]  # minor-count dialog-refresh disable-ip-verification
[*]  usage-count no;         #统计drbd的使用
[*]  }
[*]  common {
[*]  syncer{ rate 30M; }    #同步速率,视带宽而定
[*]  }
[*]  resource r0 {         #创建一个资源,名字叫”r0”
[*]  protocol C;             #选择的是drbd的C 协议(数据同步协议,C为收到数据并写入后返回,确认成功)
[*]  handlers {            #默认drbd的库文件
[*]  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
[*]  wfc-timeout 120;
[*]  degr-wfc-timeout 120;
[*]  }
[*]  disk {
[*]  # on-io-error fencing use-bmbv no-disk-barrier no-disk-flushes
[*]  # no-disk-drain no-md-flushes max-bio-bvecs
[*]  on-io-error detach;
[*]  }
[*]  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
[*]  max-buffers 2048;
[*]  cram-hmac-alg "sha1";
[*]  shared-secret "123456";
[*]  #DRBD同步时使用的验证方式和密码信息
[*]  #allow-two-primaries;
[*]  }
[*]  syncer {
[*]  rate 100M;
[*]  # rate after al-extents use-rle cpu-mask verify-alg csums-alg
[*]  }
[*]  on centos1.cn7788.com {#设定一个节点,分别以各自的主机名命名
[*]  device/dev/drbd0;   #设定资源设备/dev/drbd0 指向实际的物理分区 /dev/sdb
[*]  disk    /dev/sdb;
[*]  address 192.168.11.32:7788;#设定监听地址以及端口
[*]  meta-disk       internal;
[*]  }
[*]  on centos2.cn7788.com {          #设定一个节点,分别以各自的主机名命名
[*]  device/dev/drbd0; #设定资源设备/dev/drbd0 指向实际的物理分区 /dev/sdb
[*]  disk    /dev/sdb;
[*]  address 192.168.11.33:7788;       #设定监听地址以及端口
[*]  meta-disk       internal;         #internal表示是在同一个局域网内
[*]  }
[*]  }
  1.创建DRBD元数据信息,执行命令如下所示(两台机器都需要执行此步):

[*]  # drbdadm create-md r0
[*]  md_offset 8589930496
[*]  al_offset 8589897728
[*]  bm_offset 8589635584
[*]  Found some data
[*]  ==> This might destroy existing data!This might destroy existing data!
页: [1]
查看完整版本: Centos5.6 x86下部署安装DRBD+Heartbeat+MySQL-DevilRex119