Articles of 集群

为什么要故障转移而不是HA的负载平衡

根据我对故障转移群集的理解,只有一台机器正在工作,这意味着另一台机器处于空闲状态。 那么为什么在Windows Server 2012中使用故障转移群集而不是使用负载均衡方式来获得更好的性能,所有机器都能够一起工作,同时仍然保持高可用性。 在某种情况下,一种情况会更好吗?

在Debian和Ubuntu之间进行select

Debian或Ubuntu的在线多人游戏集群? (最新版本) 我打算跑: Erlang应用程序(ejabberd +模块)具有许多连接 业务逻辑的Java应用程序 与约32 GB的Memcached 重载postgresql 9.X 一些PHP的东西前端。 当然它将分布在4-8台机器上。 有一些与Debian的经验 – 一切都很好,但软件有点过时…有一点与Ubuntu分机 – 目前像魅力运行,但听说它有很多连接的问题…(不知道是否是真的这就是我问你的原因。)

(私人)DNS集群的最有弹性的forms?

我正在做一个由两个数据中心连接的城域网(桥接)的设置,并且所有的数据中心之间都是双倍的,使用RedHat Cluster,DRBD和事物的故障转移模式。 我有一个DNS服务器的每个位置,但事实certificate,在/etc/resolv.conf都没有多大帮助; 如果发生故障,客户一半的时间等待10秒左右。 换句话说,它使用它们进行负载平衡,而不是故障切换。 所以我configuration了两台服务器,使用一个带有ucarp的VIP(≈VRRP)。 有没有办法让我的两个DNS服务器都启动,例如,始终对同一个IP进行响应? 如果一个NS获得两个答案,这没什么大不了的。 有没有办法做到这一点Anycast /多播等? 编辑:原来任播在我的情况下不会对我有任何好处,我只有静态路由,而且大多数stream量实际上是通过一个桥梁。 有趣的是,有两个DNS服务器应答同一个IP上的请求,如果这是可能的话。

寻求关于Hyper-V存储复制的build议

我正在devise一个2主机Hyper-V R2集群,其中包含存储在SMB iSCSI SAN设备上的6-10个guest虚拟机(可能是Promise VessRAID)。 我将获得至less两个SAN设备,并且需要消除存储单点故障。 理想情况下,这将涉及存储的实时故障转移,例如Windows故障转移群集为主机执行的故障转移。 这个devise将在我们的六个站点使用,我希望允许我们最终在托pipe站点设置一个集群,并在那里复制每个站点的虚拟机以供DR使用。 (理想的情况是一个活的多站点群集,但是手动导入虚拟机对于这种灾难恢复很好。) EMC和NetApp等企业级SAN附带的工具似乎是Hyper-V群集中最常用的项目,但我无法按我的预算承担其价格。 除此之外,Hyper-V存储复制似乎最常见的两个工具是SteelEye(现在是SIOS)DataKeeper Cluster Edition和Double-Take Availability。 最初,我打算使用群集共享卷(CSV),但似乎这些产品的复制支持要么不可用,要么全新。 看起来在Double-Take 5.22中支持CSV,请参阅此讨论 ,但我不认为我想在生产中运行一些新function。 现在看来,对我来说最好的select不是实现CSV,实施某种存储复制,并且在复制它们更成熟后,升级到CSV。 我希望进行实时迁移,如果您使用的是每个虚拟机一个LUN,则实时迁移不需要CSV,所以我想这就是我要做的。 我宁愿尽可能地坚持使用Microsoft Windows Server和Hyper-V工具和function。 从这个angular度来看,SteelEye看起来比Double-Take更具吸引力,因为它们使DataKeeper卷可用于故障转移群集pipe理器,然后通过本机Microsoft工具configuration和pipe理故障转移群集。 Double-Take说“不支持群集Hyper-V主机”,Double-Take Availability本身似乎是用于实际群集和故障转移的东西。 有谁知道这些复制工具是否可以与群集中的两个以上的主机一起工作? 我能在网上find的所有信息在他们的例子中只使用两台主机。 有没有比SteelEye和Double-Take更好的工具来做我想做的事情,那就是把存储作为单点故障来消除? Neverfail,AppAssure和DataCore似乎都提供了类似的function,但是它们似乎没有SteelEye和Double-Take那么受欢迎。 我看到很多人build议使用Starwind iSCSI SAN软件作为共享存储,其中包括复制(以及CSV复制)。 有几个原因我没有认真考虑这条路线: 1)我工作的公司是戴尔专卖店,戴尔公司没有任何服务器,我可以装上6个以上的3.5“SATA驱动器。2)在未来,我们不能locking在这个领域一个特定的品牌或types的存储和第三方复制软件都允许复制到异构存储设备。 对于iSCSI和集群来说,我相当新,所以请让我知道,如果看起来我正在计划一些违背最佳实践的东西,或者忽略/遗漏某些东西。

运行后台作业在集群环境中

我有一个架构问题。 在集群Web应用程序环境中,我可以想到三种处理后台作业的方法: 有专门的机器运行所有的工作,从而释放Web服务器不必这样做 让每个Web服务器也运行后台作业,使用一种机制来确保没有两台机器启动相同的工作 有一个networking服务器加倍作为就业跑步者 什么是首选方法?

起搏器ocf:心跳:IPaddr在不同的子网上

我正在尝试添加一个Pacemaker虚拟IP地址; 与它,网关,和它在不同的子网上服务的两个虚拟机。 我以前只使用同一个子网上的所有IP,我需要一些帮助。 我在200.xx.xxx.9和200.xx.xxx.10上有两个虚拟机,下面是/etc/network/interfaces auto eth0 iface eth0 inet static address 200.xx.xxx.9 gateway 200.xx.xxx.9 netmask 255.255.255.255 post-up route add yy.yyy.yyy.1 dev eth0 post-up route add default gw yy.yyy.yyy.1 和 auto eth0 iface eth0 inet static address 200.xx.xxx.10 gateway 200.xx.xxx.10 netmask 255.255.255.255 post-up route add yy.yyy.yyy.1 dev eth0 post-up route add default gw yy.yyy.yyy.1 他们都在Pacemaker中出现,看起来好像在沟通。 两个/etc/corosync/corosync.conf文件中的bindnetaddr参数是: […]

RabbitMQ双节点高可用性群集间歇性地中断了Veeam备份作业

该环境由运行RabbitMQ的两台2012R2虚拟机在其队列中的高可用性(ha-all)组成。 我使用Veeam创build作为DR策略一部分的异地发送的快照备份。 我所看到的是Veeam备份发生时群集的间歇性故障。 当群集中断时,会导致loggingMnesia事件,或者有时会导致一个节点完全closures。 我相信这个问题是虚拟机如何被Veeam所掀起,在这个虚拟机暂停虚拟机一会儿,然后继续。 当这个点出现时,两个节点看到另一个消失,并且二级促进立即掌握。 两个主人一看到对方(几秒钟之后)就立即开始行动,他们碰头,集群破裂。 我在这里阅读了关于net_ticktime ,并实现了300秒,认为这将有助于使群集更加适应短Veeam点,但似乎没有帮助。 当一个节点看到另一个消失时,二级促进自己立即掌握并且似乎没有利用net_ticktime设置。 示例Mnesia错误: Mnesia('rabbit@Node01'): ** ERROR ** mnesia_event got {inconsistent_database, running_partitioned_network, 'rabbit@Node02'} 有没有人经历过这个或类似的东西? 使用RabbitMQ或Erlang进行额外的configuration设置是否有助于使群集更具弹性,以便节点之间的连接丢失小点?

在符合PCI-DSS的Linux群集中进行审核

我熟悉一些configurationLinux服务器以符合PCI-DSS 3.2的常见方式,至less符合SAQ A的要求。 共同关心的是要求8.5,要求: 通用用户标识和帐户被禁用或删除 这包括root用户,这显然不能被禁用,所以需要“补偿控制”(在PCI-DSS的术语中)。 一个常见的配方是以下的一些变体: 禁用根用户login; 需要通过ssh才能使用SSH密钥; 使用sudo来获得root权限; 一旦用户拥有root权限,安装pam_loginuidlogginglogin用户ID; 和 安装并configurationauditd以logging根操作和login用户ID。 然而,如果我今天处理的话,它不是一个我保证的机器:它是一个小型集群(目前有10台机器),而且能够在机器之间ssh (和scp文件)真的非常有用。 必须以非root用户的身份执行此操作将会是一件非常痛苦的事情:几乎总是您需要的文件只能被root用户读取,并且需要放在root用户可以写入的地方。 我想要做的是在机器之间使用ssh作为root,使用服务器上的SSH密钥。 在/etc/ssh/sshd_config使用PermitRootLogin命令在Match Address块中很容易 。 我并不太担心允许一台机器受到攻击的人获得对整个集群的控制权:这些机器是相似的,如果他们设法妥协的话,他们可能会使用相同的stream程来访问其余的。 但是,如果我这样做,我没有能力跟踪谁在运行什么命令,因为当我ssh到另一台机器时,没有loginUID不再附加到进程。 PCI-DSS中的补偿控制需要“满足原始PCI DSS要求的意图和严格性”,要求8.5的目的是为了“追踪系统访问和活动给个人”。 在不保留loginUID的情况下,我们不再提供允许root用户存在的补偿控制。 我希望find的方法是将loginuid从服务器传递到服务器,以root身份login时,可能将其放入环境中。 我不介意这需要隐式地信任源服务器:它已经是。 任何人都可以提出一个这样做的手段? 或者做不到这一点,另一种追踪系统pipe理员活动作为根为特定用户,同时允许简单的机器之间的ssh和scp ?

什么是群集文件服务器的好select?

我们有一个NAS相对较慢的磁盘,当用户在早上login时就会窒息。 我们正在将用户主目录和configuration文件迁移到一个更新,更快的服务器,但是我想知道是否明智地寻找一种方法来集群文件服务器,这样我们就可以有2+服务器共享访问负载和networking负载。 DFS是否可以做这样的事情呢,还是我们最好的select,只是为了在这个问题上抛出更快的硬件? 我宁愿不必使用多个服务器和分区放置用户,所以我们手动传播负载,但这是唯一的真正的select? 其他人如何处理这个问题? NAS单元正在运行Windows 2003/2008(速度较慢的是戴尔专用的NAS设备)。

集群IIS和SQL Server

我有一个WCF服务部署在IIS上,并使用SQL Server 2008作为后端。 我的问题是我怎么能在IIS和SQL Server上做群集(负载平衡/故障切换),以及在做这些事情之前我需要记住什么样的事情(例如,我必须将会话从内存移动到SQL服务器等),以及我怎样才能确保这两个SQL服务器都有镜​​像数据所有的时间和两个SQL服务器实时共享锁(行,页,表)信息。 这是第一次。 请帮忙。 也告诉我这就是所谓的networking农业? 问候Mubashar