注目の書籍

好評発売中!

IT業界徹底研究就職ガイド2013年版

IT/ネット業界で働くと いうことを分かりやす く解説。2013年3月卒 業の学生向けの1冊。

必聴講座ご紹介

Cloud Days Tokyo 2012
クラウド時代を勝ち抜く企業戦略を考える

エムオーテックス


Cloud Days Tokyo 2012
クラウド時代の企業インフラとユーザー環境の姿

ヴイエムウェア


Cloud Days Osaka 2012
クラウドでIT維新を〜ビジネスを加速させるベストプラクティス

アマゾン データ サービス ジャパン

Windows/Office

徹底解説:Office system

ITpro

Exchangeのストレージ設定を究める

Exchange環境を可能な限り能率的にする基礎

2007/05/31
Paul Robichaux

 Exchange Serverの管理者と口論をしたいのなら,ストレージの設計や設定に関して,頼まれてもいないアドバイスをするといいだろう。Exchange Serverには,非常に多くのストレージ設定があり,どれが最適なのかを判断するのが難しいからだ。その上,Exchangeに関する根強い誤解が広まっていることが,意思決定プロセスをさらに複雑にしている。そこで今回は,Exchangeのストレージ設計に関する原則を紹介しよう。原則を理解すれば,自分の環境に最適な決断を下せるようになる。

ストレージのパーティショニング

 Exchange Server 5.5は,モノリシック(一枚岩構造の)データベース・デザインを採用しており,それぞれのサーバーに最大3つのデータベースが存在する。3つのデータベースとは,メールボックス・データベースとパブリック・フォルダ・データベース,そしてディレクトリ・データベースのことだ。この設計は,いくつかの身の毛もよだつような設定を可能にする。例えば,筆者がコンサルティング・サービスを提供している顧客の中には,Exchange 5.5のメールボックス・データベースの平均サイズが140Gバイトという人がいた。

 Exchange 2000 Serverで,「複数のストレージ・グループ(SG)」という概念が導入された。それぞれのストレージ・グループは,複数のデータベースを保有できる。Exchange Server 2003も,これと同じメカニズムを使用している。

 ストレージ・グループは,ハード・ディスク上には存在しない論理オブジェクトであり,「store.exe」プロセス内で実行されるExchange Information Store(IS)のインスタンスで,グループ内にあるすべてのメールボックスとパブリック・フォルダのデータベースのトランザクション・ログを保持している。それぞれのデータベースは,1組の物理ディスク・ファイル(.edbファイルと.stmファイル)を持つ独立した論理オブジェクトだ。

ストレージ・グループの利点とは?

 Exchange 5.5からExchange 2000やExchange 2003にアップグレードする顧客の多くは,デフォルトの移行設定をそのまま使っている。しかしこれは,望ましい慣習ではない。なぜならデフォルトの設定だと,Exchange 5.5の巨大な単一データベースが選択されており,複数データベースの利点を利用できないからだ。

 1つのストレージ・グループにつき,一度にバックアップ/リストアできるデータベースは1つだけである。複数のストレージ・グループがある場合なら,同時に複数のデータベースをバックアップ/リストアできる。例えば,140Gバイトのデータベースを,それぞれ35Gバイトのデータベースを持つ4つのストレージ・グループに分割して使っているとしよう。この分割された4つのデータベースのバックアップにかかる「のべ時間」は,140Gバイトの単一データベースをバックアップするのにかかる時間と同じである。だが,個々の分割データベースのバックアップにかかる時間は約4分の1なのだ。テープにバックアップする場合は,2台目のテープドライブを追加して2つのデータベースを同時にバックアップすると,バックアップにかかる時間を半分に短縮できる。

 パフォーマンス面で一番大きな効果が得られるのは,複数のデータベースを同時にリストアするときだ。複数のストレージ・グループをバックアップしてある場合,それぞれのストレージ・グループから1つのデータベースをリストアする作業を同時に行って,リストアにかかる合計時間を大幅に短縮できる。

 ストレージのパーティショニングを行うと,サービス品質保証契約(SLA)の順守も楽になる。例えば,サーバーの障害時に電子メール・サービスを復旧する際に「幹部の電子メールは1時間以内に作業を完了しなければならないが,他の職員については5時間以内に完了すればいい」と定めたSLAがあるとしよう。この場合,幹部とその他の職員のメールボックスを別々のストレージ・グループに入れておけば,それぞれのデータベースを別々にリストアできる。幹部の人数がその他の職員よりも少なければ,前述したSLAの要件通りに幹部の電子メールを復旧できるはずだ。

Exchange 2000では「ストレージ・グループは少なく」が常識だったが…

 Exchange 2000をリリースしたとき,Microsoftはストレージ・グループの数を可能な限り少なくすることを推奨していた。というのも,ストレージ・グループを1つ追加するごとに,100Mバイト〜250Mバイトのメモリーを固定的に割り当てる必要があり,これは当時ではかなりの量だったからだ。

 Exchange 2000 Service Pack 3(SP3)には,メモリーの割り当てプロセスの修正が含まれており,これによってストレージ・グループを追加するのに必要となるメモリーの量が,劇的に減少した。

 Microsoftは現在では,可能な限り多くのストレージ・グループを作成することを推奨している。Microsoftは4つのデータベースを持つストレージ・グループを1つ作成するのではなく,1つのデータベースを持つストレージ・グループを4つ作成することを推奨している。なぜなら,Exchangeのストレージ・グループはそれぞれ独自のログ・セットを持っているからだ。従って,ストレージ・グループごとに1つのデータベースしかないのであれば,基本的にそれぞれのデータベースが独自のログ・セットを持つことになる。この設定によって,ディザスタ・リカバリは簡略化され,迅速な処理が可能になる。データベースのリストア時に,1つのデータベースのトランザクション・ログを再生するだけでいいからだ。

ExchangeでどのRAIDを使うか

 管理者たちは昔,「ExchangeでRAIDを使うべきなのか」という問題についてよく議論していた。この議論は,かなり前に決着がついている。今ではすべての管理者が,RAIDはExchangeデータの保護に大きな威力を発揮するということを知っている。そして議論のテーマは,「どの種類のRAIDを使うべきなのか」に変わった。

 使用するRAIDの種類を決める際には,「RAIDのレベルは“パフォーマンスの高速化”と“障害からの回復性“のバランスによって決定される」ということを思い出そう。あるデータ・タイプに適しているものが,別のデータ・タイプには適さないということがありえるのだ。

 例えば,2つのディスクでストライピングされたボリュームを思い浮かべてほしい。ストライピングを行うと,アプリケーションはすべての物理ディスクに対する読み取り/書き込みを同時に行えるので,飛躍的な高速化を実現できる。だがストライプ・セット内のディスクを1つ失うと,そのボリューム全体を事実上失ってしまうのだ。パフォーマンスの高速化によって得られる恩恵が大きく,ディスクが一時的に機能停止しても深刻な事態に陥ることはないという状況の場合は,この構成でもいいかもしれない(例えば,ゲートウエイ・マシン上のSMTPキューに使用する場合など)。だが,ストライピング・ボリュームにデータベースを設置するのは,かなりリスクの高い行為だと言わざるを得ない。

 データ保護が非常に重要なときは(例えば,トランザクション・ログやシステム・ボリュームなど),Microsoftは一般的に,データ・ミラーリングを使うことを推奨している。データ保護とアクセス速度の両方が重要なときは,RAID 5(パリティ付きストライピング)あるいはRAID 0+1(ミラーとストライピングの併用)のどちらかを使うといい。予算的に可能であれば,RAID 0+1を使うのが望ましい。

>>ログとデータベース
次ページ以降はITpro会員(無料)の方のみお読みいただけます。
会員の方は、 ログインしてご覧ください。
まだ会員でない方は、ぜひ登録(無料)していただき、ITproの豊富なコンテンツをご覧ください。

この記事に対するfacebookコメント

nikkeibpITpro

読みましたか? 〜 未読記事をご紹介