ストレージの仮想サーバー対応は随分よくなったが、パフォーマンスのボトルネックは頭の痛い問題だ。
サーバー・パフォーマンスの改善には、えてして動く標的を狙うような困難さが伴う。物理サーバーであろうが仮想マシンであろうが、データが足止めをくらう可能性がある場所は沢山ある。それに対応して、ボトルネックの種類によってその解決方法は変わってくる。あなたが扱っているのが、ひとつのOSで動く単独の物理サーバーか、ひとつのハイパーバイザと複数の仮想マシン(VM)をサポートする大規模サーバーなのかは、実はたいした問題ではない。
あなたがボトルネックを見つけそうな場所はほんの2、3か所しかない。そして、いずれの場所でも、キャッシュ、データの取り込み、データ伝送、データ書き込み、データ読み込み、等々がそこにあることがわかるだろう。これらのストレージの問題はいずれも、キャッシュの増設、取り込みの高速化、データ伝送の高速化、ストレージ機器の高速化、によって最適化が可能な場合もある。しかし、一か所を直すと処理の別なところに限界があらわれることがよくある。たとえば、半導体ストレージを増設してストレージの読み書きを高速化すると、今度はストレージネットワークに限界がくる、というよくあるパターンだ。高速ストレージネットワークを増設すると、今度はキャッシュがパフォーマンス低下の犯人として浮かび上がる。
複数のVMは複数の問題になりがち
あなたが複数のVMを扱っているとき、5、6台のVM上で同時に発生する動作に関連した特殊なケースについて知っておく必要がある。更新、バックアップ、あるいは単なるランダムI/Oであっても、多数のVM間で同時にこれらの処理が発生した場合、その影響が劇的に大きくなり、I/Oストームが発生する可能性がある。このボトルネックは、バックアップのスケジュールを変更して、多くのVMで同時に行うのではなく順番に行うようにする、というようにごく簡単に対策が立てられるケースもあるかも知れない。個々のVMでなくハイパーバイザ経由で動くバックアップ・エージェントを使ったり、バックアップ時間に間隔を設けたりすることで、このボトルネックへの対策は実現可能だ。
しかしI/Oストームの中には、見つけるのに苦労したり、解決により高度の技術を要する特殊なケースもある。I/Oブレンダー効果と呼ばれる現象である。個々のVMとそれらのOSは、読み書きのキューイングによりストレージ・トラフィックを最適化できるが、数十個のVMが同時に読み書きしていると、結果的にトラフィックはややもすれば非常に不規則になり、最適化が困難な状況に陥る。しかし、このI/Oブレンダー効果を見事に解決してくれる専用の製品があるのだ。
さあそれでは、ボトルネック及びパフォーマンスを劣化させる設定をどう追跡し見つけ出すか、どのようなツールを使うのか、アプリを特定のストレージ環境に合わせる方法、ハードウェアやソフトウェアのアップグレードが必要かどうかの判断、データストレージ問題の発見と解決方法について見ていくことにしよう。
トラブルシューティングの一般原則
最も基本の段階におけるデータストレージ問題のトラブルシューティングとは、システムをパーツにまで分解し、問題を1パーツまで絞り込み、実際の問題に触れるまで徹底的に調査する、ということを指している。問題が突発的なものか日々大きくなっているものかによって、ログ記録や障害通知などの特定のツールで事前に警告をもらうこともできる。この方が単に、アプリケーションが遅い、としか言わないユーザーの文句よりよほど役に立つ。一方で、経験豊富な管理者は勘を頼りに問題に取り組もうとするかもしれない。例えば、ある問題が複数ユーザーに影響を与えている場合、自動的にいくつかの可能性は消去できると彼らは思っている。ところがここで彼らは、ケーブルの断続的な障害という滅多にない原因を見落としているかもしれないのだ。ここでトラブルシューティング・ツールの出番である。
ブレンダー効果をブッ飛ばす
あなたの仮想化サーバー環境を支えているストレージが、従来の共有型ネットワークストレージか、VM専用に設計されたストレージか、ソフトウェア定義かハイパーコンバージドシステムかにかかわらず、仮想化には特有のパフォーマンス問題が存在する。主なものは、複数のゲストOSが単一サーバーの中でI/Oブレンダー現象を発生させる、という問題だ。ハイパーバイザは通常、同時に稼働する異なるOSから発生するI/Oをまとめるようには作られていないからだ。単一サーバーのOSでは、データのリクエストに応じて近くあるいは隣接するデータのブロックを必要に応じて引き出せるが、数十個あるいはそれ以上のOSがこれを行うと、I/Oは非常に不規則になり、これに対応していないキャッシュシステムを押しつぶしてしまう。
このI/Oブレンダー効果を軽減するサードパーティ製品は、Atlantis Computingの ILIO や Infinioの Acceleratorなどから出ている。これらの製品は、データリクエストを高速化するために、ハイパーバイザのRAMの一部を使ってRAMディスクを作り、複数のゲストOSからのデータをコーディネートする。これによってストレージシステムは、キャッシュされたデータリクエストセットをより簡単に理解することができる。VMwareのvSANやMicrosoftのHyper-V 2016は同様の機能を追加する予
トラブルシューティングと管理ツール
あなたが実際に使うツールは、アプリケーションによって、またどこのストレージ製品かによって変わってくるだろう。VMwareとMicrosoftはあらかじめ組み込まれた基本ツールと非常に有用なアドオンを提供している。VMwareでは vSAN や vCenter、Microsoftでは Systems Management Server (SMS)がそれにあたる。多くのストレージシステムでは、ツールキットにトラブルシューティング・ツールが入っているか、アドオンとして入手できるようになっている。異機種環境で役に立つ優れたサードパーティツールもある。
SolarWindのStorage Resource MonitorやDellの Foglight for Storage Managementなどだ。
これらのアプリケーションは、パフォーマンスデータの監視・記録とアラートの送信のほかに、レイテンシや特定の伝送路の使用率が一定のパラメーター値を超えた時に、常時データの履歴を記録できるようになっている。データの履歴は、現象の傾向の把握とデータストレージの問題が時々刻々増大しているのか新規の問題なのかを明示するうえで非常に有用である
著者略歴:Logan Harbaughは、フリーのレビュアー兼IT業界で25年以上のキャリアを持つITコンサルタント。
Copyright 2000 - 2016, TechTarget. All Rights Reserved,
*この翻訳記事の翻訳著作権はJDSFが所有しています。