-1

簡単に解決できると思われる問題を抱えていますが、正しい解決方法がわかりません。

私は運がなければ、ほぼ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
}

誰かがこの問題で私を助けてくれることを願っています

前もって感謝します

4

1 に答える 1

0

2 つのノードがアクティブ/パッシブの場合、クォーラムを無効にする必要があります。

crm configure property no-quorum-policy=ignore

corosync サービスがアクティブである限り、クラスターはアクティブです。明示的にペースメーカーを開始する必要はありません。corosync に関する少なくとも次の行が必要です。

ls -lR /etc/rc* | grep -E 'corosync|rc'
/etc/rc0.d:
lrwxrwxrwx 1 root root  18 may 15 17:19 K01corosync -> ../init.d/corosync
/etc/rc1.d:
lrwxrwxrwx 1 root root  18 may 15 17:19 K01corosync -> ../init.d/corosync
/etc/rc2.d:
lrwxrwxrwx 1 root root  18 may 15 17:19 S19corosync -> ../init.d/corosync
lrwxrwxrwx 1 root root  18 dic 17  2013 S99rc.local -> ../init.d/rc.local
/etc/rc3.d:
lrwxrwxrwx 1 root root  18 may 15 17:19 S19corosync -> ../init.d/corosync
lrwxrwxrwx 1 root root  18 dic 17  2013 S99rc.local -> ../init.d/rc.local
/etc/rc4.d:
lrwxrwxrwx 1 root root  18 may 15 17:19 S19corosync -> ../init.d/corosync
lrwxrwxrwx 1 root root  18 dic 17  2013 S99rc.local -> ../init.d/rc.local
/etc/rc5.d:
lrwxrwxrwx 1 root root  18 may 15 17:19 S19corosync -> ../init.d/corosync
lrwxrwxrwx 1 root root  18 dic 17  2013 S99rc.local -> ../init.d/rc.local
/etc/rc6.d:
lrwxrwxrwx 1 root root  18 may 15 17:19 K01corosync -> ../init.d/corosync
/etc/rcS.d:

このリンクなどがない場合は、手動で作成する必要があります。

これで問題が解決することを願っています

于 2015-06-11T12:34:32.623 に答える