• ETCD高可用特性学习


    https://coreos.com/etcd/docs/latest/admin_guide.html 

    只有当集群中多数节点正常的情况下,才可以进行运行时的配置管理。如果集群多数节点损坏,集群就失去了写入数据的能力。官方推荐3,5,7为etcd cluster数目,其中7可以满足大部分情况
    通常情况下,如果是Follower节点宕机,如果剩余可用节点数量超过半数,集群可以几乎没有影响的正常工作。如果是Leader节点宕机,那么Follower就收不到心跳而超时,发起竞选获得投票,成为新一轮term的Leader,继续为集群提供服务。 
    在最初启动etcd集群时,发现核心节点的数量已经满足要求时,多余的自动启用Proxy模式,若核心节点挂掉,proxy模式的节点并不会转化为普通节点,etcd目前没有任何机制会自动去变化整个集群总共的节点数量
     
    节点迁移和替换

    当你节点所在的机器出现硬件故障,或者节点出现如数据目录损坏等问题,导致节点永久性的不可恢复时,就需要对节点进行迁移或者替换。当一个节点失效以后,必须尽快修复,因为etcd集群正常运行的必要条件是集群中多数节点都正常工作。

    迁移一个节点需要进行四步操作:

    • 暂停正在运行着的节点程序进程
    • 把数据目录从现有机器拷贝到新机器
    • 使用api更新etcd中对应节点指向机器的url记录更新为新机器的ip
    • 使用同样的配置项和数据目录,在新的机器上启动etcd
    在最初启动etcd集群时,发现核心节点的数量已经满足要求时,多余的自动启用Proxy模式,若核心节点挂掉,proxy模式的节点并不会转化为普通节点
    灾难恢复
    当集群超过半数的节点都失效时,就需要通过手动的方式,ectd提供了一套备份数据并无损重建cluster 的方法 
    • 备份数据到新机器
    • 利用数据和 -force-new-cluster重新创建一个单node集群
    • 修改peer url将其他节点加入
     为了最大化集群的安全性,一旦有任何数据损坏或丢失的可能性,你就应该把这个节点从集群中移除,然后加入一个不带数据目录的新节点。
     
     
  • 相关阅读:
    1 基本概念 进入java世界
    一文了解kudu【转载】
    jenkins git项目clean before checkout 和 wipe out repository & force clone
    jenkins 内置判断条件
    jenkins常用插件使用说明-git publisher
    常用正则表达式
    基于ldap+sentry+rbac的hive数据库权限测试
    nginx_mirror_module流量复制在项目中的应用
    jenkins上job误删除怎么恢复
    pipeline语法学习日记
  • 原文地址:https://www.cnblogs.com/opama/p/4768274.html
Copyright © 2020-2023  润新知