Articles of 高可用性

SQL Server虚拟networking名称更改错误

我正在为迁移项目configuration双节点故障转移群集。 我们正在将独立的SQL Server转换为集群。 环境:带有Windows Server 2012 R2 SP1的2个节点SQL版本:SQL Server 2008 SP1 Windows FCI已configuration,已validation,SQL故障转移群集已安装并正在运行。 那里没有问题。 我有问题的部分是当试图修改SQL Server虚拟networking名称。 我遵循这里概述的步骤: SQLnetworking名称更改 。 收到的错误: There was an error saving properties for 'SQL Server'. Failed to execute control code 20971654 Error Code: 0x8007000d The data is invalid. 有没有人遇到过这个? 我所遇到的有关重命名SQL Servernetworking名称的所有信息使得它看起来像一个相当平凡的过程,但我无法在我的设置中发生。 任何协助这个问题将不胜感激。 我为什么要这样做的背景:现有的SQL Server几乎是我们所有主要业务运营的核心和灵魂。 迁移后不担心使用相同的服务器名称。 我有解决方法涉及到使用DNS CNames和/或添加一个辅助的“或”依赖项IP地址到SQLnetworking名称群集资源,这将是正在被迁移的SQL服务器当前正在使用的IP地址。 我们将旧服务器离线后添加依赖项。 这已经过testing和工作,但对我来说最简洁的设置将是如果可能的话修改SQL Server虚拟networking名称。

并行文件系统,它将同时的文件请求调度到相互排斥的OSS集

我的环境是基于RHEL的,互连是infiniband。 我有一些Lustre的经验。 我想知道的是: 是否有一个并行文件系统,如果同时写入请求到达,它们被安排在互斥的对象服务器上(以获得高容错性)? 如果没有,我可以调整光泽以安排在不同的目标磁盘上同时进行文件写入请求吗? 我不介意如果我必须禁用条纹。 提高容错性,同时降低性能对我来说是可以的。 有什么build议么?

SQL Server 2012中的MSTDC – 具有高可用性的Windows Server 2012 R2

我们通过VPNnetworking在两台物理服务器上实施了SQL Server High Availability。 SQL Server 2012,Windows Server 2012 R2。 有人指出,分布式事务处理与NODE1和NODE2接通,并NODE1 ON和NODE2 OFF完美工作。 我们testing,故障切换一次closuresNODE1和NODE2,反之亦然。 有经验的是,MSDTC在故障转移后没有工作。 这也是在下面的链接中也注意到, http://msdn.microsoft.com/en-us/library/ms366279.aspx 但是,在故障转移群集pipe理器中,我可以发现 – 可以添加的SQL Server MSDTCangular色。 这个angular色是否可以解决这个问题? 或者是否需要使用SAN存储回滚到正常故障转移群集安装才能执行此操作? 另外,需要注意的是,当两个节点都打开时,NODE2以只读模式可用。 这是正常的吗?

iptable CLUSTERIP不起作用

我们有一些要求在这里解释。 我们尽力满足他们没有任何成功的描述。 这里是简要的信息: 这里有要求: 高可用性 负载均衡 当前configuration: 服务器#1:每个10.17.243.11服务器#2的一个静态(实际)IP:每个10.17.243.12群集(虚拟和所有服务器之间共享)的一个静态(真实)IP:10.17.243.15 我尝试使用CLUSTERIP来获得集群IP,方法如下: on the server #1 iptables -I INPUT -i eth0 -d 10.17.243.15 -j CLUSTERIP –new –hashmode sourceip –clustermac 01:00:5E:00:00:20 –total-nodes 2 –local-node 1 on the server #2 iptables -I INPUT -i eth0 -d 10.17.243.15 -j CLUSTERIP –new –hashmode sourceip –clustermac 01:00:5E:00:00:20 –total-nodes 2 –local-node 2 当我们尝试ping 10.17.243.15时,没有回复。 […]

corosync无法安装

我试图在RHEL6上使用corosync和pacemaker设置集群(CentOS 6.5版) 我已经添加了以下回购数据 [haclustering] name=HA Clustering type=rpm-md baseurl=http://download.opensuse.org/repositories/network:/ha-clustering:/Stable/RedHat_RHEL-6/ gpgcheck=1 gpgkey=http://download.opensuse.org/repositories/network:/ha-clustering:/Stable/RedHat_RHEL-6/repodata/repomd.xml.key enabled=1 我试图安装默认启用回购(启用= 1),禁用回购和使用–enablerepo选项,而只安装pacemaker和corosync。 似乎有依赖关系的问题,我有错误消息如下: Error: Package: pacemaker-1.1.12+git20140723.483f48a-1.1.x86_64 (haclustering) Requires: libcoroipcc.so.4()(64bit) Available: corosynclib-1.4.1-17.el6.x86_64 (base) libcoroipcc.so.4()(64bit) Available: corosynclib-1.4.1-17.el6_5.1.x86_64 (updates) libcoroipcc.so.4()(64bit) Available: corosynclib-2.3.3-1.1.i686 (haclustering) Not found Error: Package: pacemaker-1.1.12+git20140723.483f48a-1.1.x86_64 (haclustering) Requires: libcfg.so.4(COROSYNC_CFG_0.82)(64bit) Available: corosynclib-1.4.1-17.el6.x86_64 (base) libcfg.so.4(COROSYNC_CFG_0.82)(64bit) Available: corosynclib-1.4.1-17.el6_5.1.x86_64 (updates) libcfg.so.4(COROSYNC_CFG_0.82)(64bit) Available: corosynclib-2.3.3-1.1.i686 (haclustering) Not found Error: Package: pacemaker-1.1.12+git20140723.483f48a-1.1.x86_64 […]

高可用性/故障切换硬件连接

我正在学习有关集群和高可用性技术的知识,并且偶然发现了一篇关于使用一对服务器configurationnetworking的文章,使用DRBD进行复制和心跳以进行监视和故障切换。 文章指出,每台服务器上应该有2个网卡:eth0连接到LAN,两个eth1应通过交叉网线相互连接,如下图所示: 图片描述: 为了确保自动故障切换,心跳监视主服务器,如下所示:1.辅助服务器通过连接两台服务器的交叉电缆连续监视与主服务器的连接。 如果主服务器不可访问,则次服务器将采用主服务器的状态。 2.主服务器持续监视与高可用性networking设备(如路由器)的连接。 如果networking设备不可访问,则将控制权交给辅助服务器。 如果发生以下情况,故障切换会自动进行:1.主站的networking故障切换2.硬件故障,如电源,CPU,RAM等 这提出了以下问题: 如果次要/被动服务器上的心跳监视通过eth1监视主节点,如果eth1在任何服务器上出现故障,会发生什么情况? 在我看来,心跳会认为小学已经死了,并会激活中学。 这不会造成“裂脑”的状况吗? 由于主服务器仍然通过eth0连接到局域网并工作,所以它只是心跳/复制链路(eth1)被破坏了。 那么现在我们同时有两台活动的服务器? 我仍然在理解这个概念,请原谅我说废话。

起搏器不能启动drbd资源

这里是crm的configuration显示 [root@node1 /]# crm configure show node node1 node node1.mycluster.org node node2 node node2.mycluster.org primitive Apache apache \ params configfile="/etc/httpd/conf/httpd.conf" \ op monitor interval=30s \ op start timeout=40s interval=0 \ op stop timeout=60s interval=0 \ meta target-role=Started primitive drbd_res ocf:linbit:drbd \ params drbd_resource=data \ op monitor interval=29s role=Master \ op monitor interval=31s role=Slave primitive failover_ip […]

主动/被动反向代理与Nginx

我有两个Websocket服务器,与Zookeeper & Curator一起工作,如果一台服务器出现故障,那么第二个后端活起来。 我按照以下方式configuration它: upstream backend { server 172.31.9.1:8080 max_fails=1 fail_timeout=5s; server 172.31.9.0:8080 max_fails=1 fail_timeout=5s; } server { listen 443; # host name to respond to server_name xxxxxx.compute.amazonaws.com; ssl on; ssl_certificate /etc/ssl/certs/wildcard.dev.xxxx.net.crt; ssl_certificate_key /etc/ssl/certs/wildcard.dev.xxxx.net.key; location / { # switch off logging access_log off; proxy_pass http://backend; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # […]

高可用性和AWS VPN

我有一个关于通过AWS VPN实现高可用性的问题。 语境: 我有一个要求,build立我的AWS VPC和大公司之间的站点到站点VPN连接。 此VPN链接需要支持到我的AWS VPC中的应用程序的入站http连接。 出于各种原因,我所连接的大公司不会分配一个不冲突的私有(RFC1918)子网来使用。 相反,他们要求我使用NAT,通过我公开的IP(我将保留一个公共IP)在VPN上公开我的服务。 我相信,通过遵循本指南(没有单独的代理),我已经成功地设置了这个(可以testing)正确的路由规则组合,但是我只能将传入的连接指向单个IP。 题: 我想知道是否有方法可以直接连接到高可用负载平衡器? 这将允许更好的可扩展性和高可用性。 我考虑过的事情: 使用AWS 外部 ELB: 这些没有可靠的IP地址或足够窄的范围。 我不能在右侧的路由规则中添加这样的范围,因为这样的范围可能会与AWS上托pipe的任何其他服务发生冲突。 使用AWS 内部 ELB: 它们具有公共的DNSlogging和可预测的范围,但是它们都在私有IP范围内,所以不能被客户机系统使用,因为它们只允许创build到非RFC1918公共IP的静态路由。 实现我自己的负载平衡器,如HAproxy: 这将解决可扩展性问题,但仍然会在系统中留下单一故障点(HA节点本身)。 另外,这是我必须维护的另一台机器。 有谁知道是否有方法在VPC路由表中引用ELB? 或者有任何其他的build议如何实现这一目标? 谢谢

如何为两个相同的Icecast主服务器设置自动故障转移反向代理?

我试图做一个简单的事情,在 Icecast主stream服务器的前端高可用性(即我不是在谈论Icecast中继这里) 的反向代理加倍 。 那么,三个虚拟机: 2个完全相同的独立Icecast虚拟机(每个虚拟机都有一个本地MPD音乐源和一个本地nginx前端,用于正确的头文件 ) 一个负载平衡器/反向代理nginx虚拟机。 我的问题是 – 如何configuration反向代理进行自动故障转移,以防Icecast虚拟机中的一个出现stream中断,并且stream客户端不中断? 插图: /— [ local nginx A <-> icecast master A <- mpd A] -> [nginx reverse proxy] —< \— [ local nginx B <-> icecast master B <- mpd B] 我第一次尝试这个简单的教程来设置一个反向代理nginx,之后我可以通过打开nginx虚拟机来听stream。 upstream backend { ip_hash; # try to send the same clients to the […]