ラズベリーパイ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分間抜いただけで
スプリットブレイン
になるのか不思議です。今回はとりあえず、ここまで。