はじめに
この連載では、
第1回目のテーマでは
サーバの仮想化とは?
現在のシステムでは、
サーバ仮想化がなぜ必要なのか?
Webビジネスでは24時間365日サービスを提供することがあたりまえとなってきました。このようなシステムではシステムダウンやレスポンスの低下がビジネスに大きく影響を与えます。システムの信頼性を保つためには、
しかしWebビジネスは急激に拡大することもあり、
サーバ仮想化の概念
サーバ仮想化とは、
サーバ仮想化における課題
サーバ仮想化の導入は、
- ①設計フェーズ
- 仮想化対象のサーバのスペックや負荷状況から、
仮想サーバに割り当てるリソースや仮想サーバの台数を検討します。仮想環境の場合は、 1つの物理サーバに複数の仮想サーバが同居するため、 業務アプリケーションの特性を考慮したサーバ集約計画と、 ピーク時を想定した性能見積りが必要です。 - ②構築フェーズ
- 設計フェーズでのサイジング通りに仮想環境サーバのイメージを作成し、
OS、 ミドルウェア、 アプリケーションのセットアップを各仮想サーバで行います。 - ③運用フェーズ
- 構築した仮想サーバを実際に動作させます。動作時に仮想サーバのリソース使用状況を監視し、
高負荷時にはスケールアウトなどの対策を行います。また、 アプリケーションのエンハンス時には、 アプリケーションの入れ替えを行います。
このうち、
仮想サーバの構築/運用時の課題
最初に仮想サーバの一般的な構築・
仮想サーバ構築
- ①仮想サーバのマスタの構築
- 物理サーバ上に、
仮想サーバのベースとなるマスタを構築します。マスタにOS、 ミドルウェアのインストールを行います。 - ②各仮想サーバへのマスタのコピー
- マスタを各仮想サーバへコピーします。
- ③各仮想サーバの設定
- それぞれの仮想サーバの環境に合わせて環境設定を行います。各仮想サーバ固有の値
(ホスト名、 IPアドレス、 MACアドレス等) の書き換えを行います。 - ④アプリケーションのデプロイ
- 各仮想サーバ上にアプリケーションを構築します。定義ファイルなどを利用し、
各仮想サーバにアプリケーションの環境構築を行います。 - ⑤ロードバランサの設定
- ロードバランサを設定し、
各仮想サーバでの負荷分散、 クラスタ環境を構築します。
このように、
仮想サーバ構築時の課題
仮想サーバの構築では、
- ①仮想サーバのイメージ複製とは別にサーバ別設定が必要
- 現状の仮想化ソフトは、
OSおよびOS周り (ネットワークやストレージ関係) のみがセットアップの対象で、 業務アプリケーションのデプロイやロードバランサの設定まで面倒は見てくれません。そのため、 これらの設定は個別に行う必要があります。仮想サーバの台数が増えれば増えるほど、 構築に手間と時間がかかります。 - ②作業ミス防止のチェック工数が必要
- 業務アプリケーションやロードバランサの設定を手動で行うと作業ミスが発生するおそれがあります。このため、
作業ごとにチェックが必要となります。
仮想サーバの運用
運用時の作業としては、
- ①ロードバランサへのリクエスト閉塞
- 対象となる仮想サーバにロードバランサから業務処理を振り分けられないよう、
ロードバランサに対してリクエストの閉塞を指示します。 - ②アプリケーション停止
- 更新のためアプリケーションを停止します。
- ③アプリケーション・
定義情報の更新 - アプリケーションおよびアプリケーションの定義情報を更新します。
- ④アプリケーション起動
- 更新後のアプリケーションでサービスを開始するために、
アプリケーションを起動します。 - ⑤ロードバランサへのリクエスト閉塞解除
- ロードバランサに対しリクエストの閉塞を解除を指示し、
業務処理を受け付けるようにします。
このようなアプリケーション更新処理は仮想化ソフトではサポートされていないので、
仮想サーバ運用時の課題
運用では、
- ①アプリケーションの更新に手間がかかる
- 業務アプリケーションをローリングアップデートで更新する場合、
1台ずつ更新作業が必要です。このため、 手間がかかり、 作業ミスによる手戻り作業が発生するおそれもあります。 - ②業務システムの起動/
停止に手間がかかる - 日々の運用で特定の業務システムの起動/
停止を行う場合、 停止するシステムが対応する仮想サーバを把握した上で、 OSや業務アプリケーション1台ずつに対して操作を行う必要があります。仮想サーバの台数が増えるにつれて、 大きな手間となります。 - ③システムダウン時、
影響範囲の特定や対策に手間がかかる - 仮想化ソフトは、
業務アプリケーションの運用管理は行いません。そのため、 物理サーバに障害が発生した場合、 物理サーバと業務アプリケーションの関係を把握する必要が生じ、 影響範囲の特定や障害対応をスムーズに行うことができません。
最後に
今回は、