多节点OpenStack Charms 部署指南0.0.1.dev303--20--控制器高可用性

56 篇文章 4 订阅
55 篇文章 1 订阅

目录:
第一节 多节点OpenStack Charms 部署指南0.0.1.dev223–1--OpenStack Charms 部署指南
第二节 多节点OpenStack Charms 部署指南0.0.1.dev223–2-安装MAAS

第三节 多节点OpenStack Charms 部署指南0.0.1.dev223–3-安装Juju

第四节 多节点OpenStack Charms 部署指南0.0.1.dev223–4-安装openstack

第五节 多节点OpenStack Charms 部署指南0.0.1.dev223–5--使bundle安装openstack

第六节 多节点OpenStack Charms 部署指南0.0.1.dev223–6--配置vault和设置数字证书生命周期

第七节 多节点OpenStack Charms 部署指南0.0.1.dev223–7--juju 离线部署bundle

第八节 多节点OpenStack Charms 部署指南0.0.1.dev223–8--配置 OpenStack

附录 t 多节点OpenStack Charms 部署指南0.0.1.dev223–附录T–OpenStack 高可用性

第九节 多节点OpenStack Charms 部署指南0.0.1.dev223–9--网络拓扑

第十节 多节点OpenStack Charms 部署指南0.0.1.dev223–10–OpenStack 高可用基础架构实际

第十一节 多节点OpenStack Charms 部署指南0.0.1.dev223–11–访问Juju仪表板

第十二节 多节点OpenStack Charms 部署指南0.0.1.dev223–12–OpenStack 配置openstack失败后处理

第十三节 多节点OpenStack Charms 部署指南0.0.1.dev223–13–OpenStack配置高可用后无法登陆openstack dashboard

第十四节 多节点OpenStack Charms 部署指南0.0.1.dev223–14–ssh端口转发解决IDC机房国际线路不良问题

第十五节 多节点OpenStack Charms 部署指南0.0.1.dev299–15–OpenStack 实例高可用

第十六节 多节点OpenStack Charms 部署指南0.0.1.dev299–16–OpenStack基础架构高可用The easyrsa resource is missing. .

第十七节 多节点OpenStack Charms 部署指南0.0.1.dev303–17–修改实例数量等quota上限

第十八节 多节点OpenStack Charms 部署指南0.0.1.dev303–18–backup备份

第十九节 多节点OpenStack Charms 部署指南0.0.1.dev303–19–juju log

第二十节 多节点OpenStack Charms 部署指南0.0.1.dev303–20–控制器高可用性

第二十一节 多节点OpenStack Charms 部署指南0.0.1.dev303–21–控制器备份和还原

第二十二节 多节点OpenStack Charms 部署指南0.0.1.dev223–22-- Resource: res_masakari_haproxy not running

第二十三节 多节点OpenStack Charms 部署指南0.0.1.dev223–23-登录openstack-dashboad,SSLError(SSLCertVerificationError

第二十四节 多节点OpenStack Charms 部署指南0.0.1.dev223–24-Resource: res_masakari_f8b6bde_vip not running

第二十五节 多节点OpenStack Charms 部署指南0.0.1.dev223–25–rsyslog 日志服务器构建实际

第二十六节 多节点OpenStack Charms 部署指南0.0.1.dev223–26–跨model 建立关系构建rsyslog 日志服务器构建实际

第二十七节 多节点OpenStack Charms 部署指南0.0.1.dev223–27–Charm Hook

第二十八节 多节点OpenStack Charms 部署指南0.0.1.dev223–28–Command run

第三十节 多节点OpenStack Charms 部署指南0.0.1.–30–参考体系结构—Dell EMC硬件上的Canonical Charmed OpenStack(Ussuri)

第三十一节 多节点OpenStack Charms 部署指南0.0.1.–31–vm hosting-1

第三十二节 多节点OpenStack Charms 部署指南0.0.1.–32–vm hosting-2-VM host networking (snap/2.9/UI)

第三十三节 多节点OpenStack Charms 部署指南0.0.1.–33–vm hosting-3-Adding a VM host (snap/2.9/UI)

第三十四节 多节点OpenStack Charms 部署指南0.0.1.–34–vm hosting-4-VM host存储池和创建和删除vm (snap/2.9/UI)

第三十五节 多节点OpenStack Charms 部署指南0.0.1.–35–Command export-bundle备份opensack并重新部署openstack

第三十六节 多节点openstack charms 部署指南0.0.1-36-graylog实际-1

第三十七节 多节点openstack charms 部署指南0.0.1-37-graylog实际-2

第三十八节 多节点openstack charms 部署指南0.0.1-38-graylog实际-3

第三十九节 多节点openstack charms 部署指南0.0.1-39-graylog-4-filebeat

第四十节 多节点openstack charms 部署指南0.0.1-40-prometheus2

参考文档:

Controller high availability

为了确保已部署应用程序的高可用性,控制器本身必须具有高可用性。这就需要创建其他控制器,所有这些控制器自然都位于“控制器”模型内。初始控制器被称为主控制器,如果它与集群对等方失去连接,则会进行自动故障转移。

有关应用程序方面的信息,请参阅应用程序高可用性

概述

控制器HA使用juju enable-ha命令进行管理。它通过确保集群具有必需数量的控制器来实现。缺省情况下,此数字为三,但是-n开关可用于更改该数字。因此,此命令既可以启用HA,也可以补偿任何丢失的控制器,就像启用HA然后删除一个或多个控制器的情况一样。

设置控制器后,API服务器代码将与MongoDB数据库一起安装。

控制器的数量必须为奇数,以便主机可以在其对等主机之间“投票”。成员数偶数的群集将导致随机成员变为非活动状态。后一个系统将成为“热备用”系统,并在其他成员发生故障时自动变为活动状态。此外,由于HA上下文中基础数据库的限制,该数字不能超过7。所有这些意味着一个集群只能具有三个,五个或七个活动成员。

Juju客户和代理与群集中的任何控制器进行对话。这意味着控制器(API)级别的处理是分布式的。但是,在任何给定时间只有一个主数据库,并且所有控制器都将其写入。因此,“主”实际上是指基础数据库。

启用控制器HA

要启用控制器HA,只需调用enable-ha命令:

juju enable-ha

由于未请求特定数量的群集计算机,因此使用默认的三台。因此,我们希望出现两个新的控制器。实际上,以上命令的输出反映了这一点:

maintaining machines: 0
adding machines: 1, 2

我们还可以查询“控制器”模型中的机器:

juju machines -m controller

输出应显示正在配置的两台新计算机:

Machine  State    DNS            Inst id              Series  AZ          Message
0        started  54.166.164.0   i-04790c2414e4c8e80  xenial  us-east-1a  running
1        pending  54.145.192.13  i-071660e9ce3c3cee5  xenial  us-east-1c  running
2        pending  54.80.176.66   i-0b36284d1ebb816cf  xenial  us-east-1a  running

由于已经存在三个控制器,因此再次调用juju enable-ha将没有任何效果。
使用juju controllers --refresh刷新控制器列表显示HA级别为3:

Controller  Model    User   Access     Cloud/Region         Models  Machines    HA  Version
aws-ha*     default  admin  superuser  aws/us-east-1             2         3     3  2.4-beta2

从集群中删除计算机

可以随时从群集中删除计算机。这样做的典型原因是:

  • 控制器行为异常,您的意图是将其替换为另一个控制器。

  • 您已决定不需要当前的HA级别,并且希望降低它。

    • 如果卸载控制器将导致偶数系统,则将充当“热备用”。
    • 如果卸下控制器会导致奇数个系统,则每台都将积极参与集群。

通过从模型中删除控制器的机器(juju remove-machine),可以从集群中删除控制器。

使用前面章节中的示例,这是我们将怎样删除机器“ 1”:

juju remove-machine -m controller 1

现在juju controllers --refresh 的输出为:

Controller  Model    User   Access     Cloud/Region         Models  Machines    HA  Version
aws-ha*     default  admin  superuser  aws/us-east-1             2         2   1/2  2.4-beta2

现在,该集群中只有一个活动控制器(和一个备用控制器)(即,两个活动控制器中的一个处于活动状态)。请注意,这种情况应尽快纠正。

将计算机添加到集群

使用enable-ha命令可达到所需的控制器数量(即HA级别)。

在我们正在进行的示例中,我们原来的3成员集群现在有两台计算机。我们可以通过再次发出juju enable-ha将其恢复到三个,但是如果我们决定将其设置为5个成员集群,则可以执行以下操作:

juju enable-ha -n 5

这将导致再生成三个控制器(2 + 3 = 5)。

juju controllers --refresh的输出为:

Controller  Model    User   Access     Cloud/Region         Models  Machines    HA  Version
aws-ha*     default  admin  superuser  aws/us-east-1             2         5     5  2.4-beta2

查看扩展控制器HA信息

可以从show-controller命令获取有关控制器HA的扩展信息:

juju show-controller

下面列出了我们的5成员集群的部分输出:
 ...
 ...
 controller-machines:
    "0":
      instance-id: i-04790c2414e4c8e80
      ha-status: ha-enabled
    "2":
      instance-id: i-0b36284d1ebb816cf
      ha-status: ha-enabled
    "3":
      instance-id: i-09ff42ba5fb9429b0
      ha-status: ha-enabled
    "4":
      instance-id: i-098222dad56cbe9a0
      ha-status: ha-enabled
    "5":
      instance-id: i-0613fb1fa8346de8a
      ha-status: ha-enabled
  models:
    controller:
      uuid: e8c4d910-8818-4a8a-8839-25766a1875d3
      machine-count: 5
      core-count: 5
  ...
  ...

此处,计算机数量是“控制器”模型中的计算机总数,而核心数量是控制器计算机的数量。如果成员处于活动状态,则密钥状态会显示为“ ha-enabled”(已启用),如果成员处于热备用模式,则状态为“ ha-pending”。

从控制器故障中恢复

在出现故障的控制器时,不会自动重新生成新的控制器,也不会删除故障的控制器。但是,只要原始成员数量的一半以上仍然可用,手动恢复就很简单:

  1. 卸下损坏的控制器(如上所述)。
  2. 添加新的控制器(如上所述)。

在添加新控制器之前,必须先删除控制器,因为enable-ha命令不会检查故障。它只是确保存在成员总数。

在不幸的情况下,如果存在可用的工作控制器数量不足,则必须从备份中还原。请参阅备份和还原Juju以了解其工作原理。

如果控制器进入“down”状态,则认为该控制器发生故障。可以通过将状态命令应用于“控制器”模型来对其进行监视:

juju status -m controller

此输出表明,在机器“ 3”上运行的控制器已失去与集群其余部分的连接:

Machine  State    DNS             Inst id              Series  AZ          Message
0        started  54.166.164.0    i-04790c2414e4c8e80  xenial  us-east-1a  running
2        started  54.80.176.66    i-0b36284d1ebb816cf  xenial  us-east-1a  running
3        down     54.157.161.147  i-09ff42ba5fb9429b0  xenial  us-east-1e  running
4        started  54.227.91.241   i-098222dad56cbe9a0  xenial  us-east-1d  running
5        started  174.129.90.47   i-0613fb1fa8346de8a  xenial  us-east-1c  running

但是,juju控制器的输出中的“ HA”列–refresh仍然像以前一样显示为“ 5”:

Controller  Model    User   Access     Cloud/Region         Models  Machines    HA  Version
aws-ha*     default  admin  superuser  aws/us-east-1             2         5     5  2.4-beta2

要从此降级的群集中恢复,请执行以下操作:

juju remove-machine -m controller 3
juju enable-ha -n 5

控制器HA和日志记录

所有Juju计算机都将其日志发送到HA群集中的控制器。每个控制器依次将这些日志发送到MongoDB数据库,该数据库在各个控制器之间是同步的。用户通常使用juju debug-log命令读取日志信息。请参阅Juju日志。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值