メモのページ - チラシの裏メモ 3枚目

通信技術や気になった事を黙々とメモし続ける

kemp LoadMasterによる負荷分散設定 - FTPサーバ編

Kemp Technologies社のロードバランサ、kemp LoadMasterの仮想アプライアンス版で、FTPサーバ3台の負荷分散設定をやってみた。
前回は、kemp LoadMasterの仮想アプライアンス版をPCで動作するVirtualboxにデプロイし、Freeライセンスを適用させた後、GUIで設定項目をポチポチいじりながらどんな設定が出来るのか軽く見てみた。
その結果、F5 BIG-IP LTMやA10 ThunderやCitrix NetScaler程ではないものの、ロードバランサとしては一通り遊べる事がわかった。
という事で、今回はLoadMaster事始めとして3台のFTPサーバに負荷分散する設定をしてみた。



当方の環境
・ホストOS:Windows7 32bit
・Virtualbox 5.2.32
・ゲストOS:Kemp LoadMaster 7.2.50.0.18765.RELEASE
・FTP Server:Ftp server 1.32 (Android端末3台にインストール)
・WLANでホストOSとAndroid端末3台を接続
・まだ「かじってみた」の域を脱していない為、基本的な設定以外はデフォルト値
・LoadMaster側は既にホスト名とインタフェースの設定は終えている状態



設定方針
・負荷分散方式はLeast Connection
・セッション維持方式は送信元IPアドレス
・細かな設定値は変更せずデフォルト値のまま




バーチャルサーバの設定
最初にバーチャルサーバを設定する。FTPクライアント側から見て、トラフィックの受付先がバーチャルサーバとなる。
バーチャルサーバは関連付けされたリアルサーバに対しトラフィックを受け流す。
LoadMasterでは、F5 BIG-IPで言うPool MemberはReal Serversに置き換えて呼ぶ。Virtual Serverはそのまま。

Home画面にて、左側のVirtual Servicesをクリック
Virtual Services - Add Newの順に移る
Virtual Address:IPアドレス
Port:2221
Service Name
Virtual Serverのホスト名
Protocol:tcp
Add this Virtual Serviceをクリック


[Basic Properties]
Service Name:上記で設定したService Nameが表示されている
Alternate Address:空欄
Service Type:Generic
Activate or Deactivate Service:チェックを入れる


[Standard Options]
Force L4:チェック無し
Transparency:チェック無し
Subnet Originating Requests:チェック無し
Extra Ports:空欄
Server Initiating Protocols:Other Server Initiatingを選択
Persistence Options Mode:Source IP Addressを選択
Scheduling Methos:least connectionを選択
Idle Connection Timeout:空欄
Quarity of Service:Normal-Service


[SSL Properties]
SSL Acceleration Enabled:チェック無し


[Advanced Properties]
Not Available ServerとPort:空欄(Sorry Serverの事)
Default Gateway:空欄
Service Specific Access Control:無視



サーバの設定
F5 BIG-IPと同様に、バーチャルサーバの次にリアルサーバの設定をする。
ここで言うサーバの設定とは、ロードバランサ側での設定を指す。最低でもFTPサーバのIPアドレスと使用するポート番号の情報が必要。
トラフィックを受け取ったバーチャルサーバは、ラウンドロビンや最小コネクション数など設定された負荷分散方式により、物理サーバにトラフィックを割り振るという設定にした。
FTPサーバの場合、データ転送量はサーバへの負荷に関係する為、負荷分散方式として適しているのはLeast Connectionになる。

[Real Servers]
Add Newをクリック

Please Specify the Parameters for the Real Serverの画面にて
Allow Remote Addresses:チェック無し
Real Server Address:FTPサーバのIPアドレスを入力
Port:2221
Forwarding method:nat
Weight:1000のまま
Connection Limit:空欄
Add This Real Serverをクリックし設定を保存。
Backをクリック
負荷分散対象のFTPサーバの台数分、Real ServerをAdd Newから作成する

Real Serversの欄に戻り
Real Server Check Method:File Transfer (FTP) Protocolを選択
Checked Port:空欄
Enhanced Options:空欄

全て設定が終わったら Backをクリック



監視間隔の設定
[Rules & Checking]
F5 BIG-IP LTMだけど、今までに居た案件の値を参考に設定した。監視間隔5秒、リトライ3回、タイムアウト16秒。
Check Parameters - Service Check Parameters
Check Interval(sec):16
Connect Timeout(sec):5
Retry Count:3

Connect Timeoutの値を変更すると、Check Intervalの値が自動で変更される。
Connect Timeout x Retry Count + 1 の値がCheck Intervalの最小値となるのだが、誤植だろうか、英単語として見るとCheck Intervalが「Check Timeout」でConnect Timeoutが「Check Interval」が適切と思う。F5 BIG-IPのGUIと見比べると分かりやすい。

当項目の設定保存は、Virtual ServicesやReal Servers等他の設定項目をクリックする事で実行される。
また、当項目で設定した値は、HTTP/HTTPS/FTP...負荷分散対象サーバ/サービス問わず共有されるようだ。



...ところで、LoadMasterのGUI設定画面には、F5 BIG-IPやA10 Thunderに有る「OK」ボタンや「Finished」ボタンが無い。
設定欄の横に「Set ほげほげ」のボタンがあったら値の入力ごとにクリック、一通り設定が終わったら「Back」ボタンをクリックする事で、設定内容が保存される。



ステータスの確認
[Virtual Services]
View/Modify Servicesをクリックすると、バーチャルサーバおよび物理サーバのステータスを確認する事が出来る。
上記の設定が正常に完了出来たなら、StatusはUpの状態、Real Serversにエントリされている各サーバもUpの状態(緑色の丸)になっている。



3台のPC(自分Macbook、嫁PC、息子PC)からFTPサーバにアクセスしファイルのGETを試みたところ、ラウンドロビンの如く3台のFTPサーバに負荷分散された。コネクション数が少ないサーバに振り分けられるのだから当然か。
この状態でFTPサーバを1台落とし再振り分けに要する時間を計測した事10回。6~10秒とばらつきが有った。スペック面で厳しいNexus7で動作するFTPサーバアプリを落とした際にばらつきが見られた。この件はロードバランサ側ではなくNexus7側の問題と思われる。


※LoadMaster側の設定が正しいにも関わらずFTP通信が全く出来ない場合は、ホストOS側のFW(自分の環境ではWindowsファイアウォール)を無効にしてから再度FTP通信を実施する。
※バーチャルサーバやリアルサーバにアサインするIPアドレスは、ホストOSのNICに設定されているIPアドレスを指定しないほうが良い。設定が反映されると同時にGUIのセッションが落とされる。



設定内容のバックアップ
F5 BIG-IP LTMやA10 Thunderと同様に、設定内容をファイルとしてPC等外部の端末に保存する事が出来る。

System Configuration - System Administration - Backup/Restore
Create & BackupにてCreate Backup Fileをクリック
ファイル名や保存先を指定する事無く、即座にバックアップファイルが作成されPCに保存される。
自分の環境では、Webブラウザのダウンロードファイル保存先に、LMBackups_jpmtkvmlb99_2020_06_11という名のファイルが生成された。



kemp LoadMasterのShutdown
kemp LoadMasterを落とす際は、
System Reboot - Shutdown で、Shutdownをクリックするとshutdown処理が走る。




https://debslink.hatenadiary.jp/entry/20200612/1591889920 前回:kemp LoadMasterをかじってみた
https://debslink.hatenadiary.jp/entry/20200614/1592115319 追記:kemp LoadMasterによる負荷分散設定 - HTTPサーバ編
https://debslink.hatenadiary.jp/entry/20200629/1593357476 追記:kemp LoadMasterによる負荷分散設定 - HTTPSサーバ編
https://freeloadbalancer.com/ Free LoadMaster Load Balancer
https://kemptechnologies.com/ Kemp Technologies Inc.
https://kemptechnologies.com/ja/ Kemp Technologies Inc.日本語サイト
https://support.kemptechnologies.com/hc/en-us/categories/200294835-Documentation ドキュメント