検索
ホームページ運用・保守Linuxの運用と保守Linux を使用してネットワーク負荷分散を行う方法

Linux を使用してネットワーク負荷分散を行う方法

Jun 18, 2023 pm 06:45 PM
Linuxの負荷分散ネットワーク負荷分散構成ipvs ロードバランシング

ネットワーク負荷分散は、ネットワーク トラフィックをさまざまなサーバーに均等に分散する方法であり、それによってシステム全体の可用性とパフォーマンスが向上します。 Linux システムには、ネットワーク負荷分散の実現に役立つツールがいくつか付属しています。この記事では、Linux を使用してネットワーク負荷分散を行う方法を紹介します。

1. Linux ネットワーク負荷分散の基本原理

ネットワーク負荷分散の基本原理は、ネットワーク トラフィックを複数のサーバーに分散することです。分散方式には、ポーリング方式、重み付けポーリング方式、IP ハッシュ方式、最小接続数方式などがあります。

Linux では、ネットワーク トラフィックを複数のサーバーに分散する LVS (Linux Virtual Server) テクノロジーをネットワーク負荷分散に使用できます。これは、スケジューラ (ロード バランサとも呼ばれます) と複数のバックエンド サーバーで構成されます。

2. LVS のインストールと設定

  1. LVS のインストール

LVS を設定する前に、ipvsadm、keepalived、これらのパッケージは、yum コマンドを通じてインストールできます。

① ipvsadm のインストール

次のコマンドを使用して ipvsadm パッケージをインストールします。

sudo yum install ipvsadm -y

② keepalived のインストール

次のコマンドを使用して keepalived パッケージをインストールします:

sudo yum install keepalived -y

  1. LVS の構成

LVS 構成に進む前に、知っておくべきことがいくつかあります。 基本概念:

  • スケジューラー (ロード バランサー): クライアントからネットワーク リクエストを受信し、そのリクエストをバックエンド サーバーに転送するために使用されます。
  • リスニング IP アドレス: クライアントがアクセスする IP アドレス。
  • 実サーバー (バックエンド サーバー): クライアントのネットワーク要求を処理します。

以下は、スケジューラーの IP アドレスが 192.168.1.1、バックエンド サーバーの IP アドレスが 192.168.1.2 および 192.168.1.3 であると仮定した、LVS の構成例です。

① スケジューラーの構成

まず、スケジューラーに keepalived サービスをインストールして構成します。 /etc/keepalived/keepalived.conf ファイルを編集し、次の設定を追加します:

! keepalived の設定ファイル

#global_defs {

router_id LB_Test
}

vrrp_script chk_http_port {

スクリプト "/etc/keepalived/check.sh"
間隔 2
}

vrrp_instance VI_1 {

状態 MASTER
インターフェイス eth0
virtual_router_id 50
優先度 101
認証 {

   auth_type PASS
   auth_pass 1111

}

virtual_ipaddress {

   192.168.1.100

}

track_script {

   chk_http_port

}

}

このうち、vrrp_instance は仮想ルーターのパラメータの設定に使用され、virtual_router_id は仮想ルーターの ID の設定に使用され、virtual_ipaddress は仮想 IP アドレスの設定に使用され、priority はマスターの設定に使用されます。 -バックアップ関係 数値が小さいほど優先度が高くなります。

次に、check.sh という名前のスクリプト ファイルを作成して、バックエンド サーバーが稼働しているかどうかを確認します。次のスクリプトの内容を check.sh ファイルに保存します:

!/bin/bash

A=

ipvsadm -ln | grep -c "Server" if [ $A -eq 0 ];then
echo "failed"
killall keepalived
fi

説明: バックエンド サーバーが利用できない場合、スクリプトは keepalived サービスを終了します。

次のコマンドを実行して、設定ファイルを有効にします。

sudo systemctl restart keepalived

この時点で、スケジューラの設定は完了です。

② バックエンドサーバーの設定

バックエンドサーバーにLVSの実サーバーを設定します。

次のコマンドを使用して実サーバー構成を追加します:

sudo ipvsadm -A -t 192.168.1.100:80 -s rr

その中で、-A オプションはルールの追加に使用され、-t はリスニング IP アドレスとポートの設定に使用され、-s はスケジュール ルールの設定に使用され、ここではポーリング方式が使用されます。

次のコマンドを使用して実サーバーをルールに追加します:

sudo ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.2 -g

sudo ipvsadm -a -t 192.168 .1.100:80 -r 192.168.1.3 -g

このうち、-a オプションはルールにリアル サーバーを追加するために使用され、-r はバックエンド サーバーの IP アドレスを設定するために使用され、- g は、バックエンド サーバーのゲートウェイ モードを設定するために使用されます。

この時点で、LVS の構成は完了です。

3. ネットワーク負荷分散のテスト

LVS の設定が完了したら、次の手順でネットワーク負荷分散機能をテストできます。 clientcurl コマンドは仮想 IP アドレスにアクセスします:

    curl 192.168.1.100
スケジューラによる処理後、リクエストはバックエンド サーバーの 1 つに送信されます。 。

バックエンド サーバーの 1 つで単純な HTTP サービスを開始します:
  1. python -m SimpleHTTPServer 80
次に、実サーバーの IP アドレスにアクセスします。 :

    curl 192.168.1.2
仮想 IP アドレスにリクエストを再度送信します。このとき、リクエストは別の実サーバーに送信される必要があります。

    上記のテストの後、バックエンド サーバーにアクセスするときに、リクエストをさまざまなバックエンド サーバーに均等に分散できれば、ネットワークの負荷分散は成功していると言えます。
  1. 4.概要

この記事では、Linux を使用してネットワーク負荷分散を行う方法を紹介します。ipvsadm および keepalived ソフトウェア パッケージをインストールし、IP アドレス、ポート、スケジューラとバックエンド サーバーのスケジュール ルールを構成し、最後にネットワーク負荷分散機能をテストします。 。ネットワーク負荷分散により、システム全体の可用性とパフォーマンスが向上し、同時実行性の高い環境でのネットワーク リクエストの処理が容易になり、ユーザー エクスペリエンスが向上します。

以上がLinux を使用してネットワーク負荷分散を行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
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コマンドを使用して固定できます。

Linuxのメンテナンスモード:それを使用する時期と理由Linuxのメンテナンスモード:それを使用する時期と理由Apr 25, 2025 am 12:15 AM

Linuxメンテナンスモードを使用するタイミングと理由:1)システムが起動するとき、2)主要なシステムの更新またはアップグレードを実行するとき、3)ファイルシステムメンテナンスを実行するとき。メンテナンスモードは、安全で制御された環境を提供し、運用上の安全性と効率を確保し、ユーザーへの影響を減らし、システムセキュリティを強化します。

Linux:必須コマンドと操作Linux:必須コマンドと操作Apr 24, 2025 am 12:20 AM

Linuxの不可欠なコマンドは次のとおりです。1.LS:リストディレクトリの内容; 2.CD:作業ディレクトリを変更します。 3.mkdir:新しいディレクトリを作成します。 4.RM:ファイルまたはディレクトリを削除します。 5.CP:ファイルまたはディレクトリをコピーします。 6.MV:ファイルまたはディレクトリの移動または名前を変更します。これらのコマンドは、カーネルと対話することにより、ユーザーがファイルとシステムを効率的に管理するのに役立ちます。

Linux操作:ファイル、ディレクトリ、およびアクセス許可の管理Linux操作:ファイル、ディレクトリ、およびアクセス許可の管理Apr 23, 2025 am 12:19 AM

Linuxでは、ファイルおよびディレクトリ管理ではLS、CD、MKDIR、RM、CP、MVコマンドを使用し、許可管理はCHMOD、CHOWN、およびCHGRPコマンドを使用します。 1。LS-Lなどのファイルおよびディレクトリ管理コマンドは、詳細情報、MKDIR-Pを再帰的に作成するディレクトリを再帰的に作成します。 2。CHMOD755FILEセットファイル許可、CHOWNUSERFILEファイル所有者、CHGRPGROUPFILEの変更ファイルグループなどの許可管理コマンド。これらのコマンドは、ファイルシステム構造とユーザーおよびグループシステムに基づいており、システムコールとメタデータを介して動作および制御します。

Linuxのメンテナンスモードとは何ですか?説明したLinuxのメンテナンスモードとは何ですか?説明したApr 22, 2025 am 12:06 AM

メンテナンスメモデンリンリンアスピアルブーテンビロンメント、criticalsystemmaincencetasks.itallowsadministratorstopertopertopertopersetstingtingpasswords、Repainingfilesystems、およびRecoveringfrombootfailurureSinaMinimalenvironment.

Linux:基本的な部分に深く潜りますLinux:基本的な部分に深く潜りますApr 21, 2025 am 12:03 AM

Linuxのコアコ​​ンポーネントには、カーネル、ファイルシステム、シェル、ユーザー、カーネルスペース、デバイスドライバー、パフォーマンスの最適化とベストプラクティスが含まれます。 1)カーネルは、ハードウェア、メモリ、プロセスを管理するシステムのコアです。 2)ファイルシステムはデータを整理し、Ext4、BTRFS、XFSなどの複数のタイプをサポートします。 3)シェルは、ユーザーがシステムと対話するためのコマンドセンターであり、スクリプトをサポートします。 4)システムの安定性を確保するために、ユーザースペースをカーネルスペースから分離します。 5)デバイスドライバーは、ハードウェアをオペレーティングシステムに接続します。 6)パフォーマンスの最適化には、システム構成とベストプラクティスのチューニングが含まれます。

Linuxアーキテクチャ:5つの基本コンポーネントを発表しますLinuxアーキテクチャ:5つの基本コンポーネントを発表しますApr 20, 2025 am 12:04 AM

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

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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!