クラスタの概念は、クラスタが何であるかを迅速に理解するのに役立ちます.


一、Cluster共通クラスタタイプ
生成環境で最も多く使用されるのはLBとHAクラスタであり,HPCも活発になり始め,例えばhadoopは並列処理クラスタである.
1、LB:Load Balancing、負荷等化(処理能力増加)、高可用性能力があるが、高可用性クラスタではない
負荷分散クラスタは,サービスの同時処理能力の向上を根本的な着目点とする.
2、HA:High Availability、高可用性クラスタ(サービス可用性の増加)
高可用性クラスタは、サービスの一貫したオンライン能力を向上させることを目的としており、その時点でサービスが使用できないことはありません.
可用性の測定:オンライン時間/(オンライン時間+障害処理時間)

  
  
  
  
  1. 99%:  
  2. 99.9%: 0.3  
  3. 99.99%: 0.03  
  4. 99.999%: 0.003  

3、HPC:High performance、高性能コンピューティングクラスター、大量データを計算し、複雑な問題を解決する
通常のスーパーコンピュータは高性能コンピューティングクラスタであり、毎秒浮動小数点演算を表示する能力である.
使用した名詞:
ベクトルマシン:できるだけ上へ拡張し、CPUが多すぎると、アーキテクチャに問題があっても
パラレル処理クラスタ:2つのセクションを含む
1、分布式ファイルシステム;
2、大任務を小任務に切断し、それぞれ処理する仕組み
二、負荷均衡設備の分類
1.Hardware:ハードウェア負荷等化設備

  
  
  
  
  1. F5,BIG IP 
  2.    Citrix,Netscaler 
  3.    A10 

2、Software:ソフトウェア負荷均衡設備、二つの部分を含む
4つの階層で実現されるのは、7つの階層のデバイスよりも機能がやや優れていることです.
LVS(4階建てルーティング機器)は、中国人の張国松氏が開発した(アリババの副総裁)ユーザーが要求したIPとポート番号に基づいて、
ユーザーのリクエストをクライアントの異なるホストに配布する
7つの階層は、(7つの階層は逆エージェント)
nginx:ロシア人が開発したもので、主な機能はhttp、smtp、pop 3、imapなどのプロトコルに対して負荷均衡を実現し、責任のみを負う
有限な7階層プロトコルの解析
haproxy:主な機能はhttpプロトコルに対して負荷等化を実現することであり、tcp(mysql,smtp)などのプロトコルの負荷等化を実現することもできる.
3、LVSって何?     
LVSはLinux Virtual Serverの略であり、Linux仮想サーバ自体は負荷分散デバイス(director server)であり、
ユーザーリクエストがある場合は、ユーザーリクエストをバックエンドで実際にサービスを提供しているサーバに転送する責任を負います.
したがってバックエンドサーバをrealserverと呼ぶ--本当の意味でのサーバは,ユーザ要求のIPに基づいて3層4層要求を解析することができる.
カーネルのtcp/IPプロトコルスタック上で動作しinputチェーン上で動作する応答を行う
注意:LVSとiptablesは同時に使用できません
LVSは2つのセグメントに分かれています.
ipvsadm:クラスタサービスを管理するコマンドラインツール(ユーザ空間)
ipvs:カーネルモジュール、INPUTチェーンで動作

  
  
  
  
  1. VIP:virtual IP, IP 
  2. DIP:director IP 
  3. RIP:realserver IP 
  4. CIP:client IP 

4、LVSには3つの一般的なタイプがあります.
NAT:アドレス変換、DNATに類似
DR:直接ルーティング、要求メッセージのみ処理、応答メッセージはDR経由しない
TUN:トンネル、
マルチターゲット、フロントエンドには少なくとも2つのネットワークインタフェースがあり、1つはインターネット向けで、インターネットのユーザーがアクセスできるようにする.
realserver向けであり、ユーザ要求が到着すると、ユーザ要求をrealserverのアドレスに変換する方法で実現される
(1)、NAT:アドレス変換に従う法則
クラスタノードとdirectorは同じIPネットワークにある必要があります
RIPは通常プライベートアドレスであり,各クラスタノード間の通信にのみ用いられる.
Directorはclientとreal serverの間にあり、出入りするすべての通信を処理します.
real serverはゲートウェイをDIPに向ける必要があります
ポートマッピングのサポート
real serverは任意のOSを使用できます
大規模なアプリケーションシーンでは、Directorがシステムのボトルネックになりやすい
(2)、DR:ダイレクトルーティング
クラスタノードとdirectorは同じ物理ネットワークにある必要があります
RIPはパブリックネットワークアドレスを使用することができ、便利な遠隔管理と監視を実現する.
Directorはインバウンドリクエストの処理のみを担当し、応答メッセージはreal serverからクライアントに直接送信されます.
real serverはゲートウェイをDIPに向けることができません
ポートマッピングはサポートされていません
LVS-DRモデルは3種類あり、以下の通りである.

  
  
  
  
  1. 1、VIP:MAC(DVIP) 
  2. 2、arptables: 
  3. 3、kernel parameter: ,  
  4.      arp_ignore: ARP , 0 
  5.         0: ,  
  6.         1: ,  
  7.      arp_announce: , 0 
  8.         0: ( ) 
  9.         1:  
  10.         2:  

(3)、TUN:トンネル
クラスタノードはインターネット(Internet)を越えて
RIPはパブリックアドレスでなければなりません
Directorはインバウンドリクエストのみを処理し、応答メッセージはreal serverからクライアントに直接送信する
real serverはゲートウェイをdirectorに向けることができません
トンネル機能をサポートするOSのみreal serverに使用できます
ポートマッピングはサポートされていません
この3つのモデルはNATで最も簡単でDRで最も一般的である.
三、スケジューリングアルゴリズム分析
スケジューリングアルゴリズムの意味:英語はschedule methodで、バックエンドサーバを選択して新しい要求を受信する計算基準です.
通常、1つのスケジューラは1つのサービスにのみスケジューリング機能を提供し、Nつのサービスにクラスタ能力を提供することができる.
大きく分けて2種類のスケジューリング
1、静的(固定)スケジューリング:スケジューリング時に現在のサーバーに空きがあるかどうかを考慮しない
rr:ポーリングスケジュール
wrr:(Weight,重み付け)重み付けポーリングは,重みスケールをポーリング基準とし,ポーリング前に各サーバが事前に計算される.
間の重みの割合、この割合で各ホスト間でのスケジューリングを実現
sh:source hash、ソースアドレスhash、同じクライアントからのリクエストが同じreal server(セッションバインドを実現する
機能)は、公平なスケジューリング性をある程度破壊しますが、ユーザーが以前にアクセスしたことを追跡するために使用する必要があります.
どのようなコンテンツ、実装セッションバインド(webサーバはステータスなし、cookie--)session(セッション))クライアント第一
サーバにアクセスすると、サーバ側はクライアントに識別子を生成し、クライアントはこの識別子をローカルのクッキーファイルに保存します.
クライアントがこのサイトに再アクセスすると、このクッキー(クッキーにはユーザー認証、urlなどの情報が含まれています)
リクエストに情報を添付し、サーバ側から2つのクッキー情報が同じであることを受信すると、このクライアントがどのサイトにアクセスしたかを判定し、好きなものを提供することができます.
dh:destination hash,宛先アドレスhash,同一IPアドレス要求を同一real serverに送信
(ターゲットアドレスを基準として選択)例えば、フロントエンドはdirector serverであり、バックエンドは2つのキャッシュサーバ(cache server)である
このとき、あるユーザが開始したリクエストは、その中のあるcacheserverの番になり、キャッシュに存在しない場合は、元のサーバ、元のサーバの
データはまずキャッシュに保存され、キャッシュされたサーバでクライアントに返されます.2回目のクライアントが同じコンテンツを要求すると、同じcacheserverに送信され、
キャッシュ・ヒット率の向上
2、動的スケジューリング方法:
lc:最小接続(active*256+inactive)最小値を選択(値が小さいほど接続数が少ない)
   wlc;加重最小接続(active*256+inactive)/weight、最小値を選択
sed:最短期待遅延、非アクティブ接続無視、(active+1)*256/weight、最小値選択
   nq;ウェイトの大きさにかかわらず、各サーバはまず1つを与え、ウェイトの計算を行い、サーバにウェイトを与えません.
暇なのは、ただ権力の大きいものが優先的に届くだけで、どうしても送られてしまいます
LBLC:ローカルベースの最小接続
LBLCR:ローカルレプリケーション機能による最小接続
Active:アクティブな接続、ユーザーが要求し、データ転送を実現しており、大量のメモリ領域を占めています.
inactive:非アクティブ接続、接続確立、データ転送終了、ただし切断されていない(例えば長い接続、セッションが切断されていない)、占有メモリが少ない
最も理想的なスケジューリング方法:wlc(デフォルト)
四、LVS高可用性クラスタを実現するツール
ipvsadm:主な機能
1、管理クラスターサービス

  
  
  
  
  1. :-A -t|u|f service-address [-s scheduler] 
  2.              -t:TCP  
  3.              -u:UDP ,service-address: IP:PORT 
  4.             -f:FWM,  service-address: Mark Number 
  5.      :-E 
  6.      :-D -t|u|f service-address  
  7. # ipvsadm -A -t 172.16.100.1:80 -s rr      

2.クラスタサービスにおけるRSの管理

  
  
  
  
  1. :-a -t|u|f service-address -r server-address [-g|i|m] [-w weight]  
  2.               -t|u|f service-address:  
  3.               -r server-address: RS , NAT , IP:PORT  
  4.                 [-g|i|m]:LVS  
  5.                    -g:DR 
  6.                    -i:TUN 
  7.                    -m:NAT 
  8.                  [-w weight] :  
  9.      :-e 
  10.      :-d -t|u|f service-address -r server-address  
  11. # ipvsadm -a -t 172.16.50.1:80 -r 192.168.10.2 -m 
  12. # ipvsadm -a -t 172.16.50.1:80 -r 192.168.10.3 -m 

3、表示

  
  
  
  
  1. -L|l  ,  
  2.     -n: Ip( )  
  3.     --stats:  
  4.     --rate:  
  5.     --timeout: tcp、tcpfin、udp  
  6.     --sort: ( ) 
  7.     -c: ipvs  
  8. # ipvsadm -L -n --stats 

4、すべてのクラスタサービスを削除する

  
  
  
  
  1. -C: ipvs  
  2. #ipvsadm -C 

5、ルールの保存

  
  
  
  
  1. -S 
  2. # ipvsadm -S > /path/to/somefile( /etc/sysconfig/ipvsadm) 

6、これまでのルールを読み込む

  
  
  
  
  1. -R 
  2. # ipvsadm -R < /path/from/somefile 

知識の更新中......