mysql架构~Orch生产环境部署准备

二 mysql参数调整

    1 设置report_host和report_port

    2 设置 slave_net_timeout 设置8S,超过这个时间,IO_THREAD主动退出

    3 设置 master_heartbeat_period 设置2S 每2S发送一个心跳检测包

    这样在8-10S,就能检测出故障进行切换‘

三  mysql需要开启

    1 GTID  2 binlog 

   3 增强半同步复制

      插件安装 全局

      0 rpl_semi_sync_master_wait_for_slave_count 全局

      1 rpl_semi_sync_master_timeout =100000 全局

      2  rpl_semi_sync_slave_enabled =1 从库

      3  rpl_semi_sync_master_enabled =1 主库

   4主从库 设置成双1模式

四  mysql硬件配置

   1 最好选择配置相同的服务器硬件,不需要指定提升服务的主库,让orch自行选择

   2 所有mysql集群做SSH互信-VIP绑定用

五 orch精选参数

   一 探活配置

     "DefaultInstancePort": 3306->默认集群端口
     "InstancePollSeconds":3->探活周期

   二 从库相关

    1 "DiscoverByShowSlaveHosts": true->通过report方式发现从库(推荐)

    2 "MySQLDiscoveryReadTimeoutSeconds": 3->从库超时情况

    3 "ReplicationLagQuery":""

    4 "ReasonableReplicationLagSeconds":10->延时超过此时代表异常 单位秒

    三 切换相关

    1  ApplyMySQLPromotionAfterMasterFailover:true->reset relaylog+set read_only=OFF
    2  DetachLostReplicasAfterMasterFailover:true ->清除在切换过程中有问题的从的节点 将通过detach-replica命令强行中断它们的复制,以确保没有人认为它们完全正常。 
    3  "RecoverMasterClusterFilters": ["*"] ->所有M-S集群支持恢复
    4  "RecoverIntermediateMasterClusterFilters": ["*"] ->所有M-S-S集群支持恢复
    5  "FailureDetectionPeriodBlockMinutes":60   RecoveryPeriodBlockMinutes:60 -> 防止切换后的抖动再触发动,默认一小时
    6  "DetachLostReplicasAfterMasterFailover":true->切换的强制剥离副本
    7  切换场景
       1 强制切换,提供服务优先,可以运行丢失数据 
          FailMasterPromotionIfSQLThreadNotUpToDate:false
          DelayMasterPromotionIfSQLThreadNotUpToDate": false
          有延时:switchover failover均可以切换
       2 遇到没有应用完的relaylog时不提供切换
          FailMasterPromotionIfSQLThreadNotUpToDate:true
          DelayMasterPromotionIfSQLThreadNotUpToDate": flase
          有延时:swithvoer failover 均不可能切换.需要人工介入
        3遇到没有应用完的relaylog时等待然后切换     
          FailMasterPromotionIfSQLThreadNotUpToDate:false
          DelayMasterPromotionIfSQLThreadNotUpToDate": true
          有延时:switchover不能切换 failover可以切换
     7  VIP漂移
        "PostMasterFailoverProcesses":  ->主节点恢复成功后执行动作
        [" orchestrator /usr/local/orchestrator/failover.sh {failureType} {failureClusterAlias} {failedHost} {successorHost} >> /tmp/orc_failover.log"  ],