这是我第一次在这里提问,我想知道是否可以将两个不同的 ISP 公共 IP 连接到单个系统以实现高可用性?
例如,如果我们的ISP 1离线,第二个ISP将可用,就像google和youtube有不同的公共地址一样,我只是不知道在哪里配置它。
我们目前使用的是fortinet 300D。
我正在使用 Pacemaker/OpenAIS 管理运行 NFS v4 的服务器。NFS 配置为使用 TCP。当我将 NFS 服务器迁移到 Pacemaker 集群中的另一个节点时,即使元数据被保留,来自客户端的连接也会“挂起”并最终在 90 秒后超时。90 秒后,旧的挂载点变为“陈旧”,无法再访问挂载的文件。
90 秒宽限期似乎是服务器配置的一部分,而不是客户端配置。我在服务器上看到此消息:
内核:NFSD:开始 90 秒宽限期
如果我在迁移(卸载然后重新安装共享)后重新启动客户端节点上的 NFS 客户端,则不会遇到该问题,但连接和文件传输仍然中断。
三个问题:
我正在评估 SQL Server 2008 镜像(异步)以提供更好的可用性。根据您的经验,我想知道 SQL Server 镜像是否是一种可靠且成熟的技术。自动故障转移不是强制性的,但很好。因此,我分别评估镜像机制和自动故障转移机制。
镜像机制可靠吗?是否需要持续配置和调整?
自动故障转移选项可靠吗?是否需要持续配置和调整?
问候,
我在 SQL 2008 中使用高安全性、同步模式配置了数据库镜像设置,没有自动故障转移。我没有见证人实例。
关于高可用性,我理解镜像是比日志传送更好的策略(更快、更顺畅的故障转移),并且比集群更便宜(因为许可证和硬件成本)。
根据 MS 文档,要进行故障转移,您需要访问主体数据库,并在“镜像”选项中单击“故障转移”按钮。但是我想从镜像数据库中执行此操作,因为在主体服务器崩溃的情况下完成所有这些设置有什么好处?
显然我错过了一些东西。如果镜像不是服务器停机的解决方案(如果我理解正确的话,集群也是如此),那么哪些实际(即现实世界的例子)案例会从镜像中受益以实现高可用性目的?
非常感谢您的回复!我真的需要一些启示。
我们正在审查新客户给我们带来的系统要求。他们在医疗领域工作,他们希望我们托管的系统必须至少具有高可用性,并且最好是容错的。
我们正在考虑授权 VMWare Enterprise 以通过 FT 兼容硬件获得其 HA 和 FT 功能。没什么大不了的 - 10Gbs 以太网的价格正在下降,而 1Gb 以太网不是问题。
然而,客户的要求之一是我们有一个位于完全不同城市的 HA(不是 FT,但 FT 会很好)站点。
带宽在澳大利亚是疯狂昂贵的,我甚至不知道它可能获得悉尼和墨尔本(约千公里/ 600英里外)之间的1Gbps的链接。我可能很难在两个城市之间建立 100Mbps 的链接。
提供 HA 系统的选项有哪些?不必使用 VMWare,但如果一个站点出现故障,我需要能够登录到第二个站点并点击“开始”按钮并启动并运行。
我正在 Linode 上运行一个应用程序。他们的网络不支持多播。许多用于故障转移的工具(keepalived、spread/wackamole、heartbeat)需要多播才能工作(据我所知)。我已经阅读了所有这些的文档,即使在“单播”模式下(如果有的话)它仍然通过多播发送。
我知道通过 GRE 隧道,我可以在路由器不知道的情况下有效地发送多播,这将使我能够使用其中一种工具(现在我想使用 keepalived)。
我在设备“gretun”上设置了我的隧道,如下所示:
10.0.0.1 是指向 www1
的隧道接口点 10.0.0.2 是指向 www2 的隧道接口点
我可以nc 10.0.0.2 80从 www1 和nc 10.0.0.1 80www2,所以它似乎正在工作。假设我要共享的公共 IP 是 69.164.69.69。
我有两个问题:
配置keepalived监控隧道(gretun)后,两台机器还是看不到对方。这是我的配置:
global_defs {
notification_email {
info@app.com
}
notification_email_from alerts@app.com
smtp_server localhost
smtp_connect_timeout 30
router_id www1.app.com
}
vrrp_script chk_haproxy {
script "killall -0 haproxy"
interval 2
weight 2
}
vrrp_instance VI_1 {
state MASTER
interface gretun
virtual_router_id 51
priority 100
advert_int 1
garp_master_delay 2
smtp_alert
authentication {
auth_type PASS
auth_pass …Run Code Online (Sandbox Code Playgroud) 我们有一个在 windows server 2003 上运行的遗留但非常重要的应用程序。应用程序本身不支持任何类型的 HA,它不是最可靠的软件。上周我们遇到了一个特殊的紧急情况,应用服务器上的操作系统崩溃了,并且没有再次启动。
据我所知,当您使用 vmware HA 时,vmware 会继续运行两个 VM,它们是完美的副本并且完全同步。所以我想知道如果 app 或 os 在一个 VM 副本中崩溃会发生什么,这是否意味着它也会在另一个副本中崩溃?但在这种情况下,HA 没有任何意义。如果一个更新破坏了应用程序,操作系统更新如何?
你能告诉我这个 vmware HA 是如何工作的,以及它的保护措施。
非常感谢。
我正在尝试进行一些心跳调试。
有没有一种简单的方法来询问机器是否认为它是集群的一部分,以及它是主机还是从机?
我试过了
$ heartbeat -s
Run Code Online (Sandbox Code Playgroud)
但它似乎只打印一个非常基本的状态 - 使用进程 ID 运行,或者不运行。
virtualization virtual-machines high-availability vmware-esxi vmware-vcenter
我想在 Pier1、Q9 或一些类似的托管设施托管(共同定位)一项服务。
将我的故障转移硬件放在单独的机柜中是最佳做法吗?根据您的经验,托管服务提供商会允许这样做吗?
我担心的是,如果发生什么事,比如机柜着火或心怀不满的机架承租人将他的可乐倒进服务器,我的两个 HA 堆栈都会受到损害。
根据您的经验,如果我将它们放在不同的机柜中,它们是否可以在同一个子网中,或者我将电缆从一个机柜连接到另一个机柜是否违反托管策略?
或者是这种情况永远不会发生,我应该停止担心?
编辑:这是一个高商业价值的无状态 Web 应用程序,其中几秒钟的停机时间将是非常有害的。
failover ×3
vmware-esxi ×2
colocation ×1
fortinet ×1
heartbeat ×1
hosting ×1
ip ×1
keepalived ×1
linux ×1
migration ×1
mirroring ×1
nfs ×1
pacemaker ×1
sql-server ×1
tunneling ×1