検索
ホームページ運用・保守Linuxの運用と保守Linux に高可用性アーキテクチャを導入する方法

ビッグデータ時代の到来により、ますます多くの企業や組織がサーバー プラットフォームとして Linux オペレーティング システムを使用し始めています。アプリケーションの可用性と安定性を確保するために、高可用性アーキテクチャは Linux サーバーに不可欠な部分になっています。この記事では、Linux に高可用性アーキテクチャを展開する方法を紹介します。

高可用性アーキテクチャとは何ですか?

高可用性 (HA) は、システムに障害が発生した場合でもサービスを提供し続けることができるシステム アーキテクチャを指します。 HA は、ロード バランシング、冗長バックアップ、フェイルオーバーなどのさまざまなテクノロジーを通じて実装できます。エンタープライズレベルのアプリケーションの場合、高可用性を維持することは、予期せぬ状況が発生した場合でもアプリケーションが正常に機能し続けることが保証されるため、非常に重要です。

Linux で高可用性アーキテクチャを展開する手順

  1. ネットワーク計画

まず、ネットワークを計画する必要があります。高可用性を確保するには、クラスター内の各ノードに独立した IP アドレスを割り当て、仮想 IP アドレスに結合する必要があります。さらに、クラスターがノード間でデータを共有できるようにネットワーク ストレージを構成する必要があります。

  1. ソフトウェアのインストール

ソフトウェアをインストールする前に、ハートビート、corosync、pcs パッケージなどの必要なソフトウェア パッケージを各ノードにインストールします。次のコマンドを使用して CentOS にインストールできます:

sudo yum install corosync pcs pacemaker resource-agents
  1. 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
  1. クラスター管理ツールの構成

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
  1. 負荷分散の構成

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
  1. 高可用性アーキテクチャのテスト

最後に、高可用性をテストします。いずれかのノードを切断し、仮想 IP がもう一方のノードに自動的に転送されることを確認します。高可用性を確保するために、他のノード上のアプリケーションが仮想 IP で正常に実行されていることを確認します。

結論

Linux に高可用性アーキテクチャを導入すると、予期しない障害が発生した場合でもエンタープライズ アプリケーションの安定性と可用性を確保できます。 Corosync と Heartbeat に基づく HA アーキテクチャを使用すると、仮想 IP アドレスと負荷分散アルゴリズムを通じてアプリケーションをさまざまなサーバー ノードに分散し、高可用性とパフォーマンスを確保できます。

以上がLinux に高可用性アーキテクチャを導入する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Linux操作:コア機能の理解Linux操作:コア機能の理解May 03, 2025 am 12:09 AM

Linuxは、UNIXベースのマルチユーザーのマルチタスクオペレーティングシステムで、シンプルさ、モジュール性、オープン性を強調しています。そのコア機能には、ファイルシステム:ツリー構造で整理され、Ext4、XFS、BTRFSなどの複数のファイルシステムをサポートし、DF-Tを使用してファイルシステムタイプを表示します。プロセス管理:PSコマンドを使用してプロセスを表示し、優先度の設定と信号処理を含むPIDを使用してプロセスを管理します。ネットワーク構成:IPアドレスの柔軟な設定とネットワークサービスの管理、およびsudoipaddraddを使用してIPを構成します。これらの機能は、基本的なコマンドと高度なスクリプト自動化を通じて実際の操作に適用され、効率を向上させ、エラーを削減します。

Linux:メンテナンスモードの入力と終了Linux:メンテナンスモードの入力と終了May 02, 2025 am 12:01 AM

Linuxメンテナンスモードに入る方法には次のものがあります。1。grub構成ファイルを編集し、「シングル」または「1」パラメーターを追加し、Grub構成を更新します。 2。GRUBメニューでスタートアップパラメーターを編集し、「シングル」または「1」を追加します。終了メンテナンスモードでは、システムを再起動する必要があります。これらの手順を使用すると、必要に応じてメンテナンスモードをすばやく入力して安全に終了し、システムの安定性とセキュリティを確保できます。

Linuxの理解:定義されたコアコンポーネントLinuxの理解:定義されたコアコンポーネントMay 01, 2025 am 12:19 AM

Linuxのコアコ​​ンポーネントには、カーネル、シェル、ファイルシステム、プロセス管理、メモリ管理が含まれます。 1)カーネル管理システムリソース、2)シェルはユーザーインタラクションインターフェイスを提供します。3)ファイルシステムは複数の形式をサポートします。4)プロセス管理は、フォークなどのシステムコールを通じて実装され、5)メモリ管理は仮想メモリテクノロジーを使用します。

Linuxの構成要素:主要なコンポーネントが説明しましたLinuxの構成要素:主要なコンポーネントが説明しましたApr 30, 2025 am 12:26 AM

Linuxシステムのコアコンポーネントには、カーネル、ファイルシステム、ユーザースペースが含まれます。 1.カーネルはハードウェアリソースを管理し、基本的なサービスを提供します。 2。ファイルシステムは、データストレージと組織を担当します。 3.ユーザースペースでユーザープログラムとサービスを実行します。

メンテナンスモードの使用:Linuxのトラブルシューティングと修復メンテナンスモードの使用:Linuxのトラブルシューティングと修復Apr 29, 2025 am 12:28 AM

メンテナンスモードは、シングルユーザーモードまたはレスキューモードを介してLinuxシステムに入力される特別な動作レベルであり、システムのメンテナンスと修理に使用されます。 1.メンテナンスモードを入力し、コマンド「sudosystemctlisolaterscue.target」を使用します。 2。メンテナンスモードでは、ファイルシステムを確認して修復し、コマンド「FSCK/DEV/SDA1」を使用できます。 3.高度な使用法には、ルートユーザーパスワードのリセット、ファイルシステムの読み取りモードと書き込みモードのマウント、パスワードファイルの編集が含まれます。

Linuxメンテナンスモード:目的の理解Linuxメンテナンスモード:目的の理解Apr 28, 2025 am 12:01 AM

メンテナンスモードは、システムのメンテナンスと修理に使用され、管理者が簡素化された環境で作業できるようにします。 1。システム修理:破損したファイルシステムとブートローダーを修理します。 2。パスワードリセット:ルートユーザーパスワードをリセットします。 3。パッケージ管理:ソフトウェアパッケージをインストール、更新、または削除します。 GRUB構成を変更するか、特定のキーを使用してメンテナンスモードを入力することにより、メンテナンスタスクを実行した後、安全に終了できます。

Linux操作:ネットワーキングとネットワーク構成Linux操作:ネットワーキングとネットワーク構成Apr 27, 2025 am 12:09 AM

Linuxネットワークの構成は、次の手順で完了できます。1。ネットワークインターフェイスを構成し、IPコマンドを使用して、構成ファイルの永続性設定を一時的に設定または編集します。 2。固定IPを必要とするデバイスに適した静的IPを設定します。 3.ファイアウォールを管理し、iPtablesまたはFirewalldツールを使用してネットワークトラフィックを制御します。

Linuxのメンテナンスモード:システム管理者ガイドLinuxのメンテナンスモード:システム管理者ガイドApr 26, 2025 am 12:20 AM

メンテナンスモードは、Linuxシステム管理において重要な役割を果たし、修復、アップグレード、構成の変更を支援します。 1.メンテナンスモードを入力します。 Grubメニューから選択するか、コマンド「sudosystemctlisolaterscue.target」を使用できます。 2。メンテナンスモードでは、ファイルシステムの修理およびシステムの更新操作を実行できます。 3.高度な使用法には、ルートパスワードのリセットなどのタスクが含まれます。 4.メンテナンスモードに入ったり、ファイルシステムをマウントできないなどの一般的なエラーは、GRUB構成をチェックしてFSCKコマンドを使用して固定できます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 中国語版

SublimeText3 中国語版

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

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール