現在、FreePBXを単一のノードで実行しています。負荷を共有するために、主にフェイルオーバーのために、アスタリスクインスタンスのクラスターが欲しいのですが。他の人がこの問題をどのように解決したか知りたいです。理想的には(ビールのように)「無料」のソフトウェアを使用したいと思います。
助けてくれてありがとう!
詳細情報が必要です...正直なところ、それが良い解決策である場合は、何でも試します:)
フェイルオーバー中に呼び出しが中断されてもかまいません。これは理想的ですが、ノード間でレプリケートする必要がある状態の量により、これを実現することは非常に複雑になると想像できます。
SIP re-inviteを使用していないと思います。freepbxを1年以上実行しているにもかかわらず、実際にその用語に遭遇したことはありません。私たちの使用例では、ソフトフォンで発信し、DIDに応じていくつかの着信をルーティングします。
現在、LXPコンテナーでFreePBXを実行しています。アップストリームキャリアもSIP(ISDNではありません)であるため、これはうまくいきます。KVMの経験はありますが、効率上の理由からLXCコンテナで実行するのが理想的です。
まず、このvoip-info Webページを見てみましょう: 高可用性設計 。アスタリスクのコンテキストで、高可用性とは何か、そうでないかを説明します。 (高可用性と負荷分散を混同するのは簡単です)
次に、このvoip-info Webページを見てください: 高可用性製品 。高可用性アスタリスクのためのオープンソース/商用ソリューションの目的を説明します。
フェイルオーバー中も通話を継続すると主張する解決策はありません(標準のSIPプロトコルに新しい単一障害点を導入することなく維持します)。SIP再招待はRTPエンドポイント間で直接メディアストリームを許可するために使用されますが、アスタリスクは通常SIPストリームに留まります。実際にはHAの問題ではありません。
他に考えることは、「失敗」を定義することです。最も単純な言葉で言えば、それはアスタリスクのプロセスが死んでいることです。しかし、多くの場合、アスタリスクプロセスは、呼び出しをブリッジするだけではなく、生きています(したがって、単純化されたプロセス監視スクリプトは避けてください)。ローカルデータセンターでネットワーク接続が切断された場合(またはファイアウォールが失敗した場合)。 HAソリューションは、アップストリームルートなどの環境要因を考慮して、ピアがテレフォニーサービスを提供できなくなったかどうかを判断できる必要があります。深いアスタリスクの可視性または環境の可視性を持たない汎用Linuxハートビートソフトウェアを使用するいくつかのソリューション。
ピア間でデータの同期を保つのはどうですか?ボイスメールから構成データ、電話機のファームウェアなどへ。DRBDのようなソリューションは簡単ですが、一方のピアによる破損はすぐに他方を破損します。たとえば、一方のピアの破損したプロセスが重要なアスタリスクファイルに損傷を与えた場合、もう一方のピアが起動します(DRBDを使用している場合は使用しません)。したがって、DRBDベースの「ソリューション」は避けてください。
2つのピアがそれぞれユーザー123のボイスメール#1を同時に受信した場合に1つが「勝つ」負荷分散(つまり、複数のアクティブなピア)を導入する場合、これには、コールブリッジング用のフロントエンドサーバー、ボイスメール用のバックエンドなどを導入する必要があります。それでも、単一障害点または共有コンポーネントがあります。
障害から回復し、クラスターを再構成する必要がある場合、各ピアが共有「ディスク」のコピーにデータを書き込んだとどうなりますか?手動で調整を開始しますか? 2つのピアが同時に起動した場合(デュアルアクティブ)-どちらが勝って引き継ぐか?共有ディスクソリューション(DRBD、NFS、iSCSI)を導入すると、HAソリューションの最大かつ最も重要な要素の1つであるピア自律性を排除できます。したがって、「共有ディスク」ではなく「同期」を探してください。
アスタリスク用の最も安価な「HA」ソリューションは、共有仮想ディスク(例:DRBD/NFS/SMB)や共有チャネルバンク(例:Astribank)を使用する傾向があります。上で読むように、実際のHAソリューション(911/PSAPコールセンターで使用されているものなど)には、完全に自律的なピアとコールパスが必要です。 (商用) FreePBXモジュール は、共有ディスクを使用するため(一方のピアがダウンしてディスクが破損すると、もう一方のピアも破損します)、基本的な検出が行われましたが、安価で簡単です。ホームユーザー向けにインストールする。ただし、FreePBXは数年前に製品のサポートを終了しました(非常に古いFreePBXバージョンでのみ機能します)。 Elastix は、FreePBXと同様のモジュールを無料で提供しました。 (Linuxに精通している場合は、Linux DRBDおよびハートビートパッケージを無料で使用して同じ「モジュール」を無料で作成できます)が、ElastixはIsabbel(新製品名)になり、ハウツーガイドはなくなったと思います。ハイエンドは HAAst (無料/商用)製品であり、共有コンポーネントがなく、高度なヘルス検出を使用し、すべてのAsteriskディストリビューションと互換性がありますが、インストールにはLinuxスキルが必要であり、それ以上になる可能性がありますエディションによっては高価です(企業の電話システムの場合)。そして脇にあるのは(無料のスクリプト) flipit 簡単にインストールできるスクリプトですが、それを 'HA'と呼ぶのは簡単です。一般的なHAを提供するVMwareもあります(ただし、PBX /トランク/ SIPなどには対応していません)。また、PBXのRAIDとしてRAID 1を提供しているベンダーもありますが、それはこの範囲には他にも多くの製品があります。ベンダーは他の製品を「承認」、「承認」、「認定」していないため、購入する前に試す必要があります。
HAソリューションとして「コンテナー」を提供している人もいますが、それは実際にはHAではありません。コンテナーはソフトウェアをデプロイする便利な方法であり、スペアPBXコンテナーをデプロイする準備ができていますが、設定/ボイスメールなどの同期がなく、障害が検出されません、等.
製品を評価する際は、必ず適切な質問をしてください。誰にとっても適切な単一の製品はありませんが、voip-info HA設計ページは、適切なトレードオフに基づいて製品を選択するのに役立ちます。 911/PSAP標準を満たす必要がある場合、または大量のコールセンター向けに構築している場合は、ハイエンドのHAAst製品をご覧ください。家庭用の場合は、最初にフリピットまたは商用製品の無料版をお試しください。