BFT名古屋 TECH BLOG

日々の業務で得た知識を所属するエンジニアたちがアウトプットしていきます。

【HA-Addon】corosync.conf 備忘録

はじめに


はじめまして
1か月で2回コロナになった加藤です。
この記事では、デフォルトのcorosync.confの設定値について紹介します。

実際にクラスタを組んだ際の設定値などは
備忘録としてこれから記事にしていくつもりです。


各パラメータの説明は corosync.conf(5) のmanページなどに記載されています。




おしながき

  • corosync.confとは

  • デフォルトの設定値

  • 終わりに




corosync.confとは


ずばり クラスタの動作に必要な設定を行うファイル です。

/etc/corosync配下にあります。

空白行や#で始まる行は無視され、{}で囲まれたトップレベルディレクティブから構成されています。


一体どんな設定をするファイルなのか、さっそくデフォルトの設定値をみてみましょう。




デフォルトの設定値

ファイルは大きく4つのディレクティブから構成されています。

totem

totem {
    version: 2
    cluster_name: 
    secauth: off
    transport: udpu

 totemプロトコルの設定オプションを記載するディレクティブです。  

  • version:
     設定ファイルのバージョンを指定します。現在有効な値は「2」のみです。

  • cluster_name:
     任意のクラスタ名を指定します。

  • secauth:
     全メッセージの認証にHMAC/SHA1を認証を使用するかを指定します。

  • transport:
     通信メカニズムを制御します。デフォルトは「knet」で
    「udpu」または「udp」に設定することもできます。



nodelist

nodelist {
    node {
        ring0_addr: 
        nodeid: 1
    }

    node {
        ring0_addr: 
        nodeid: 2
    }
}

 クラスタ内のノードの設定オプションなどを記載するディレクティブです。

  • ring0_addr:
     インターフェイスのリング番号を指定します。リング番号は「0」から始める必要があります。

  • nodeid:
     ノード識別子を指定します。IPv4使用の場合は任意ですが、IPv6使用の場合は必須となります。



quorum

quorum {
    provider: 
    two_node: 1
}

 クォーラムの設定オプションを記載するディレクティブです。

  • provider:
     クォーラムのアルゴリズムを指定することができます。
     「corosync_votequorum」 のみがサポートされます。

  • two_node:
     2ノードクラスタの場合「1」を指定する必要があります。



logging

logging {
    to_logfile: yes
    logfile: /var/log/cluster/corosync.log
    to_syslog: yes
}

 ログの設定オプションを記載するディレクティブです。

  • to_logfile:
     ログの出力先を指定します。有効な設定値は「yes」か「no」です 。
  • logfile:
     to_logfileディレクティブをyesに設定した場合、
     ログファイルのパスを指定する必要があります。

  • to_syslog:
     ログの出力先を指定します。有効な設定値は「yes」か「no」です。




終わりに


corosync.confとは クラスタの動作に必要な設定を行うファイル ということが分かりました。

次はディレクティブごとの設定オプションについて詳しく説明します。

最後まで読んでいただき、ありがとうございました。




参考