2ノードのopenais /ペースメーカークラスターを構成しようとしていますが、情報やチュートリアルを入手するのが非常に困難です。
私の目標は、マスタースレーブレプリケーションシーンに2台のMySQLサーバーをセットアップすることです。ここでは、両方のサーバーから読み取ることができますが、「マスター」サーバーにのみ書き込むことができます。
そのため、セカンダリIPアドレスを交換し、新しいスレーブを「読み取り専用」オプションで再構成することで、レプリケーションと手動フェイルオーバーを機能させています。 .cnf。これをペースメーカーで自動化したいと思います。基本的に、マスターIPは常に書き込み可能なサーバー上にある、スレーブIPは常に他のサーバー上にあるが必要です。マスター上のmysqlが応答しないときにフェイルオーバーを発生させたいのですが。
これが私がこれまでに持っている構成です。私の仕事をチェックできる人はいますか(私は間違いなく不完全です)、そして私が間違っていることについていくつかの指針を教えてください? (注:mysql-masterスクリプトは、/ etc/init.dの下にあるカスタムスクリプトであり、読み取り専用オプションを設定/クリアし、mysqlを再起動します)
primitive virtual_master_ip ocf:heartbeat:IPaddr2 \
params ip=192.168.250.xxx.xxx \
op monitor interval=10s
primitive virtual_slave_ip ocf:heartbeat:IPaddr2 \
params ip=192.168.xxx.yyy
primitive mysql_service ocf:heartbeat:mysql
params binary="/usr/bin/mysqld_safe" config="/etc/mysql/my.cnf" \
op minitor interval="60s" timeout="30s" \
meta target-role="Started"
primitive mysql_master_role lsb:mysql-master
group mysql virtual_master_ip mysql_master virtual_slave_ip
colocation ms_ip inf: virtual_master_ip virtual_slave_ip score="-INFINITY"
問題が実際に何であるかを知ることisは、カミルが言うように、ひどく有用な情報になるでしょう。しかし、私はあなたのためにすぐにいくつかの問題を抱えています:
192.168.250.xxx.xxx
op minitor interval="60s" timeout="30s"
lsb:mysql
ではなくocf:heartbeat:mysql
クラスを使用します。その部分で問題が発生している場合は、試してみる価値があるかもしれません。virtual_master_ip
コロケーション制約がある場合は、virtual_slave_ip
と-INF
を同じグループに入れたくないでしょう。それはペースメーカーに不整脈を与えるでしょう。でも、自分がやっていると思っていることをやりたいかどうかさえわかりません。 mysql_as_master
とmysql_as_slave
の2つのリソースをセットアップする傾向があります。これにより、MySQLがマシン上で適切なモードで実行されていることを確認します(読み取り専用オプションでMySQLを起動します)。構成ファイルを操作するのではなく、コマンドラインで設定し、mysqlクライアントを使用して実行中のサーバーにクエリを実行し、必要に応じて読み取り専用または読み取り/書き込みが実行されていることを確認してから、関連付けられたIPアドレスでグループ化します。 。