Linux/Source/Corosync
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
ns-lab
nowsky system-lab
DigiLoog
Linux
Windows
開始行:
*Corosync [#a186758c]
[[Corosync>+http://corosync.github.io/corosync/]]
正式名称:The Corosync Cluster Engine
LinuxでHighAvailability(H/A)構成を実現する為に使用する、...
設定したノード(対向、多対向)のノード監視を行い、ノードが...
~
*インストール [#bc08d1e1]
&size(16){&font(b){1. ビルド・インストール};};
色々なインストール方法があるが一番楽なのは、yum一発で入れ...
下記コマンドを打てば、必要なライブラリも全て自動でインス...
# yum install corosync
しかし、冗長構成等のシステム基幹部分もyumに頼るのはどうか...
今回はソースコードからのインストールも実施する。
また、corosyncはクラスタリングの基盤という立ち位置の為、l...
※ソースコードの取得にgitコマンドが必要なので事前にいれて...
# wget http://build.clusterlabs.org/corosync/releases/co...
# tar zxvf corosync-2.3.4.tar.gz
# cd corosync-2.3.4
# ./autogen.sh
# ./configure --prefix=/usr/local/corosync-2.3.4 --sysco...
# make
# make install
# cd /usr/local
# ln -s /usr/local/corosync-2.3.4 ./corosync
# cd /usr/bin
# ln -s /usr/local/corosync/bin/corosync-blackbox .
# cd /usr/sbin
# ln -s /usr/local/corosync/sbin/corosync* .
# cd /usr/include/
# ln -s /usr/local/corosync/include/corosync .
# cd /usr/lib64/pkgconfig
# ln -s /usr/local/corosync/lib/pkgconfig/* .
# cd /usr/lib64
# ln -s /usr/local/corosync/lib/lib* .
# cp ${SOURCE_DIR}/init/corosync.sysconfig.example /etc/...
# cd /etc/init.d
# mv corosync corosync-
# sed -e "s/corosync-2.3.4/corosync/g" corosync- > coros...
~
&size(16){&font(b){2. コンフィグ};};
設定はひな形を元に作成し、今回はUDPユニキャスト方針でクラ...
項目については[[GitHub:+https://gist.github.com/inokappa/...
# cp /etc/corosync/corosync.conf.example.udpu /etc/coros...
# vi /etc/corosync/corosync.conf
=====
#corosync.confをOpenAISと互換性を保ったコンフィグにする
compatibility: whitetank
#Corosyncを実行するユーザとグループ
aisexec {
user: root
group: root
}
#VirtualIPの付け替えを行うフロントエンド指定
service {
#Pacemakerを使う
name: pacemaker
#PacemakerをCorosyncと連携させる設定。Pacemakerのバ...
ver: 1
#PacemakerGUIを使う
use_mgmtd: yes
}
#クラスタノード間の通信プロトコルなどを指定する
totem {
#Corosync設定ファイルのバージョン。今は2のみ指定可能
version: 2
#クラスタノードプロセス(Pacemaker)の停止を検出する時...
token: 1000
#冗長リング構成(ringnumber)の動作モード
rrp_mode: active
#クラスタ間通信の暗号化指定
secauth: off
#crypto_cipher: none
#crypto_hash: none
interface {
#クラスタノード(メンバー)のIPアドレスorホスト名
member {
memberaddr: 192.168.0.2
}
member {
memberaddr: 192.168.0.3
}
#リングプロトコル使用時のI/F所属リング番号。0か...
ringnumber: 0
#memberの属するネットワークアドレスを指定
#もし、memberが別NWに所属するならcorosyncを実行...
bindnetaddr: 192.168.0.0
#クラスタノード間通信のポート番号
mcastport: 5405
#MulticastTransport利用時に有効なTTL数を指定
ttl: 1
}
#UDPユニキャストモードを使用する
transport: udpu
}
#クラスターに所属するノード一覧
nodelist {
node {
ring0_addr: 192.168.0.2
nodeid: 1
}
node {
ring0_addr: 192.168.0.3
nodeid: 2
}
}
#ログの記録方法を設定する
logging {
fileline: off
to_logfile: yes
to_syslog: off
logfile: /var/log/cluster/corosync.log
debug: off
timestamp: on
#loggingステートの設定上書き
logger_subsys {
subsys: QUORUM
debug: off
}
}
#スプリットブレイン対策
quorum {
provider: corosync_votequorum
expected_votes: 2
}
コンフィグを作成したら、UDPユニキャストコンフィグ時に使用...
# corosync-keygen
-----
corosync-keygenをすると、"/dev/random"を使って鍵を自動生...
"/etc/corosync/authkey"が完成したら、authkeyファイルを各...
~
&size(16){&font(b){3. 起動方法};};
コンフィグを書いたら、Corosyncの起動テストを行う。
起動時にはログイン中のユーザを一度exitで抜けた後に再ログ...
# /etc/init.d/corosync start
Starting corosync (via systemctl): [ OK ]
-----
# systemctl start corosync.service
終了行:
*Corosync [#a186758c]
[[Corosync>+http://corosync.github.io/corosync/]]
正式名称:The Corosync Cluster Engine
LinuxでHighAvailability(H/A)構成を実現する為に使用する、...
設定したノード(対向、多対向)のノード監視を行い、ノードが...
~
*インストール [#bc08d1e1]
&size(16){&font(b){1. ビルド・インストール};};
色々なインストール方法があるが一番楽なのは、yum一発で入れ...
下記コマンドを打てば、必要なライブラリも全て自動でインス...
# yum install corosync
しかし、冗長構成等のシステム基幹部分もyumに頼るのはどうか...
今回はソースコードからのインストールも実施する。
また、corosyncはクラスタリングの基盤という立ち位置の為、l...
※ソースコードの取得にgitコマンドが必要なので事前にいれて...
# wget http://build.clusterlabs.org/corosync/releases/co...
# tar zxvf corosync-2.3.4.tar.gz
# cd corosync-2.3.4
# ./autogen.sh
# ./configure --prefix=/usr/local/corosync-2.3.4 --sysco...
# make
# make install
# cd /usr/local
# ln -s /usr/local/corosync-2.3.4 ./corosync
# cd /usr/bin
# ln -s /usr/local/corosync/bin/corosync-blackbox .
# cd /usr/sbin
# ln -s /usr/local/corosync/sbin/corosync* .
# cd /usr/include/
# ln -s /usr/local/corosync/include/corosync .
# cd /usr/lib64/pkgconfig
# ln -s /usr/local/corosync/lib/pkgconfig/* .
# cd /usr/lib64
# ln -s /usr/local/corosync/lib/lib* .
# cp ${SOURCE_DIR}/init/corosync.sysconfig.example /etc/...
# cd /etc/init.d
# mv corosync corosync-
# sed -e "s/corosync-2.3.4/corosync/g" corosync- > coros...
~
&size(16){&font(b){2. コンフィグ};};
設定はひな形を元に作成し、今回はUDPユニキャスト方針でクラ...
項目については[[GitHub:+https://gist.github.com/inokappa/...
# cp /etc/corosync/corosync.conf.example.udpu /etc/coros...
# vi /etc/corosync/corosync.conf
=====
#corosync.confをOpenAISと互換性を保ったコンフィグにする
compatibility: whitetank
#Corosyncを実行するユーザとグループ
aisexec {
user: root
group: root
}
#VirtualIPの付け替えを行うフロントエンド指定
service {
#Pacemakerを使う
name: pacemaker
#PacemakerをCorosyncと連携させる設定。Pacemakerのバ...
ver: 1
#PacemakerGUIを使う
use_mgmtd: yes
}
#クラスタノード間の通信プロトコルなどを指定する
totem {
#Corosync設定ファイルのバージョン。今は2のみ指定可能
version: 2
#クラスタノードプロセス(Pacemaker)の停止を検出する時...
token: 1000
#冗長リング構成(ringnumber)の動作モード
rrp_mode: active
#クラスタ間通信の暗号化指定
secauth: off
#crypto_cipher: none
#crypto_hash: none
interface {
#クラスタノード(メンバー)のIPアドレスorホスト名
member {
memberaddr: 192.168.0.2
}
member {
memberaddr: 192.168.0.3
}
#リングプロトコル使用時のI/F所属リング番号。0か...
ringnumber: 0
#memberの属するネットワークアドレスを指定
#もし、memberが別NWに所属するならcorosyncを実行...
bindnetaddr: 192.168.0.0
#クラスタノード間通信のポート番号
mcastport: 5405
#MulticastTransport利用時に有効なTTL数を指定
ttl: 1
}
#UDPユニキャストモードを使用する
transport: udpu
}
#クラスターに所属するノード一覧
nodelist {
node {
ring0_addr: 192.168.0.2
nodeid: 1
}
node {
ring0_addr: 192.168.0.3
nodeid: 2
}
}
#ログの記録方法を設定する
logging {
fileline: off
to_logfile: yes
to_syslog: off
logfile: /var/log/cluster/corosync.log
debug: off
timestamp: on
#loggingステートの設定上書き
logger_subsys {
subsys: QUORUM
debug: off
}
}
#スプリットブレイン対策
quorum {
provider: corosync_votequorum
expected_votes: 2
}
コンフィグを作成したら、UDPユニキャストコンフィグ時に使用...
# corosync-keygen
-----
corosync-keygenをすると、"/dev/random"を使って鍵を自動生...
"/etc/corosync/authkey"が完成したら、authkeyファイルを各...
~
&size(16){&font(b){3. 起動方法};};
コンフィグを書いたら、Corosyncの起動テストを行う。
起動時にはログイン中のユーザを一度exitで抜けた後に再ログ...
# /etc/init.d/corosync start
Starting corosync (via systemctl): [ OK ]
-----
# systemctl start corosync.service
ページ名: