LinuCレベル3 304試験の例題と解説
334.2ロードバランスクラスタ
LinuCレベル3 304試験の出題範囲から「334.2 ロードバランスクラスタ」についての例題を解いてみます。
今回は、ldirectord について取り上げます。ldirectord の負荷分散方式について理解しましょう。
例題
アクティブなジョブが少ない実サーバにより多くジョブを割り当てたいとき、ldirectord の設定項目として適切なものを選びなさい。
- scheduler=rr
- scheduler=lc
- scheduler=sh
- scheduler=sed
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「2. scheduler=lc」です。
ldirectord は、受信した TCP や UDP の通信を後段の複数の実サーバに分散するためのデーモンソフトウェアです。負荷分散には Linux の LVS (Linux Virtual Server) 機能を用いています。ldirectord は ipvsadm コマンドを使用して LVS の操作を行います。
通常、ldirectord の設定ファイルとして /etc/ha.d/ldirectord.cf が用いられます。どのような方式で負荷を実サーバへ分散するかは設定項目 scheduler にて設定します。
例題の各選択肢について解説します。
1. scheduler=rr
不正解です。
rr は Robin Robin (ラウンドロビン) を意味します。ジョブを順番に実サーバに割り当てる、最も単純な方式です。それぞれの通信が終了するタイミングの違いにより、ジョブの割り当てに偏りが発生する場合があります。なお、実サーバに重みづけをしてジョブを割り当てる wrr (Weighted Round Robin) 方式も選択できます。
2. scheduler=lc
正解です。
lc は Least-Connection (最小接続) を意味します。アクティブなジョブが少ない実サーバに優先してジョブを割り当てるため、各実サーバが扱うジョブの数が均等に近づきます。ただし、ジョブの数だけに基づいて割り当てが行われ、各ジョブの負荷までは検討しません。なお、実サーバに重みづけをしてジョブを割り当てる wlc (Weighted Least-Connection) 方式も選択できます。
3. scheduler=sh
不正解です。
sh は Source Hashing (送信元ハッシュ) を意味します。同じ IP アドレスからのジョブは同じ実サーバに割り当てられます。各クライアントとの通信をいつも同じ実サーバで行う必要がある場合に使用します。ただしジョブの割り当てに偏りが発生する場合があります。特に NAT 環境下などでクライアントの IP アドレスがすべて同じに見える場合は注意が必要です。
4. scheduler=sed
不正解です。
sed は Shortest Expected Delay (最短予測遅延) を意味します。予測遅延 (実サーバの接続数に1を足し、重みで割ったもの) の値に基づいて実サーバにジョブを割り当てます。
ldirectord の負荷分散方式の種類を理解して、適切な負荷分散方式を選択できるようになりましょう。
例題作成者
株式会社デージーネット 経営企画室 加茂 智之