Articles of 故障转移

得到“页面不正确redirect”问题在mod_jk集群

我在两台不同的机器上安装了两台jboss AS 7服务器,并通过切换standalone-ha.xmlconfiguration来启动这两台服务器。 另外我安装了一个Apache的httpd服务器在这台机器之一,我configuration和安装mod_jk模块到Apache的httpd服务器。 然后根据这个文档configurationjboss服务器的集群与httpd服务器。 问题是我得到的页面没有正确的redirect错误,当我要求在两个JBoss服务器运行的情况下configuration的Apache HTTPD服务器的URL。 但是,如果我closures任何一个jboss服务器(节点),我通过请求Apache httpd服务器configuration的url得到应用程序。

Keepalivedconfiguration

我安装在两个防火墙keepalived提供故障转移。 我不确定以下configuration是否正确(请参阅下面的configuration)。 有时我遇到问题,以达到防火墙后面的网站。 我怀疑keepalived运行在两个防火墙,大约一分钟的时间内,网站仍然无法访问..然后连接到网站被恢复。 可能是什么问题呢? keepalived可以不断切换状态(MASTER或SLAVE)吗? Firewall-2以MASTER状态运行。 当keepalived在防火墙-1上启动时,它跳转到BACKUP状态。 有没有像ipvsadm命令或工具来检查keepalived的真实状态? 在firwall-1上configurationkeepalived.conf root@firewall-1:/etc/keepalived# head -n100 keepalived.conf global_defs { router_id fw_1 } vrrp_sync_group loadbalancers { group { extern intern } } vrrp_instance extern { state BACKUP priority 100 interface eth0.100 garp_master_delay 5 virtual_router_id 40 advert_int 1 authentication { auth_type AH auth_pass xxxx } virtual_ipaddress { 194.xx.xx.x1 194.xx.xx.x2 194.xx.xx.x3 […]

PHP – Memcached – Libmemcached – 处理caching服务器中断

我正在努力确保我们的应用程序在caching完全中断的情况下正常降级,这是非常不可能的,因为通过PHP的memcached addServer API调用,至less有3个caching节点添加到caching池。 但是,单个节点可能会失败,我需要确保memcached api正确处理这种情况。 这是我目前的cache.ymlconfiguration port: 11211 <?php echo Hobis_Api_Cache::TYPE_VOLATILE; ?>: options: – <?php echo Memcached::OPT_CONNECT_TIMEOUT; ?>: 25<?php echo PHP_EOL; ?> #- <?php echo Memcached::OPT_DISTRIBUTION; ?>: <?php echo Memcached::DISTRIBUTION_CONSISTENT; ?><?php echo PHP_EOL; ?> – <?php echo Memcached::OPT_LIBKETAMA_COMPATIBLE; ?>: true<?php echo PHP_EOL; ?> – <?php echo Memcached::OPT_NO_BLOCK; ?>: true<?php echo PHP_EOL; ?> #- <?php echo […]

Apache ReverseProxy在返回错误页面时将上游服务器设置为错误

我们正在使用Apache LoadBalancer / ReverseProxy为我们的Web服务器提供故障转移。 目前我们遇到以下问题: web服务调用返回HTTP状态码为500的错误 由于ProxyErrorOverride设置为On,因此Apache会覆盖上游服务器的响应,并将其replace为默认的Apache错误页面。 我们添加了这个指令,以确保没有上游服务器的错误细节可以到达外部。 Apache将上游服务器设置为“ERR”状态一分钟 后续的请求被发送到另一个服务器,这是不知道客户端会话,所以访问被拒绝(我们使用粘滞而不是共享的会话) 如果没有ProxyErrorOverride ,则会返回上游服务器的响应,负载平衡器不会将其设置为“ERR”状态。 我没有发现这种副作用logging,也没有解决方法。 有任何想法吗? 从我们的configuration文件中摘录一些内容: ProxyRequests Off # ProxyErrorOverride On <Proxy balancer://jboss> BalancerMember http://server1:8080 route=11 connectiontimeout=60 BalancerMember http://server2:8080 route=12 connectiontimeout=60 ProxySet stickysession=ROUTEID </Proxy> httpd -v返回 Server version: Apache/2.2.15 (Unix)

在Azure上构buildWindows故障转移群集时出现IP资源错误

我在四台虚拟机上安装了Microsoft Azure中的故障转移群集。 我有一个子网/区域中的两个节点,另一个子网/区域中的一个节点和第三个子网/区域中的最后一个节点。 群集已通过validation向导并已成功构build,但其他子网中的两个节点将不会联机,报告“无法使资源的IP地址xxxx联机”。 Azure Vnet安装 Vnet 1 – 美国中南部 – 10.16.16.0/16 – 节点1和2 – 在线 Vnet 2 – 美国 – 10.116.16.0/16 – 节点3 – 离线 Vnet 3 – 美国东部 – 10.216.16.0/16 – 节点4 – 离线 所有三个IP地址资源都是DHCP。 我试图让他们静态,但他们仍然失败,而上网。 如果我点击“信息详情”上的错误,我会得到: 错误代码:0x80071397 操作失败,因为指定的群集节点不是资源的所有者,或者该节点不是资源的可能所有者。 这似乎是Azure DHCP的工作方式的一个问题,但我停滞了。 一定有办法让他工作。 我错过了什么?

Ubuntu 2节点群集Postgresql 9.3与起搏器和stream式复制

我正在尝试使用Postresql 9.3和Streaming Replication来设置2节点群集。 stream式复制已成功configuration。 师父正在收听,正在发送给奴隶。 我可以通过使用rsync更新数据目录创build触发文件和故障恢复主服务器来手动执行故障转移,将旧的主服务器再次作为从服务器升级为故障转移。 在这一点上,一切工作正常。 现在我想用起搏器设置虚拟(浮动)IP的自动故障转移。 主设备总是要让VIP接受客户端连接进行读写操作。 如果作为master的postgresql服务closures,故障转移应该触发一个浮动IP应该移到slave(新的master) 我尝试通过以下configuration指南https://github.com/t-matsuo/resource-agents/wiki/Resource-Agent-for-PostgreSQL-9.1-streaming-replication https://github.com/t-matsuo/资源代理/维基,但不幸的是,postgres不是由起搏器启动的,只有vip-master被分配给首先启动的主机。 我的心脏起搏器configuration是: property \ no-quorum-policy="ignore" \ stonith-enabled="false" \ crmd-transition-delay="0s" primitive pgsql ocf:heartbeat:pgsql \ params \ pgctl="/usr/bin/pg_ctlcluster" \ psql="/usr/bin/psql" \ pgdata="/database/postgresql/9.3/main/" \ start_opt="-p 5432" \ rep_mode="sync" \ node_list="robin marshall" \ restore_command="" \ primary_conninfo_opt="keepalives_idle=60 keepalives_interval=5 keepalives_count=5" \ master_ip="172.16.1.1" \ stop_escalate="0" \ op start timeout="60s" interval="0s" on-fail="restart" […]

在SQL始终打开故障转移之后,在队列上没有收到消息

我们有一个应用程序,它使用Service Broker从SQL Server接收通知。 当我们没有启用SQL Always On,以及与单个数据库进行交互时,应用程序正常工作。 最近我们有SQL Always On。 在我们从SQL Node1执行到另一个SQL Node2的故障转移之后,我们停止从SQL Node2获取任何通知。 在执行任何故障转移之前,即使正在使用SQL Always On,我们也会收到通知。 为了再次得到通知,我们必须再次发送服务代理合同消息,针对特定服务和队列的等待和接收命令等同于重新启动我们的服务。 我查了一下互联网,发现这个关于SQL的服务代理的MSDN文章永远在线 。 我执行了上面这篇文章中提到的步骤,尤其是在“ 可用性组中接收远程消息的服务的要求”部分。 上述文章中提到的第四步: 确保msdb包含AutoCreatedLocal路由或路由到特定的服务。 但AutoCreatedLocal是默认存在的,所以我没有做任何事情的第四步。 但是我仍然没有收到故障转移后的任何通知。 您能否build议我缺less的步骤或没有正确执行的步骤,或任何需要照顾的其他项目。

Windows群集丢失或丢弃了CLUSDB

2008R2上双节点Windows故障转移群集的两个节点都丢失了CLUSDB文件。 我认为这是因为没有经验的pipe理员来到一个有保留磁盘问题的群集,并重新安装了群集function。 所以服务器上没有configuration信息,没有CLUSDB文件,这意味着没有registryconfiguration单元的群集。 在任一服务器上。 但是,服务器仍然知道它的一部分。 您无法启动集群服务,因为集群configuration丢失。 从cluster.log文件中 [CS] Service CreateNodeThread Failed, ERROR_FILE_NOT_FOUND(2)' because of 'Open parameters key failed.' 没有CLUSDB文件的备份,它是一个testing集群,所以有人认为它适合从备份中省略。 由于无法启动群集服务,因此无法从群集中删除节点,因此从头开始重新configuration将无法工作。 我看到它的最后一招是卸载Clusteringfunction,但是当服务器仍然认为它属于一个集群时,你不能这样做。 所以这个问题。 这是从零开始重build,包括操作系统还是有什么办法呢?

Dell PowerConnect链路聚合故障转移失败

我们是一家拥有两台戴尔PowerConnect 5548交换机的小型办公室,它们一起覆盖了我们所有的服务器和主机。 我有他们连接使用端口47和48,我放置在一个LAG。 端口47在每端只能使用100Mbps的光纤转换盒。 对于48号港口,我能够接触跨越两个房间的CAT6电缆(相距约150英尺)。 我正在做的一些备份被限制在100Mbps,所以我推断LAG只是select其中一个链接而另一个用作故障转移。 为了testing,我拔掉了47端口,认为48端口会踢,我们会得到千兆速度。 相反,两个交换机之间的所有通信都被切断了。 感谢生成树的计时器可能会以某种方式参与进来,我让它静坐了一下(2分钟?),看它是否能修复它自己,但事实并非如此。 所以我把端口47插回来,事情又回来了。 作为一个临时的“修复”,我一直用CAT6replace光纤链路,以避免100Mbps的瓶颈。 我的问题当然是反映了我缺乏知识,但是我没有问题。 我只使用GUI。 这就是我设置LAG的方法。 所以有些东西我可以通过看那里的东西看到:LAG(#1)被设置为主干。 其PVID是1.框架types是“承认所有”。 入口过滤设置为启用。 对于端口47和48,“自动协商”为“已启用”,“背压禁用”,“stream量控制”已启用,两个LAG编号均显示为1。 然而,两者之间有差别:端口47具有“MDIX”的自动MDIX设置,而端口48具有“MDI”的设置。 不知道这是否重要。 为什么没有故障转移工作? configuration不当吗? 我误解了LAG应该如何工作?

2012R2集群 – 无停机添加主机

基本上只是想确认我目前的想法 – 有一个3节点2012R2集群。 我们正在更换两台主机。 在将新主机添加到群集并运行validation的时候,存储testing是使VM脱机的原因。 但是,如果我要创build一个额外的LUN,并将其作为可用磁盘添加到群集(此LUN将不包含资源),然后仅select此项用于存储validation,则可以完全避免停机时间?