`

heartbeat+DRBD高可用笔记

 
阅读更多

1.heartbeat提供高可用,一台宕机另一台接管。

2.心跳线尽量使用串口或者直连线,否则可能发生裂脑情况,双方同时接不到心跳,同时启服务器和VIP。

3.防止裂脑发生的办法:

    多条心跳线,使用stonith设备强行杀死主节点(断电),对裂脑进行监控报警人工再去处理,磁盘锁,接管时间设置比较长给人上去查看是否裂脑留时间,增加仲裁机制。

4.裂脑告警只需查看备机的VIP出现即可,出现VIP不是正常接管就是裂脑

5.HA.cf配置文件:

debugfile /var/log/ha-debug

logfile /var/log/ha-log

logfacility local1

 

keepalive 2

deadtime 30

warntime 10

initdead 60

 

#bcast eth1

mcast eth2 225.0.0.7 694 1 0

 

auto_failback off

node data-1-1

node data-1-2

crm no

5.配置别名IP:

   ifconfig eth0:0 172.16.1.252 netmask 255.255.255.0 (即将淘汰)

   ip addr add 172.16.1.23/24 dev eth0

   ip addr del 172.16.1.23/24 dev eth0 (删除别名)

6.资源生效顺序:从左到右

7.让heartbeat执行Drbd的自动切换角色,并且挂载drbd磁盘到datab,并且添加VIP,重新挂载客户端NFS:

SH_T_nfs_01 drbddisk::data Filesystem::/dev/drbd0::/data::ext4 IPaddr::172.16.1.227/24/eth0 remount-nfs (配置DRBD是主,挂载并且切换VIP)

------------------DRBD------------------------------------

1.异步同步:

A模式:写入成功主设备发送到本端TCP返回成功

B模式:写入成功主设备发送到对端TCP返回成功

2.实时同步:C模式,主备设备需要全部写入成功才返回成功(公司一般选这项,数据最安全)

3.裂脑后人工处理办法:

  在选定的非主节点上执行:

  drbdadm secondary data (更新备节点位状态)
  drbdadm disconnect data  (断开连接)
  drbdadm -- --discard-my-data connect data (放弃本地更新数据进行连接)
  主节点上执行: (查看如果不是WFC)
   drbdadm disconnect data  (断开连接)
   drbdadm connect data (主节点进行连接)
4.大于16TB的磁盘分区:用XFS或者e2fsprogs分区。
5.大于2T的磁盘用parted分区:
    parted /dev/sdb mklabel gpt yes   (初始化分区表)

   parted /dev/sdb mkpart primary ext4 0 1000 ignore    (划分一个1G的ext4分区)

   parted /dev/sdb mkpart primary ext4 1001 2000 Yes ignore   (在划分一个1G的ext4分区)

   parted /dev/sdb p (查看)

6.安装DRBD:

   wget -q http://elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm

    yum install drbd kmod-drbd84 -y

    modprobe drbd (加载到内核)

    lsmod |grep drbd   (查看是否加载到内核)

7.修改配置文件:

   global {

    usage-count no;

}

 

common {

  syncer { 

  rate 10M; 

verify-alg crc32c;

  }

}

 

# primary for drbd1

resource data {

  protocol C;

 

  disk {

    on-io-error   detach;

  }

 

  on drbd1 {

    device    /dev/drbd0;

    disk      /dev/sdb5;

    address   10.0.0.14:7788;

    meta-disk /dev/sdb7[0];

  }

 

  on drbd2 {

    device     /dev/drbd0;

    disk       /dev/sdb5;

    address    10.0.0.15:7788;

    meta-disk  /dev/sdb7[0];

  }

}

8.激活DRBD:

   drbdadm create-md data

    /etc/init.d/drbd start   或者   drbdadm up all

   cat /proc/drbd  (查看状态)

   drbdadm -- --overwrite-data-of-peer primary  data (以本地为主,强制同步对端数据)

 

9.格式化主服务器磁盘:

    mkfs.ext4 /dev/drbd1    (必须在primary的服务器上面才能格式化)

    tune2fs -c -1 /dev/drbd1   (关闭强制检查挂载次数限制)

 

10.使用DRBD从小硬盘同步到大硬盘上面,如何恢复大硬盘的原始分区大小的方法:

  e2fsck -f /dev/sdb1   (检查磁盘分区表)

  resize2fs /dev/sdb1   (对磁盘从新扫描分区大小)

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics