标签: high-availability

哪个 STONITH 硬件用于电源围栏?

我想使用 corosync/pacemaker/drbd 设置一个两节点的高可用性集群。为此,当然,我需要击剑。据我所知,所有 IPMI/iLO/... 解决方案都可以完成这项工作,但前提是机箱有电。在节点 B 断电的情况下,节点 A 没有任何机会对节点 B 使用 STONITH。

什么样的硬件可以解决这个问题?是否有(标准机架)服务器提供 IPMI/iLO/... 使用电池运行的硬件?我应该使用联网的 UPS 吗?

hardware ipmi high-availability electrical-power ilo

5
推荐指数
2
解决办法
2845
查看次数

复制 Linux Web 服务器

我正计划复制 Web 服务器以实现高可用性目的。该服务器在 Hyper-V 中作为 Ubuntu 15.04 虚拟机运行,并安装了 MariaDB 10.0、Apache 2.4 和 PHP-FPM 5.6。

第二个虚拟机将作为该虚拟机的直接副本启动,但位于美国。第一个虚拟机位于欧洲。(延迟约为 80-120 毫秒)

我想让服务器保持同步,以便它们都可以向我的客户端提供相同的内容,并且客户端将使用最近的服务器(为此我将使用 Route 53)

服务器之间的数据交换是安全的,这很重要,以保护数据库中的联系方式和其他信息,并防止更改 /var/www 目录中的文件。

我已经考虑为此使用以下选项:

  • 开放VPN
  • SSH隧道
  • SSL(TLS)

    1. 我的问题是哪种方法最可靠、最快(延迟、吞吐量)和最安全?易于维护也很好;)

我已经考虑使用 SSH 进行数据库和文件复制。但是我不确定文件复制部分使用哪个应用程序。

  1. 我应该如何设置文件的复制以及我应该使用哪个应用程序?

SSL 可用于数据库复制,但它需要生成需要时不时更换的证书,这可能会花钱。

我的最后一个选择是使用 openvpn,但我不确定是否可以将其设置为附加网络,而不是通过它路由我的所有流量。这个方法好像也需要生成证书文件。。

  1. 我希望能够在稍后向复制过程添加额外的服务器,可能是 Windows 服务器。

mysql ubuntu mysql-replication replication high-availability

5
推荐指数
2
解决办法
1687
查看次数

通过 ARR 运行时,大文件的 POST 超时

当通过 ARR POST 一个大文件时,请求在 120 秒后超时。客户端收到错误代码502 Bad Gateway。我已将 Web 场的“代理超时”配置为 600 秒。我还配置了Connection time-outDefault Web Site为600秒。ARR 服务器已重新启动。

以下来自ARR服务器上的日志文件:

2015-05-07 13:25:16 192.168.87.155 POST /Redacted/Import/RedactedImport20150507_152313.csv X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=253daa4a-8372-405a-8efd-21ebbc38353f 80 - 192.168.87.198 - redacted.local 502 3 64 120436
Run Code Online (Sandbox Code Playgroud)

来自 applicationHost.config:

    <webFarm name="redacted.local" enabled="true">
        <server address="redacted.local" enabled="true" />
        <applicationRequestRouting>
            <healthCheck url="http://redacted.local/redacted.svc" liveTrafficFailureCodes="400-" />
            <protocol timeout="00:10:00" />
        </applicationRequestRouting>
    </webFarm>
Run Code Online (Sandbox Code Playgroud)

背景:

我正在构建一个 PoC 以使用 ARR 为我们的后端服务实现负载平衡和高可用性,这些服务主要是 WCF(基本 HTTP)和 REST。

其中一个(REST)服务用于每天从批处理作业中接收大(ish)文件几次。REST 服务在文件处理完成之前不会返回(这可能需要 5 分钟),因为客户端应用程序需要知道处理何时完成(后面有更多步骤,取决于第一个步骤)。

iis high-availability load-balancing arr

5
推荐指数
1
解决办法
7131
查看次数

高可用性的定义是什么?

我所知,服务或系统的可用性定义为:

(Time resource was available - Time resource was unavailable) / Total Time

我的问题是:

将系统/服务描述为“高度可用”是行业公认的标准术语吗?

这就引出了我的下一个问题:

如果软件供应商声称销售高可用性解决方案,那么该解决方案是否具有符合描述的合理预期的最低可用性级别?

high-availability

5
推荐指数
1
解决办法
2509
查看次数

RDS 2012R2:RD 连接代理 HA - 无法连接到 SQL

我正在尝试设置一个全新的 RDS 环境。我正在尝试遵循本指南:https : //msfreaks.wordpress.com/2013/12/09/windows-2012-r2-remote-desktop-services-part-1/并且已经走得很远,但我m 在“为 HA 配置 RD 连接代理”屏幕上失败。这是我得到的错误:

数据库连接字符串中指定的数据库无法从 RD 连接代理服务器获得。确保网络上有SQL Server,RD Connection Broker服务器上安装了SQL Server Native Client,RD Connection Broker对数据库有写权限。

到目前为止,这就是我所做和尝试的(无特定顺序):

  • 在 RDS 服务器上安装 SQL Server Native Client(运行 SQL Server 2014 安装程序,刚刚安装了“客户端工具连接”和“SQL 客户端连接 SDK”功能
  • 在 RDS 和 SQL Server 上的 SQL Server 配置管理器中验证是否启用了 TCP/IP
  • 创建了一个名为“RDS Connection Brokers”的 AD 组,添加了 RDS 服务器,并在 SQL Server 中授予组 dbcreator 权限(无奈之下,我也尝试在 SQL 中授予组 sysadmin 权限,但没有成功)
  • 关闭两台服务器上的 Windows 防火墙进行测试;不行
  • 暂时禁用两台服务器上的 AV 进行测试;不行
  • 重启两台服务器
  • 尝试在 SQL 服务器上创建一个正确名称的空白数据库并再次运行 HA 向导;不行
  • 仔细检查两台服务器上是否都安装了本机客户端;似乎已安装

这是我正在尝试的数据库连接字符串:

DRIVER=SQL Server Native …
Run Code Online (Sandbox Code Playgroud)

high-availability remote-desktop-services sql-server rds database-connection

5
推荐指数
1
解决办法
9023
查看次数

是否可以查询 AWS 数据中心之间的距离?

我的公司正在与一位对数据中心之间的最小距离有要求的客户进行谈判。也就是说,它们需要在相距超过 3 公里的数据中心中进行冗余存储。

是否可以通过在一个 AWS 区域(法兰克福,如果可能)中使用两个不同的可用区来确保这一点?

我在互联网上搜索了一段时间,但我发现的都是关于 AWS 区域和可用区架构的通用描述,没有任何关于形成可用区和区域的数据中心之间的地理距离的说明。

常见问题解答仅说明 AZ 是

物理上分开,这样即使是非常罕见的灾难,如火灾、龙卷风或洪水,也只会影响一个可用区

但我找不到比这更具体的东西了。

disaster-recovery high-availability amazon-web-services

5
推荐指数
1
解决办法
3651
查看次数

完整的高可用性系统

我正在配置 LAMP 服务器,但希望确保它可以为未来的扩展做好准备。

这是我目前的设置..

  • 使用 Hyper-V 群集的两个物理 Windows 服务器
  • 两台虚拟机,一台用于 Apache,另一台用于 MySQL
  • 两个 Synology ISCSI LUN 配置为 RAID5,一个用于 Apache,另一个用于 MySQL
  • 每个虚拟机都设置为使用各自的 ISCSI 作为数据文件夹
    (apache 的网站数据和 mysql 的数据库数据)

这就是我想要做的..

  • 配置为故障转移(主动-被动)的第二个 Apache 服务器
  • 第二个 MySQL 服务器配置为故障转移(主动-被动)

这是我需要帮助的地方..

我的想法是使用虚拟 IP 地址,该地址将分配给配置为主服务器的两个 apache 服务器之一。如果主服务器死了,我希望辅助从服务器声明该虚拟 ip 并充当主服务器,直到原始主服务器重新联机。我不必担心在两个 apache 服务器之间同步数据,因为数据存储在 ISCSI 中。我不必担心“文件访问冲突”,因为一次只有一台服务器会访问服务器。同样的概念也适用于 MySQL 服务器。

问题是.. 你认为这种设置对现在和未来都有好处吗?下一个问题是.. 我应该使用什么来处理主动-被动故障转移。我正在研究 ucarp,它似乎很容易使用。你们有什么感想?

iscsi failover hyper-v high-availability ubuntu-16.04

5
推荐指数
1
解决办法
404
查看次数

如何抑制 Heartbeat 资源在故障转移数据中心启动?

我在每个数据中心都有一对 CentOS Linux 服务器。他们在每个数据中心内都有故障转移,由心跳DRBD管理(我知道这些是过时的工具,但它们很稳定,所以没有改变它们的愿望)。

它们还具有数据中心间切换的能力,使东部数据中心处于活动状态,而西部数据中心变为被动状态。但这是一个手动工程过程,没关系。

西数据中心目前是主动的,东数据中心是被动的。

serverA.west <-> serverB.west  <-----------> serverA.east <-> serverB.east
     ACTIVE DATA CENTER                           PASSIVE DATA CENTER
Run Code Online (Sandbox Code Playgroud)

服务器可以运行 mysqld 和 Java 应用程序。

此服务器上的 Java 应用程序应仅在活动数据中心(即 serverA.west)中的主要主机上运行。如果 Java 应用程序的另一个实例在辅助主机 (serverB.west) 或被动数据中心的任一主机上启动,则存在裂脑问题的风险。

今天 serverA.east 重启,导致心跳切换到 serverB.east。Heartbeat 然后尽职尽责地在 serverB.east 上启动了 Java 应用程序,这是我们不希望发生的。

Heartbeat 还在 serverB.east 上启动了 mysqld,这是正确的,因为 MySQL 复制应该继续进行,不断从西部数据中心复制更改,以便东部 DC 准备好在需要时接管。

/etc/ha.d/haresources 将 mysqld 和 Java 应用程序的 /etc/init.d 脚本命名为要启动的资源。

我们希望允许 heartbeat 管理被动数据中心中的 A/B 对。它应该在故障转移时启动 mysqld,而不是 Java 应用程序。但是如果东数据中心是活动的,那么在心跳自动故障转移期间心跳应该启动 Java 应用程序。

什么是实现这一点的好方法?

我希望的是,当我们将活动数据中心从西向东切换时,只需一步配置即可。理想情况下,它应该是防错的,即应该保证恰好有一个数据中心被配置为活动的。

linux failover centos high-availability heartbeat

5
推荐指数
1
解决办法
255
查看次数

HA VM 集群的“实时”镜像?

我正在阅读虚拟化中的 HA 技术,但我看到的所有解决方案都或多或少地像更专业的 VRRP 一样工作 - 当主机停机时,VM 会在另一台虚拟化主机上启动。如果存储是共享的(例如 iSCSI),则可以启动“相同的”VM,因此对于来宾操作系统,它看起来像是电源故障。但是如果有一些重要的数据驻留在 RAM 中(例如内存数据库),那么它仍然会丢失。

虽然可以以一定的时间间隔创建正在运行的 VM 的快照(不幸的是,创建此类快照需要大量时间,因此无法每隔 10 秒完成一次)。然后另一个虚拟化主机可以加载这样的快照并“不间断”(加上减去间隔时间)继续运行虚拟机。

所以我的问题是 - 是否有任何解决方案可以自动“镜像”虚拟机,以便在虚拟化主机故障后虚拟机可以在另一台主机上“恢复”而不会出现明显中断?从字面上看,就像虚拟机的 RAID1。在 RAM 级别完全同步的镜像。

virtualization failover virtual-machines high-availability

5
推荐指数
2
解决办法
1292
查看次数

RDS 快照:I/O 暂停发生多长时间?

由于我们的备份策略依赖于 RDS Postgresql 手动备份,因此我们遇到了在创建快照期间 RDS 实例(单可用区)可能停机的问题。根据 AWS:

在单可用区数据库实例上创建此数据库快照会导致短暂的 I/O 暂停,可能会持续几秒到几分钟,具体取决于数据库实例的大小和类别。

这并不清楚我们如何确定数据库实例 I/O 在快照期间是否正常运行,就好像数据库在短时间内关闭一样,我们希望停止相应的 Web 服务器或将其从负载均衡器以确保客户端不会发生连接中断。

让我们非常疑惑的是:

  • 数据库在快照期间真的有停机时间吗,AWS 只是说“I/O 暂停”和“延迟”?我在某处读到停机时间仅在快照初始化期间持续很短时间(从几秒钟到几分钟),我们是否可以知道停机时间是否已经过去并且数据库实例已准备好提供服务(同时其快照仍在创建中)?

  • 处理这些 IO 暂停的一般最佳做法是什么?似乎即使使用自动备份也会发生这种情况,这是否意味着在进行数据库快照创建时站点每天可能会停机?

high-availability snapshot amazon-web-services database-backup amazon-rds

5
推荐指数
1
解决办法
4462
查看次数