/etc/ha.d/ha.cfファイルは新しく空である必要があります。クラスター内の各ノードのネットワークインターフェイスと名前を追加する必要があります。この構成をコピーしてファイルに貼り付け、それぞれのノード名とIPアドレスを以前に検索した値に置き換えます。eth0保存して終了。次に、クラスターの認証キーを設定します。authkeysファイルを作成する認証キーは、クラスターメンバーがクラスターに参加できるようにするために使用されます。この目的のために、ランダムキーを生成するだけです。+`という名前の環境変数に適切な認証キーを生成します。+`ファイルを作成します。+`ファイルの内容を確認します。sha1ファイルがルートでのみ読み取り可能であることを確認します。」ファイルをコピーします。+`ファイルが必要です。+`ファイルは、クラスターが管理するサービスとペアになっている*優先ホスト*を指定します。優先ホストは、ノードが使用可能な場合に関連サービスを実行する必要があるノードです。クラスタから到達できない場合、他のノードの1つが引き継ぎます。プライマリサーバーがダウンすると、セカンダリサーバーが引き継ぎます。`ファイルを開きます。/etc/ha.d/haresources次の行をファイルに追加して、プライマリノードの名前を置き換えます。/etc/ha.d/haresourcesfloatip保存して終了。`サービスの優先ホストとして設定されます。+」サービスを設定しましょう。」サービスを維持するように設定されていますが、それでもサービスを作成する必要があります。APIを介して、それを実行するノードにフローティングIPを割り当てるスクリプトを作成しましょう。+`サービスを作成します。APIを使用して、特定のドロップレットIDにフローティングIPを割り当てる基本的なPythonスクリプトをダウンロードします。Pythonスクリプトをダウンロードします。http://do.co/assign-ip*両方のサーバー*で実行可能にします。+`スクリプトを使用するには、次の詳細が必要です。PAT続行する前に、スクリプトの内容を自由に確認してください。+`サービスを作成する準備ができました。+`サブコマンドに応答するinitスクリプトを作成するだけです。IDを検索する役割を果たします。APIトークン(前提条件セクションで言及されている個人アクセストークン)が必要です。APIキーと再割り当てが必要なフローティングIPに置き換えます。1;fi保存して終了。スクリプトを実行可能にします。Pythonスクリプトを呼び出し、指定されたフローティングIPをスクリプトを実行したドロップレットに割り当てます。*サーバーによって呼び出されるスクリプトです。同様に、*プライマリ*サーバーが同じスクリプトを使用して、クラスターに再参加すると、フローティングIPを再利用します。ハートビートを開始Heartbeatが設定され、依存するすべてのスクリプトが設定されたので、Heartbeatクラスターを開始する準備ができました!*両方のサーバー*で、次のコマンドを実行してハートビートを開始します。start次のような出力が表示されます。次に進む前に、意図したとおりに機能することをテストしましょう。高可用性のテスト高可用性セットアップが機能することをテストすることが重要です。それでは、それを実行しましょう。*ノードに割り当てられています。IPアドレスまたはそれを指しているドメイン名を使用して、フローティングIPにアクセスすると、*プライマリ*サーバーのインデックスページが表示されます。サンプルのユーザーデータスクリプトを使用した場合、次のようになります。Address:これは、実際にはフローティングIPがプライマリドロップレットに割り当てられていることを示しています。+`を使用して、1秒のループでフローティングIPにアクセスします。これを行うにはこのコマンドを使用しますが、必ずURLをドメインまたはフローティングIPアドレスに置き換えてください。done現在、これはプライマリサーバーの同じドロップレット名とIPアドレスを出力します。プライマリサーバーの電源を切るか、ハートビートサービスを停止することでプライマリサーバーに障害が発生した場合、フローティングIPがセカンダリサーバーに再割り当てされるかどうかがわかります。ここで*プライマリ*サーバーの電源をオフにしましょう。これを行うには、DigitalOceanコントロールパネルを使用するか、プライマリサーバーで次のコマンドを実行します。poweroffしばらくすると、プライマリサーバーが使用できなくなります。+`ループの出力に注意してください。次のような出力が表示されるはずです。Address:...つまり、*セカンダリ*サーバーのIPアドレスを指すように、フローティングIPアドレスを再割り当てする必要があります。これは、正常な自動フェールオーバーが発生したため、HAセットアップが機能していることを意味します。プライマリサーバーの障害とフローティングIPの再割り当てが完了するまでの間にフローティングIPにアクセスしようとすると、「接続拒否」エラーが表示される場合と表示されない場合があります。これで、DigitalOceanコントロールパネルから*プライマリ*ドロップレットの電源を入れることができます。ハートビートは、プライマリIPアドレスを*優先ホスト*として設定してフローティングIP再割り当てスクリプトを実行するため、フローティングIPは、プライマリサーバーが再び使用可能になるとすぐに自動的にポイントします。結論おめでとうございます。IPを使用した基本的なHAサーバーのセットアップが完了しました。堅牢なHAセットアップを作成する場合は、https://www.digitalocean.com/community/tutorials/how-to-create-a-high-availability-setup-with-corosync-pacemaker-andの使用を検討してください。[Keepalived]。Heartbeatセットアップを拡張する場合、次のステップは、例のNginxセットアップをリバースプロキシロードバランサーに置き換えることです。この目的でNginxまたはHAProxyを使用できます。ロードバランサーを*アンカーIPアドレス*にバインドすると、ユーザーが各サーバーのパブリックIPアドレスではなく、フローティングIPアドレスを介してのみサーバーにアクセスできることに注意してください。