ラズベリーパイ2

CARP/HAST

2台のラズベリーパイ2が仮想的に1つのIPアドレス

ディスクを持ちます。

基本的な実験なので実用性はありません。



(このページは画像をクリックできません)

2つのラズベリーパイ2(192.168.0.50と60)のコンソールをノートPCからアクセスするための前準備です。ノートPCのTeraTermからSSHでrootでログインできるように設定します。



ここを参考にTeraTermでSSHで自動ログインするためのマクロを作成します。枠内のアドレスユーザ名パスワードデータ秘密鍵ファイルを指定します。


TeraTermに付属のttpmenuを使って、それぞれのサーバ用に自動ログインスクリプト用意して設定します。枠内に自動ログインスクリプトファイルを設定します。


タスクバーから簡単に指定したサーバにSSHで直ぐにログインできるようになります。


初めに、CARPの設定です。ここここを参考にして、/boot/loader.confと/etc/rc.confを設定します。設定後の確認です。server1です。マスタに、server2はバックアップになります。


続いて、HASTの設定です。上記のサイトを参考にして仮想ディスクを作り、/etc/hast.confを設定します。設定後の確認します。server1はプライマリのディスクになります。


server2です。セカンダリのディスクになっています。


コマンドを実行して、server1をバックアップ切り替えます。これでserver2はマスタになります。


server1のHASTのディスクはセカンダリに変わり、server2はプライマリになります。


ここから、故障のシミュレーションです。現在プライマリのserver2シャットダウンします。セカンダリだったserver1はデグレードプライマリになります。


server2を再起動します。server1はプライマリに、server2はセカンダリになります。


server1をシャットダウンします。
server2はデグレードプライマリになります。


server1電源投入します。server1セカンダリに、server2デグレードプライマリからプライマリなります。


server1(セカンダリ)、server2(プライマリ)の順でshutdownします。その後、server1(前セカンダリ)、server2(プライマリの順番で電源投入します。server1プライマリserver2セカンダリになります。ここまで、予想の通りの動作をしています。


HUB故障ケーブル切断のシミュレーション。server1(現プライマリ)のLANケーブル約1分間抜きますserver2デグレードプライマリになります。その後、server1のLANケーブルを刺してもserver1のステータスは”になり元の状態には戻りません。


dmesgでは"Aug 15 02:58:06server2 hastd[839]: [disk1] (primary) Split-brain condition!"と表示されます。ここを参考にserver1(セカンダリ側)で"hastctl create disk1"を実行します。正常なセカンダリに戻ります。


server2側ではダーティが16GBになり、少しづつ減っていきます。その後0GBになります。結局create diskを実行すると、16GB分同期する必要があります。ただ、LANケーブルを1分間抜いただけでスプリットブレインになるのか不思議です。今回はとりあえず、ここまで。




back


line