このチュートリアルでは、CentOS 7でPacemakerを使用してNginx高可用性クラスターをセットアップする方法を示します。長期間障害なく継続的に動作できるNginxサーバーを使用するには、アクティブ-パッシブNginxインスタンスを使用してサーバーを構成する必要があります。 。 Pacemakerは、サービスの最大の高可用性を実現するオープンソースのクラスターマネージャーソフトウェアです。これは、ClusterLabsによって配布される高度でスケーラブルな高可用性クラスターマネージャーであり、すべてのクラスターサービスを管理し、基盤となるクラスターエンジンのメッセージングおよびメンバーシップ機能を使用します。
1。前提条件
このチュートリアルに従うには、次のものが必要です。
- 2台以上のサーバー
- CentOS7オペレーティングシステム
- 各サーバーへのrootアクセス
2。ログインしてCentOSを更新する
ssh root@IP_Address -p7022
yum update yum upgrade
お好みのターミナルテキストエディタを使用して、両方のサーバーの/ etc/hostsファイルを編集します
nano /etc/hosts
次の行を/etc/hostsファイルに追加します
192.168.0.22 webserver-01 192.168.0.23 webserver-02
3。 EpelリポジトリとNginxをインストールする
Nginxをインストールするには、Enterprise Linux(EPEL)リポジトリ用の追加パッケージが必要です。両方のサーバーで次のコマンドを実行します。
yum install epel-release -y yum install nginx -y
systemctl enable nginx systemctl start nginx
4。デフォルトのNginxインデックスページを変更する
終了したら、両方のサーバーのデフォルトのNginxインデックスページに変更を加える必要があります。
サーバー1で次のコマンドを実行します
echo ‘
webserver-01
’ > /usr/share/nginx/html/index.html
サーバー2で次のコマンドを実行します
echo ‘
webserver-02
’ > /usr/share/nginx/html/index.html
5。 Pacemakerをインストールして構成する
このセクションでは、Pacemakerスタックをインストールします。両方のサーバーでこの手順を完了する必要があります。
yum install corosync pacemaker pcs -y
インストールが完了したら、以下のsystemctlコマンドを使用して、システムの起動時にすべてのサービスを自動的に起動できるようにします。
systemctl enable pacemaker systemctl enable corosync systemctl enable pcsd
6。構成を同期する
インストールにより、「hacluster」システムユーザーが作成されます。また、構成を同期するためにpcsdを実行する必要があります
systemctl start pcsd
7。パスワードを作成する
次に、前回のインストール時に自動的に作成された「hacluster」ユーザーの新しいパスワードを作成します。すべてのサーバーに同じパスワードを使用する必要があります
passwd hacluster
8。クラスターの作成
次に、以下のこのコマンドを実行します
pcs cluster auth webserver-01 webserver-02
この時点で、クラスターをセットアップする準備が整いました。
pcs cluster setup –name rosecluster webserver-01 webserver-02
roseclusterはクラスター名であり、webserver-01とwebserver-02はroseclusterの一部となるサーバーです。
起動時に有効にして、今すぐ起動します。
pcs cluster enable –all pcs cluster start –all
次のコマンドでクラスターのステータスを確認できます:
pcs status
9。 STONITHを無効にする
STONITHまたはShootTheOther Node In the Headは、Pacemakerのフェンシング実装です。本番環境にいる場合は、STONITHを有効にすることをお勧めします。フェンシングデバイスを使用していないため、STONITHを無効にします。
pcs statusコマンドを実行すると、STONITHデバイスが構成されておらず、STONITHが無効になっていないことを示す警告が出力に表示されます。
警告:stonithデバイスがなく、stonith-enabledはfalseではありません
次のpcsコマンドでSTONITHを無効にします。
pcs property set stonith-enabled=false
10。クォーラムポリシーを無視する
このチュートリアルでは、クォーラムを無視するようにPacemakerを構成します。
pcs property set no-quorum-policy=ignore
プロパティリストをチェックして、stonithとクォーラムポリシーが無効になっていることを確認してください。
pcs property list
11。リソースを追加
フローティングIPは、同じネットワーク内のあるサーバーから別のサーバーに即座に移行できるIPアドレスであり、高可用性クラスターでのフェイルオーバーをサポートするために使用されます。このチュートリアルでは、PacemakerHigh-AvailabilityのフローティングIPアドレスは「192.168.0.100」になります。今のところ、「v_ip」という名前のフローティングIPアドレスリソースと「webserver」という名前のNginxウェブサーバー用の新しいリソースの2つのリソースを追加します。
次のコマンドを使用して、新しいフローティングIPアドレス「v_ip」を追加します。
pcs resource create v_ip ocf:heartbeat:IPaddr2 ip=192.168.0.100 cidr_netmask=32 op monitor interval=20s
次に、2番目のリソースをクラスターに追加できます。サービスのリソースエージェントは、「webserver」という名前のocf:heartbeat:nginxです。
pcs resource create webserver ocf:heartbeat:nginx configfile=/etc/nginx/nginx.conf op monitor timeout=”5s” interval=”5s”
エラーがないことを確認してから、リソースを確認してください。
pcs status resources
2つのリソースが表示された場合。 「v_ip」と「webserver」は、フローティングIPとNginxウェブサーバーが追加されたことを意味します。
12。制約を構成する
このステップでは、以前に作成した両方のリソースを同じホストで実行するようにサーバーに指示します。スコアがINFINITYのリソースにコロケーション制約を設定します。
pcs constraint colocation add webserver v_ip INFINITY
Nginxリソース(ウェブサーバー)を、v_ipがアクティブになっているのと同じホストで常に実行されるように設定します。
pcs constraint order v_ip then webserver
リソースが同じホストで実行されていることを確認するには、次を呼び出します。
pcs status
13。クラスタをテストします。
Webブラウザでhttp://192.168.0.100に移動すると、webserver-01のデフォルトのNginxページが表示されます。
次に、次のコマンドを呼び出して、webserver-01上のクラスターを停止します。
pcs cluster stop webserver-01
ここで、http://192.168.0.100でページを更新すると、webserver-02からデフォルトのNginxページが取得されます。
おめでとうございます。Pacemakerを使用してNginx高可用性アクティブ-パッシブクラスターを正常にセットアップしました。非常に忙しいWebサイトがある場合は、NginxHAでWebサイトを実行することを検討してください。 Nginx HAで実行されている有名なWebサイトは数多くあり、Nginx HAを使用してコンテンツを迅速、確実、安全に配信しています。
もちろん、Nginxホスティングソリューションのいずれかを使用している場合は、CentOS 7でPacemakerを使用してNginx高可用性クラスターをセットアップする必要はありません。その場合は、専門のLinux管理者にサポートを依頼するだけです。 24時間年中無休でご利用いただけます。リクエストはすぐに処理されます。
PS 。 CentOS 7でPacemakerを使用してNginx高可用性クラスターを設定する方法に関するこの投稿が気に入った場合は、左側のボタンを使用してソーシャルネットワーク上の友達と共有するか、下に返信を残してください。ありがとう。