2台のホストでペースメーカークラスターを構成しようとしています。2台のcentos 7(CentOS Linuxリリース7.2.1511(コア))仮想マシンを使用しています。
これまでに行ったこと:パッケージをインストールしました:
yumはpacemaker corosync haproxy pcs fence-agents-allをインストールします
両方のサーバーでユーザーhaclusterのパスワードを設定します。両方のマシンで/ etc/hostsを編集します
10.0.0.14 vm_haproxy1 10.0.0.15 vm_haproxy2
その後、両方のサーバーでサービスを有効にしました
systemctl enable pcsd.service pacemaker.service corosync.service haproxy.service
Pcsdを開始しました(両方のサーバーで)
systemctl start pcsd.service
サービスは両方で実行されています。ポート2224で一方から他方にTelnetできます
telnet vm_haproxy1 2224 10.0.0.14を試行しています... vm_haproxy1に接続されています。 エスケープ文字は '^]'です。
Netstatからの出力:
[root @ vm_haproxy2〜]#netstat -tulpn アクティブなインターネット接続(サーバーのみ) Proto Recv-Q Send-Qローカルアドレス外部アドレス状態PID /プログラム名 tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 849/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 946/master tcp6 0 0 ::: 2224 ::: * LISTEN 1949/Ruby tcp6 0 0 ::: 22 ::: * LISTEN 849/sshd tcp6 0 0 :: 1:25 ::: * LISTEN 946/master udp 0 0 127.0.0.1:323 0.0.0.0:* 619/chronyd udp6 0 0 :: 1:323 ::: * 619/chronyd
Pcsdはipv6にバインドしていますが、すでに述べたようにtelnetは機能しますSelinuxとfirewalldは無効になっています。
それから私はホストを承認しようとしました
pcs cluster auth vm_haproxy1 vm_haproxy2
エラーが発生しました:
pcs cluster auth vm_haproxy1 vm_haproxy2 ユーザー名:hacluster パスワード: エラー:vm_haproxy1と通信できません エラー:vm_haproxy2 [と通信できません.____。]
私はグーグルで助けを見つけませんでした。たぶん、PC認証でその問題をすでに解決した人がいるでしょう。
通常、クラスターではpcsdを使用しませんが、稼働しているクラスターの後で認証をセットアップしたことを思い出します。最初に機能、後でフリル。
認証を設定する前に、両方のノードから次のコマンドを使用してcorosync構成を作成し、クラスターを起動してみます。
# pcs cluster setup --local --name haproxy-cluster0 vm_haproxy1 vm_haproxy2
# systemctl start corosync
# systemctl start pacemaker
crm_mon
の出力でノードがオンラインになったら、ノード認証を設定するための手順を試してください。
答えられない場合、私は同様の問題に直面し、ファイアウォールの有効化設定を逃しました、以下のコマンドを実行した後、問題は私のために解決されました
firewall-cmd --permanent --add-service = high-availability
firewall-cmd --add-service = high-availability
firewall-cmd –reload
私はこの問題を抱えていました。私の場合、設定されているプロキシの環境変数まで追跡しました。
これを確認するには:最初に--debug
を有効にしてコマンドを実行します。
pcs --debug cluster auth clua club cluc
デバッグ出力で私は見ることができました:
Sending HTTP Request to: https://club:2224/remote/check_auth
Data: None
Response Reason: Tunnel connection failed: 404 Not Found
...
"I, [2017-04-05T10:54:21.333320 #6755] INFO -- : No response from: cluc request: /auth, exception: 404 \"Not Found\"\n",
"I, [2017-04-05T10:54:21.334344 #6755] INFO -- : No response from: club request: /auth, exception: 404 \"Not Found\"\n",
"I, [2017-04-05T10:54:21.334852 #6755] INFO -- : No response from: clua request: /auth, exception: 404 \"Not Found\"\n"
使用しようとしたURLに対してcurlを実行すると、より明確な情報が得られます。
# curl https://club:2224/remote/check_auth
curl: (56) Received HTTP code 404 from proxy after CONNECT
http_proxy
とhttps_proxy
の設定を解除すると、機能するようになりました。
ノードが多すぎない場合は、no_proxy
環境変数にリストできます。それ以外の場合は少し厄介です-プロキシ環境変数を設定せずにpcsコマンドを常に実行する必要があります。これまでのところ、これらの変数を使用しないようにPCを構成する方法はありません。
変数の設定を解除してpcsを呼び出す小さなラッパーを書くことができます。
私はこれを以前に得ていました:
[root@vm01 .ssh]# pcs cluster auth vm01 vm02 -u hacluster -p redhat
Error: Unable to communicate with vm02
vm01: Authorized
両方のノードでiptablesをフラッシュした後、動作しました。
[root@vm01 .ssh]# pcs cluster auth vm01 vm02 -u hacluster -p redhat
vm02: Authorized
vm01: Authorized
CentOS 7を使用している場合は、以下を確認してください。
systemctl start pcsd.service
systemctl enable pcsd.service
start
が実行します。エラーメッセージが表示される場合は、対処する必要があります。 enable
を指定すると、次回の起動時に自動的に開始されます。