2020年7月7日火曜日

syslog-ng Store Box大活用連載企画第8回「SSBをHA(High Availability)構成で構築してみる!」

SSB High Availability画面例

螺子です。今回の記事はSSBのノードをHA(High Availability)構成でセットアップする方法について紹介します。

HA(High Availability)、日本語では高可用性とも言われています。こう聞くと「設定が難しいのでは?」と思われるかもしれませんが、SSBのノードをHA(High Availability)構成でセットアップするには、SSBのWeb I/Fで数ステップで設定可能です。

※ SSBのHA機能は、ハードウエアアプライアンスのみの機能です。バーチャルアプライアンスでは利用できません。
※ HAライセンスオプションが必要になります。バーチャルアプライアンス、あるいはHAライセンスオプションがない物理SSBアプライアンスの場合、[Basic Settings]>[High Availability]メニューは表示されません。

これまでの連載記事:

SSBのHA構成は、プライマリーおよびセカンダリーノードで構成され、プライマリーノードの異常時にセカンダリーノードがアクティブになり、ログ受信などの機能を引き継ぎ(テークオーバー)ます。


前提条件

  • ハードウェアアプライアンスに同一バージョンのSSBをインストールします。
  • HA I/Fのケーブルをネットワークに接続し、お互いのノードが通信できる状態にします。

手順

それでは、早速2台のSSBノードをHA構成で構築してみましょう。
  • プライマリーノードとなる1台目のSSBを起動します。
  • [Basic Settings]>[High Availability]に移動します。プライマリーノードが起動し[This node]に表示されます。
  • 図1 High Availability画面1
  • セカンダリーノードとなる2台目のSSBを起動します。セカンダリーノードが起動し[Other node]に表示されます。
  • 図2 High Availability画面2
  • この時点では、HAの状態[Status]がSTANDALONE状態です。
  • [Convert to Cluster]をクリックします。確認メッセージが表示されるので[OK]をクリックします。
  • 図3 クラスターコンバート確認メッセージ
  • クラスターへのコンバートに成功すると、HA構成を有効にするには両ノードをリブートする必要がある旨のメッセージが表示されます。[OK]をクリックします。
  • 図4 リブートを要求するメッセージ
  • SSBの各ノードがクラスターとして構成されます。必要に応じで冗長I/F(Heartbeat, Next hop monitoring)を設定します。これらの設定は後で変更できます。
  • 図5 High Availability画面3
  • この時点では、HAの状態[Status]がCONVERTED状態です。
  • [Reboot Cluster]をクリックします。確認メッセージが表示されるので[OK]をクリックします。
  • 図6 [Reboot Cluster]の確認メッセージ
  • 両ノードのリブート処理が開始されます。
  • 図7 両ノードのリブート処理のメッセージ
  • 両ノードがリブートするので、しばらく待ちます。リブート中はSSBへのセッションが切れるのでブラウザの画面が空白になります。
  • 図8 両ノードのリブートの確認
  • 両ノードがリブートするまで待った後、再度、SSBにアクセスします。
  • 図9 High Availability画面4
  • HAの状態[Status]がDEGRADED SYNC状態となり、両ノード間で同期が開始されます。同期はディスク容量などに応じて時間がかかります。
  • HAの状態については、[System monitor]でも確認することができます。
  • 図10 System monitor画面
  • 同期が完了し、HAが正常に動作(冗長I/Fを含む)すると、各ステータスが以下のようになります。
    • [Status]: HA
    • [Redundant Heartbeat status]: OK
    • [DRBD Status]: Connected - Connected, Connected
  • 図11 High Availability画面5
  • 最後に、セカンダリーノードのネットワークI/F(外部I/F、および必要に応じて管理I/F)にLANケーブルを接続することを忘れないでください。テークオーバーが発生した場合、これらのI/Fから通信(ログ受信を含む)が開始されます。

テークオーバーの実行

ここでは、プライマリーノードを明示的にシャットダウンします。セカンダリーノードがテークオーバーしアクティブ(プライマリー)になります。
  • [Basic Settings]>[High Availability]>[This node]で[Shutdown]をクリックして、プライマリーノードをシャットダウンします。
  • セカンダリノードがテークオーバーし、アクティブ(プライマリー)になります。
  • 図12 High Availability画面6
  • セカンダリーノードがテークオーバーしアクティブ(プライマリー)になり、ログ受信を再開します。以下の例は、メッセージをUDPで500msg/sで送信し、テークオーバー時にログの受信が停止し、受信を再開した時間をSSBの検索画面で表示しています。ここでは、15:26:46にログ受信が停止し、15:27:18にログ受信を再開しています。ログ受信再開まで約32秒です。
  • 図13 ログ受信再開の確認例
    ※ テークオーバーし、ログを再受信可能になる時間はスイッチなどのネットワーク環境に応じて異なります。
  • HAの状態が変化した場合、以下のようなアラートログが発生(デフォルトでは"local"ログスペースに保存)します。検索式"program:ssb/check-ha"で検索できます。
  • 図14 HAクラスターノード状態変更アラートログ例
    Notification received: XCB-SNMP-MIB::xcbHaNodeChanged
    DISMAN-EVENT-MIB::sysUpTimeInstance  60766
              SNMPv2-MIB::snmpTrapOID.0  XCB-SNMP-MIB::xcbHaNodeChanged
              XCB-SNMP-MIB::description  HA state changed; old_state='ha', new_state='degraded'
    
    図15 HAクラスターノード状態変更アラートメール例
    ※ アラートログをメールまたはSNMPトラップ送信するには、[Basic Settings]>[Alerting & Monitoring]ページで[HA node state changed]を有効にします。適宜、メール設定([Basic Settings]>[Management]>[Mail settings])およびSNMPトラップ設定([Basic Settings]>[Management]>[SNMP trap settings])が必要です。

参考資料

詳細については、各ドキュメントの以下の章をご覧ください。
syslog-ng StoreBox 6LTSインストールガイドの「3.2 2つのSSBユニットをHAモードでのセットアップ」

syslog-ng Store Box6 LTS管理者ガイド:
  • 「2.7 SSBのHA(High availability)サポート」
  • 「2.8.1 ファームウェアとHA」
  • 「6.2 HA SSBクラスターの管理」
  • 「16.5 SSBクラスターのトラブルシューティング」

いかがでしたでしょうか?

簡単にSSBをHA構成で構築できましたね。

それでは、次回の連載記事をお楽しみに!


SSBは、高信頼ログ管理アプライアンスです。様々なデバイスおよびアプリケーションからログメッセージを収集、分類、フィルタリング、正規化して安全に保存可能です。ログデータの信頼性を担保し、膨大なログが発生する高負荷環境、あるいはログロストが許されない企業・組織のログ管理に最適です。


syslog-ng Store Boxについての詳細は、製品紹介ページ・製品ガイドをご参照ください。


評価版のダウンロード

問合わせ