クラスター負荷分散-LVS理論
1つ:クラスターの負荷分散の原則
1.1:エンタープライズクラスタアプリケーションの概要
-
クラスターの意味
- クラスター、クラスター、クラスター
- 複数のホストで構成されますが、全体としては外部的にのみ表示されます
-
問題
- インターネットアプリケーションでは、サイトのハードウェアパフォーマンス、応答速度、サービスの安定性、データの信頼性などの要件がますます高くなっているため、単一のサーバーではそれができません
-
解決
- 高価なミニコンピューターとメインフレームを使用する
- 通常のサーバーを使用してサービスクラスターを構築する
-
Alibaba CloudのSLBは典型的な負荷分散スケジューラーであり、ECSはクラウドホスト(仮想マシン)です
SLBはECSをスケジュールし、複数のECSがリソースプールを形成して、クラウドコンピューティングの基礎を形成します
1.2:エンタープライズクラスタの分類
- クラスターのターゲットの違いに応じて、3つのタイプに分類できます。
- 負荷分散クラスター
- 高可用性クラスター
- 高性能コンピューティングクラスタ
1.2.1:負荷分散クラスター
- アプリケーションシステムの応答性を向上させ、可能な限り多くのアクセス要求を処理し、待ち時間を目標として削減して、高い同時実行性と高負荷(LB)の全体的なパフォーマンスを実現します。
- LBの負荷分散は、スケジューリングであるマスターノードの分散アルゴリズムに依存します。
1.2.2:高可用性クラスター
- アプリケーションシステムの信頼性を向上させ、中断時間を可能な限り削減するには、サービスの継続性を確保し、高可用性(HA)フォールトトレランス効果を実現します
- HAの動作モードには、デュプレックスモードとマスタースレーブモードが含まれます
- 2つの並列状態のデュプレックス、協調作業、いつでも相互に置き換え
- マスタースレーブモードでは、集中型クラスターと呼ばれる1つのマスター、複数のスレーブ
- 分散メカニズム:実際のマスターは存在せず、存在する場合はシンボリックであり、すべてのノードが機能します(Redisクラスターは典型的な分散メカニズムです)
1.2.3:高性能コンピュータクラスタ
- アプリケーションシステムのCPUコンピューティング速度を向上させ、ハードウェアリソースと分析機能を拡張し、大規模なスーパーコンピューターと同等のハイパフォーマンスコンピューティング(HPC)機能を獲得することを目的としています。
- 高性能コンピューティングクラスタの高性能は、「分散コンピューティング」と「並列コンピューティング」に依存しています。複数のサーバーのCPU、メモリ、その他のリソースは、専用のハードウェアとソフトウェアを介して統合され、大規模なスーパーコンピュータだけが持つコンピューティング機能を実現します。
1.3:負荷分散クラスターの動作モードの分析
- 負荷分散クラスターは現在、企業で最も一般的に使用されているクラスタータイプです。
- クラスター負荷スケジューリングテクノロジーには3つの動作モードがあります。
- アドレス変換
- IPトンネル
- 直接ルーティング(DR)
1.3.1:NATモード
- ネットワークアドレス変換
- NATモードと呼ばれ、ファイアウォールのプライベートネットワーク構造に似ています。ロードスケジューラは、すべてのサーバーノードのゲートウェイとして機能します。つまり、クライアントのアクセス入口として機能し、クライアントへの応答として各ノードのアクセス出口としても機能します。
- サーバーノードはプライベートIPアドレスを使用し、ロードスケジューラと同じ物理ネットワーク上にあり、セキュリティは他の2つの方法よりも優れています
1.3.2:TUNモード
- IPトンネル
- TUNモードと呼ばれ、オープンネットワーク構造を採用しています。ロードスケジューラは、クライアントのアクセスエントランスとしてのみ使用されます。各ノードは、ロードスケジューラを経由せずに、独自のインターネット接続を介してクライアントに直接応答します。
- サーバーノードはインターネットのさまざまな場所に散在し、独立したパブリックIPアドレスを持ち、専用IPトンネルを介してロードスケジューラと通信します。
1.3.3:DRモード
- 直接ルーティング
- DRモードと呼ばれ、TUNモードの構造と同様のセミオープンネットワーク構造を採用していますが、ノードはどこにでも散在しているわけではなく、スケジューラーと同じ物理ネットワークに配置されています。
- ロードスケジューラは、ローカルネットワークを介して各ノードサーバーに接続され、専用のIPトンネルを確立する必要はありません。
1.3.4:3つの動作モードの違い
作業モードの違い | NATモード | TUNモード | DRモード |
---|---|---|---|
実サーバー(ノードサーバー) | |||
サーバー番号(ノード数) | 低い10-20 | 高い100 | 高い100 |
実際のゲートウェイ | ロードスケジューラ | 自分のルーター | 無料ルーター |
IPアドレス | パブリックネットワーク+プライベートネットワーク | パブリックネット | プライベートネットワーク |
利点 | 高いセキュリティ | WAN環境で暗号化されたデータ | 最高のパフォーマンス |
不利益 | 低効率と高圧 | トンネルのサポートが必要 | LANにまたがることはできません |
2:クラスターアーキテクチャと仮想サーバー
2.1:負荷分散クラスターのアーキテクチャー
- 負荷分散アーキテクチャ
- 最初のレイヤー、ロードスケジューラー(ロードバランサーまたはディレクター)
- 2番目の層、サーバープール(サーバープール)
- 第3層の共有ストレージ(Share Storage)
- 共有ストレージは、多くのストレージスペースと利点を提供します:便利で効率的
2.2:LVS仮想サーバーの概要
- Linux仮想サーバー
- Linuxカーネルの負荷分散ソリューション
- チャンウェンソン博士が1998年5月に中国で設立
[root@localhost~]# modprobe ip_vs '确认内核对LVS的支持'
[root@localhost~]# cat /proc/net/ip_vs
- LVSロードスケジューリングアルゴリズム
- ラウンドロビン
- 受信したアクセス要求は、クラスター内の各ノード(実サーバー)に順番に割り当てられ、サーバーの実際の接続数やシステム負荷に関係なく、各サーバーは同等に扱われます
- 加重ラウンドロビン
- 実サーバーの処理能力に応じて、受信したアクセス要求が順番に割り当てられ、スケジューラーが各ノードの負荷状態を自動的に照会し、動的に重みを調整できます
- 強力な処理機能を備えたサーバーがより多くのトラフィックを処理できるようにする
- 最小接続
- 実サーバーによって確立された接続数に応じて割り当て、接続数が最も少ないノードへの受信アクセス要求に優先順位を付けます
- 加重最小接続
- サーバーノードのパフォーマンスに大きな違いがある場合は、実際のサーバーの重みを自動的に調整できます。
- 重みが大きいノードは、アクティブな接続負荷の割合が高くなります。
- ラウンドロビン
2.3:LVSクラスターの作成と管理
- ipvsadmツールを使用する
- 仮想サーバーを作成する
- サーバーノードの追加、削除
- クラスターとノードのステータスを表示する
- エラー負荷分散戦略
2.4:NFS共有ストレージサービス
-
ネットワークファイルシステム、ネットワークファイルシステム
- RPC(リモートプロシージャコール)に依存する
- nfs-utils、rpcbindソフトウェアパッケージをインストールする必要がある
- システムサービス:nfs、rpcbind
- 共有構成ファイル:/ etc / exports
-
NFSを使用して共有リソースを公開する
- nfs-util、rpcbindソフトウェアパッケージをインストールする
- 共有ディレクトリを設定する
- NFSサービスプログラムを起動します。
- マシンによって公開されたNFS共有ディレクトリを表示する
-
クライアントのNFS共有リソースにアクセスする
- rpcbindパッケージをインストールして、rpcbindサービスを開始します。
- NFS共有ディレクトリを手動でマウントする
NFS公開共有リソース - nfs-util、rpcbindソフトウェアパッケージをインストールする
- 共有ディレクトリを設定する
- NFSサービスプログラムを起動します。
- マシンによって公開されたNFS共有ディレクトリを表示する
-
クライアントのNFS共有リソースにアクセスする
- rpcbindパッケージをインストールして、rpcbindサービスを開始します。
- NFS共有ディレクトリを手動でマウントする
- fstab自動マウント設定