如何为主动/主动场景设置起搏器集群,以及它如何工作?

我尝试将我的第一个起搏器集群设置为FTP服务器。 有两个服务器安装了新鲜的centos 6.5和proftpd

在这里输入图像说明

第一步是安装起搏器和一些configuration工具:

yum install pacemaker cman pcs ccs resource-agents 

在每台服务器上运行此命令后,我开始使用以下命令configuration我的第一个Pacemaker群集:

 # ccs -f /etc/cluster/cluster.conf --createcluster ftpcluster # ccs -f /etc/cluster/cluster.conf --addnode ftp01 # ccs -f /etc/cluster/cluster.conf --addnode ftp02 # ccs -f /etc/cluster/cluster.conf --addfencedev pcmk agent=fence_pcmk # ccs -f /etc/cluster/cluster.conf --addmethod pcmk-redirect ftp01 # ccs -f /etc/cluster/cluster.conf --addmethod pcmk-redirect ftp02 # ccs -f /etc/cluster/cluster.conf --addfenceinst pcmk node1 pcmk-redirect port=ftp01 # ccs -f /etc/cluster/cluster.conf --addfenceinst pcmk node2 pcmk-redirect port=ftp02 

现在我在两个节点上启动群集:

 # service cman start # service pacemaker start 

下一步是使用以下命令设置一个ClusterIP和一个FTPService资源

 # pcs resource create ClusterIP ocf:heartbeat:IPaddr2 ip=10.2.1.50 cidr_netmask=32 op monitor interval=30s # pcs resource create FTPService lsb:proftpd op monitor interval=30s 

如果我要求的状态,我得到以下结果:

 # pcs status Cluster name: ftpcluster Last updated: Thu Jul 25 01:04:48 2013 Last change: Thu Dec 5 08:56:39 2013 via crmd on ftp01 Stack: cman Current DC: ftp02 - partition with quorum Version: 1.1.10-14.el6-368c726 2 Nodes configured 2 Resources configured Online: [ ftp01 ftp02 ] Full list of resources: ClusterIP (ocf::heartbeat:IPaddr2): Started ftp01 FTPService (lsb:proftpd): Started ftp02 

我的问题是关于访问FTP服务。 集群IP在ftp01上运行,但在ftp02上运行FTPService,如果我尝试访问“ftp 10.2.1.50”,我从ftp01得到回应。

问题1: ClusterIP和FTPService有什么区别,为什么我应该使用FTP Serice,如果ClusterIP做同样的事情?

问题2:从这个angular度我应该做些什么来构build一个活跃/活跃的场景以及它是如何工作的? 它是负载均衡还是简单循环?

你所拥有的情况并不像人们想象的那么简单。 我现在正在为这样的解决scheme工作几个月。 我也试过linux群集。 以下是我所知道的:

首先,您需要了解您当前configuration中的两个应用程序不可能通过主动/主动。 当你开始考虑这个问题的时候,你会注意到你现在所取得的成果是当其中一个节点失败时不会停止运行的应用程序。 但是失败节点上的所有数据(如果其活动失败的节点)不会被神奇地传送到第二节点。 fe用户文件夹不会在第二个节点上(问题在于故障转移群集不提供存储)。

所以首先你需要可以从两个节点(第三个存储服务器)和一个能够知道集群的文件系统访问的存储。 那么你可以开始思考一个/活跃的解决scheme。 但是这又有另外一个限制 – 当存储服务器出现故障时,你的所有集群都死了。

你也可以做这样的事情。 在你的集群节点上运行glusterfs(或任何集群感知的文件系统),然后你有一个复制的文件系统(两个节点都有相同的数据),但从我的经验glusterfs是非常慢的小文件。

首先,虚拟IP用于访问群集服务。 您需要绑定vip上的ftp服务器(集群ip)。 我从你的configuration中看到你错过了心脏起搏器的一些基本细节。

如果绑定群集ip上的ftp服务器,则需要使用协同定位约束或群组。

有关起搏器集群的更多信息,请阅读Clusterlabs站点的文档。

你有一个集群资源,即IP地址,但一个IP一次只能在一个节点上。 您可以在两台服务器上运行ftp,但仍然只能使用该ip访问一台服务器。 你可能需要的是前端的负载平衡器,它将处理到后端ftp服务器的连接,这是一个不同的问题。 或者,你可以有两个不同的IP地址(你通常),并使用循环赛的DNS可以得到一个或另一个具有相同的主机名。 但是真的,你不会为这两种情况使用起搏器。

基本上我不认为起搏器是这里的解决scheme。

正常的主动/主动群集资源(比如Web服务器)将使用克隆资源完成: http : //clusterlabs.org/doc/en-US/Pacemaker/1.1/html/Clusters_from_Scratch/_reconfigure_pacemaker_for_active_active.html