Asterisk

高可用性星號選項?

  • March 13, 2020

我們目前在單個節點上執行 FreePBX。我想要一個星號實例集群來共享負載,但主要用於故障轉移。我很好奇其他人是如何解決這個問題的。理想情況下,我想使用“免費”(如啤酒)軟體。

謝謝你的幫助!

編輯

要求提供更多資訊……但老實說,如果這是一個好的解決方案,我們會嘗試任何事情:)

我們並不真正關心故障轉移期間呼叫是否中斷。這將是理想的,但我可以想像,由於必須在節點之間複製大量狀態,因此實現這一點將非常複雜。

我不認為我們不使用 SIP 重新邀請。儘管執行 freepbx 一年多了,但我從未真正遇到過這個術語。我們的案例只是允許人們使用軟電話撥打外線電話,並根據 DID 路由一些內線電話。

現在我們在 LXC 容器中執行 FreePBX。這是因為我們的上游運營商也是 SIP(​​不是 ISDN)。我們有使用 KVM 的經驗,但出於效率原因,我們最好希望在 LXC 容器中執行。

首先看一下這個 voip-info 網頁:高可用性設計。它將在 Asterisk 的上下文中解釋什麼是高可用性,什麼不是。(它很容易將高可用性與負載平衡混淆)

接下來,查看這個 voip-info 網頁:高可用性產品。它將解釋高可用性 Asterisk 的開源/商業解決方案有哪些內容。

沒有解決方案聲稱在故障轉移期間保持呼叫(同時保持在標準 SIP 協議內而不會引入新的單點故障)。SIP 重新邀請用於允許端點之間直接的 RTP 媒體流 - 但 Asterisk 通常停留在 SIP 流中。不是真正的 HA 問題。

需要考慮的其他事情是定義“失敗”。用最簡單的術語來說,就是 Asterisk 程序正在消亡。但通常 Asterisk 程序是活著的,只是沒有橋接呼叫(所以要避免簡單的程序監控腳本)。如果本地數據中心的網路連接中斷(或防火牆出現故障)怎麼辦。您的 HA 解決方案應該能夠考慮上游路由等環境因素,以確定對等方是否可以不再提供電話服務。一些使用通用 Linux 心跳軟體的解決方案沒有任何深入的星號可見性或環境可見性。

如何在對等點之間保持數據同步?從語音郵件到配置數據,再到電話機韌體等。像 DRBD 這樣的解決方案使事情變得容易,但是一個對等方的破壞會立即破壞另一個。例如,如果一個對等點上的損壞程序損壞了關鍵的星號文件,那麼另一個對等點是否會啟動(如果他們使用 DRBD,則不會)。所以避免使用基於 DRBD 的“解決方案”。

如果您引入負載平衡(即多個活動對等方),如果 2 個對等方同時收到使用者 123 的語音郵件 #1,那麼哪一個會“獲勝”?這需要您引入用於呼叫橋接的前端伺服器、用於語音郵件的後端等。而且您仍然存在單點故障或共享組件。

如果您從故障中恢復並且集群需要重新組裝,如果每個對等點都將數據寫入其共享“磁碟”的副本會發生什麼?您是否手動開始協調?如果同時出現 2 個對等方(雙主動)——哪一個獲勝並接管,該怎麼辦?如果您引入共享磁碟解決方案(DRBD、NFS、iSCSI),那麼您就消除了 HA 解決方案中最大和最重要的元素之一:對等自治。所以尋找“同步”,而不是“共享磁碟”。

最便宜的星號“HA”解決方案傾向於使用共享虛擬磁碟(例如:DRBD/NFS/SMB)和/或共享通道庫(例如:Astribank)。正如您將在上面讀到的,真正的 HA 解決方案(如 911/PSAP 呼叫中心使用的解決方案)需要完全自主的對等點和呼叫路徑。有一個(商業)FreePBX 模組,它使用共享磁碟(因此,如果一個對等點出現故障並損壞磁碟,那麼另一個對等點也會損壞)和基本檢測 - 但對於家庭使用者來說,它既便宜又易於安裝;但是,FreePBX 幾年前就停止了對該產品的支持(僅適用於非常舊的 FreePBX 版本)。 彈性體免費提供與 FreePBX 類似的模組。(如果您精通 Linux,那麼您可以使用免費的 Linux DRBD 和 Heartbeat 軟體包免費創建相同的“模組”)但是 Elastix 現在是 Isabbel(新產品名稱),所以我認為操作指南現在已經消失了. 高端的是HAAst(免費/商業)產品,它沒有共享組件並使用複雜的健康檢測,並且與所有 Asterisk 發行版兼容 - 但需要更多的 Linux 技能才能安裝,並且可能更昂貴,具體取決於版本(更多用於企業電話系統)。旁邊是一個(免費腳本)翻轉安裝簡單的腳本,但稱其為“HA”有點牽強。還有提供通用 HA 的 VMware(但它不支持 PBX/trunk/SIP/等),您還會發現一些供應商提供 RAID 1 作為 PBX 的“HA”,但這是一個延伸。在這個範圍內也有更多的產品。沒有供應商“批准”或“認可”或“證明”任何其他產品,因此您必須在購買前嘗試。

您還會發現人們提供“容器”作為 HA 解決方案,但這並不是真正的 HA。容器是部署軟體的便捷方式,您可以準備好備用的 PBX 容器進行部署;但是,您沒有任何設置/語音郵件/等同步,沒有檢測到故障等。

當您評估產品時,請務必提出正確的問題!沒有一種產品適合所有人 - 但 voip-info HA 設計頁面將幫助您根據正確的權衡選擇一種產品。如果您需要滿足 911/PSAP 標准或正在建設大容量呼叫中心,請查看高端 HAAst 產品。如果它是供家庭使用的,請先嘗試使用 Flipit 或其中一種商業產品的免費版本。

引用自:https://serverfault.com/questions/733403