動的ミラーサーバ
動的ミラーサーバのミラーサーバの集中管理システム
集中管理システムのシステムの設計
03T271

松井理沙（最所研究室）

本研究では、動的にミラーリングするシステムにおいて、複数のミラーサーバの中から Web サーバの負荷状況に適したミラーサーバを選択し、割り当てる方法について検討する。

1. はじめに
近年、ネットワークのブロードバンド化やモバイル化の進展に伴い、Web サーバにかかる負荷が大きくなっている。その対策として、ミラーサーバを用いることが多い。ミラーサーバを選択する方法として、ユーザがミラーサーバ群から選択する方法、DNSラウンドロビンを用いる方法、負荷分散装置を用いる方法などがある[1]。しかし、それらは静的にミラーリングされたものであり、被ミラーサイトに対して固定的である。そこで当研究室では、Web サー
バの負荷状況に応じて動的にミラーリングする研究を行っている。昨年度の研究では、動的ミラーリングが過負荷時における表示時間及びリクエスト処理時間の短縮に有効であることが確認されている[2]。
本研究では、複数のミラーサーバの中から Web サーバの負荷状況に適したミラーサーバを選択し、動的にミラーリングするシステムにおけるミラーサーバの割り当て方法について検討する。

2. ミラーサーバ
ミラーサーバ管理ーサーバ管理システム
管理システム
動的ミラーリングにおいては、ミラーリングを行う際に、ミラーサーバ群からどのミラーサーバを用いるかを決めなければならない。本研究では、一つの管理サーバを置き、そのサーバでミラーサーバの状態を監視することにより、Web サーバのミラーリングに最適なミラーサーバを割り当てる集中管理について検討する。
集中管理には、以下の処理が含まれる。
(1)ミラーリング要求
Web サーバ自身が負荷状況を観測し、高負荷になると集中管理サーバに通知する。
(2)ミラーサーバ選択
集中管理サーバはミラーサーバよりミラーサーバ情報を受け取り、それを元に管理表を作成する。
Web サーバからミラーリング要求を受けて、管理表から最適なミラーサーバを選択し、通知する。
(3)ミラーリング応答
ミラーサーバはミラーリング可能ならば、集中管理サーバに可能であることを通知し、集中管理サーバが Web サーバにミラーリングを行うミラーサーバを通知する。

3.処理
処理アルゴリズム
処理アルゴリズムのアルゴリズムの設計
3.1 通常時の通常時のアルゴリズム
ミラーリングの手順を図１に示す。図中の丸数字はその手順の説明の丸数字に対応する。
ミラーサーバ群
AB

④CD

⑧⑦③②

集中管理サーバ⑩⑥①⑨

セカンダリサーバ⑤1234

Webサーバ群
ミラーリング要求 ミラーリング応答

管理情報

ミラーリング開始 ミラーサーバ情報

確認応答

ミラーリング継続要求

図１：処理の流れ●開始手順①Web サーバが高負荷になったら、集中管理サーバにミラーリング要求を送る。
②ミラーリング要求を受けた集中管理サーバは、ミラーサーバ群から最適なミラーサーバを選び出す。
③集中管理サーバは、選び出したミラーサーバにミラーリング要求を送る。
④選び出されたミラーサーバは、ミラーリング応答を集中管理サーバに送る。
⑤ミラーリング応答を受け取った集中管理サーバ
は、Web サーバにミラーリング応答を送る。
⑥ミラーリング応答を受け取った Web サーバは、選び出されたミラーサーバにミラーリング開始を通知する。
●ミラーリング継続手順⑦Web サーバはミラーリングを継続する場合、ミラーサーバにミラーリング継続要求を送る。
⑧ミラーリング継続要求を受けたミラーサーバは、ミラーサーバ情報を集中管理サーバに送る。
●セカンダリサーバへの管理情報の送信手順⑨集中管理サーバは、セカンダリサーバに管理情報を送る。
⑩管理情報を受けたセカンダリサーバは、確認応答を返す。
開始手順とミラーリング継続手順の時間的なタイミングを図２に示す。セカンダリサーバへの管理情報の送信は、一定時間ごとに行う。

図２：通常時の流れ
3.2 障害発生時の障害発生時のアルゴリズム
このシステムでは、それぞれのサーバが要求に対して応答を返すことで成り立つ。応答が返ってこない場合は、システムが正常に機能しないと判断する。
応答が返ってこない主な原因として、以下の 6 つが考えられる。それぞれの問題点および、その解決策について説明する。
(1)Web サーバがダウン
問題点：ミラーリング時に、Web サーバからミラーリング終了通知がミラーサーバに送られない。そのためミラーサーバは、ミラーリングの必要がなくてもミラーリングを終了することができない。
解決策：集中管理サーバがミラーサーバにミラーリング終了を通知する処理を追加する。
(2)ミラーサーバがダウン
問題点：1.ミラーリング要求時に、集中管理サーバがミラーサーバにミラーリング要求を送るが、ミラーリング応答が返らない。2.ミラーリング時に、Web サーバは、ミラーサーバがダウンしていることが分からず、ミラーリングを継続してしまう。
解決策：1.集中管理サーバはミラーリング応答が返ってこなかった場合は他のミラーサーバを選択する処理を追加する。2. Web サーバがミラーサーバのダウンを判断し、ミラーリングを終了する処理を追加する。

(3)集中管理サーバがダウン
問題点：Web サーバが集中管理サーバにミラーリング要求を送っても、ミラーリング応答が返らない。
解決策：セカンダリサーバが集中管理サーバになる。
(4)Web サーバのネットワークがダウン
問題点：1.ミラーリング要求時に、集中管理サーバやセカンダリサーバにミラーリング要求を送るが、応答が返ってこない。2.ミラーリング時に、他のサーバからダウンしていると判断されミラーリングが終了される。しかし、Web サーバはミラーリングが継続中だと思っているので、ネットワークが復活したときに、ミラーリングが終了しているミラーサーバにミラーリング継続要求を送る場合がある。
解決策：1.Web サーバ自身がネットワークダウンを判断する処理を追加する。2.ミラーサーバが Webサーバからのミラーリング要求をキャンセルする処理を追加する。
(5)ミラーサーバのネットワークがダウン
問題点：ミラーリング時に、他のサーバからダウンしていると判断され、集中管理サーバの管理表からミラーサーバの負荷情報などを削除される。そのため、ネットワークが復活した時に、ミラーサーバ自身が持つ情報と集中管理サーバが持つ情報に矛盾が生じる。
解決策：集中管理サーバはミラーサーバに初期常態になるように要求する処理を追加する。
(6)集中管理サーバのネットワークがダウン
問題点：他のサーバから、集中管理サーバがダウンしたと判断され、全てのミラーサーバの管理がセカンダリサーバに交代する。しかし、集中管理サーバはセカンダリサーバに管理が交代したことがわからない。
解決策：集中管理サーバが自身のネットワークがダウンしたことを判断する処理を追加する。

4. まとめ以上、複数のミラーサーバの中から Web サーバの負荷状況に適したミラーサーバを選択し、動的にミラーリングするシステムにおけるミラーサーバの割り当て方法について検討した。今後の課題で最も重要なことは、今回設計したアルゴリズムを元に、集中管理システムを実装し、評価することである。

参考文献[1]鍋島公章監訳，上谷一，横山晴康訳，「サーバ負荷分散技術」，オラリー・ジャパン，2001（Tony Bourke，Server Load Balancing，O’REILLY）[2]入江正行，「Web サーバの負荷状況に応じた動的ミラーリング機構」，香川大学工学部，卒業論文 2005