仮想化サーバーのストレージ管理
著者:Chris Evans
Storage Magazine2012年4月号より
ストレージ管理は、データの増大と、ストレージシステムの集中化と標準化を実現したファイバーチャネル(FC)やiSCSI、NFSなどのスタンダードの興隆によって、独自の発展を遂げてきた。
仮想化がサーバーとデスクトップの最適化の主な技術となるにつれて、ストレージは高い拡張性を持った仮想化ソリューションを提供する上で重要な要素となってきた。ストレージの集中化なしには、仮想マシン(VM)の移行のような親和性の高い機能は実現できなかっただろう。
とはいえ、ストレージが大きな利益をもたらす一方で、ストレージと仮想化管理者双方にとって、新たな課題がうまれてきた。仮想化はサーバーとストレージの関係を理解する上で、新たに複雑なレイヤーを加えることになった。この抽象化のレイヤーのせいで、論理ユニット番号(LUN)、RAIDグループ、ディスク、などのストレージセントリックの概念を仮想ハードディスク(VHD)や仮想マシンディスク(VMDK)などの仮想化オブジェクトへ翻訳するのは難しくなっている。ストレージ管理者は、ストレージを仮想化環境に配備する際、新たな取り組みを行う必要がある。
立ちはだかる課題
仮想化は運用上の新たな頭痛のたねを生み出した。多くのVMは、単一のストレージLUN上に存在することができるため、仮想サーバーやデスクトップのI/Oプロフィールは、よりランダムかつ事実上予測不能になりがちである。
今日のハイパーバイザは、ストレージ基盤の仮想マシンを移動する際、VMwareのStorage vMotionや、マイクロソフトのHyper-V Live Migrationなどの機能を提供しているが、これにより大量のI/Oが発生する。仮想化はストレージの利用状況にも大きな影響を与える可能性がある。なぜならば、仮想マシンはコピーやクローンなど、環境をまたがって複製することができるからである。我々はまた、多くの大企業においてこれまでに構築された、運用のしくみについても考えなければならない。IT基盤が成長するにつれて、要素技術はストレージネットワーク、サーバー、データベースの各分野に特化したサイロに分断される傾向にあった。昔は、ストレージ管理者が他の基盤の部分の運用についてほとんど考慮などしなくても仕事をすることができたものだった。しかし、仮想化はこの仕事のやり方を大きく変え、分断された技術をかつてないほど統合する必要をもたらした。
戦略を選ぶ
ストレージ仮想環境における効率的なストレージ管理は必然的に、ふたつの基準値を満たすことを要求する。ふたつの基準値とは、容量とパフォーマンスである。このことは、非仮想化環境についても同じことが言える。とはいうものの、仮想ストレージ設計においては、最優先で考慮すべき課題はパフォーマンスである。仮想基盤運用に対するパフォーマンスの影響は、非仮想化環境に比べずっと大きいからだ。非仮想化環境において、単一LUNからの応答時間の遅さが影響を与えるのは、単一ホストだけだ。しかし、多くの仮想マシンをサポートしている大きなLUNの遅い応答は、もっと広範囲に影響を与えてしまう。このことは、仮想化デスクトップ基盤(VDI)について特に言えることだ。ストレージの管理者が検討しなければならない戦略はたくさんある。
ハードウェア・アクセラレーションとAPIを使おう
多くのベンダー(ストレージのトップベンダー6社:Dell Inc.EMC Corp.、Hewlett-Packard [HP] Co.、Hitachi Data Systems、IBM、NetApp Inc.を含む)が、今日仮想化I/Oのハードウェア・アクセラレーションをサポートしている。これは、vStorage APIs for Array Integration (VAAI)のようなハイパーバイザのAPIインターフェースを通して実装されている。VAAIは、ストレージアレイに、サブLUNロッキングやバルクコピー、データのゼロアウトレンジなどの機能のなかから、主要な処理を実行する上で最もよい方法を選択させることによって、ハイパーバイザを「力仕事」から解放している。最近ではVMwareが、vSphere 5にシン・リクレイム機能を追加した。これはハイパーバイザが、直接データを削除されたブロックに書かずに、削除された領域をシン・プロビジョンされたLUNから解放する機能である。
ストレージ管理の仕事をストレージアレイに肩代わりさせることは、多くの利点をもたらす。第一に、CPU負荷やストレージネットワークにおけるトラフィックを軽減し、結果的にハイパーバイザの作業負荷を減らす。第二に、ストレージアレイに、I/Oの集中するオペレーションをアレイ内部で最善の形になるように、最適化と優先付けを行わせる。ハイパーバイザのトップベンダーとしてVMwareは、vStorage API for Data Protection(VADP)やvStorage API for Storage Awareness(VASA)を含むたくさんのAPIを開発してきた。VASAはレプリケーションやパフォーマンス測定など、ストレージLUNに関する構成情報をハイパーバイザに提供する便利な機能を持っており、拡張可能なストレージ環境を構築する上でなくてはならないツールになりつつある。
パフォーマンス優先で構築しよう
仮想化環境にI/Oを提供する上で、パフォーマンスは何よりも重要である。一般的に仮想化環境ではランダムな作業負荷が生まれるため、I/Oの負荷を最適化するのは、ストレージアレイにとって非常に難しくなる。パフォーマンスの最適化を確保する技術には以下のようなものがある。
・ワイドストライピング これはできるだけ多くの物理ディスクスピンドルにI/Oを分散させるものである。ワイドストライピングは、大きなRAIDグループ(ディスク障害時のリビルド時間には注意)を使うかRAIDグループをコンカチネイトして、ストレージプールをつくることによって実現可能だ。この技術はファイルベース、ブロックベースのストレージ・プラットフォームいずれにおいても適用可能である。 |
・ダイナミックティアリング 他のストレージ環境と同様、仮想化サーバーは、大量のI/O負荷を発生させるI/Oのホットスポットを持つことがある。ホットスポットの領域は予測不能であり、ダイナミックティアリングを提供するプラットフォームは、最もホットなデータを最も早いディスクに自動的に配置してくれる。この技術は仮想マシンがシングルマスターイメージからクローンされるところで特に有用である。 |
シン・プロビジョニングを使おう
仮想マシンは比較的生成するのが簡単であるため、仮想化環境におけるストレージが、制御不能になることは極めて容易である。このことは特にオンデマンドの環境についていうことができる。シン・プロビジョニングは、ホストがデータをディスクに書いて消費する分だけディスクスペースを確保し、各VMの固定イメージをリザーブしたりはしない。この機能はハイパーバイザに実装することができ、多くのストレージ・プラットフォームの共通オプションとなっている。
ベンダープラグインを使おう
ほとんど全てのエンタープライズ及びミッドレンジ・ストレージプラットフォームが、例えばVMware vCenterのような集中管理のツールのためのプラグインを提供している。これは一枚のガラス窓のように、仮想化サーバーとストレージの両方を見ることができるもので、ほとんどの場合ストレージは、vCenter Controlから構築できるようになっている。ストレージ専任のチームがない会社では、これによってIT管理者の仕事を大幅に軽減することができる。
仮想サーバーのためのストレージ構築
多くのスタートアップのストレージベンダーが、ハードウェアとソフトウェアのストレージソリューション、仮想サーバーの環境をターゲットとして設計されたソリューションを持って登場してきた。Atlantis Computing Inc.、SolidFire、 Tintri Inc、 Virsto Softwareなどの企業がそこに含まれる。要約すると、これらの製品はランダムI/Oの問題など、本稿で取り上げた課題を解決するべく設計されている。
自動化しよう
ダイナミックに変化する仮想化環境の容量とパフォーマンスを最適化するための管理は、非常に時間のかかる作業になりがちである。仮想化環境が拡張し成熟するにしたがって、手動の最適化処理を自動化する動きが必要になってきた。ハイパーバイザのベンダーは自分たちの製品に半自動化の機能を入れることによって、管理者がストレージ環境のチューニングを絶えず行うという重荷を軽減し始めた。vSphere 5においてVMwareはStorage Distributed Resource Scheduler (SDRS)を導入し、これによりストレージ割当のある程度の自動化を実現している。
SDRSはVMDKの初期配置の自動化、容量とパフォーマンス目標に適合させるための仮想マシンの自動的な移動、さらに、高いI/Oの仮想マシンは別なハードウェアに配備する、といったアフィニティのルールも提供している。
このさらなるストレージ管理の自動化への動きは、仮想化基盤の規模が大きくなり、サービス重視のシステムで使われるようになるにつれて、絶対的な要件となるだろう。すでにストレージベンダーは、仮想サーバーの自動化と直接連動するプロビジョニングのAPI機能を持った新しいプロダクトを市場に投入し始めている。
バックアップを忘れないようにしよう
バックアップは、ストレージ管理において常に軽んじられているように見える。しかし、高可用性のストレージ環境を提供するうえで、バックアップは極めて重要なものである。仮想化基盤においては、従来のバックアップソリューションは、保存されたデータをバックアップするのに最も効率のよい方法ではない。むしろ、他の技術がバックアップとリストア処理最適化のために使われる。
ブロックストレージの環境においては、既存のバックアップは、データをバックアップするために、ホスト自身を必要とする。これは、ストレージアレイがLUN上のデータフォーマットが何であるかを知らないためである。ホストは、LUN上にファイルシステムを配置し、バックアップソフトウェアがバックアップ用のファイルの流れを作れるよう支援する。
全ての仮想化プラットフォーム上においては、たとえブロックベース・ストレージアレイを使っている場合でも、VMは一個のファイルまたは、一連のファイル群として保存される。このことにより、バックアップ処理はより容易になり、バックアップは仮想マシンをつくっているファイルをコピーすることによって簡単に行われる。
VMwareなどのいくつかのハイパーバイザベンダーは、サードパーティソフトウエアが仮想マシン内の変更されたブロックデータを見ることができるAPIを提供している。これにより、前回のバックアップ以降に変更されたファイルだけをバックアップする、非常に効率のよい方法が可能になっている。また、全てのハイパーバイザベンダーが、仮想マシンのスナップショットをとる機能を提供している。これは通常「クラッシュ・コンシステント・コピー」という形になるが、中にはエージェント・ソフトウエアを使い、整合性のあるスナップショットをとるために、ホストのファイルシステムと連携して、ファイルシステムを一時的に静止させる機能をもつものもある。
ストレージのツールは進化する
ストレージは拡張性をもった仮想基盤を配備する上で、重要な役割を担ってきた。これらの環境が伸長し成熟するにつれて、ストレージ管理者は、常に統合を続けるIT世界における新たな課題を解決すべく、自動化や視覚化のソフトウェアを採用することが必要になるだろう。
著者略歴:Chris Evans はイギリスを拠点とするストレージ・コンサルタント。"The Storage Architect"というブログを持っている。
Copyright 2000 - 2012, TechTarget. All Rights Reserved,
*この翻訳記事の翻訳著作権はJDSFが所有しています。
このページに掲載されている記事・写真・図表などの無断転載を禁じます。