不同子網路上的 Pacemaker ocf:heartbeat:IPaddr

不同子網路上的 Pacemaker ocf:heartbeat: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參數分別是:

bindnetaddr: address 200.xx.xxx.9

bindnetaddr: address 200.xx.xxx.10

分別。

如果所有內容都在同一子網路上,我希望添加虛擬 IP,如下所示:

sudo crm configure primitive eth0_virtual ocf:heartbeat:IPaddr params ip="200.zzz.z.162" nic="eth0" cidr_netmask="24" broadcast="200.zzz.z.255" op monitor interval="10s" timeout="20s"

雖然這在 crm_mon 中顯示為資源,但它不允許我透過虛擬 IP 存取其中一台虛擬機器。顯然還有更多的事情要做,但是什麼呢?

編輯:在 ClusterLabs 郵件列表上有人建議這可能是潛在的網路問題後,我現在所處的位置是:

我透過 online.net 託管 ESXi,後者提供了可分配給我託管的虛擬機器的額外「故障轉移」IP。我有三個; 200.xx.xxx.9 和 200.xx.xxx.10,我用於列出的兩個 Ubuntu VM,第三個 200.zzz.z.162,我嘗試將其用作 ocf_heartbeat_IPaddr 資源代理人。至關重要的是,online.net 要求您為每個 IP 指派一個與虛擬機器上的介面相符的 MAC 位址。我對前兩個 IP(使用不同的 MAC 位址)執行了此操作,但對第三個 IP 沒有執行此操作。當我嘗試將現有 MAC 位址之一與第三個 IP 結合使用時,我立即獲得了以下連線:

現在,我擁有所有三個 IP,並且兩個虛擬機器介面共用相同的 MAC 位址。這讓我印象深刻真是個壞主意,但是,它實際上似乎正在工作,不會產生任何數據包錯誤或連接或 HA 集群問題……至少到目前為止,除了記錄的火星流量之外,我還沒有發現任何問題。這是我正在使用的 ocf:heartbeat:IPaddr 設定:

sudo crm configure primitive eth0_virtual ocf:heartbeat:IPaddr params ip="200.zzz.z.162" nic="eth0" cidr_netmask="32" broadcast="200.zzz.z.162" op monitor interval="10s" timeout="20s"

相關內容