heartbeat+DRBD高可用笔记

    xiaoxiao2021-12-01  21

    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   (对磁盘从新扫描分区大小)

    转载请注明原文地址: https://ju.6miu.com/read-679600.html

    最新回复(0)