簡単に解決できると思われる問題を抱えていますが、正しい解決方法がわかりません。
私は運がなければ、ほぼ1週間解決策を探していました。(私が見つけたのはこれだけでしたが、明確できれいな解決策はありませんでした)
両方のノードで次の構成を使用して、実稼働用ではない 2 ノード クラスターを作成しました。
- Debian ウィージー 7.7
- Corosync v2.3.4
- ペースメーカー v1.1.12
- libqb v0.17.1
- クラスター接着剤 v1.0.12
- リソース エージェント v3.9.6
- crmsh v2.1.0
Debian でクラスター ソフトウェアをコンパイルするために、このガイドに従ってソースからクラスター ソフトウェアをインストールしました。
インストールする前に、古い corosync またはペースメーカーの依存関係がないことを確認しました。
インストール後、(両方のノードで) ファイルを編集してクラスターを構成し、corosync.conf を作成して authkey をコピーしました。
# Please read the corosync.conf.5 manual page
totem {
version: 2
# crypto_cipher: none
# crypto_hash: none
secauth: off
cluster_name: my-cluster
# interface {
# ringnumber: 0
# bindnetaddr: 10.16.2.0
# mcastport: 5405
# ttl: 1
# }
transport: udpu
}
logging {
fileline: off
to_logfile: yes
to_syslog: yes
logfile: /var/log/cluster/corosync.log
debug: off
timestamp: on
logger_subsys {
subsys: QUORUM
debug: off
}
}
nodelist {
node {
ring0_addr: 10.16.2.50
name: pc1
nodeid: 1
}
node {
ring0_addr: 10.16.2.51
name: pc2
nodeid: 2
}
}
quorum {
# Enable and configure quorum subsystem (default: off)
# see also corosync.conf.5 and votequorum.5
provider: corosync_votequorum
two_node: 1
}
Pacemaker でリソースを構成しました
node 1: pc-1
node 2: pc-2
primitive cluster-apache2 apache \
params configfile="/etc/apache2/apache2.conf" httpd="/usr/sbin/apache2" port=80 \
op monitor interval=10s timeout=60s \
op start timeout=40s interval=0 \
op stop timeout=60s interval=0
primitive cluster-ip IPaddr2 \
params ip=10.16.2.240 cidr_netmask=24 \
op monitor interval=10s timeout=20s \
op start timeout=20s interval=0 \
op stop timeout=20s interval=0
primitive cluster-tftp lsb:tftpd-hpa \
op monitor interval=30 \
op start interval=0 timeout=120s \
op stop interval=0 timeout=120s
colocation my-cluster-dependency inf: cluster-ip cluster-apache2 cluster-tftp
property cib-bootstrap-options: \
dc-version=1.1.12-561c4cf \
cluster-infrastructure=corosync \
stonith-enabled=false \
cluster-name=my-cluster
すべての構成の後、私はcorosyncとペースメーカーの両方を開始しました
/etc/init.d/corosync start
/etc/init.d/pacemaker/start
クラスターは稼働していますが、ブート時にクラスターを開始する方法が見つかりません
root@PC:~# crm_mon -1
Last updated: Fri Jun 5 18:05:06 2015
Last change: Mon Jun 1 18:51:57 2015 via cibadmin on pc-1
Stack: corosync
Current DC: pc-1 (1) - partition with quorum
Version: 1.1.12-561c4cf
2 Nodes configured
3 Resources configured
Online: [ pc-1 pc-2 ]
cluster-ip (ocf::heartbeat:IPaddr2): Started pc-1
cluster-apache2 (ocf::heartbeat:apache): Started pc-1
cluster-tftp (lsb:tftpd-hpa): Started pc-1
init.d スクリプトをランレベルに追加しようとしましたが、応答がなく、corosync に影響しません
root@PC:~# update-rc.d corosync defaults
update-rc.d: using dependency based boot sequencing
そしてペースメーカーのこのエラー
root@PC:~# update-rc.d pacemaker defaults
update-rc.d: using dependency based boot sequencing
insserv: Service corosync has to be enabled to start service pacemaker
insserv: exiting now!
update-rc.d: error: insserv rejected the script header
clusterlabs のガイドに従いましたが、Debian と crmsh の解決策が見つかりません (公式ガイドでは、crmsh の代わりに pcs を使用していますが、それでも起動時にクラスターを実行するための正しい手順が見つかりませんでした)時間)
追加できるもう1つの情報は、crmshを使用してクラスターを起動および実行し、起動時に実行する方法を見つけようとしたことです。(init.d スクリプトの代わりに) crm cluster start を実行すると、corosync と Pacemaker start が開始され、クラスターが実行を開始しますが、コマンドを実行して停止すると、このエラーが発生します
crm(live)# cluster stop
ERROR: cluster.stop: Failed to stop pacemaker service:
ブート時にクラスターを実行する正しい方法は何ですか? どのデーモンを開始して有効にする必要がありますか?
corosync でペースメーカーを開始する必要がありますか? このガイドを見つけましたが、corosync 構成で service-name と service-ver に記載されているパラメーターが機能しません。
service {
name: pacemaker
ver: 0
}
誰かがこの問題で私を助けてくれることを願っています
前もって感謝します