AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 239087
Accepted
FreedToFly
FreedToFly
Asked: 2019-05-27 04:08:35 +0800 CST2019-05-27 04:08:35 +0800 CST 2019-05-27 04:08:35 +0800 CST

如何防止实时服务器检测到强制故障转移?

  • 772

我们在 Windows Server 2016 上的 SQL 2017 中使用 AlwaysOn 可用性组,该组由我们主站点上的两台服务器和远程站点上的一台 DR 服务器组成。

我们最近进行了一次内部 IT 灾难恢复测试作为概念验证,在此期间公司其他人员继续使用主站点。我们隔离了远程 DR 网络以模拟主站点的灾难性故障,并测试了 DR 站点以确保我们可以启动并成功使用它。到目前为止,测试进行得非常顺利,但是在将事情恢复正常时我们遇到了一个重大问题。

由于测试期间主站点仍在使用中,我主要关心的是确保实时数据库不会被测试期间也使用的 DR 数据库损坏,所以我在打开 VPN 之前删除了 DR 数据库我希望主站点开始自动播种回 DR 站点。但是,因为我必须在 DR 站点上强制进行故障转移,所以在重新建立网络链接后,主站点检测到 DR 服务器已使用强制仲裁开关 (/fq) 启动,它基本上关闭了两个实时服务器。我无法强制故障转移回 Live 服务器,不得不重建集群。

问题:如何防止 Live 服务器检测到在 DR 站点上执行了强制故障转移?

我确实考虑在打开网络链接之前关闭 DR 服务器,但我仍然不确定当它联机时会发生什么。在任何情况下,远程数据库都需要从 Live 重新播种。

availability-groups failover
  • 1 1 个回答
  • 58 Views

1 个回答

  • Voted
  1. Best Answer
    Tony Hinkle
    2019-05-31T13:06:50+08:002019-05-31T13:06:50+08:00

    快照
    假设使用虚拟机,请在源站点断开后对 DR 服务器进行快照。我可能会建议先关闭服务器,以便快照处于良好、干净的状态。完成 DR 测试后,关闭 DR 服务器,然后将其恢复为快照。这既简单又便宜。唯一的缺点是源站点在测试期间不受保护,并且由于快照的原因,DR 节点可能会慢一些,具体取决于您的存储基础架构。哦,您的主数据库必须有足够的磁盘空间来排队数据库复制,直到站点重新连接。

    使用克隆
    假设您正在使用虚拟机并且有足够的磁盘空间,克隆 DR 节点,关闭原始 DR 节点,然后对克隆进行测试。完成后,删除克隆并使原始 DR 节点联机。这解决了两个问题:1)您不必重新同步整个数据库,2)您不必逐出/加入集群节点。

    这种方法的缺点是在测试期间,主服务器必须对所有数据进行排队,因此事务日志可能会变得非常大。在您执行的测试中,这种情况正在发生,因此您显然有足够的磁盘空间来存储日志,这不是问题。

    使用更多克隆
    一些组织在 DR 站点创建了一个“气泡”网络,无法与生产 DR 网络通信。然后克隆基础设施服务器(域控制器、DNS 等),并在气泡中使克隆上线。然后将需要参与 DR 测试的其他服务器克隆到气泡中。这允许您在 DR 测试期间保持真实的 DR 服务器在线和正常运行。除了真正的故障排除之外,这是最安全的,因为如果主站点在 DR 测试开始 5 小时后被破坏会发生什么?如果您断开了站点的连接,您将丢失 5 小时的数据。

    当然,这样做的缺点是它可能成为一项艰巨的任务,需要大量的员工时间、硬件等。

    Evict and Rejoin
    正如上面评论中提到的,您可以在 DR 站点重新连接之前将 DR 节点从集群中逐出,然后将其重新加入集群并将节点添加回可用性组。这相当简单并且需要最少的硬件,但它确实有在 DR 测试期间使您的主站点不受保护的缺点。

    • 1

相关问题

  • 通过实例名和集群名访问 SQL Server 的区别

  • 只读辅助数据库上的锁是否传播到读/写数据库

  • 在多站点配置中读取可用性组的首选节点

  • 如何确定高可用性配置是否正常工作

  • PostgreSQL 9.1 中的自动故障转移

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve