過去の記事でLPIC304の体験記を書いたのですが、当時学習した内容を少しずつアップしていこうと思います。
※アップ順番はアルファベット順を予定。
今回は、「LVS(Linux Virtual Server)」 についてです。
※過去の投稿は、一番下にリンクのみ記載しております。
↓LPIC304の体験記はこちら↓
↓使用した参考書はこちら↓
徹底攻略LPIC-Level3-304教科書+問題集[Version-2-0]対応-徹底攻略シリーズ
【LVS(Linux Virtual Server)について】
■概要
負荷分散クラスタの一つ。
・Linuxサーバ上で起動させることができる
・クライアントからのリクエストを複数のサーバに振り分ける機能を提供
・サービスを提供するサーバをリアルサーバ
・割り振るサーバ(=LB的な役割)を仮想サーバ
・トランスポート層で動作するためレイヤ4スイッチングともいう
・中心的なコンポーネントとしてip_vsがある
・lsvdがnannyという子プロセスを生成しリアルサーバと1対1で管理を行う。
■IPVS(IP Virtual Server)
LVSの中心的なコンポーネント。
Linuxカーネルモジュールの「ip_vs」として実装されている。
※カーネルレベルの為、LVSは高速に動作する。
■連携するソフトウェア
LVSの設定を管理するツール(サービス)は以下のどちらか。
どちらも、リアルサーバの稼働状況を監視するソフトウェア(=ツール)
keepalived
ldirectord
■フォワーディング方式の前提
/proc/sys/net/ipv4/ip_forward = 1 がLinuxに設定されているのが前提。
※本設定がないと、LVSに届いたパケットをリアルサーバに渡せず、パケットドロップが発生する。
■フォワーディング方式(=パケット転送方式)
方式は以下4つ。
NAT、ダイレクトルーティング、トンネリング、ローカルノード
方式は以下4つ。
NAT、ダイレクトルーティング、トンネリング、ローカルノード
NAT ・・・先IPアドレスをリアルサーバのアドレスに変換して転送。
ダイレクトルーティング ・・・宛先のIPアドレスは変えずにMACアドレスのみをリアルサーバのアドレスに変換して転送。L2レベルで動作。クライアントからの実サーバへのリクエストは、仮想IPアドレスを宛先にして届く。よって、実サーバには、この仮想IPアドレスでリクエストを受け取り、応答を返すための設定が必要。
トンネリング・・・受け取ったパケットをリアルサーバ宛のIPヘッダでカプセル化して転送。L3レベルで動作。
ローカルノード・・・ロードバランサでリアルサーバの処理を兼用することが可能
■接続スケジューリングアルゴリズム
リアルサーバへのパケットの割り振りを決定するためのアルゴリズム。
BIG-IPと同じように、以下のようなアルゴリズムが使用可能。
・ラウンドロビン
・重みづけラウンドロビン
・最小コネクション数(デフォルト)
・送信元ハッシュ
■ipvsadmコマンドについて
LVSの管理ユーティリティ。
例) 192.168.0.15 のリアルタイムサーバに対して、192.168.0.10の仮想サーバを追加し、フォワーディング方式にダイレクトルーティングを指定して、重みづけを50.
# ipvsadm -a -t 192.168.0.10:80 -r 192.168.0.15 -g -w 50
例) ラウンドロビンを使用する仮想サーバの追加
# ipvsadm -A -t 192.168.0.10:80 -s rr
■試験料について
15,000円です。
※前は30,000円だったので半額になった。
(2020/1/10更新)
LPIC304関連のブログは下記の通りです。
興味ある方は一度目を通してもらえると、(何かしらの)役に立つ・・・??
↓LPIC304関連記事はこちら(アルファベット順)↓