仮想環境での ArcGIS Server 運用:環境構築ポイント

VMWare、XenServer、Hyper-V、または VirtualBox などのハイパーバイザーと呼ばれるソフトウェア パッケージは物理マシンを抽象化(仮想化)し、”仮想マシン”をそのマシン上に生成することで仮想化を実現します。仮想マシンは起動、オペレーティング システムの使用、プログラムとアプリケーションのサポート、そしてサーバ プラットフォームとしての機能など物理マシンとほぼ同じように使用することが可能です。近年の IT 業界ではこの仮想化技術を使用し IT 環境を構築するケースが増えておりますが、ArcGIS Server はこの仮想化された環境での運用をサポートしています。
Virt_hyperviser

ArcGIS Server の仮想化

仮想化環境でのセットアップは以下の手順で行えます。

1.仮想マシンの起動
2.ArcGIS Server でサポートされるオペレーティング システムをインストール
3.ArcGIS Server のインストールと設定

上述の通り、仮想環境での ArcGIS Server のインストールと運用は物理マシンでのそれと大きく変わりません。 しかし、以下のように仮想環境特有の注意点が存在しますので、仮想化環境で ArcGIS Server を運用する場合はご注意ください。

物理マシンのハードウェア リソース

仮想環境の構築において重要な点は、物理マシンから仮想マシンに十分なハードウェア リソースを割り当てるということです。 いくら物理マシンのハードウェア スペックが高くても同時稼動する単一または複数の仮想マシンの運用に必要となるリソース が割り当てられない場合、仮想マシンのパフォーマンスは低下します。

ディスク I/O 

ArcGIS Server はディスクの読み書きが非常に多く発生するアプリケーションです。 ディスクを選択する際は、高速な読み書きと対障害性の高い RAID 構成を組めるマシン/ディスクを選択してください。 また、 RAID を構成する場合は RAID 5 または 10 の構成をお勧めいたします。特にエンタープライズ レベルのシステムを構築する際は、 高価ではありますが RAID をサポートしている SAN の使用をご検討ください。

RAM 

仮想マシン全体で使用するメモリの上限を物理マシンが搭載/サポート可能なことを確認してください。 また、Hyper-V や VMWare ESXi、Citrix XenServer のような安定したメモリ管理機能をもつハイパーバイザーを運用環境で使用することを推奨します。

CPU

仮想化はある程度の柔軟性を提供しますが、仮想マシンのコアあたりの処理能力は物理マシンに搭載されている CPU のコアの処理能力を超えることはありません。 ArcGIS Server を運用するマシンでは、一般的に CPU 1 コアあたり 2GBの RAM を割り当てます。

仮想環境での ArcGIS Server の運用やパフォーマンスについての詳細は、米国 VMWare 社と米国 Esri 社の共同研究の ドキュメント「Esri ArcGIS Server 10 for VMware Infrastructure」が公開されておりますのでご参照ください。

仮想環境でのスケーラビリティ

ArcGIS Server は SOM/SOC を複数マシンにインストールする分散構成をサポートします。 仮想環境で ArcGIS Server を運用する場合このアドバンテージを活用してください。 アクセス増などによりマシンが高負荷となった場合、 多くの場合は別の仮想マシンに SOC をインストールして負荷を分散させることで十分なパフォーマンスを維持することが可能です。 運用のケースによっては、1 つの仮想マシン( 4 コア)環境で ArcGIS Server の すべてのコンポーネントを実行するより、2 つの仮想マシン(各 2 コア)に コンポーネントを分散させて ArcGIS Server を運用するほうがパフォーマンスが良くなる場合があります。

複数の仮想マシンを単一の物理ディスク上で実行しない

ArcGIS Server は複数のリクエストを複数のコアで処理することが可能な製品で、 ArcGIS Server の各プロセスは一秒間に何千回のディスクの読み書きを行います。 物理マシン上では、オペレーティング システムはこれらのリクエストを効率的に処理可能です。 しかし、複数の仮想マシンを単一の物理ディスク上で実行した場合、ディスク使用時に待ち時間や遅延時間が発生し、 仮想マシンのパフォーマンスが大きく低下します。複数の仮想マシンを一台の物理マシン上で実行する場合は、 それぞれの仮想マシンの異なるディスク上で実行して下さい。

Hdd_vm

エンタープライズ レベルのストレージを使用

エンタープライズ レベルのシステムでは、物理マシンに搭載されているハードディスクをストレージとして使用するのではなく、 SAN 等のネットワークを介したストレージが利用されるケースがあります。物理マシンに搭載されているマシンやネットワーク上に分散しているストレージを利用した場合は RAID 構成のコストや運用・管理のコストが高くなりますが、ストレージを集約した SAN を利用することで、 大規模なストレージが提供可能になり、SAN を冗長化することで対障害性も向上します。
SAN は構築には専門的なスキルや高価な機器が必要なため、テスト段階や小規模の運用の場合は SAN を使用する必要はありません。 中規模や大規模なシステムの場合は SAN の使用をご検討ください。

動的に DNS やホスト名を変更しない

クラウド環境のような仮想環境では起動されるたびに IP やホスト名が変更される場合があります。 そのような場合、インスタンスの再起動後に ArcGIS Server や ArcSDE ジオデータベースへの接続ができなくなる場合があります。 代表的なクラウド環境である Amazon EC2 ではこの問題を解決するために Elastic IP と呼ばれるオプションを提供しています。 このオプションを利用することで Amazon EC2 のインスタンスと IP を関連付けることが可能で、固定 IP を使用することができます。

ライブマイグレーションを使用する

ライブマイグレーションはサーバ ファーム内の 2 つの仮想ホストマシン間で、動的に仮想マシンを移動することを可能とします。 この技術を使用することで、ArcGIS Server が実行されている仮想マシンを停止することなく、別のマシンで実行し続けることが可能となります。 仮想マシンのホスト マシンの負荷が高くなった場合に、負荷が低い別のホスト マシンに仮想マシンを移動してパフォーマンスの低下を避ける というような用途で使用できます。また、ホストマシンのメンテナンス等の計画停止が発生する時に、 ArcGIS Server のサービスを停止させない といった用途でも使用できます。ライブマイグレーションの機能は VMWare の vMotion や Microsoft の Hyper-V、 Citrix の XenServer など エンタープライズクラスのハイパーバイザーで提供されます。

Live_migration

仮想マシンのイメージを有効活用する

仮想マシンのイメージはすでに設定済みのアプライアンスのようなもので、複数のイメージ(仮想マシン)を 実行することで同じ環境を用意することが可能です。また、仮想マシンのイメージのバックアップを取得して おくことで、仮に実行中の仮想マシンが破損しても、すぐにシステムの復旧が可能です。従来のようにコールド スタンバイさせた物理マシンを準備する必要はなく安価にバックアップ環境を整えることが可能です。

仮想化された ArcGIS Server は同一の仮想ネットワークに配置する

多くのハイパーバイザーは VLAN のような仮想的なネットワーク セグメントを作成することが可能です。 ArcGIS Server は SOM や SOC などのコンポーネント別にマシンにインストールする分散環境の構築をサポートしますが、 各コンポーネント間にファイアウォールを配置したり、異なるネットワークセグメントにマシンを配置することは推奨されておりません。 これは、 NAT を使用した際の DCOM 通信問題があるという理由もあります。この点については仮想化環境でも同様で、 ArcGIS Server がインストールされたマシンを 複数の VLAN セグメントに配置することは推奨されません。

デスクトップ用の仮想化製品を実運用では使用しない

これから仮想環境を構築する方やテスト/開発環境を構築される方は、 Virtual PC や VMWare Workstation のような Desktop 向けの仮想化製品を使用することも可能です。 しかし、 Desktop 向けの仮想化製品の場合、仮想環境の管理機能やリソース管理機能がサーバ向けの仮想化製品より劣っています。 実運用ではサーバ向けの仮想化製品を使用することを推奨します。

■関連リンク
ArcGIS Server 製品ページ
ArcGIS Server と仮想化