(57)【要約】      （修正有）【課題】ユーザからの負荷状況に応じてストレージ装置の構成を自律的に変更可能とする。【解決手段】第１の記憶装置３１と、第１の記憶装置３１を複数の領域に分割した領域ごとの負荷情報を取得する負荷情報取得部２１３と、負荷情報に基づいて、第１の記憶装置３１の移動対象領域を特定する領域特定部２１５，２１７と、第１の記憶装置３１よりも性能値の高い第２の記憶装置３３に移動対象領域のデータを移動可能であるかどうかを判定する判定部２１９と、移動対象領域のデータを移動可能であると判定部２１９によって判定された場合に、第２の記憶装置３３を追加する追加部２１９と、移動対象領域のデータを第１の記憶装置３１から追加された第２の記憶装置３３に移動させる移動部１３，２１９とを備えるストレージシステムが提供される。また、ストレージ管理方法及びストレージ管理プログラムも提供される。【選択図】図１
2013171305.tif 000002
【特許請求の範囲】
【請求項１】
第１の記憶装置と、
前記第１の記憶装置を複数の領域に分割した領域ごとの負荷情報を取得する負荷情報取得部と、
前記負荷情報に基づいて、前記第１の記憶装置の移動対象領域を特定する領域特定部と、
前記第１の記憶装置よりも性能値の高い第２の記憶装置に前記移動対象領域のデータを移動可能であるかどうかを判定する判定部と、
前記移動対象領域のデータを移動可能ではないと前記判定部によって判定された場合に、前記第２の記憶装置を追加する追加部と、
前記移動対象領域のデータを前記第１の記憶装置から追加された前記第２の記憶装置に移動させる移動部と、を備えることを特徴とするストレージ装置。
【請求項２】
前記領域特定部は、前記負荷情報に関する値が所定の閾値を下回るまで、前記負荷情報に関する値が高い順に１つ以上の領域を特定することを特徴とする請求項１記載のストレージ装置。
【請求項３】
前記判定部は、前記第２の記憶装置が未接続であるか、あるいは前記第２の記憶装置が接続されているが前記第２の記憶装置に前記移動対象領域のデータを移動できる空き領域がない場合に前記移動対象領域のデータを移動可能ではないと判定することを特徴とする請求項１または２記載のストレージ装置。
【請求項４】
前記領域特定部は、前記第１の記憶装置の利用率及び単位時間あたりの入出力要求数に基づいて前記移動対象領域を特定することを特徴とする請求項１ないし３のいずれか１項に記載のストレージ装置。
【請求項５】
前記領域特定部は、前記第１の記憶装置の利用率及び入出力要求数の単純移動平均に基づいて前記負荷情報を予測し、予測した前記負荷に基づいて前記移動対象領域を特定することを特徴とする請求項１ないし３のいずれか１項に記載のストレージ装置。
【請求項６】
第１の記憶装置と、
前記第１の記憶装置よりも性能値の高い第２の記憶装置と、
前記第１の記憶装置に接続されている情報処理装置と、
前記第１の記憶装置を複数の領域に分割した領域ごとの負荷情報を取得する負荷情報取得部と、
前記負荷情報に基づいて、前記第１の記憶装置の移動対象領域を特定する領域特定部と、
前記第２の記憶装置に前記移動対象領域のデータを移動可能であるかどうかを判定する判定部と、
前記移動対象領域のデータを移動可能ではないと前記判定部によって判定された場合に、前記第２の記憶装置を追加する追加部と、
前記移動対象領域のデータを前記第１の記憶装置から追加された前記第２の記憶装置に移動させる移動部と、を備えることを特徴とするストレージシステム。
【請求項７】
第１の記憶装置を複数の領域に分割した領域ごとの負荷情報を取得する工程と、
前記負荷情報に基づいて、前記第１の記憶装置の移動対象領域を特定する工程と、
前記負荷情報に基づいて、前記第１の記憶装置の移動対象領域を特定する工程と、
前記第２の記憶装置に前記移動対象領域のデータを移動可能であるかどうかを判定する工程と、
前記移動対象領域のデータを移動可能ではないと判定された場合に、前記第２の記憶装置を追加する工程と、
前記移動対象領域のデータを前記第１の記憶装置から追加された第２の記憶装置に移動させる工程と、
を有するストレージ管理方法。
【請求項８】
コンピュータに、
第１の記憶装置を複数の領域に分割した領域ごとの負荷情報を取得する工程と、
前記負荷情報に基づいて、前記第１の記憶装置の移動対象領域を特定する工程と、
前記負荷情報に基づいて、前記第１の記憶装置の移動対象領域を特定する工程と、
前記第２の記憶装置に前記移動対象領域のデータを移動可能であるかどうかを判定する工程と、
前記移動対象領域のデータを移動可能ではないと判定された場合に、前記第２の記憶装置を追加する工程と、
前記移動対象領域のデータを前記第１の記憶装置から追加された前記第２の記憶装置に移動させる工程と、
を実行させるストレージ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、ストレージ装置、ストレージシステム、ストレージ管理方法及びストレージ管理プログラムに関する。
【背景技術】
【０００２】
ストレージ装置においては、ユーザの使い方を考慮し、特に性能を重視してストレージ装置の構成を設計する。この作業をキャパシティプランニングと呼ぶ。
具体的には、突発的な負荷によるストレージ装置のスローダウンの原因を分析してその対応策を検討すると共に、中長期的な負荷変動を考慮して、ストレージ装置の構成を決定する。例えば、ストレージ装置の導入前にキャパシティプランニングを行なうことで、ストレージ装置に必要な性能値や容量を決めている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２４２８７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、キャパシティプランニングを行なっても、導入後に、ストレージ装置が性能値や容量を超えてしまうこともある。このような場合、キャパシティプランニングを再実施し、この結果に基づいてシステムエンジニアやカスタマーエンジニアが手作業でストレージ装置の構成変更を行なう。このような構成変更を行なう際には、ストレージ装置を停止させる必要があり、システムのダウンタイムの原因となる。
【０００５】
ところで、ストレージ装置に対する入出力（input-output；ＩＯ）アクセスは、ボリュームの特定の箇所に集中することが多い。このような箇所をホットスポットと呼ぶ。このようなホットスポットは、常に同じ位置に発生するものと、日によって移動するものがある。移動するタイプのホットスポットは、３０分程度で通常の負荷値の１０倍程度のピーク負荷に達し、このピークが３〜５時間程度続くことが多い。
【０００６】
更に、運用によっては、ストレージ装置上の特定の領域に対する突発的な負荷の急上昇が発生することがある（このような突発的な急上昇をスパイクと呼ぶ）。
そこで、従来のストレージ装置では、ホットスポットのピーク負荷に対処可能な性能を得るために、本来必要な台数以上のディスクを設けたり本来必要な性能以上の高性能のディスクを用いて、装置全体の性能を上げ、マージンを確保している。
【０００７】
しかし、マージンをとることで装置全体の性能は向上するが、必要以上の台数や必要以上の性能のディスクを配置するので、ストレージ装置のコストが増大してしまう。また、想定を超える負荷が発生した場合、迅速な対応が難しい。
更に、負荷がボリューム上の特定の領域に集中するとストレージ装置の性能が低下してしまう。
【０００８】
１つの側面では、本発明は、ユーザからの負荷状況に応じてストレージ装置の構成を自律的に変更可能なストレージ装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
このため、本開示のストレージ装置は、第１の記憶装置と、前記第１の記憶装置を複数の領域に分割した領域ごとの負荷情報を取得する負荷情報取得部と、前記負荷情報に基づいて、前記第１の記憶装置の移動対象領域を特定する領域特定部と、前記第１の記憶装置よりも性能値の高い第２の記憶装置に前記移動対象領域のデータを移動可能であるかどうかを判定する判定部と、前記移動対象領域のデータを移動可能ではないと前記判定部によって判定された場合に、前記第２の記憶装置を追加する追加部と、前記移動対象領域のデータを前記第１の記憶装置から追加された前記第２の記憶装置に移動させる移動部と、を備える。
【００１０】
また、本開示のストレージシステムは、第１の記憶装置と、前記第１の記憶装置よりも性能値の高い第２の記憶装置と、前記第１の記憶装置に接続されている情報処理装置と、前記第１の記憶装置を複数の領域に分割した領域ごとの負荷情報を取得する負荷情報取得部と、前記負荷情報に基づいて、前記第１の記憶装置の移動対象領域を特定する領域特定部と、前記第２の記憶装置に前記移動対象領域のデータを移動可能であるかどうかを判定する判定部と、前記移動対象領域のデータを移動可能ではないと前記判定部によって判定された場合に、前記第２の記憶装置を追加する追加部と、前記移動対象領域のデータを前記第１の記憶装置から追加された前記第２の記憶装置に移動させる移動部と、を備える。
【００１１】
また、本開示のストレージ管理方法は、第１の記憶装置を複数の領域に分割した領域ごとの負荷情報を取得する工程と、前記負荷情報に基づいて、前記第１の記憶装置の移動対象領域を特定する工程と、前記負荷情報に基づいて、前記第１の記憶装置の移動対象領域を特定する工程と、前記第２の記憶装置に前記移動対象領域のデータを移動可能であるかどうかを判定する工程と、前記移動対象領域のデータを移動可能ではないと判定された場合に、前記第２の記憶装置を追加する工程と、前記移動対象領域のデータを前記第１の記憶装置から追加された第２の記憶装置に移動させる工程と、を有する。
【００１２】
また、本開示のストレージ管理プログラムは、コンピュータに、第１の記憶装置を複数の領域に分割した領域ごとの負荷情報を取得する工程と、前記負荷情報に基づいて、前記第１の記憶装置の移動対象領域を特定する工程と、前記負荷情報に基づいて、前記第１の記憶装置の移動対象領域を特定する工程と、前記第２の記憶装置に前記移動対象領域のデータを移動可能であるかどうかを判定する工程と、前記移動対象領域のデータを移動可能ではないと判定された場合に、前記第２の記憶装置を追加する工程と、前記移動対象領域のデータを前記第１の記憶装置から追加された前記第２の記憶装置に移動させる工程と、を実行させる。
【発明の効果】
【００１３】
本発明によれば、負荷状況に応じてストレージ装置の構成を自律的に変更することができる。
【図面の簡単な説明】
【００１４】
【図１】実施形態の一例としてのストレージシステムの構成を示す模式図である。
【図２】実施形態の一例としてのストレージシステムのハードウェア構成を示す模式図である。
【図３】実施形態の一例としてのストレージシステムにおける情報処理装置の構成を示す模式図である。
【図４】実施形態の一例としてのストレージシステムにおけるボリュームの分割方法を示す模式図である。
【図５】実施形態の一例としてのストレージシステムにおけるＨＤＤとＳＳＤ間のホットスポットの移動（マップ）方法を示す模式図である。
【図６】実施形態の一例としてのストレージシステムにおけるストレージ監視処理の処理フローを示すフローチャートである。
【図７】実施形態の一例としてのストレージシステムにおけるホットスポットの移動前のｉｏｓｔａｔログの例を示す。
【図８】実施形態の一例としてのストレージシステムにおけるホットスポットの移動中の動作ログの例を示す。
【図９】実施形態の一例としてのストレージシステムにおけるホットスポットの移動後のｉｏｓｔａｔログの例を示す。
【図１０】実施形態の一例としてのストレージシステムにおける負荷予測方法を示す模式図である。
【図１１】実施形態の一例としてのストレージシステムにおける負荷上昇の予測を伴うストレージ監視処理の処理フローを示すフローチャートである。
【図１２】実施形態の一例としてのストレージシステムにおける負荷予測に基づくホットスポットの移動後の結果の例を示す。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本技術に係る実施の形態を説明する。
（Ａ）構成
以下、図面を参照して、実施形態の一例としてのストレージシステム１の構成について説明する。
図１は、実施形態の一例としてのストレージシステム１の構成を示す模式図である。
【００１６】
図１は、ストレージシステム（ストレージ装置）１は、ｎ台（ｎは１以上の自然数）の情報処理装置１１−１，１１−２，…，１１−ｎを有するＣＰＵプールと共に、管理装置（移動部の一部、判定部、追加部）１３、ディスクストレージプール１５、及びスイッチ（ＳＷ）１７を備える。
以下、ＣＰＵプール内の情報処理装置を示す符号としては、情報処理装置のうち１つを特定する必要があるときには符号１１−１，１１−２，…，１１−ｎを用いるが、任意の情報処理装置を指すときには符号１１を用いる。
【００１７】
ＣＰＵプールには、１台以上の情報処理装置１１がプールされる。各情報処理装置１１は、処理の実行に際して、ディスクストレージプールにおける当該情報処理装置１１に割り当てられた領域をストレージとして、データ等の書き込みや読み出しを行なう。
図中の例においては、ＣＰＵプール内の各情報処理装置１１は、全て同様の構成を有する。なお、情報処理装置１１の各構成等については図３を参照して後述する。
【００１８】
このストレージシステム１は、情報処理装置１１に対するユーザからの負荷状況に応じて、ディスクストレージプール１５から必要なストレージデバイスを選択して当該情報処理装置１１に接続し、ユーザの負荷に見合うストレージ構成を自律的に構成する。
つまり、このストレージシステム１は、情報処理装置１１におけるデータ容量及び負荷の変動に応じて、ストレージの構成の変更が可能なストレージシステムである。つまり、ストレージシステム１は、ＣＰＵプール内の情報処理装置１１と、ディスクストレージプール１５内のストレージデバイスとの接続を自律的に変更することができる。
【００１９】
ディスクストレージプール１５は、例えば、図２に示すように、ｍ（ｍは１以上の自然数）台のハードディスクドライブ（hard disk drive；ＨＤＤ）３１−１，３１−２，…，３１−ｍと、ｋ（ｋは１以上の自然数）台のソリッドステートドライブ（solid state drive；ＳＳＤ）３３−１，３３−２，…，３３−ｋとを有する。
なお、以下、ＨＤＤを示す符号としては、ＨＤＤのうち１つを特定する必要があるときには符号３１−１，３１−２…を用いるが、任意のＨＤＤを指すときには符号３１を用いる。
【００２０】
また、以下、ＳＳＤを示す符号としては、ＳＳＤのうち１つを特定する必要があるときには符号３３−１，３３−２…を用いるが、任意のＳＳＤを指すときには符号３３を用いる。
ＨＤＤ３１（第１の記憶装置）は、磁性体を塗布した円盤を記録装置として使用し、磁気ヘッドを移動させることで、高速回転している円盤に対して情報の読み書きを行なうストレージドライブである。
【００２１】
ＳＳＤ３３（第２の記憶装置）は、半導体素子メモリを記憶装置として使用するストレージドライブであり、シリコンディスクドライブ、半導体ディスクドライブともよばれる。一般に、ＳＳＤ３３は、ＨＤＤ３１のような磁気ヘッドの移動に伴うヘッドシークタイムがないため、ＨＤＤ３１よりも高速なランダムアクセスが可能である。その一方、半導体メモリを使用するのでＨＤＤ３１よりも高価である。
【００２２】
このように、ディスクストレージプール（ストレージプールともよばれる）１５は、ＨＤＤ３１と、ＨＤＤ３１よりも高速アクセスが可能なＳＳＤ３３とによる階層構造を有する階層（tiered）ストレージ１５である。ストレージシステム１においては、各情報処理装置１１に対するユーザからのＩＯ負荷に応じて、各情報処理装置１１に接続されるディスクストレージプール１５内のＨＤＤ３１及びＳＳＤ３３の台数が、スイッチ１７の設定を変更することにより増減される。
【００２３】
つまり、ストレージシステム１においては、各情報処理装置１１に接続されるＨＤＤ３１及びＳＳＤ３３の台数を変更することにより、情報処理装置１１のストレージの容量及び性能を変更することができる。
また、ストレージシステム１は、後述するように、例えば、ＨＤＤ３１上のホットスポットとなった領域のデータを、高性能ストレージであるＳＳＤ３３に移動させる（マップする）ことで、ＩＯ負荷による性能（アクセス速度、レスポンスタイム）の低下を防ぐ。
【００２４】
また、ストレージシステム１は、ＩＯ負荷の高いホットスポットとなりそうなＨＤＤ３１上の領域を事前に予測して、高性能のＳＳＤ３３に移動させることで、ＩＯ負荷による性能低下を更に有効的に防ぐ。
各情報処理装置１１は、それぞれのホストバスアダプタ（host bus adaptor；ＨＢＡ）２５−１〜２５−ｎを介して、スイッチ１７と接続され、このスイッチ１７は、ディスクストレージプール１５に接続されている。そして、スイッチ１７は、スイッチ１７内部の設定を変更することで、ＣＰＵプール内の情報処理装置１１と、ディスクストレージプール１５内のＨＤＤ３１及びＳＳＤ３３との接続を切り替える。
【００２５】
なお、以下、ＨＢＡを示す符号としては、ＨＢＡのうち１つを特定する必要があるときには符号２５−１，２５−２…を用いるが、任意のＨＢＡを指すときには符号２５を用いる。
ストレージシステム１の初期状態においては、ＣＰＵプール内の各情報処理装置１１と、所定の個数のＨＤＤ３１，ＳＳＤ３３とが接続されている。そして、各情報処理装置１１は、自情報処理装置に現在接続されているＨＤＤ３１の空き領域の残量が残り少なくなった場合、管理装置１３に対してＨＤＤ３１の追加を要求する。そして、情報処理装置１１からＨＤＤ３１の追加要求を受けた管理装置１３は、スイッチ１７の設定を変更することで、要求を行なった情報処理装置１１に追加のＨＤＤ３１を接続する。
【００２６】
また、各情報処理装置１１は、自情報処理装置における現在のＩＯ負荷状況をモニタする。そして、当該情報処理装置１１に現在接続されているＨＤＤ３１及びＳＳＤ３３の現在のＩＯ負荷と、ＨＤＤ３１及びＳＳＤ３３から得られる最大性能とを比較し、ＩＯ負荷が最大性能に達しそうな場合には、ＳＳＤ３３の追加を管理装置１３に要求する。そして、情報処理装置１１からＳＳＤ３３の追加要求を受けた管理装置１３は、スイッチ１７の設定を変更することで、要求を行なった情報処理装置１１に追加のＳＳＤ３３を接続する。
【００２７】
また、各情報処理装置１１は、自情報処理装置における将来の負荷状況の予測も行なう。情報処理装置１１は、この予測値と、当該情報処理装置１１に現在接続されているＨＤＤ３１及びＳＳＤ３３から得られる最大性能とを比較し、ＩＯ負荷が所定のピークに達することが予測される場合には、ＳＳＤ３３の追加を管理装置１３に要求する。そして、情報処理装置１１からＳＳＤ３３の追加要求を受けた管理装置１３は、スイッチ１７の設定を変更することで、要求を行なった情報処理装置１１に追加のＳＳＤ３３を接続する。
【００２８】
なお、以下、ある情報処理装置１１に接続されているＨＤＤ３１及び／又はＳＳＤ３３を、その情報処理装置１１の配下のＨＤＤ３１及び／又はＳＳＤ３３と呼ぶことがある。
管理装置１３は、ＣＰＵプール内の情報処理装置１１と、ディスクストレージプール１５内のＨＤＤ３１及びＳＳＤ３３との接続を制御すると共に、ＨＤＤ３１及びＳＳＤ３３を管理する情報処理装置である。
【００２９】
以下、本ストレージシステム１の構成の詳細について説明する。
管理装置１３は、各情報処理装置１１からの構成変更要求に応答して、当該情報処理装置１１をディスクストレージプール１５内のＨＤＤ３１又はＳＳＤ３３と接続したり、ＨＤＤ３１又はＳＳＤ３３との接続を解除する。
スイッチ１７は、複数のＳＡＳスイッチ等のスイッチを有し、ＣＰＵプール内の各情報処理装置１１と、ディスクプールの各ストレージ（ＨＤＤ３１、ＳＳＤ３３）との接続を切り替えるものである。このスイッチ１７については、図２を参照して後述する。
【００３０】
図２は、実施形態の一例としてのストレージシステム１のハードウェア構成を示す模式図である。
図２には、例示的に、ｎ台（本例ではｎ＝１６）の情報処理装置１１を備えるＣＰＵプールと、６４台のディスクを備えるストレージディスクプール１５とが図示されている。
スイッチ１７は、例示的に、４台のＳＡＳ（Serial Attached SCSI）スイッチ１７１−１、１７１−２、１７１−３、１７１−４を備えて図示されている。
【００３１】
なお、以下、ＳＡＳスイッチを示す符号としては、複数のＳＡＳスイッチのうち１つを特定する必要があるときにはＳＡＳスイッチ１７１−１，１７１−２…を用いるが、任意のＳＡＳスイッチを指すときには符号１７１を用いる。又、図２中においては、ＳＡＳスイッチ１７１−１をＥｘｐ０として表わす。同様に、ＳＡＳスイッチ１７１−２、１７１−３、１７１−４を、それぞれＥｘｐ１、Ｅｘｐ２、Ｅｘｐ３として表わす。
【００３２】
各情報処理装置１１は、それぞれのＨＢＡ２５を介して、例えばＳＡＴＡケーブルにより各ＳＡＳスイッチ１７１と接続されている。例えば、各ＳＡＳスイッチ１７１は、６Ｇｂｐｓ対応のＳＡＳケーブル（６Ｇケーブル）によりディスクストレージプール１５内の各ＨＤＤ３１及びＳＳＤ３３と接続されている。
管理装置１３は、各ＳＡＳスイッチ１７１の設定を、当該ＳＡＳスイッチ１７１にコマンド等を送信するなどにより切り替えることで、各情報処理装置１１とストレージドライブプール内のストレージデバイス（ＨＤＤ３１，ＳＳＤ３３）との接続を切り替える。
【００３３】
図３は、実施形態の一例としてのストレージシステム１における情報処理装置１１の構成を示す模式図である。
図３に示すように、情報処理装置１１は、例えば、ＣＰＵ（central processing unit）２１とメモリ２３とＨＢＡ２５とを有するコンピュータである。
ＣＰＵ２１は、情報処理装置１１の基本機能を実現するシステムソフトウェアであるオペレーティングシステム（operating system；ＯＳ）２７を実行する。また、ＣＰＵ２１は、後述するメモリ２３に格納されているプログラムを実行することにより、各種処理を実行する。
【００３４】
メモリ２３は、情報処理装置１１において処理される情報を必要に応じて記憶する情報記憶部２０８を有する。メモリ２３としては、例えば、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、不揮発性メモリ、揮発性メモリなど、既存の種々のメモリを使用することができる。また、複数種類のメモリを備えていてもよい。
ＨＢＡ２５は、情報処理装置１１とストレージ機器等の外部機器とを接続するアダプタである。ＨＢＡ２５は、例えばＳＣＳＩアダプタ、ファイバチャネル（ＦＣ）アダプタ、シリアルＡＴＡアダプタなどである。あるいは、ＨＢＡ２５は、ＩＤＥ、イーサネット（登録商標）、ＦｉｒｅＷｉｒｅ、ＵＳＢなどに準拠した機器を接続するデバイスであってもよい。
【００３５】
ＣＰＵ２１は、ワークロード分析・構成部２１１として機能する。このワークロード分析・構成部２１１は、情報処理装置１１の配下のストレージに対するユーザからのＩＯ負荷（ワークロード）を分析し、負荷の分析結果に基づいて、ストレージの構成変更を管理装置１３に対して指示する。ワークロード分析・構成部２１１は、図１に示すように、負荷統計取得部（負荷情報取得部）２１３、負荷分析部（領域特定部）２１５、負荷予測部（領域特定部）２１７、及び移動指示部（移動部の一部、判定部、追加部）２１９を有する。
【００３６】
また、メモリ２３は、情報処理装置１１の配下のストレージに関する負荷情報を記憶している記憶領域である。例えば、メモリ２３は、ＯＳ統計情報を記録しているｉｏｓｔａｔログ４１（負荷統計値）と、ＩＯトレース情報を記録しているｂｌｋｔｒａｃｅログ４３（負荷統計値）とを記憶している。後述のように、ｉｏｓｔａｔログ４１のＯＳ統計情報は、ＨＤＤ３１のボリューム全体のｉｏｐｓ（input/output per second）とビジー率（ｕｔｉｌ％）とを格納している。また、ｂｌｋｔｒａｃｅログ４３のＩＯトレース情報は、ＨＤＤ３１のボリュームを１ＧＢのセグメントで区切った１ＧＢセグメントごとのＩＯ数（ｉｏｐｓ）などの情報を格納している。
【００３７】
負荷統計取得部２１３は、自情報処理装置１１に接続されているＨＤＤ３１及びＳＳＤ３３に対する、ユーザからの入出力（ＩＯ）に伴う負荷の統計情報を、ｂｌｋｔｒａｃｅログ４３及びｉｏｓｔａｔログ４１として取得し、メモリ２３に記憶する。  
例えば、情報処理装置１１のＯＳ２７がＬｉｎｕｘ（登録商標）である場合、負荷統計取得部２１３は、ｉｏｓｔａｔコマンドを使用してＯＳ統計情報を収集し、ｉｏｓｔａｔログ４１を作成する。
【００３８】
Ｌｉｎｕｘのｉｏｓｔａｔコマンドは、ＩＯの統計情報を取得するコマンドであり、オプション「−ｘ」を指定することにより、ディスクごとの利用率であるビジー率（％ｕｔｉｌ、１００に近いほど性能限界に近い）等の情報を取得できる。
この％ｕｔｉｌから、ピーク性能比でディスクの性能をどれだけの割合使用しているのかがわかる。
【００３９】
負荷統計取得部２１３は、ｉｏｓｔａｔコマンドを、定期的に（例えば１分間隔で）実行し、その結果得られるＯＳ統計情報を逐次ｉｏｓｔａｔログ４１として蓄積する。
負荷統計取得部２１３は、取得した全ｉｏｓｔａｔログ４１をメモリ２３に蓄積する。蓄積したｉｏｓｔａｔログ４１からは日時を指定することで所望のデータを取り出せる。
また、負荷統計取得部２１３は、ＩＯトレースを収集してｂｌｋｔｒａｃｅログ４３を作成する。例えば、情報処理装置１１のＯＳ２７がＬｉｎｕｘである場合、負荷統計取得部２１３は、ｂｌｋｔｒａｃｅコマンドを定期的に実行し、ＩＯトレースをｂｌｋｔｒａｃｅログ４３として収集してメモリ２３に蓄積する。
【００４０】
Ｌｉｎｕｘのｂｌｋｔｒａｃｅコマンドは、ブロックＩＯレイヤのトレースに使用される。ｂｌｋｔｒａｃｅはブロックＩＯレイヤの入口及び出口、並びにブロックＩＯレイヤ内部でのＩＯ要求の状態をトレースする。このトレースの結果がＩＯトレースである。
負荷統計取得部２１３は、このｂｌｋｔｒａｃｅコマンドを定期的に（例えば１分間隔で）実行して、ＩＯトレースをｂｌｋｔｒａｃｅログ４３として蓄積する。
【００４１】
なお、本実施形態の一例においては、負荷統計取得部２１３は、ｂｌｋｔｒａｃｅログ４３をそのままの形式で保存しない。例えば、負荷統計取得部２１３は、ｂｌｋｔｒａｃｅログ４３を、ＨＤＤ３１及びＳＳＤ３３を１ＧＢに分割した１ＧＢセグメント単位で、１）ＩＯ数、２）ＩＯサイズごとの割合、３）ｒｅａｄ／ｗｒｉｔｅの割合、４）レスポンスのヒストグラムの各形式に変換して蓄積する。ここで、ＩＯサイズごとの割合とは、ｂｌｋｔｒａｃｅにより取り出した全ＩＯ命令に対する各ＩＯサイズ（０．５、１、２、４、…、５１２ＫＢ）が占める割合を指し、ＩＯ命令ごとにＩＯサイズが異なる可能性がある。ｒｅａｄ／ｗｒｉｔｅの割合も同様に、ｂｌｋｔｒａｃｅにより取り出したｒｅａｄ命令とｗｒｉｔｅ命令との比を指す。
【００４２】
このようにして、例えば、情報処理装置１１に接続されているＨＤＤ３１及びＳＳＤ３３の１ＧＢセグメントごとに、１時間あたりｂｌｋｔｒａｃｅログ４３が６０個蓄積される。
負荷分析部２１５は、負荷統計取得部２１３が収集し蓄積した複数のｂｌｋｔｒａｃｅログ４３及びｉｏｓｔａｔログ４１を用いてワークロード（負荷）の分析を行なう。負荷分析部２１５の詳細な動作については図６を参照して後述する。
【００４３】
負荷予測部２１７は、負荷統計取得部２１３が収集し蓄積した複数のｂｌｋｔｒａｃｅログ４３及びｉｏｓｔａｔログ４１を用いて近い将来のＩＯ負荷を予想する。負荷予測部２１７の詳細な動作については図９を参照して後述する。
移動指示部２１９は、自情報処理装置１１の配下のＨＤＤ３１及びＳＳＤ３３のストレージ領域間の移動依頼や、ＨＤＤ３１又はＳＳＤ３３の追加又は削除依頼を、図１，２に図示した管理装置１３に対して発行する。なお、後述するように、ＨＤＤ３１及びＳＳＤ３３のストレージ領域は、例えば１ＧＢ単位で分割した１ＧＢセグメント単位で管理され、この単位で移動が行なわれる。
【００４４】
（Ｂ）機能及び動作
以下、図面を参照して、実施形態の一例としてのストレージシステム１の機能及び動作を説明する。
図４は、実施形態の一例としてのストレージシステム１におけるボリュームの分割方法を示す模式図である。
【００４５】
図４に示すように、各ＨＤＤ３１，ＳＳＤ３３のストレージ領域は、例えば、１ＧＢ単位で分割したセグメント単位で管理される。
そして、このセグメントの単位で、当該セグメントのデータがＨＤＤ３１とＳＳＤ３３間で移動される。
前述のように、例えば、ＬｉｎｕｘＯＳ上では、負荷統計取得部２１３は、この１ＧＢセグメントの単位で、ｂｌｋｔｒａｃｅログ４３から、１）ＩＯ数、２）ＩＯサイズごとの割合、３）ｒｅａｄ／ｗｒｉｔｅの割合、４）レスポンスのヒストグラムを抽出する。
【００４６】
なお、ｉｏｓｔａｔログ４１については、負荷統計取得部２１３は、前述のように、ボリューム全体でｉｏｓｔａｔ  −ｘコマンドの実行結果を管理している。
次に、図５を参照して、ＨＤＤ３１からＳＳＤ３３にホットスポット領域を移動する方法を説明する。
図５は、実施形態の一例としてのストレージシステム１におけるＨＤＤ３１とＳＳＤ３３間のホットスポットの移動方法を示す模式図である。
【００４７】
本実施形態の一例では、短期的な（例えば４分間の）負荷変動を分析し、ＨＤＤ３１の帯域が枯渇しそうな場合に（ＨＤＤ３１の上限性能に達しそうな場合等）、ＩＯ負荷の高い一部の１ＧＢセグメントをＳＳＤ３３に移すことで、ＨＤＤ３１の帯域枯渇を解消する。
図５に示すように、ＨＤＤ３１には、所定の閾値である％ｕｔｉｌ＿ｈｄｄ＿ｌｏｗｅｒ及び％ｕｔｉｌ＿ｈｄｄ＿ｕｐｐｅｒがそれぞれ設定されている。
【００４８】
ここで、％ｕｔｉｌ＿ｈｄｄ＿ｕｐｐｅｒは、ＨＤＤ３１のビジー率（ｕｔｉｌ％）の上限値である。ＨＤＤ３１のｕｔｉｌ％が、図５の左側に示すように％ｕｔｉｌ＿ｈｄｄ＿ｕｐｐｅｒを超えた場合、移動指示部２１９は、ＨＤＤ３１のｕｔｉｌ％が％ｕｔｉｌ＿ｈｄｄ＿ｌｏｗｅｒに達するまで、ＨＤＤ３１の１ＧＢセグメントをＳＳＤ３３に移動させる。
【００４９】
これらの％ｕｔｉｌ＿ｈｄｄ＿ｕｐｐｅｒ及び％ｕｔｉｌ＿ｈｄｄ＿ｌｏｗｅｒは、例えば、工場出荷時に情報処理装置１１に予め設定されていても、ユーザによって設定されてもよい。また、ユーザが後から変更可能でもよい。
詳細には、負荷分析部２１５は、負荷統計取得部２１３が作成したｉｏｓｔａｔログ４１から読み出した直前のｐ個（例えば、ｐ＝４）の１秒あたりのＩＯ数（input/output per second；ｉｏｐｓ）の平均値を算出する。また、負荷分析部２１５は、直前のｐ個のデータから％ｕｔｉｌ（ビジー率）の平均値も求める。次に、負荷分析部２１５は、ｉｏｐｓの平均値を％ｕｔｉｌの平均値で除算することにより、ボリューム全体の「ｉｏｐｓあたりの％ｕｔｉｌ（＝ビジー率）」を求める。
【００５０】
次に、負荷分析部２１５は、ＨＤＤ３１の平均％ｕｔｉｌが％ｕｔｉｌ＿ｈｄｄ＿ｕｐｐｅｒを超えた場合、ＨＤＤ３１が過負荷になったと判断し、過負荷が解消するまで、所定の１ＧＢセグメントを抽出して、ＨＤＤ３１からＳＳＤ３３に移動させる。
負荷分析部２１５は、ＨＤＤ３１の％ｕｔｉｌが％ｕｔｉｌ＿ｈｄｄ＿ｌｏｗｅｒを下回ると、ＨＤＤ３１の過負荷が解消したと判断する。
【００５１】
次に、ＨＤＤ３１からＳＳＤ３３に移動させる１ＧＢセグメントの抽出方法について、図５を参照して説明する。
前述のように、負荷分析部２１５は、負荷統計取得部２１３が作成したｉｏｓｔａｔログ４１内の直前のｐ個のｉｏｓｔａｔデータから、ボリューム全体のｉｏｐｓ及び％ｕｔｉｌの各平均値を算出し、この２つの値から「ｉｏｐｓあたりの％ｕｔｉｌ」を求める。
【００５２】
次に、負荷分析部２１５は、ｂｌｋｔｒａｃｅログ４３内の直前のｐ個データのＩＯ数の平均値を算出して、各１ＧＢセグメントの１秒あたりのＩＯ数（ｉｏｐｓ）を求め、ｉｏｐｓの大きい順から１ＧＢセグメントにインデックスを付ける。
また、負荷分析部２１５は、先に求めた「ｉｏｐｓあたりの％ｕｔｉｌ」を使用して、１ＧＢセグメントをインデックスの大きい順から何個（ｑとする）移動させれば、ＨＤＤ３１の％ｕｔｉｌが％ｕｔｉｌ＿ｈｄｄ＿ｌｏｗｅｒを下回るのか、下記（ｉ）〜（ｉｖ）の手順から計算する。
（ｉ）％ｕｔｉｌ＿ｔｅｍｐ＝０，ｑ＝０とし、使用する変数を初期化
（ｉｉ）％ｕｔｉｌ＿ｔｅｍｐ＝％ｕｔｉｌ＿ｔｅｍｐ＋（１ＧＢセグメント当たりのｉｏｐｓ［ｑ］）×（ｉｏｐｓ当たりの％ｕｔｉｌ）
（ｉｉｉ）％ｕｔｉｌ−％ｕｔｉｌ＿ｔｅｍｐ＜％ｕｔｉｌ＿ｈｄｄ＿ｌｏｗｅｒとなれば終了。ｑ個のセグメントが求められる
（ｉｖ）ｑ＝ｑ＋１としてｑをインクリメントし上記（ｉｉ）に戻る
なお、上記手順（ｉ）〜（ｉｖ）で求めた個数の１ＧＢセグメントを記憶できる空きの１ＧＢセグメントが、情報処理装置１１の配下のＳＳＤ３３に存在しない場合、ＳＳＤ３３の追加が必要となる。追加するＳＳＤ３３の台数は、不足しているＳＳＤ３３の１ＧＢセグメントの個数と、ＳＳＤ３３  １台あたりの１ＧＢセグメントの個数とから求めることができる。
【００５３】
最後に、移動指示部２１９は、ＨＤＤ３１の％ｕｔｉｌ（ビジー率）が％ｕｔｉｌ＿ｈｄｄ＿ｌｏｗｅｒを下回るまで、ＨＤＤ３１の１ＧＢセグメントをインデックスの小さい順からＳＳＤ３３に移動させる。なお、ＳＳＤ３３の空きセグメントが不足しており、ＳＳＤ３３の追加が必要な場合は、移動指示部２１９が、管理装置１３に対して構成変更指示を出す。
【００５４】
この構成変更指示を受けて、管理装置１３は、スイッチ１７の設定を変更して、依頼元の情報処理装置１１と、ディスクストレージプール内の未使用（どの情報処理装置１１とも接続されていない）のＳＳＤ３３とを接続し、ＳＳＤ３３を追加する。
次に、図６を参照して、実施形態の一例としてのストレージシステム１におけるストレージ監視処理のフローを説明する。
【００５５】
ステップＳ１において、負荷分析部２１５は、負荷統計取得部２１３が作成したｉｏｓｔａｔログ４１から読み出した直前のｐ個（例えば、ｐ＝４）のｉｏｐｓの平均値を算出する。また、負荷分析部２１５は、直前のｐ個のデータの％ｕｔｉｌの平均値も求める。
次にステップＳ２において、負荷分析部２１５は、ｉｏｐｓの平均値と％ｕｔｉｌの平均値とから、ボリューム全体の「ｉｏｐｓあたりの％ｕｔｉｌ」を求める。
【００５６】
次に、ステップＳ３において、負荷分析部２１５は、負荷統計取得部２１３が生成したＩＯトレース（ｂｌｋｔｒａｃｅログ４３）を読み出し、ＨＤＤ４１の１ＧＢセグメントごとの平均ＩＯ数を算出し、ｉｏｐｓを求める。そして、負荷分析部２１５は、求めた結果をｉｏｐｓの降順にソートする（図５参照）。
次に、ステップＳ４において、負荷分析部２１５は、ステップＳ１で求めた平均％ｕｔｉｌの値が％ｕｔｉｌ＿ｈｄｄ＿ｕｐｐｅｒを上回っているかどうかを判定する。
【００５７】
％ｕｔｉｌ平均値が％ｕｔｉｌ＿ｈｄｄ＿ｕｐｐｅｒを上回っている場合（ステップＳ４のＹＥＳルート参照）、ＨＤＤ３１の帯域が枯渇しそうであると判断し、ＳＳＤ３３へのセグメントの移動を開始するためにステップＳ５に移る。
％ｕｔｉｌ平均値が％ｕｔｉｌ＿ｈｄｄ＿ｕｐｐｅｒを上回っていない場合（ステップＳ４のＮＯルート参照）、ＨＤＤ３１の帯域にまだ余裕があると判断し、ステップＳ７に移動し、Ｔ分間（例えば、１分間）待機（スリープ）後にステップＳ１に戻る。
【００５８】
ステップＳ５において、移動指示部２１９は、ＳＳＤ３３に移動させる１ＧＢセグメントの個数を求める。この個数は、ステップＳ２で求めた「ｉｏｐｓあたりの％ｕｔｉｌ」値と、ステップＳ３で求めた各１ＧＢセグメントのｉｏｐｓとから、ＨＤＤ３１の平均％ｕｔｉｌが％ｕｔｉｌ＿ｈｄｄ＿ｌｏｗｅｒを下回るまでのセグメント数として求める。つまり、ステップＳ２で求めた「ｉｏｐｓあたりの％ｕｔｉｌ」を用いて、上記手順（ｉ）〜（ｉｖ）から、何セグメント移動すればＨＤＤ３１の負荷が％ｕｔｉｌ＿ｈｄｄ＿ｌｏｗｅｒを下回るのかを計算する。
【００５９】
次に、ステップＳ６において、移動指示部２１９は、ＳＳＤ３３の空きセグメントを検索し、ステップＳ５で求めた個数の１ＧＢセグメントをＳＳＤ３３上に確保する。ＳＳＤ３３の空きセグメントが不足する場合は、移動指示部２１９が、管理装置１３に対してＳＳＤ３３の追加依頼を行なう。移動指示部２１９は、ＨＤＤ３１の１ＧＢセグメントを、ステップＳ２で求めたｉｏｐｓの高いセグメントから順に、確保したＳＳＤ３３の空きセグメントに移動させる。そして移動指示部２１９は、図５に示すように、移動させた１ＧＢセグメントをＨＤＤ３１から消去する。
【００６０】
その後、ステップＳ７に移動し、Ｔ分間（例えば、１分間）待機（スリープ）後にステップＳ１に戻る。
なお、ステップＳ７の待機（スリープ）時間は、システム要件に応じて、出荷時設定及び／又はユーザ設定として自由に設定することができる。
また、上記のフローには記載されていないが、ＳＳＤ３３に移動させた１ＧＢセグメントの負荷が所定の閾値を下回った場合には、逆に、ＳＳＤ３３に移動させた１ＧＢセグメントがＨＤＤ３１に戻される。すなわち、図５，図６と同様の手段でＳＳＤ３３の％ｕｔｉｌ平均値を求めて所定の閾値と比較し、ＨＤＤ３１に移動させる１ＧＢブロックの個数を計算し、当該個数のブロックのデータをＨＤＤ３１に移動させる。ＳＳＤ３３にデータが存在しない場合は、そのＳＳＤ３３と情報処理装置１１との接続が解除される。
【００６１】
図７は、実施形態の一例としてのストレージシステム１におけるホットスポットの移動前のｉｏｓｔａｔログ４１の例を示す。図８は、ホットスポットの移動中の動作ログの例を示す。図９は、ホットスポットの移動後のｉｏｓｔａｔログ４１の例を示す。
ホットスポットの移動前は、デバイス名ｓｄｃのＨＤＤ３１のみに負荷がかかり％ｕｔｉｌは１００．０１であった。また、ＨＤＤ３１のみのｉｏｐｓは２４７．６０ｉｏｐｓである。
【００６２】
この状態で、図８に示すようにホットスポットを移動させる。ホットスポットの移動後は、図９に示すように、ＨＤＤ３１の％ｕｔｉｌが６８．７５％まで低下し、適正値である６０〜９０％の範囲に入った。移動後のＨＤＤ３１とＳＳＤ３３のｉｏｐｓの合計値は２６１．４５ｉｏｐｓである。
なお、上記の実施形態においては、上記手順（ｉ）〜（ｉｖ）を用いてＨＤＤ３１からＳＳＤ３３に移動させる１ＧＢセグメントの数を算出したが、実施形態の変形例として、簡便な方式を用いて処理を簡略化してもよい。
【００６３】
例えば、負荷分析部２１５は、現在のストレージ装置の上限性能（例えば上限ｉｏｐｓ）と現在時刻のｉｏｐｓとの差が予め決められた閾値以下になった場合に、ＳＳＤ３３を追加して、ストレージ構成の上限性能を上げてもよい。ここで、ストレージ構成の上限性能（例えば上限ｉｏｐｓ）は、現在のストレージ構成で理論上得られる最大性能であり、例えば以下の式（１）で求めることができる。
【００６４】
上限性能＝（ＨＤＤ３１の台数）×（ＨＤＤ３１の性能）＋（ＳＳＤ３３の台数）×（ＳＳＤ３３の性能）                                                  …式（１）
ＨＤＤ３１、ＳＳＤ３３の性能は、ＨＤＤ３１、ＳＳＤ３３の性能測定を事前に行ない、例えば１台のＨＤＤ３１、ＳＳＤ３３からそれぞれ得られるｉｏｐｓを事前に求める。
例えば、ストレージシステム１の初期構成として、ＨＤＤ３１（性能＝２００ｉｏｐｓ）を１、ＳＳＤ３３（性能＝３０００ｉｏｐｓ）を１台使用する。このストレージ構成の初期構成の上限性能（上限ｉｏｐｓ）は、式（１）から、３０００×１＋２００×１＝３２００ｉｏｐｓとなる。
【００６５】
また、上限ｉｏｐｓと現在のｉｏｐｓとの差の閾値を、例えば５００ｉｏｐｓとする。
この条件において、ＯＳ統計情報を収集するため、ｉｏｓｔａｔコマンドを１分間隔で実行し、１分間隔で上限ｉｏｐｓと現在のｉｏｐｓとの差がこの閾値を下回ったかどうかの判定を行なう。
ストレージシステム１は、ｉｏｓｔａｔから得られるｉｏｐｓが上限性能３２００ｉｏｐｓから閾値５００ｉｏｐｓを引いた値である２７００ｉｏｐｓ未満であれば構成変更を行なわない。一方、ｉｏｓｔａｔコマンドで得られたｉｏｐｓの値が２７００を超えると、ＳＳＤ３３を１台追加し、追加したＳＳＤ３３に負荷の高い領域のデータを配置する。
【００６６】
この例では、ｉｏｐｓは３０００ｉｏｐｓ／ＳＳＤであるので、例えば移動指示部２１９が、ＳＳＤ３３を１台追加すれば、ＳＳＤ３３の追加後の上限ｉｏｐｓと現在のｉｏｐｓとの差が５００ｉｏｐｓを超える。
構成変更後は、上限ｉｏｐｓが３２００から６２００に向上する。
なお、前述の処理では、ホットスポットの発生が実際に検出されるとＨＤＤ３１からＳＳＤ３３に移動させている。この手法に加え、あるいはこの手法に代えて、本実施形態の一例としてのストレージシステム１では、ワークロード分析・構成部２１１の負荷予測部２１７が負荷の予測を行ない、予測した推定負荷に基づいてもホットスポットの移動を行なう。
【００６７】
図１０は、実施形態の一例としての負荷予測部２１７による負荷予測方法を示す模式図である。
図１０に示すように、負荷予測部２１７は、負荷統計情報取得部２１３が収集した現在時刻までの統計情報からｉｏｐｓを取り出し、近い将来到達するピークｉｏｐｓを予測する。予測（推定）ピークｉｏｐｓが、自情報処理装置１１の現在のストレージ構成（ＨＤＤ３１，ＳＳＤ３３）の上限ｉｏｐｓを超える場合、負荷予測部２１７は、ＳＳＤ３３を追加して上限ｉｏｐｓを引き上げ、負荷の急増（スパイク）に備える。
【００６８】
例えば、負荷予測部２１７は、現在時刻までに得られたｐ個（例えば、ｐ＝４または８）の測定点（例えば、図１０のグラフの点○）の統計値、例えば単純移動平均（simple moving average；ＳＭＡ）に基づいてピークｉｏｐｓを求める。
例えば、ＨＤＤ３１の％ｕｔｉｌが低い状態で、１ＧＢセグメントごとの負荷の増加率を単純移動平均として把握し、この単純移動平均を用いて将来の負荷を推定する。推定値が過負荷（＝％ｕｔｉｌ＞１００）となることが予測される場合は、高負荷が予想される領域をＳＳＤ３３に事前に移動しておくことで、高負荷時のＨＤＤ３１からＳＳＤ３３への移動を回避する。
【００６９】
前述のように、負荷統計取得部２１３は、ＯＳ統計情報（ｉｏｓｔａｔログ４１）とＩＯトレース（ｂｌｋｔｒａｃｅログ４３）とを一定間隔で取得、蓄積している。例えば、これらのデータが１分間隔で取得、蓄積されており、直前の８データが必要な場合には、ｉｏｓｔａｔログ４１及びｂｌｋｔｒａｃｅログ４３から直前の８分間のデータを取り出す。この８データのＳＭＡから、ｉｏｐsの増加率を求め、将来の負荷を求める。
【００７０】
次に、図１１を参照して、実施形態の一例としてのストレージシステム１における負荷上昇の予測を伴うストレージ監視処理の処理フロー処理フローを説明する。
ステップＳ１１において、負荷分析部２１５は、負荷統計取得部２１３が生成したＩＯトレース（ｂｌｋｔｒａｃｅログ４３）を読み出し、ＨＤＤ４１の１ＧＢセグメントごとの現在の平均のＩＯ量（例えばＩＯ数）とＩＯ量の単純移動平均（ＳＭＡ）とを求める。
【００７１】
例えば、負荷分析部２１５は、ＳＭＡを以下の式（２）を用いて算出する。
ＳＭＡ＝（（ｄａｔａ［１］−ｄａｔａ［０］）／１＋（ｄａｔａ［２］−ｄａｔａ［０］／２）＋…＋（ｄａｔａ［ｉ］−ｄａｔａ［０］）／ｉ））／（ｌ−１）
｛ｉ＝１，２，３，…，ｌ−１｝                                  …式（２）
このようにして求めたＩＯ量のＳＭＡは、現在時刻におけるＩＯ量の増加率の推定値として以降の処理で使用される。
【００７２】
上記式（２）において、ｄａｔａ［０］は、ＩＯトレース（ｂｌｋｔｒａｃｅログ４３）から読み出したＳＭＡの算出に用いるデータのうち最古のもの、ｄａｔａ［１］は次に古いデータ、…、ｄａｔａ［ｌ−１］は最も新しいデータである。
次に、ステップＳ１２において、負荷分析部２１５は、負荷統計取得部２１３が作成したｉｏｓｔａｔログ４１から読み出した直前のｐ個（この例では、ｐ＝８）のｉｏｐｓの平均値を算出する。また、負荷分析部２１５は、直前のｐ個のデータの％ｕｔｉｌの平均値も求める。
【００７３】
次に、ステップＳ１３において、負荷分析部２１５は、ｉｏｐｓの平均値と％ｕｔｉｌの平均値とから、ボリューム全体の「ｉｏｐｓあたりの％ｕｔｉｌ」を求める。
次に、ステップＳ１４において、負荷予測部２１７は、ステップＳ１１で求めた、１ＧＢセグメントごとの平均ＩＯ量とＳＭＡとを用いて、ｊ分後の推定ＩＯ量を求める。例えば、負荷予測部２１７は、ｊ分後の推定ＩＯ量を、以下の式（３）を用いて算出する。
【００７４】
ｊ分後の推定ＩＯ量＝現在の平均ＩＯ量＋ｊ×ＳＭＡ                  …式（３）
更に、負荷予測部２１７は上記式（３）で求めた「ｊ分後の推定ＩＯ量」をＩＯトレースに要した時間で除算することで、「ｊ分後の推定ｉｏｐｓ」を求める。
【００７５】
負荷予測部２１７は、上記の値を全ての１ＧＢセグメントについて求める。次に、１ＧＢセグメントについて推定ｉｏｐｓを求めたら、負荷予測部２１７は、推定ｉｏｐｓの大きい順に１ＧＢセグメントにインデックスを付け、１ＧＢセグメントを推定ｉｏｐｓの降順にソートする（図５参照）。
次に、ステップＳ１５において、負荷予測部２１７は、各１ＧＢセグメントについて求めた推定ｉｏｐｓを合計することで「ｊ分後の合計推定ｉｏｐｓ」を得る。
【００７６】
次に、ステップＳ１６において、負荷予測部２１７は、ステップＳ１３で求めた「ｉｏｐｓあたりの％ｕｔｉｌ」とステップＳ１５で求めた「ｊ分後の合計推定ｉｏｐｓ」とを用いて、「ｊ分後の推定％ｕｔｉｌ」を求める。
ここで、負荷予測部２１７は、現在の負荷が継続すると仮定して、ｊ分後の推定％ｕｔｉｌを以下の式（４）を用いて算出する。
【００７７】
ｊ分後の推定％ｕｔｉｌ＝「ｉｏｐｓあたりの％ｕｔｉｌ」×「ｊ分後の合計推定ｉｏｐｓ」                                                                …式（４）
これにより、ＨＤＤ３１の負荷予測が行なわれる。
次に、ステップＳ１７において、負荷予測部２１７は、ステップＳ１６で求めたｊ分後の推定％ｕｔｉｌが前述の％ｕｔｉｌ＿ｈｄｄ＿ｕｐｐｅｒを上回っているかどうかを判定する。
【００７８】
ｊ分後の推定％ｕｔｉｌが％ｕｔｉｌ＿ｈｄｄ＿ｕｐｐｅｒを上回っている場合（ステップＳ１７のＹＥＳルート参照）、負荷が高くなると推定される（ホットスポットの発生が予測される）セグメントを事前にＳＳＤ３３に移動するためにステップＳ１８に移る。
ｊ分後の推定％ｕｔｉｌが％ｕｔｉｌ＿ｈｄｄ＿ｕｐｐｅｒを上回っていない場合（ステップＳ１７のＮＯルート参照）、ｊ分後もＨＤＤ３１の帯域に余裕があると判断し、ステップＳ２０に移動し、Ｔ分間（例えば、１分間）待機（スリープ）後にステップＳ１１に戻る。
【００７９】
ステップＳ１８において、移動指示部２１９は、ＳＳＤ３３に移動させる１ＧＢセグメントの個数を求める。この個数は、ステップＳ１３で求めた「ｉｏｐｓあたりの％ｕｔｉｌ」値と、ステップＳ１４で求めた各１ＧＢセグメントのｉｏｐｓとから、ＨＤＤ３１の推定％ｕｔｉｌが％ｕｔｉｌ＿ｈｄｄ＿ｌｏｗｅｒを下回るまでのセグメント数として求める。つまり、ステップＳ１３で求めた「ｉｏｐｓあたりの％ｕｔｉｌ」を用いて、上記手順（ｉ）〜（ｉｖ）から、何セグメント移動すればＨＤＤ３１の推定負荷が％ｕｔｉｌ＿ｈｄｄ＿ｌｏｗｅｒを下回るのかを計算する。
【００８０】
なお、上記手順（ｉ）〜（ｉｖ）で求めた個数の１ＧＢセグメントを記憶できる空きの１ＧＢセグメントが、情報処理装置１１の配下のＳＳＤ３３に存在しない場合、ＳＳＤ３３の追加が必要となる。追加するＳＳＤ３３の台数は、不足しているＳＳＤ３３の１ＧＢセグメントの個数と、ＳＳＤ３３  １台あたりの１ＧＢセグメントの個数とから求めることができる。
【００８１】
次に、ステップＳ１９において、移動指示部２１９は、ＳＳＤ３３の空きセグメントを検索し、ステップＳ１８で求めた個数の１ＧＢセグメントをＳＳＤ３３上に確保する。ＳＳＤ３３の空きセグメントが不足しており、ＳＳＤ３３の追加が必要な場合は、移動指示部２１９が、管理装置１３に対してＳＳＤ３３の追加依頼を行なう。移動指示部２１９は、ＨＤＤ３１の１ＧＢセグメントを、ステップＳ２で求めたｉｏｐｓの高い順に、確保したＳＳＤ３３の空きセグメントに移動させる。そして移動指示部２１９は、図５に示すように、移動させた１ＧＢセグメントをＨＤＤ３１から消去する。
【００８２】
その後に、ステップＳ２０に移動し、Ｔ分間（例えば、１分間）待機（スリープ）後にステップＳ１１に戻る。
なお、ステップＳ２０の待機（スリープ）時間は、システム要件に応じて、出荷時設定及び／又はユーザ設定として自由に設定することができる。
また、上記のフローには記載されていないが、ＳＳＤ３３に移動させた１ＧＢセグメントの推定負荷が所定の閾値を下回った場合には、逆に、ＳＳＤ３３に移動させた１ＧＢセグメントがＨＤＤ３１に戻される。すなわち、図５，図１１と同様の手段でＳＳＤ３３の％ｕｔｉｌ予測値を求めて所定の閾値と比較し、ＨＤＤ３１に移動させる１ＧＢブロックの個数を計算し、当該個数のブロックのデータをＨＤＤ３１に移動させる。ＳＳＤ３３にデータが存在しない場合は、そのＳＳＤ３３と情報処理装置１１との接続が解除される。
【００８３】
図１２に、実施形態の一例としてのストレージシステム１における負荷予測に基づくホットスポットの移動手法の動作ログを示す。
図１２の例では、直前の４データを用いて予測を行なった。詳細には、負荷の初期値を６０ｉｏｐｓに設定し、１分おきに負荷を１０ｉｏｐｓ増やしていった。この場合、１時間後の負荷が６０＋１０×６０＝６６０ｉｏｐｓとなる。
【００８４】
この条件で、図１１に示した処理に従って、４データから１時間後の％ｕｔｉｌを求めた。
図１２において、符号（ａ）の下線部分は、直前の４データから求めた現在の％ｕｔｉｌ、ｉｏｐｓを示す。
符号（ｂ）の下線部分は、直前の４データから算出したＳＭＡを示す。
【００８５】
符号（ｃ）の下線部分は、１時間後の負荷を、本実施形態により推定した結果を示す。スパイク発生から１時間後のｉｏｐｓ推定値は、６３４ｉｏｐｓであった。
符号（ｄ）の下線部分は、１時間後の推定％ｕｔｉｌを示し、％ｕｔｉｌ＝２１３．５は１００を超えた不可能な値であり、過負荷状態になることを示す。すなわち、図１２では、過負荷（％ｕｔｉｌ＝２１３．５）であると判断を行なっている。
【００８６】
図１２の下線（ｂ）に示すように、ＳＭＡは約９．５ｉｏｐｓであり、計算上の負荷増分の１０ｉｏｐｓ／分と近く、この予測も正確であった。
また、スパイク発生から１時間後のｉｏｐｓの推定値が６３４であり、計算上の１時間後のｉｏｐｓ値である６６０に近く、この予測も正確であった。
なお、予測を行なう場合も、前述の実施形態の変形例と同じように、ＨＤＤ３１からＳＳＤ３３に移動させる１ＧＢセグメントの数を算出する代わりに、簡便な方式を用いて処理を簡略化してもよい。
【００８７】
例えば、負荷分析部２１５は、現在のストレージ装置の上限予測ｉｏｐｓと将来の予測ｉｏｐｓとの差が予め決められた閾値以下になった場合に、ＳＳＤ３３を追加して、ストレージ構成の上限性能を事前に上げておいてもよい。
この場合、ＯＳ統計情報を収集するため、ｉｏｓｔａｔコマンドを１分間隔で実行し、ＳＭＡ等の推定手法を用いて将来の予測ｉｏｐｓを推定する。
【００８８】
なお、上記の実施形態においては、情報処理装置１１のＣＰＵ２１が、ストレージ管理プログラムを実行することにより、図３のワークロード分析・構成部２１１、負荷統計取得部２１３、負荷分析部２１５、負荷予測部２１７、及び移動指示部２１９として機能する。
本開示のストレージ管理プログラムは、コンピュータに、コンピュータに、第１の記憶装置を複数の領域に分割した領域ごとの負荷情報を取得する工程と、負荷情報に基づいて、第１の記憶装置の移動対象領域を特定する工程と、負荷情報に基づいて、第１の記憶装置の移動対象領域を特定する工程と、第２の記憶装置に移動対象領域のデータを移動可能であるかどうかを判定する工程と、移動対象領域のデータを移動可能ではないと判定された場合に、第２の記憶装置を追加する工程と、移動対象領域のデータを第１の記憶装置から第２の記憶装置に移動させる工程と、を実行させる。
【００８９】
なお、これらのワークロード分析・構成部２１１、負荷統計取得部２１３、負荷分析部２１５、負荷予測部２１７、及び移動指示部２１９や、管理装置１３としての機能を実現するための各プログラム（ストレージ管理プログラム）は、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置又は外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
【００９０】
ワークロード分析・構成部２１１、負荷統計取得部２１３、負荷分析部２１５、負荷予測部２１７、及び移動指示部２１９としての機能を実現する際には、内部記憶装置（本実施形態では情報処理装置１１のメモリ２３）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態では情報処理装置１１のＣＰＵ２１）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
【００９１】
更に、管理装置１３の不図示のＣＰＵがストレージ管理プログラムを実行することにより、図１，図２の管理装置１３としての機能が実現される。
管理装置１３としての機能を実現する際には、内部記憶装置（本実施形態では管理装置１３の情報処理装置）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態では管理装置１３の情報処理装置の不図示のＣＰＵ）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
【００９２】
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とを備えており、本実施形態においては、情報処理装置１１及び管理装置１３がコンピュータとしての機能を有しているのである。
【００９３】
（Ｃ）作用・効果
本開示の技術によれば、ユーザからの負荷状況に応じてストレージ装置の構成を自律的に変更可能なストレージシステム１、ストレージ管理方法及びストレージ管理プログラムが提供される。
このため、従来のストレージ装置で生じていた、再キャパシティプランニングと手作業での変更作業とが不要となり、事前のキャパシティプランニングで決定したストレージ構成でストレージ装置の運用を続けることが可能となる。
【００９４】
また、必要以上の個数のディスクを設けたり必要以上の高性能のディスクを用いてマージンをとらなくて済むため、ストレージシステム１のコストを押さえることができる。
更に、本ストレージシステム１は、突発負荷（スパイク）に応じて上限性能を増減することができる。
（Ｄ）その他
なお、上述した実施形態に関わらず、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
【００９５】
例えば、上記の実施形態の一例において、ＨＤＤ３１が全て同様の構成並びに容量を有するものとして説明したが、ＨＤＤ３１の構成及び／又は容量が異なっていてもよい（ヘテロ構成）。
また、上記の実施形態の一例において、ＳＳＤ３３が全て同様の構成並びに容量を有するものとして説明したが、ＳＳＤ３３の構成及び／又は容量が異なっていてもよい（ヘテロ構成）。
【００９６】
また、上記の実施形態の一例においては、情報処理装置１１が全て同様に構成されているものとして説明したが、情報処理装置１１が異なる構成を有してもよい。
また、上記の実施形態の一例においては、ボリュームが１ＧＢセグメントの単位で区分されるが、ボリュームの区分単位は任意に変更することができる。
更に、第１の記憶装置がＨＤＤ３１であり、第１の記憶装置よりも高速な第２の記憶装置がＳＳＤ３３であるとして記載したが、第１の記憶装置よりも第２の記憶装置のほうが高速であれば、第１の記憶装置、第２の記憶装置がほかのタイプの記憶装置でもよい。
【００９７】
また、上記の実施形態の一例においては、スイッチ１７１をＳＡＳスイッチとして図示及び説明したが、スイッチ１７１がＳＡＳ以外の規格のスイッチでもよい。
また、上記の実施形態の一例においては、各情報処理装置１１に搭載されるＯＳ２７の例としてＬｉｎｕｘを採り上げたが、他のＵＮＩＸ（登録商標）ＯＳや、他のＯＳアーキテクチャのＯＳも使用することもできる。その場合、使用するＯＳの対応するコマンドを使用する。例えば、ＯＳ２７としてＷｉｎｄｏｗｓ（登録商標）を使用する場合、対応するＷｉｎｄｏｗｓコマンドを使用してｉｏｓｔａｔログ４１及びｂｌｋｔｒａｃｅログ４３に相当する情報を収集することができる。
【００９８】
また、上述したストレージシステム１の各構成、各手段及び各機能は、必要に応じて取捨選択されてもよいし、適宜組み合わせられてもよい。即ち、上述した機能を発揮できるように、上記の各構成及び各機能は取捨選択されたり、適宜組み合わせて用いられたりしてもよい。
また、上記の実施形態の一例においては、処理フローのステップの実行順序を変更してもよい。
【００９９】
例えば、図６のフローチャートにおいて、ステップＳ３の処理をステップＳ１，Ｓ２の処理よりも先に実行してもよい。
また、図１１のフローチャートにおいて、ステップＳ１２，Ｓ１３の処理をステップＳ１１の処理よりも先に実行してもよい。
また、上記の実施形態の一例においては、負荷予測のために単純移動平均を使用したが、そのほかの手法を使用して負荷予測を行なってもよい。例えば、負荷予測部２１７が、現在時刻までに得られた測定点（図１０の点○）に最もフィットする近似曲線を求めることにより上限性能を推定してもよい。
【０１００】
また、ストレージシステム１において、上記のフローチャートの処理を組み合わせてもよい。
例えば、図６の平均％ｕｔｉｌに基づいてＨＤＤ３１のセグメントを移動させる処理と、図１１の推定％ｕｔｉｌに基づいてＨＤＤ３１のセグメントを移動させる処理とを実行してもよい。
【０１０１】
（Ｅ）付記
上記の実施形態に関し、更に以下の付記を開示する。
（付記１）
第１の記憶装置と、
前記第１の記憶装置を複数の領域に分割した領域ごとの負荷情報を取得する負荷情報取得部と、
前記負荷情報に基づいて、前記第１の記憶装置の移動対象領域を特定する領域特定部と、
前記第１の記憶装置よりも性能値の高い第２の記憶装置に前記移動対象領域のデータを移動可能であるかどうかを判定する判定部と、
前記移動対象領域のデータを移動可能ではないと前記判定部によって判定された場合に、前記第２の記憶装置を追加する追加部と、
前記移動対象領域のデータを前記第１の記憶装置から追加された前記第２の記憶装置に移動させる移動部と、を備えることを特徴とするストレージ装置。
【０１０２】
（付記２）
前記領域特定部は、前記負荷情報に関する値が所定の閾値を下回るまで、前記負荷情報に関する値が高い順に１つ以上の領域を特定することを特徴とする付記１記載のストレージ装置。
（付記３）
前記判定部は、前記第２の記憶装置が未接続であるか、あるいは前記第２の記憶装置が接続されているが前記第２の記憶装置に前記移動対象領域のデータを移動できる空き領域がない場合に前記移動対象領域のデータを移動可能ではないと判定することを特徴とする付記１または２記載のストレージ装置。
【０１０３】
（付記４）
前記領域特定部は、前記第１の記憶装置の利用率及び単位時間あたりの入出力要求数に基づいて前記移動対象領域を特定することを特徴とする付記１ないし３のいずれか１項に記載のストレージ装置。
（付記５）
前記領域特定部は、前記第１の記憶装置の利用率及び入出力要求数の単純移動平均に基づいて前記負荷情報を予測し、予測した前記負荷に基づいて前記移動対象領域を特定することを特徴とする付記１ないし３のいずれか１項に記載のストレージ装置。
【０１０４】
（付記６）
第１の記憶装置と、
前記第１の記憶装置よりも性能値の高い第２の記憶装置と、
前記第１の記憶装置に接続されている情報処理装置と、
前記第１の記憶装置を複数の領域に分割した領域ごとの負荷情報を取得する負荷情報取得部と、
前記負荷情報に基づいて、前記第１の記憶装置の移動対象領域を特定する領域特定部と、
前記第２の記憶装置に前記移動対象領域のデータを移動可能であるかどうかを判定する判定部と、
前記移動対象領域のデータを移動可能ではないと前記判定部によって判定された場合に、前記第２の記憶装置を追加する追加部と、
前記移動対象領域のデータを前記第１の記憶装置から追加された前記第２の記憶装置に移動させる移動部と、を備えることを特徴とするストレージシステム。
【０１０５】
（付記７）
前記領域特定部は、前記負荷情報に関する値が所定の閾値を下回るまで、前記負荷情報に関する値が高い順に１つ以上の領域を特定することを特徴とする付記６記載のストレージシステム。
（付記８）
前記判定部は、前記第２の記憶装置が未接続であるか、あるいは前記第２の記憶装置が接続されているが前記第２の記憶装置に前記移動対象領域のデータを移動できる空き領域がない場合に前記移動対象領域のデータを移動可能ではないと判定することを特徴とする付記６または７記載のストレージシステム。
【０１０６】
（付記９）
前記領域特定部は、前記第１の記憶装置の利用率及び単位時間あたりの入出力要求数に基づいて前記移動対象領域を特定することを特徴とする付記６ないし８のいずれか１項に記載のストレージシステム。
（付記１０）
前記領域特定部は、前記第１の記憶装置の利用率及び入出力要求数の単純移動平均に基づいて前記負荷情報を予測し、予測した前記負荷に基づいて前記移動対象領域を特定することを特徴とする付記６ないし８のいずれか１項に記載のストレージシステム。
【０１０７】
（付記１１）
第１の記憶装置を複数の領域に分割した領域ごとの負荷情報を取得する工程と、
前記負荷情報に基づいて、前記第１の記憶装置の移動対象領域を特定する工程と、
前記負荷情報に基づいて、前記第１の記憶装置の移動対象領域を特定する工程と、
前記第２の記憶装置に前記移動対象領域のデータを移動可能であるかどうかを判定する工程と、
前記移動対象領域のデータを移動可能ではないと判定された場合に、前記第２の記憶装置を追加する工程と、
前記移動対象領域のデータを前記第１の記憶装置から追加された前記第２の記憶装置に移動させる工程と、
を有するストレージ管理方法。
【０１０８】
（付記１２）
前記特定する工程は、前記負荷情報に関する値が所定の閾値を下回るまで、前記負荷情報に関する値が高い順に１つ以上の領域を特定することを特徴とする付記１１記載のストレージ管理方法。
（付記１３）
前記判定する工程は、前記第２の記憶装置が未接続であるか、あるいは前記第２の記憶装置が接続されているが前記第２の記憶装置に前記移動対象領域のデータを移動できる空き領域がない場合に前記移動対象領域のデータを移動可能ではないと判定することを特徴とする付記１１または１２記載のストレージ管理方法。
【０１０９】
（付記１４）
前記特定する工程は、前記第１の記憶装置の利用率及び単位時間あたりの入出力要求数に基づいて前記移動対象領域を特定することを特徴とする付記１１ないし１３のいずれか１項に記載のストレージ管理方法。
（付記１５）
前記特定する工程は、前記第１の記憶装置の利用率及び入出力要求数の単純移動平均に基づいて前記負荷情報を予測し、予測した前記負荷に基づいて前記移動対象領域を特定することを特徴とする付記１１ないし１３のいずれか１項に記載のストレージ管理方法。
【０１１０】
（付記１６）
コンピュータに、
第１の記憶装置を複数の領域に分割した領域ごとの負荷情報を取得する工程と、
前記負荷情報に基づいて、前記第１の記憶装置の移動対象領域を特定する工程と、
前記負荷情報に基づいて、前記第１の記憶装置の移動対象領域を特定する工程と、
前記第２の記憶装置に前記移動対象領域のデータを移動可能であるかどうかを判定する工程と、
前記移動対象領域のデータを移動可能ではないと判定された場合に、前記第２の記憶装置を追加する工程と、
前記移動対象領域のデータを前記第１の記憶装置から追加された前記第２の記憶装置に移動させる工程と、
を実行させるストレージ管理プログラム。
【０１１１】
（付記１７）
前記特定する工程は、前記負荷情報に関する値が所定の閾値を下回るまで、前記負荷情報に関する値が高い順に１つ以上の領域を特定することを特徴とする付記１６記載のストレージ管理プログラム。
（付記１８）
前記判定する工程は、前記第２の記憶装置が未接続であるか、あるいは前記第２の記憶装置が接続されているが前記第２の記憶装置に前記移動対象領域のデータを移動できる空き領域がない場合に前記移動対象領域のデータを移動可能ではないと判定することを特徴とする付記１６または１７記載のストレージ管理プログラム。
【０１１２】
（付記１９）
前記特定する工程は、前記第１の記憶装置の利用率及び単位時間あたりの入出力要求数に基づいて前記移動対象領域を特定することを特徴とする付記１６ないし１８のいずれか１項に記載のストレージ管理プログラム。
（付記２０）
前記特定する工程は、前記第１の記憶装置の利用率及び入出力要求数の単純移動平均に基づいて前記負荷情報を予測し、予測した前記負荷に基づいて前記移動対象領域を特定することを特徴とする付記１６ないし１８のいずれか１項に記載のストレージ管理プログラム。
【産業上の利用可能性】
【０１１３】
本技術は、ＲＡＩＤ装置、階層記憶ストレージ、クラスタストレージ、プール化ストレージ、データセンター向け大規模ストレージなどに利用可能である。
【符号の説明】
【０１１４】
１        ストレージシステム（ストレージ装置）
１１      情報処理装置
１３      管理装置（移動部の一部）
２１３    負荷統計取得部（負荷情報取得部）
２１５    負荷分析部（領域特定部）
２１７    負荷予測部（領域特定部）
２１９    移動指示部（移動部の一部、判定部、追加部）
３１      ＨＤＤ（第１の記憶装置）
３３      ＳＳＤ（第２の記憶装置）
４１      ｉｏｓｔａｔログ（負荷統計値）
４３      ｂｌｋｔｒａｃｅログ（負荷統計値）
【図１】
2013171305.tif 000003
【図２】
2013171305.tif 000004
【図３】
2013171305.tif 000005
【図４】
2013171305.tif 000006
【図５】
2013171305.tif 000007
【図６】
2013171305.tif 000008
【図７】
2013171305.tif 000009
【図８】
2013171305.tif 000010
【図９】
2013171305.tif 000011
【図１０】
2013171305.tif 000012
【図１１】
2013171305.tif 000013
【図１２】
2013171305.tif 000014