
我嘗試將我的第一個起搏器叢集設定為 FTP 伺服器。有兩台伺服器安裝了新的centos 6.5和proftpd
第一步是安裝心律調節器和一些設定工具:
yum install pacemaker cman pcs ccs resource-agents
在每台伺服器上執行此命令後,我開始使用以下命令來設定我的第一個 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 上運行,但 FTPService 在 ftp02 上運行,如果我嘗試存取“ftp 10.2.1.50”,我會從 ftp01 獲得答案。
問題一:ClusterIP 和 FTPService 之間有什麼區別,如果 ClusterIP 做同樣的事情,為什麼我應該使用 FTP 服務?
問題2:從現在開始我應該做什麼來建立主動/主動場景以及它是如何運作的?是負載平衡還是簡單的循環法?
答案1
您遇到的情況並不像人們想像的那麼簡單。我現在正在研究這樣的解決方案幾個月。我也嘗試過linux叢集。這是我所知道的:
首先,您需要了解目前配置中的兩個應用程式不可能處於活動/活動狀態。當您開始思考這個問題時,您會注意到您現在所實現的是當其中一個節點發生故障時應用程式不會停止運行。但是故障節點上的所有資料(如果其活動節點發生故障)不會神奇地傳輸到第二個節點。 fe 使用者資料夾不會位於第二個節點上(重點是故障轉移群集不提供儲存)。
因此,首先您需要可從兩個節點(第三個儲存伺服器)存取的儲存空間以及一個能夠識別叢集的檔案系統。然後你就可以開始考慮主動/主動的解決方案。但這又存在另一個限制——當儲存伺服器發生故障時,您的所有叢集都會死掉。
你也可以做這樣的事情。在兩個叢集節點上執行glusterfs(或任何叢集感知檔案系統),然後就有一個複製的檔案系統(兩個節點始終具有相同的資料),但根據我的經驗,glusterfs 對於小檔案來說非常慢。
答案2
首先,虛擬ip用於存取叢集服務。需要在vip(叢集ip)上綁定ftp伺服器。我從您的配置中看到您缺少起搏器的一些基本細節。
如果將ftp伺服器綁定在叢集ip上,則需要使用共置約束或群組。
有關起搏器集群的更多信息,請閱讀 Clusterlabs 網站上的文件。
答案3
你有一個叢集資源,就是IP位址,但一個IP一次只能在一個節點上。您可以在兩台伺服器上執行 ftp,但仍只能使用該 IP 一次存取一台伺服器。您可能需要的是前面的負載平衡器來處理與後端 ftp 伺服器的連接,這是一個不同的問題。或者,您可以在兩者上擁有不同的 IP 位址(通常都有),並使用循環 dns 能夠使用相同的主機名稱存取其中一個或另一個。但實際上,您不會為其中任何一個使用起搏器。
基本上我不認為起搏器是這裡的解決方案。
正常的主動/主動叢集資源(例如,Web 伺服器)將使用克隆資源來完成:http://clusterlabs.org/doc/en-US/Pacemaker/1.1/html/Clusters_from_Scratch/_reconfigure_pacemaker_for_active_active.html