Linux に高可用性アーキテクチャを導入する方法
ビッグデータ時代の到来により、ますます多くの企業や組織がサーバー プラットフォームとして Linux オペレーティング システムを使用し始めています。アプリケーションの可用性と安定性を確保するために、高可用性アーキテクチャは Linux サーバーに不可欠な部分になっています。この記事では、Linux に高可用性アーキテクチャを展開する方法を紹介します。
高可用性アーキテクチャとは何ですか?
高可用性 (HA) は、システムに障害が発生した場合でもサービスを提供し続けることができるシステム アーキテクチャを指します。 HA は、ロード バランシング、冗長バックアップ、フェイルオーバーなどのさまざまなテクノロジーを通じて実装できます。エンタープライズレベルのアプリケーションの場合、高可用性を維持することは、予期せぬ状況が発生した場合でもアプリケーションが正常に機能し続けることが保証されるため、非常に重要です。
Linux で高可用性アーキテクチャを展開する手順
- ネットワーク計画
まず、ネットワークを計画する必要があります。高可用性を確保するには、クラスター内の各ノードに独立した IP アドレスを割り当て、仮想 IP アドレスに結合する必要があります。さらに、クラスターがノード間でデータを共有できるようにネットワーク ストレージを構成する必要があります。
- ソフトウェアのインストール
ソフトウェアをインストールする前に、ハートビート、corosync、pcs パッケージなどの必要なソフトウェア パッケージを各ノードにインストールします。次のコマンドを使用して CentOS にインストールできます:
sudo yum install corosync pcs pacemaker resource-agents
- Corosync と Heartbeat の構成
次に、2 つのノード間の通信を有効にするために Corosync と Heartbeat を構成する必要があります。 。これは、高可用性を確保するための重要な手順の 1 つです。構成ファイルにノードの IP アドレス、チャネル名、およびチャネル ポートを設定します。この構成プロセス中に、次の情報が構成されていることを確認してください。
- bindnetaddr: ノード間の通信に使用されるネットワーク インターフェイス アドレスを指定します。
- mcastaddr: マルチキャスト アドレスの指定に使用されます。
- mcastport: マルチキャスト チャネルのポート番号を指定するために使用されます。
totem { version: 2 secauth: off interface { ringnumber: 0 bindnetaddr: 192.168.50.0 mcastaddr: 226.94.1.1 mcastport: 5405 } transport: udpu } logging { to_logfile: yes logfile: /var/log/corosync/corosync.log to_syslog: yes }
ハートビート設定ファイルでは、ノードのIPアドレスと仮想IPアドレスを設定する必要があります。仮想 IP アドレスを提供するアプリケーションがインストールされていることを確認してください。
#设定hacluster集群名称 cluster hacluster #设定故障探测时间间隔 必须<ping的-send值 keepalive 2 #每次探测(waitting)会加入2秒 deadtime 10 #装备ping用的参数,每次等待10秒 warntime 10 initdead 20 udpport 694 #主服务节点IP,可多行填写 node node1.example.com node node2.example.com #关联的主节点为node1,次节点为node2 crm respawn #virtual_ip是虚拟IP #Ethernet Bridge 和IP假设设为192.168.0.1/24 primitive virtual_ip ocf:heartbeat:IPaddr2 params ip="192.168.0.5" cidr_netmask="24" op monitor interval="10s" #IP暂停服务后强制迁移 location virtual_ip-primary virtual_ip rule $id="virtual_ip-rule" inf: virtual_ip
- クラスター管理ツールの構成
Pacemaker クラスター管理ソフトウェアの構成に使用されるコマンド ライン ツールである pcs ツールをインストールします。次のコマンドを使用してインストールできます。
sudo yum install pcs sudo systemctl enable pcsd.service && sudo systemctl start pcsd.service
ファイアウォールを構成して、どのノード上のファイアウォールでも通信が許可されるようにします。 CentOS7 では、次のコマンドを使用できます:
sudo firewall-cmd --add-service=high-availability --permanent sudo firewall-cmd --reload
各ノードで、hacluster ユーザーを作成し、Pacemaker クラスターの将来の管理のためにそれを pcsd グループに追加します:
sudo useradd hacluster sudo passwd hacluster sudo usermod -aG pcsd hacluster
pcsd を有効にするにはサービスを使用するには、次のコマンドを使用してください:
sudo systemctl enable pcsd sudo systemctl start pcsd
次のコマンドを使用して Pacemaker で認証キーを構成し、同じオプションを使用して認証キーを他のすべてのノードにコピーします:
sudo pcs cluster auth <node1.example.com> <node2.example.com> -u hacluster -p <password> --force
- 負荷分散の構成
TCP および HTTP アプリケーション用の高可用性ロード バランシング ツールである HAproxy をインストールして構成します。次のコマンドを使用して CentOS にインストールできます。
sudo yum -y install haproxy sudo systemctl enable haproxy
haproxy 構成ファイルで、負荷分散アルゴリズム、バックエンド サーバーの IP アドレスとポート番号を設定する必要があります。
global log 127.0.0.1 local2 chroot /var/lib/haproxy pidfile /var/run/haproxy.pid maxconn 4000 user haproxy group haproxy daemon # Enables HAProxy in daemon mode defaults log global mode http option httplog option dontlognull retries 3 option redispatch maxconn 2000 contimeout 5000 clitimeout 50000 srvtimeout 50000 frontend web bind *:80 mode http default_backend web-backend backend web-backend mode http balance roundrobin option httpchk HEAD / HTTP/1.1 Host:localhost server node1 10.0.0.2:80 check server node2 10.0.0.3:80 check
- 高可用性アーキテクチャのテスト
最後に、高可用性をテストします。いずれかのノードを切断し、仮想 IP がもう一方のノードに自動的に転送されることを確認します。高可用性を確保するために、他のノード上のアプリケーションが仮想 IP で正常に実行されていることを確認します。
結論
Linux に高可用性アーキテクチャを導入すると、予期しない障害が発生した場合でもエンタープライズ アプリケーションの安定性と可用性を確保できます。 Corosync と Heartbeat に基づく HA アーキテクチャを使用すると、仮想 IP アドレスと負荷分散アルゴリズムを通じてアプリケーションをさまざまなサーバー ノードに分散し、高可用性とパフォーマンスを確保できます。
以上がLinux に高可用性アーキテクチャを導入する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











VSコードシステムの要件:オペレーティングシステム:オペレーティングシステム:Windows 10以降、MACOS 10.12以上、Linux Distributionプロセッサ:最小1.6 GHz、推奨2.0 GHz以上のメモリ:最小512 MB、推奨4 GB以上のストレージスペース:最低250 MB以上:その他の要件を推奨:安定ネットワーク接続、XORG/WAYLAND(Linux)

Linuxシステムの5つの基本コンポーネントは次のとおりです。1。Kernel、2。Systemライブラリ、3。Systemユーティリティ、4。グラフィカルユーザーインターフェイス、5。アプリケーション。カーネルはハードウェアリソースを管理し、システムライブラリは事前コンパイルされた機能を提供し、システムユーティリティはシステム管理に使用され、GUIは視覚的な相互作用を提供し、アプリケーションはこれらのコンポーネントを使用して機能を実装します。

VSCODEビルトインターミナルは、エディター内でコマンドとスクリプトを実行して開発プロセスを簡素化できるようにする開発ツールです。 VSCODE端子の使用方法:ショートカットキー(CTRL/CMD)で端子を開きます。コマンドを入力するか、スクリプトを実行します。 Hotkeys(Ctrl Lなどの端子をクリアするなど)を使用します。作業ディレクトリ(CDコマンドなど)を変更します。高度な機能には、デバッグモード、自動コードスニペット完了、およびインタラクティブコマンド履歴が含まれます。

gitリポジトリアドレスを表示するには、次の手順を実行します。1。コマンドラインを開き、リポジトリディレクトリに移動します。 2。「git remote -v」コマンドを実行します。 3.出力と対応するアドレスでリポジトリ名を表示します。

Visual Studioコード(VSCODE)でコードを作成するのはシンプルで使いやすいです。 VSCODEをインストールし、プロジェクトの作成、言語の選択、ファイルの作成、コードの書き込み、保存して実行します。 VSCODEの利点には、クロスプラットフォーム、フリーおよびオープンソース、強力な機能、リッチエクステンション、軽量で高速が含まれます。

NotePadはJavaコードを直接実行することはできませんが、他のツールを使用することで実現できます。コマンドラインコンパイラ(Javac)を使用してByteCodeファイル(filename.class)を生成します。 Javaインタープリター(Java)を使用して、バイトコードを解釈し、コードを実行し、結果を出力します。

Linuxの主な用途には、1。Serverオペレーティングシステム、2。EmbeddedSystem、3。Desktopオペレーティングシステム、4。開発およびテスト環境。 Linuxはこれらの分野で優れており、安定性、セキュリティ、効率的な開発ツールを提供します。

Sublimeでコードを実行するには6つの方法があります。ホットキー、メニュー、ビルドシステム、コマンドライン、デフォルトビルドシステムの設定、カスタムビルドコマンド、プロジェクト/ファイルを右クリックして個々のファイル/プロジェクトを実行します。ビルドシステムの可用性は、崇高なテキストのインストールに依存します。
