(57)【要約】【課題】ストレージ装置におけるバックアップ先の記憶領域を効率的に確保する。【解決手段】バックアップの処理単位であるボリューム又はファイルのバックアップデータを格納するバックアップ格納領域における空き容量を監視する監視部２２と、前記監視により前記空き容量が閾値未満であると判定された場合、前記バックアップ格納領域にバックアップデータが格納されたボリューム又はファイルのうち、当該バックアップデータを前記バックアップ格納領域から退避記憶領域に移動する移動制御の対象となるボリューム又はファイルを決定し、決定したボリューム又はファイルに対して第１情報を管理情報１２に設定する決定部２２と、前記第１情報１２が設定されたボリューム又はファイルに対して、前記移動制御を行なう移動制御部２３と、をそなえる。【選択図】図２
2020009106.tif 000002
【特許請求の範囲】
【請求項１】
バックアップの処理単位であるボリューム又はファイルのバックアップデータを格納するバックアップ格納領域における空き容量を監視する監視部と、
前記監視により前記空き容量が閾値未満であると判定された場合、前記バックアップ格納領域にバックアップデータが格納されたボリューム又はファイルのうち、当該バックアップデータを前記バックアップ格納領域から退避記憶領域に移動する第１移動制御の対象となるボリューム又はファイルを決定し、決定したボリューム又はファイルに対して第１情報を管理情報に設定する決定部と、
前記第１情報が設定されたボリューム又はファイルに対して、前記第１移動制御を行なう第１移動制御部と、
をそなえるストレージ制御装置。
【請求項２】
前記決定部は、前記バックアップ格納領域にバックアップデータが格納されたボリューム又はファイルから、バックアップの実行回数、及び、バックアップデータのデータサイズ、の少なくとも一方に基づき、前記第１移動制御の対象となるボリューム又はファイルを決定する、
請求項１に記載のストレージ制御装置。
【請求項３】
前記決定部は、前記実行回数と前記データサイズとの積が大きい順に、上位から１以上のボリューム又はファイルを、前記第１移動制御の対象として決定する、
請求項２に記載のストレージ制御装置。
【請求項４】
前記第１情報が設定されたボリューム又はファイルに対するバックアップの実行要求に応じて、当該ボリューム又はファイルのバックアップデータを前記退避記憶領域に格納し、当該実行要求に応じたバックアップの実行タイミングと、当該バックアップデータのデータサイズと、を含む第２情報を、前記管理情報に設定するバックアップ実行部、をそなえる、
請求項１〜３のいずれか１項に記載のストレージ制御装置。
【請求項５】
前記退避記憶領域にバックアップデータが格納されたボリューム又はファイルのうち、第２移動制御の対象となるボリューム又はファイルを決定し、前記第２移動制御の対象として決定したボリューム又はファイルの１のバックアップデータを、前記退避記憶領域から前記バックアップ格納領域に移動する第２移動制御部、をそなえる、
請求項４に記載のストレージ制御装置。
【請求項６】
前記第２移動制御部は、前記第２情報に基づき、所定期間におけるバックアップの実行回数が所定回数以下のボリューム又はファイルを、前記第２移動制御の対象として決定する、
請求項５に記載のストレージ制御装置。
【請求項７】
前記第２移動制御部は、前記第２情報に設定されたバックアップデータのデータサイズが、前記第１移動制御の対象として決定されたときのバックアップデータのデータサイズの所定割合以下であるボリューム又はファイルを、前記第２移動制御の対象として決定する、
請求項５又は請求項６に記載のストレージ制御装置。
【請求項８】
前記第１移動制御部は、前記第１情報が示すボリューム又はファイルに対する前記退避記憶領域であって、前記第１移動制御の対象として決定されたときのバックアップデータのデータサイズのＮ（Ｎは２以上の整数）倍の容量の前記退避記憶領域を、ストレージ装置の未割当記憶領域に作成し、作成した前記退避記憶領域を用いて前記第１移動制御を行なう、
請求項４〜７のいずれか１項に記載のストレージ制御装置。
【請求項９】
前記バックアップ実行部は、前記退避記憶領域に最新のＮ世代分のバックアップデータが保存されるように、前記第１情報が設定されたボリューム又はファイルに対するバックアップの実行要求に応じて、当該ボリューム又はファイルのバックアップデータを、前記退避記憶領域をＮ分割したＮ個の分割領域のいずれかに格納する、
請求項８に記載のストレージ制御装置。
【請求項１０】
バックアップの処理単位であるボリューム又はファイルのバックアップデータを格納するバックアップ格納領域における空き容量を監視し、
前記監視により前記空き容量が閾値未満であると判定された場合、前記バックアップ格納領域にバックアップデータが格納されたボリューム又はファイルのうち、当該バックアップデータを前記バックアップ格納領域から退避記憶領域に移動する第１移動制御の対象となるボリューム又はファイルを決定し、決定したボリューム又はファイルに対して第１情報を管理情報に設定し、
前記第１情報が設定されたボリューム又はファイルに対して、前記第１移動制御を行なう、
処理をコンピュータに実行させる、ストレージ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ制御装置及びストレージ制御プログラムに関する。
【背景技術】
【０００２】
記憶装置を搭載するストレージ装置、例えば、ＮＡＳ（Network Attached Storage）を利用した運用では、バックアップデータとしてスナップショット（Snap-Shot；以下、「ＳＳ」と表記する場合がある）が取得される場合がある。なお、ＳＳとは、例えば、ボリュームやファイル単位で、ＳＳの要求時点のボリュームやファイルのコピーを作成するバックアップ手法の一つであり、複数世代分のＳＳ作成が可能である。
【０００３】
ＮＡＳは、ユーザ要求に応じて利用される容量を想定し、記憶領域から論理ボリュームの容量を割り当てる。なお、論理ボリュームは、データを格納するデータ領域と、ＳＳを格納するスナップショット領域とを含んでよい。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１３９６６４号公報
【特許文献２】特開２０１４−１５４０４４号公報
【特許文献３】特開２０１０−５５４２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＮＡＳにおいて、バックアップデータとしてＳＳを取得する際、予測を上回る頻繁なファイルの書き換えや、大容量のファイル格納等が発生して、論理ボリュームの容量不足やＳＳの格納容量の不足等が発生することがある。
【０００６】
この場合、ＮＡＳの制御装置は、論理ボリュームを構成する記憶装置の物理記憶容量に空き容量があれば、論理ボリューム容量を拡張することができる。
【０００７】
一方、既存の物理記憶容量に空き容量がない場合、管理者は、物理記憶容量の増設、他のストレージへのデータ移行、又はデータの整理や廃棄等を手動で行なうことで、運用により対処している。
【０００８】
このように、ＳＳ等のバックアップを行なうストレージ装置において、ボリュームの容量不足が発生する都度、記憶容量の確保のための手動の処理が発生するため、ストレージ装置におけるバックアップを含む処理が停滞することになる。
【０００９】
１つの側面では、本発明は、ストレージ装置におけるバックアップ先の記憶領域を効率的に確保することを目的とする。
【課題を解決するための手段】
【００１０】
１つの側面では、ストレージ制御装置は、監視部と、決定部と、第１移動制御部と、をそなえてよい。前記監視部は、バックアップの処理単位であるボリューム又はファイルのバックアップデータを格納するバックアップ格納領域における空き容量を監視してよい。前記決定部は、前記監視により前記空き容量が閾値未満であると判定された場合、前記バックアップ格納領域にバックアップデータが格納されたボリューム又はファイルのうち、第１移動制御の対象となるボリューム又はファイルを決定してよい。なお、前記第１移動制御は、当該バックアップデータを前記バックアップ格納領域から退避記憶領域に移動する制御であってよい。また、前記決定部は、決定したボリューム又はファイルに対して第１情報を管理情報に設定してよい。さらに、前記第１移動制御部は、前記第１情報が設定されたボリューム又はファイルに対して、前記第１移動制御を行なってよい。
【発明の効果】
【００１１】
１つの側面では、ストレージ装置におけるバックアップ先の記憶領域を効率的に確保することができる。
【図面の簡単な説明】
【００１２】
【図１】物理ディスクの記憶領域が割り当てられた論理ボリュームにおいて、ファイルのＳＳが複数回実行された状態の一例を示す図である。
【図２】一実施形態に係るシステムの構成例を示すブロック図である。
【図３】一実施形態に係るネットワークストレージのハードウェア構成例を示すブロック図である。
【図４】一実施形態に係るコンピュータのハードウェア構成例を示すブロック図である。
【図５】一実施形態の動作例を説明する図である。
【図６】特定テーブルの一例を示す図である。
【図７】仮拡張領域におけるＳＳの保存手法の一例を示す図である。
【図８】監視テーブルの一例を示す図である。
【図９】一実施形態に係る制御装置による動作例を示すフローチャートである。
【図１０】図９に示す特定処理の動作例を示すフローチャートである。
【図１１】図９に示す退避ＳＳ実行処理の動作例を示すフローチャートである。
【図１２】図９に示すＳＳ監視処理の動作例を示すフローチャートである。
【図１３】一実施形態に係るＳＳの取得単位の他の例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。例えば、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。なお、以下の実施形態で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。
【００１４】
〔１〕一実施形態
〔１−１〕ストレージ装置のバックアップについて
まず、一実施形態に係るストレージ装置のバックアップについて説明する。図１は、物理ディスクの記憶領域が割り当てられた論理ボリューム（以下、単に「ボリューム」と表記する場合がある）において、ファイルのスナップショット（Snap-Shot；以下、「ＳＳ」と表記する場合がある）が複数回実行された状態の一例を示す図である。
【００１５】
図１の上段に示すように、物理ディスクの一部の記憶領域に対して、データ領域及びＳＳ領域を含むボリュームが割り当てられているものとする。なお、データ領域にはファイルＡが格納され、ＳＳ領域にはファイルＡのＳＳが格納されている。
【００１６】
この状態において、図１の下段に示すように、データ領域に他のファイル及びファイルＺが追加で格納され、データ領域内の各ファイルのＳＳが作成されると、ＳＳがＳＳ領域に収まりきらずにデータ領域にはみ出すことがある。この場合、管理者は、例えば、ＳＳ領域の容量不足のアラート等に応じて、物理ディスクの空き記憶領域を用いたボリュームの拡張等の作業を行ない、ＳＳ領域或いはデータ領域の拡張を行なう。
【００１７】
このように、ＳＳの大量保存によって、ボリュームの容量不足が発生することがある。ＳＳの大量保存が一過性の事象であったとしても同様である。
【００１８】
そして、このようなボリュームの容量不足が発生する度に、管理者による手動での運用、例えば、記憶領域（物理的な容量）の拡張が行なわれる。
【００１９】
しかし、一過性のボリュームの容量不足への対応により、記憶領域の拡張を繰り返す結果、ボリュームは過剰な空き容量を保持することになり、不要な投資が増加することになる。
【００２０】
また、このような事態を回避するためには、例えば、管理者が、定期的にボリュームの容量監視や、ＳＳの削除管理等を行なうことが考えられるが、運用負担が大きい。
【００２１】
なお、ＳＳの大量保存は、例えば、ストレージ装置の利用者が特定のファイルの編集・加工作業を行なう過程で、バックアップとして頻繁にＳＳの保存を行なう場合等に発生することがある。このようなＳＳの大量保存により、記憶領域の拡張が恒常的に発生し得る。
【００２２】
また、例えば、上述したＳＳの大量保存は、比較的短い時間間隔で発生することが多く、管理者による手動対応では、ＳＳの記憶領域が枯渇する前に対処することは困難であり、これに対処するためには運用負担がより増加する。さらに、ＳＳの大量保存が発生した場合、データ領域が圧迫されるため、データ領域に対する新規データの保存が制限或いは不可能となる虞もある。
【００２３】
そこで、一実施形態では、上述のような利用場面においてＳＳの大量保存が発生するものと仮定して、ＳＳの大量保存が発生した場合等において、ＳＳ等のバックアップ先の記憶領域を効率的に確保する手法を説明する。
【００２４】
一実施形態に係る後述する手法によれば、ボリュームの容量不足が発生した場合でも、管理者による記憶領域の拡張や監視等を不要とすることができる。従って、記憶容量の確保のための手動による恒常的な処理の発生を回避できるため、ストレージ装置における処理の停滞を抑制できる。
【００２５】
〔１−２〕一実施形態の構成例
以下、一実施形態に係るストレージシステムの構成例を説明する。図２は、一実施形態に係るストレージシステム１の構成例を示す図である。図２に示すように、ストレージシステム１は、例示的に、ネットワークストレージ（Network Storage；以下、「ＮＳ」と表記する場合がある）２と、ＮＳ２に接続される端末３と、をそなえてよい。なお、ストレージシステム１は、複数のＮＳ２をそなえてもよい。また、ＮＳ２には、複数の端末３が接続されてもよい。
【００２６】
端末３は、ＮＳ２に対して、データ、例えばファイルの書き込み又は読み出しアクセスを行なう上位装置の一例である。また、端末３は、ＮＳ２に対して、ＮＳ２に格納されたファイルのバックアップの一例であるＳＳの実行要求を送信してよい。
【００２７】
端末３としては、サーバ、ＰＣ（Personal Computer）、タブレット、スマートホン、又は、ＰＤＡ（Personal Digital Assistant）等のコンピュータが挙げられる。端末３は、例えば、利用者により、業務サーバや基幹サーバ、或いはクライアントマシンとして利用されてよい。なお、端末３は、ネットワーク４を介してＮＳ２に接続されてよい。
【００２８】
ネットワーク４としては、例えば、ＬＡＮ（Local Area Network）等のイントラネットが挙げられる。なお、ネットワーク４には、インターネットを含むＷＡＮ（Wide Area Network）等のネットワークが含まれてもよい。また、ネットワーク４には、ＳＡＮ（Storage Area Network）等のストレージネットワークが含まれてもよい。
【００２９】
ＮＳ２は、ストレージ装置の一例である。ＮＳ２としては、例示的に、ＮＡＳが挙げられる。以下の説明では、ＮＳ２として、ＮＡＳを例に挙げるが、これに限定されるものではなく、ＮＳ２は、端末３に対して記憶領域を提供する種々の態様のストレージ装置であってよく、一例として、ＳＡＮを構成するストレージ装置であってもよい。図２に示すように、ＮＳ２は、例示的に、メモリ部１０、制御装置２０、及び、複数のストレージ３０をそなえてよい。
【００３０】
メモリ部１０は、バックアップに関する情報を記憶する保持部の一例であり、制御装置２０により用いられる種々の情報を記憶してよい。メモリ部１０は、１以上の記憶装置によって実現されてもよい。
【００３１】
図２に示すように、メモリ部１０は、例示的に、実行制御情報１１、特定テーブル１２、及び、監視テーブル１３の情報を記憶してよい。なお、以下の説明では、便宜上、特定テーブル１２及び監視テーブル１３がテーブル形式の情報であるものとして説明するが、これらのテーブルは、配列やデータベース（Database；ＤＢ）等の形式で格納される情報であってよい。特定テーブル１２及び監視テーブル１３は、バックアップに関する第１情報及び第２情報を管理する管理情報の一例である。
【００３２】
複数のストレージ３０は、ＮＳ２において、端末３がアクセス可能な記憶領域を提供する複数の記憶装置の一例である。ＮＳ２は、例えば、複数のストレージ３０によってＲＡＩＤ（Redundant Arrays of Inexpensive Disks）等のディスクアレイを構成してもよい。以下の説明では、便宜上、複数のストレージ３０又はディスクアレイの各々の記憶領域を、「物理記憶領域」と表記する場合がある。
【００３３】
ストレージ３０としては、例えばＨＤＤ（Hard Disk Drive）等の磁気ディスク装置、ＳＳＤ（Solid State Drive）等の半導体ドライブ装置等の記憶装置が挙げられる。
【００３４】
制御装置２０は、バックアップ、例えばＳＳの格納先の記憶領域の確保に係る制御を行なうストレージ制御装置の一例である。制御装置２０の詳細は後述する。
【００３５】
なお、メモリ部１０及び制御装置２０は、ＮＳ２とは別の装置（コンピュータ）に実装されてもよい。この場合、メモリ部１０及び制御装置２０をそなえるコンピュータは、ネットワーク４を介してＮＳ２との間で相互に通信可能に接続されてよい。
【００３６】
〔１−３〕ハードウェア構成例
次に、図３を参照して、図２に示すＮＳ２のハードウェア構成例を説明する。図３に示すように、ＮＳ２は、例示的に、プロセッサ２ａ、メモリ２ｂ、バッテリ２ｂ−１、記憶部２ｃ、及び、ＮＷＩＦ（Network Interface）部２ｄをそなえてよい。また、これらに加えて、ＮＳ２は、例示的に、ストレージ制御部２ｅ、ディスク２ｅ−１、Ｉ／Ｏ（Input / Output）部２ｆ、及び、読取部２ｇをそなえてよい。
【００３７】
プロセッサ２ａは、ＮＳ２における種々の制御や演算を行なう演算処理装置の一例である。プロセッサ２ａは、ＮＳ２内の各ブロックとバス（例えば内部バス）２ｊで相互に通信可能に接続されてよい。プロセッサ２ａとしては、例えば、ＣＰＵ、ＭＰＵ、ＧＰＵ、ＡＰＵ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡ等の集積回路（ＩＣ；Integrated Circuit）が用いられてよい。ＣＰＵはCentral Processing Unitの略称であり、ＭＰＵはMicro Processing Unitの略称である。ＧＰＵはGraphics Processing Unitの略称であり、ＡＰＵはAccelerated Processing Unitの略称である。ＤＳＰはDigital Signal Processorの略称であり、ＡＳＩＣはApplication Specific ICの略称であり、ＦＰＧＡはField-Programmable Gate Arrayの略称である。
【００３８】
メモリ２ｂは、種々のデータやプログラム等の情報を格納するハードウェアの一例である。メモリ２ｂとしては、例えばＲＡＭ（Random Access Memory）等の揮発性メモリが挙げられる。メモリ２ｂの少なくとも一部の記憶領域は、例えば、ＮＷＩＦ２ｄとストレージ制御部２ｅとの間で転送されるデータを一時的に格納するバッファ或いはキャッシュとして利用されてもよい。バッテリ２ｂ−１は、メモリ２ｂに対する電源のバックアップを行なうバッテリである。
【００３９】
記憶部２ｃは、種々のデータやプログラム等の情報を格納するハードウェアの一例である。記憶部２ｃとしては、例えば、不揮発性メモリ、ＨＤＤ等の磁気ディスク装置、ＳＳＤ等の半導体ドライブ装置等の各種記憶装置が挙げられる。不揮発性メモリとしては、例えば、ＲＯＭ（Read Only Memory）、フラッシュメモリ、ＳＣＭ（Storage Class Memory）等が挙げられる。
【００４０】
図２に示すＮＳ２のメモリ部１０は、例えば、ＮＳ２のメモリ２ｂ及び記憶部２ｃの少なくとも一方の記憶領域により実現されてよい。
【００４１】
また、記憶部２ｃは、ＮＳ２の各種機能の全部若しくは一部を実現するプログラム２ｈを格納してよい。プロセッサ２ａは、記憶部２ｃに格納されたプログラム２ｈをメモリ２ｂに展開して実行することにより、図２に示すＮＳ２としての機能を実現できる。ＮＳ２としての機能は、例えば、後述する、ＳＳ実行部２１、ＳＳ領域監視部２２、退避処理部２３、及び戻し処理部２４を含む制御装置２０の機能を含んでよい。
【００４２】
ＮＷＩＦ部２ｄは、ネットワーク４との間の接続及び通信の制御等を行なう通信ＩＦの一例である。例えば、ＮＷＩＦ部２ｄは、ＬＡＮに準拠したイーサネット（Ethernet；登録商標）ＩＦ、或いは、光通信（例えばＦＣ（Fibre Channel；ファイバチャネル））に準拠したアダプタ等を制御してよい。例えば、プログラム２ｈは、当該通信ＩＦを介して、ネットワーク４からＮＳ２にダウンロードされ、記憶部２ｃに格納されてもよい。
【００４３】
ストレージ制御部２ｅは、データ（例えばファイル）を格納する複数のディスク２ｅ−１の制御、及び、バス２ｊへのデータの転送制御等を行なってよい。ディスク２ｅ−１としては、ＨＤＤ等の磁気ディスク装置、ＳＳＤ等の半導体ドライブ装置等の記憶装置が挙げられる。図２に示すＮＳ２のストレージ３０は、例えば、複数のディスク２ｅ−１により実現されてよい。
【００４４】
Ｉ／Ｏ部２ｆは、マウス、キーボード、又は操作ボタン等の入力部、並びに、タッチパネルディスプレイ、ＬＣＤ（Liquid Crystal Display）等のモニタ、プロジェクタ、又はプリンタ等の出力部、の一方又は双方を含んでよい。
【００４５】
読取部２ｇは、記録媒体２ｉに記録されたデータやプログラムの情報を読み出すリーダの一例である。読取部２ｇは、記録媒体２ｉを接続可能又は挿入可能な接続端子又は装置を含んでよい。読取部２ｇとしては、例えば、ＵＳＢ（Universal Serial Bus）等に準拠したアダプタ、記録ディスクへのアクセスを行なうドライブ装置、ＳＤカード等のフラッシュメモリへのアクセスを行なうカードリーダ等が挙げられる。なお、記録媒体２ｉにはプログラム２ｈが格納されてもよく、読取部２ｇが記録媒体２ｉからプログラム２ｈを読み出して記憶部２ｃに格納してもよい。
【００４６】
記録媒体２ｉとしては、例示的に、磁気／光ディスクやフラッシュメモリ等の非一時的な記録媒体が挙げられる。磁気／光ディスクとしては、例示的に、フレキシブルディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）、ブルーレイディスク、ＨＶＤ（Holographic Versatile Disc）等が挙げられる。フラッシュメモリとしては、例示的に、ＵＳＢメモリやＳＤカード等が挙げられる。なお、ＣＤとしては、例示的に、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ等が挙げられる。また、ＤＶＤとしては、例示的に、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等が挙げられる。
【００４７】
上述したＮＳ２のハードウェア構成は例示である。従って、ＮＳ２内でのハードウェアの増減（例えば任意のブロックの追加や削除）、分割、任意の組み合わせでの統合、又は、バスの追加若しくは削除等は適宜行なわれてもよい。
【００４８】
例えば、メモリ部１０及び制御装置２０がＮＳ２とは異なる装置にそなえられてもよい。図４は、メモリ部１０及び制御装置２０をそなえるコンピュータ５のハードウェア構成例を示すブロック図である。
【００４９】
図４に示すように、コンピュータ５は、例示的に、プロセッサ５ａ、メモリ５ｂ、記憶部５ｃ、ＮＷＩＦ部５ｄ、Ｉ／Ｏ部５ｅ、及び読取部５ｆをそなえてよく、これらのブロック（ハードウェア）がバス５ｉにより相互に通信可能に接続されてよい。図４に示すこれらのブロックは、図３に示すＮＳ２の同名のブロックと同様の構成をそなえてよい。
【００５０】
なお、図２に示すＮＳ２のメモリ部１０は、例えば、コンピュータ５のメモリ５ｂ及び記憶部５ｃの少なくとも一方の記憶領域により実現されてよい。
【００５１】
また、記憶部５ｃは、制御装置２０の各種機能の全部若しくは一部を実現するプログラム５ｇを格納してよい。プロセッサ５ａは、記憶部５ｃに格納されたプログラム５ｇをメモリ５ｂに展開して実行することにより、図２に示す制御装置２０の機能を実現できる。
【００５２】
〔１−４〕制御装置の機能構成例
次に、図２及び図５〜図８を参照して、図２に例示する制御装置２０の機能構成例を説明する。図２に示すように、ＮＳ２におけるＳＳの格納領域を管理する制御装置２０は、例示的に、ＳＳ実行部２１、ＳＳ領域監視部２２、退避処理部２３、及び戻し処理部２４をそなえてよい。
【００５３】
なお、ＳＳの実行要求は、例えば、端末３からＮＳ２に対して発行されてよい。ＳＳの実行要求には、例示的に、ＳＳ対象であるファイル、及び、当該ファイルが格納されているボリューム、を指定する情報が含まれてよい。なお、以下の説明では、バックアップの処理単位が「ファイル」単位であるものとする。
【００５４】
一実施形態においては、例えば、ＮＳ２の利用者が端末３を介して特定のファイルの編集・加工作業を行なう過程で、バックアップとして頻繁にＳＳを実行することで、ＳＳの大量保存が発生する場合を想定する。
【００５５】
また、以下の説明においては、特定のファイルの編集・加工作業により、作業対象且つＳＳ対象のファイルのファイルサイズ、並びに、ＳＳの実行頻度が、いずれも徐々に減少していく場合を想定する。
【００５６】
以下の説明において、「ＳＳ」は、バックアップの一例であるスナップショット動作により作成されたバックアップファイル（バックアップデータ）を示すものとする。また、「ＳＳの実行」のように表記する場合の「ＳＳ」は、動作としてのスナップショットを示すものとする。
【００５７】
ＳＳ実行部２１は、ＳＳの実行要求に応じてＳＳの実行（取得）を処理及び制御してよい。例えば、ＳＳ実行部２１は、ＳＳの実行要求に応じてＳＳを実行する際に、ＳＳ対象のファイルごとに、ＳＳの実行回数と、ＳＳごとのデータサイズとを取得し、例えばメモリ部１０等にＳＳの実行制御情報１１の一部として格納してよい。
【００５８】
ＳＳ領域監視部２２は、ＳＳ実行部２１がファイルのＳＳを実行（取得）する際に、ＳＳの実行対象である論理ボリュームにおけるＳＳ領域の空き容量を監視し、空き容量が閾値未満か否かを判定する。なお、ＳＳ領域は、バックアップ格納領域の一例である。例えば、ＳＳ領域監視部２２は、図５の上段に示すように、ＳＳ領域全体の容量に対する空き容量の割合が所定の割合を下回るか否かを判定し、当該割合が所定の割合を下回ると判定した場合、仮拡張領域に退避させるＳＳを特定する特定処理を実行してよい。
【００５９】
「仮拡張領域」は、ＳＳ領域の空き容量の不足に応じて未割当の空き領域を利用して作成される仮の領域であり、ＳＳ領域を拡張するための退避記憶領域（以下、「退避領域」と表記する場合がある）の一例である。仮拡張領域は、記憶領域（物理的な容量）の永続的な拡張とは異なり、ＳＳ領域の一時的な空き容量不足の解消に応じて解放されることが期待される一時的な領域であるため、拡張領域ではなく仮拡張領域と表記する。
【００６０】
例えば、ＳＳ領域監視部２２は、特定処理において、特定テーブル１２を作成又は更新し、作成又は更新した特定テーブル１２を、特定処理の処理結果として退避処理部２３に通知してよい。
【００６１】
図６は、特定テーブル１２の一例を示す図である。特定テーブル１２は、ＳＳ領域監視部２２により退避処理対象として特定されたファイルを示す情報の一例であり、「ファイル名」、「容量」、「ＳＳ回数」、「ファイルパス」、及び「退避名」の項目を含むエントリを有してよい。特定テーブル１２に含まれるエントリは、退避処理対象として特定（決定）されたファイルに対して管理情報のうちの特定テーブル１２に設定される第１情報の一例である。
【００６２】
「ファイル名」及び「ファイルパス」は、ＳＳの実行対象のボリュームに含まれる、退避対象ＳＳのファイルの名称及び格納場所を示す。「容量」は、ＳＳのデータサイズである。「ＳＳ回数」は、ファイルごとにＳＳが取得された回数を示す。「退避名」は、退避先の仮拡張領域の情報、例えばボリューム名を示す。
【００６３】
なお、特定テーブル１２に設定された「容量」は、退避処理を行なう際のＳＳのデータサイズであり、以降の処理において基準となるサイズである。また、上述したように、特定のファイルのＳＳは、大量保存の発生後、徐々にデータサイズが減少する。このため、特定テーブル１２に設定された「容量」は、当該特定のファイルのＳＳが取り得るデータサイズの最大値であるといえる。
【００６４】
ＳＳ領域監視部２２は、特定処理において、ＳＳの実行要求で指定されたＳＳ実行対象のボリュームについて、ＳＳ数と、ＳＳごとのデータサイズとをファイル単位で取得し、ＳＳ数及びデータサイズの双方が大きいＳＳを退避対象のＳＳとして特定してよい。なお、ＳＳ領域監視部２２は、例えば、実行制御情報１１からＳＳ数及びデータサイズを抽出してよい。
【００６５】
ＳＳ数及びデータサイズの双方が大きいＳＳとは、例えば、ＳＳ数と、データサイズと、を乗算した値（サイズ）が大きいＳＳであってよい。ＳＳ数が多く、且つ、各ＳＳのサイズが大きいＳＳは、データの変更量が定量的に多いと判断できるためである。例えば、ＳＳ領域監視部２２は、上記の積が大きい順に、上位から１以上のファイルを選定してよい。
【００６６】
このように、ＳＳ領域監視部２２は、特定処理において、データの変更量が定量的に多いファイルを、ＳＳ領域から退避領域にＳＳを退避させるファイルとして選定してよい。なお、ＳＳ領域監視部２２は、特定テーブル１２にエントリを追加し、特定したＳＳについて取得した各情報を設定してよい。
【００６７】
なお、ＳＳ領域監視部２２は、ＳＳ数、及び、各ＳＳのサイズ、の少なくとも一方に基づいて、仮拡張領域に退避させるＳＳを選定してもよい。
【００６８】
以上のように、ＳＳ領域監視部２２は、ＳＳ領域における空き容量を監視する監視部の一例である。また、ＳＳ領域監視部２２は、監視により空き容量が閾値未満であると判定された場合、ＳＳ領域にＳＳが格納されたファイルのうち、当該ＳＳをＳＳ領域から退避記憶領域に移動する第１移動制御の対象となるファイルを決定する決定部の一例である。決定部の一例としてのＳＳ領域監視部２２は、決定したファイルに対してエントリ（第１情報）を特定テーブル１２に設定してよい。
【００６９】
退避処理部２３は、図５の中段に示すように、ＳＳ領域監視部２２が作成又は更新した特定テーブル１２に基づいて、退避処理を行なう。
【００７０】
例えば、退避処理部２３は、退避処理において、特定テーブル１２に設定された容量に基づく所定サイズの仮拡張領域を作成してよい。なお、退避処理部２３は、作成する仮拡張領域のサイズとして、特定テーブル１２に設定された容量の数倍、例えばＮ（Ｎは２以上の整数）倍、一例として４（Ｎ＝４）倍の容量を確保してよい。仮拡張領域のサイズは、ＳＳのサイズのＮ倍に限定されるものではなく、ＳＳの容量やストレージ３０の容量、運用環境等、種々の条件に基づき決定されてもよい。
【００７１】
仮拡張領域としては、例えば、ストレージ３０においてボリュームに割り当てられていない空きの物理記憶領域の少なくとも一部が利用されてよい。仮拡張領域は、ＳＳの実行対象のボリュームが属するストレージ３０（例えば物理ディスク）に作成されてもよいし、他のストレージ３０に作成されてもよい。或いは、仮拡張領域は、ストレージ３０以外の物理記憶領域、例えばメモリ部１０、或いは、ネットワーク４を介して接続される他のストレージに作成されてもよい。
【００７２】
なお、退避処理部２３は、仮拡張領域のボリュームを作成すると、特定テーブル１２における退避対象のＳＳのファイルに対応するエントリに、作成したボリューム名を設定してよい（図６参照）。
【００７３】
また、退避処理部２３は、退避処理において、仮拡張領域を作成すると、特定テーブル１２に設定された退避対象のＳＳを、ＳＳ領域から仮拡張領域に退避（移動）してよい。このとき、退避処理部２３は、例えば、仮拡張領域をＮ分割、一例として４（Ｎ＝４）分割してよく、ＳＳ領域の退避対象のＳＳ（の各々）を、分割した分割領域のうちの空き分割領域に移動してよい。すなわち、上述のように、仮拡張領域として、ＳＳの容量のＮ倍のサイズが確保されているため、仮拡張領域には、Ｎ個（Ｎ世代分）のＳＳを格納可能な空き領域が存在する。そこで、退避処理部２３は、仮拡張領域をＮ個の分割領域に分割することで、それぞれの分割領域にＳＳを格納できるようにする。
【００７４】
以上のように、退避処理部２３は、特定テーブル１２のエントリが設定されたファイルに対して、第１移動制御を行なう第１移動制御部又は移動制御部の一例である。
【００７５】
さらに、退避処理部２３は、ＳＳの退避後に、ＳＳ領域に対して、退避対象のＳＳが格納されていた領域を解放して未使用（未割当）領域にするとともに、後にＳＳを戻す際の戻し領域として、所定サイズのリザーブ領域を確保（予約）してよい。所定サイズとしては、退避時のＳＳの容量の所定割合のサイズ、一例として５０％程度のサイズであってよい。
【００７６】
なお、退避処理部２３は、ＳＳの退避及びリザーブ領域の確保を行なうと、退避対象のＳＳのファイルに対する、ＳＳの実行（取得）ルールを変更し、ＳＳの退避を行なった旨、及び、退避対象のＳＳの情報等を、例えば管理者に通知してよい。一例として、退避処理部２３は、Ｉ／Ｏ部２ｆ（図３参照）に対して通知を表示してもよいし、管理者が利用する端末（図示省略）に対して、ネットワーク４を介して通知を送信してもよい。以下の説明において、他の情報又は指示を管理者に通知する場合も同様であってよい。
【００７７】
ＳＳの実行ルールの変更は、例えば、ＳＳの格納先をＳＳ領域から仮拡張領域に変更すること、及び、ＳＳの保存手順を仮拡張領域用に変更すること、等を含んでよい。変更されたＳＳの実行ルールは、例えば、実行制御情報１１の一部としてメモリ部１０に格納されてよい。これにより、ＳＳ実行部２１は、実行制御情報１１を参照し、退避対象のＳＳについては、ＳＳの変更後の実行ルールに従って、仮拡張領域にＳＳを保存することができる。
【００７８】
ここで、ＳＳ実行部２１による、変更後の実行ルールに従ったＳＳの実行処理について説明する。
【００７９】
ＳＳの保存手順は、例えば、図７の上段（「x月01日」の仮拡張領域を参照）に示すように、新たに取得されたＳＳを、最も世代の古いＳＳが保存されている分割領域に上書きして保存することを含んでよい。なお、仮拡張領域に空き分割領域が存在する場合には、ＳＳの保存先として空き分割領域が優先的に使用されてよい。換言すれば、ＳＳ実行部２１は、退避領域に最新のＮ世代分のＳＳが保存されるように、ＳＳの実行要求に応じて、ＳＳを、退避領域をＮ分割したＮ個の分割領域のいずれかに格納する、といえる。
【００８０】
図７では、ＳＳの世代を識別するために、ｘ世代のＳＳを「ＳＳ（ｘ）」と表記する。図７の上段では、新たなＳＳ（５）が発生した場合に、最も古いＳＳ（１）を削除し、ＳＳ（１）の格納域にＳＳ（５）を書き込むことを示す。ＳＳ実行部２１は、図７に例示する手順によって、退避対象のＳＳの保存を行なってよい。
【００８１】
ここで、ＳＳ実行部２１は、仮拡張領域に対するＳＳを実行したときに、監視テーブル１３を作成又は更新してよい。
【００８２】
図８は、監視テーブル１３の一例を示す図である。監視テーブル１３は、仮拡張領域におけるＳＳの状態を示す情報であり、「日付」、「ボリューム名」、「ファイル名」、「容量」、「更新頻度」、及び「ファイルパス」の項目を含むエントリを有してよい。監視テーブル１３に含まれるエントリは、実行要求に応じたバックアップの実行タイミングと、当該バックアップデータのデータサイズと、を含む第２情報の一例である。
【００８３】
「日付」は、ＳＳを実行した日付であり、ＳＳの実行タイミングを示すタイムスタンプの一例である。「ボリューム名」、「ファイル名」、及び「ファイルパス」は、ＳＳを保存した仮拡張領域のボリューム名、並びに保存したＳＳのファイルの名称及び格納場所を示す。「容量」は、ＳＳを実行したときのＳＳのデータサイズである。
【００８４】
「更新頻度」は、ＳＳの発生頻度を示す情報であり、所定の期間内に、同一のファイルに対して実行されたＳＳの回数を示す。所定の期間としては、例えば、「１日」が挙げられる。所定の期間としては、「１日」に限定されるものではなく、より短期間、例えば数秒〜数時間、或いは、より長期間、例えば数日以上、のように、ＮＳ２の利用環境等に応じた適切な期間が設定されてよい。
【００８５】
なお、「更新頻度」の基準となる所定の期間が「１日」であるため、監視テーブル１３の「日付」には「2/1」等の日にちが設定されているが、これに限定されるものではない。監視テーブル１３の「日付」（タイムスタンプ）には、所定の期間に応じて、「日付」に加えて「時刻」や「年」等が設定されてもよい。
【００８６】
以上のように、ＳＳ実行部２１は、第１情報が設定されたファイル（例えば、退避処理対象として特定テーブル１２のエントリが設定されたファイル）に対するＳＳの実行要求に応じて、当該ファイルのＳＳを退避領域に格納するバックアップ実行部の一例である。バックアップ実行部の一例としてのＳＳ実行部２１は、当該実行要求に応じたＳＳの実行タイミングと、当該ＳＳのデータサイズと、を含む監視テーブル１３のエントリを、管理情報のうちの監視テーブル１３に格納してよい。
【００８７】
戻し処理部２４は、図５の中段に示すように、監視テーブル１３に基づいて、退避処理部２３が作成した仮拡張領域におけるＳＳの監視処理を行なう。なお、ＳＳ実行部２１及び戻し処理部２４は、互いに非同期に動作してよい。
【００８８】
例えば、戻し処理部２４は、所定のタイミング、一例として、仮拡張領域に対してＳＳが保存されたタイミングで、監視テーブル１３の内容がＳＳの戻し条件を満たすか否かを判定してよい。
【００８９】
ＳＳの戻し条件としては、監視テーブル１３のファイル名ごとに、例えば、以下の（ａ）及び（ｂ）の少なくとも一方が挙げられる。
【００９０】
（ａ）更新頻度が所定頻度以下である。
所定頻度は、ＳＳの大量保存が収束したと判断できる頻度であり、一例として、４回／日程度の値であってよい。
【００９１】
（ｂ）ＳＳの容量が、退避処理が実行されたときの容量の所定割合以下である。
所定割合は、退避処理部２３が退避処理においてＳＳ領域にリザーブ領域を確保する際に用いた「所定割合」と同一であってよく、一例として、５０％程度の値であってよい。上記（ｂ）の条件は、ＳＳの容量がリザーブ領域の容量以下である、或いは、監視テーブル１３に設定されたＳＳのデータサイズがＳＳ領域監視部２２により選定されたときのＳＳのデータサイズの所定割合以下である、という条件に読み替えることもできる。
【００９２】
なお、同一のファイル名について複数のＳＳのエントリが監視テーブル１３に存在する場合、戻し処理部２４は、当該複数のエントリのうち、最新のエントリの容量を、上記（ｂ）の条件の比較に用いてよい。
【００９３】
戻し処理部２４は、監視テーブル１３を参照して、上記（ａ）及び（ｂ）の少なくとも一方、例えば、双方の条件を満たすファイル名が存在するか否かを判定してよい。そして、戻し処理部２４は、上記（ａ）及び（ｂ）の双方の条件を満たすファイル名が存在する場合、図５の下段に示すように、該当するファイル名に対応する最新のＳＳをリザーブ領域に戻す（移動する）戻し処理を実行してよい。
【００９４】
なお、図７の上段、中段、下段は、それぞれ、監視テーブル１３において「日付」が「x月01日」、「x月02日」、「x月03日」であるＳＳの仮拡張領域における格納状態を示している。
【００９５】
図７の上段では、ＳＳ（１）〜ＳＳ（５）の少なくとも５回分のＳＳが保存されており、且つ、最新のＳＳ（５）のサイズが特定テーブル１２の容量の５０％未満ではない場合を示す。この場合、上記（ａ）及び（ｂ）の双方の条件を満たさないため、戻し処理部２４は、監視テーブル１３が図７の上段の状態を示す場合は、戻し条件を満たさないと判定する。
【００９６】
図７の中段では、ＳＳ（ｍ−３）〜ＳＳ（ｍ）の４回分のＳＳが保存されており、且つ、最新のＳＳ（ｍ）のサイズが特定テーブル１２の容量の５０％未満ではない場合を示す。この場合、上記（ａ）の条件を満たす一方、上記（ｂ）の条件を満たさないため、戻し処理部２４は、監視テーブル１３が図７の中段の状態を示す場合は、戻し条件を満たさないと判定する。
【００９７】
図７の下段では、「x月03日」に保存されたＳＳとして、ＳＳ（ｎ−２）〜ＳＳ（ｎ）の３回分のＳＳが保存されており、且つ、最新のＳＳ（ｎ）のサイズが特定テーブル１２の容量の５０％未満である場合を示す。この場合、上記（ａ）及び（ｂ）の双方の条件を満たすため、戻し処理部２４は、監視テーブル１３が図７の下段の状態を示す場合は、戻し条件を満たすと判定し、ＳＳ（ｎ）をリザーブ領域に戻す戻し処理を行なう。
【００９８】
また、戻し処理部２４は、ＳＳの戻し処理を行なうと、戻し処理を行なったＳＳのファイルに対する、ＳＳの実行（取得）ルールを元に戻し、ＳＳの保存先を退避前のボリュームに戻した旨を、例えば管理者に通知してよい。
【００９９】
なお、戻し処理部２４は、ＳＳをリザーブ領域に戻したファイルについて、対応する仮拡張領域を削除するとともに、特定テーブル１２及び監視テーブル１３の各々から、当該ファイル又はＳＳに対応するエントリを削除してよい。
【０１００】
以上のように、戻し処理部２４は、退避領域にＳＳが格納されたファイルのうち、第２移動制御の対象となるファイルを決定し、当該ファイルの１のＳＳを、退避領域からＳＳ領域に移動する第２移動制御部の一例である。
【０１０１】
このように、一実施形態に係る制御装置２０は、ファイルを対象としてファイルへのバックアップを監視し、バックアップによってストレージ３０の記憶領域に影響を与えるファイルを仮拡張領域に退避することで、記憶領域への影響を排除する。これにより、ＳＳの大量取得による、ボリュームの記憶領域（例えばＳＳ領域）の一時的な増減を吸収することが可能となる。
【０１０２】
例えば、ＳＳは、ファイルの変更量の大小に関わらず、更新前の全ファイルデータを対象としてデータの複製を行なうため、ボリューム容量の消費に与える影響が大きい。このため、一実施形態では、退避処理の対象とするＳＳを、ファイルサイズが大きく、且つ、更新回数（ＳＳ回数）の多いＳＳに絞り込んでいる。
【０１０３】
また、例えばＮＳ２の利用者がファイルの編集・加工作業を行なう過程で頻繁にＳＳを実行する場合を想定すると、一過性のＳＳ容量増加は、ファイル全体の更新ではなく変更量の少ない更新が繰り返されることに起因する可能性が高いと考えられる。
【０１０４】
そこで、制御装置２０が仮拡張領域に退避したＳＳを元のＳＳ領域に戻すための、換言すれば、ＳＳの退避動作が不要と判断するための、監視条件として、短時間での更新が終わった状態（例えば１日に５回未満の更新）を条件に含めている。
【０１０５】
また、ＳＳを仮拡張領域から元のＳＳ領域に戻す場合、退避先のＳＳ容量が減った状態で戻さないと、ＳＳ領域への戻し処理後、当該ＳＳについて再び退避処理を行なう論理が動作してしまう場合がある。なお、退避処理後は、退避した旨が管理者に通知されるため、管理者により、ボリュームについてデータ整理や拡張作業が行なわれる可能性はあるが、その可能性を考慮しても、再度の退避処理が行なわれるリスクは存在する。そこで、仮拡張領域に退避したＳＳを元のＳＳ領域に戻すための監視条件として、ＳＳ容量の減少（例えば、退避時の５０％程度）を条件に含めている。
【０１０６】
以上のように、一実施形態に係る制御装置２０によれば、一過性で生じる複数のＳＳ実行処理によって使用されるＳＳの保存容量に対して、動的に適切な容量を確保でき、ＮＳ２の運用を継続することができる。
【０１０７】
また、過剰な空き容量を恒久的に保持しないため、不要な投資の発生を回避することができる。
【０１０８】
さらに、制御装置２０による定期的なボリュームの容量監視、ＳＳの削除管理等により、管理者による運用の負担を排除することができる。
【０１０９】
このように、一実施形態によって、ＮＳ２におけるバックアップ先の記憶領域を効率的に確保することが可能となる。
【０１１０】
〔１−５〕動作例
以下、図９〜図１２を参照して、上述の如く構成された制御装置２０の動作例を説明する。
【０１１１】
まず、図９を参照して、制御装置２０がＳＳの実行要求を受信した場合の動作例を説明する。図９に例示するように、制御装置２０は、ＳＳの実行を受信すると（ステップＳ１）、ＳＳの保存先が仮拡張領域か否かを判定する（ステップＳ２）。例えば、制御装置２０は、実行制御情報１１を参照して、実行要求で指定されたファイルに対するＳＳの実行ルールにおいて、保存先が仮拡張領域に設定（変更）されているか否かを判定してよい。
【０１１２】
ＳＳの保存先が仮拡張領域ではないと判定した場合（ステップＳ２でＮｏ）、制御装置２０は、ＳＳ領域監視部２２及び退避処理部２３による特定処理（ステップＳ３）、及び、ＳＳ実行部２１によるＳＳ実行処理（ステップＳ４）、をそれぞれ起動する。特定処理（ステップＳ３）及びＳＳ実行処理（ステップＳ４）は、互いに非同期で実行され、各処理が完了すると動作を終了してよい。
【０１１３】
一方、ＳＳの保存先が仮拡張領域であると判定した場合（ステップＳ２でＹｅｓ）、制御装置２０は、特定処理（ステップＳ５）、退避ＳＳ実行処理（ステップＳ６）、及び、戻し処理部２４によるＳＳ監視処理（ステップＳ７）、をそれぞれ起動する。なお、特定処理（ステップＳ５）、退避ＳＳ実行処理（ステップＳ６）、及びＳＳ監視処理（ステップＳ７）は、互いに非同期で実行され、各処理が完了すると動作を終了してよい。
【０１１４】
なお、特定処理は、ＳＳの保存先が仮拡張領域か否かに関わらず同様の処理が実行されるため、ステップＳ２の判定を行なう前に、特定処理が起動されてもよい。
【０１１５】
また、ＳＳの保存先がＳＳ領域の場合に実行されるＳＳ実行処理（ステップＳ４）は、既知の手法により実現されてよい。例えば、ＳＳ実行部２１は、実行要求で指定されたファイルについて、実行要求を受信した時点におけるスナップショットを、当該ファイルが属するボリュームにおけるＳＳ領域に保存し、端末３に完了応答を送信してよい。なお、ＳＳの保存はバックグラウンドで実行されてもよく、ＳＳ実行部２１は、ＳＳの保存と並行して、端末３に完了応答を送信してもよい。
【０１１６】
〔１−５−１〕特定処理の動作例
次に、図１０を参照して、ＳＳ領域監視部２２及び退避処理部２３による特定処理の動作例を説明する。ＳＳ領域監視部２２及び退避処理部２３は、ファイル更新時（例えばＳＳの取得時）に、図９のステップＳ３又はＳ５において起動され、図１０に例示する特定処理を実行する。
【０１１７】
ＳＳ領域監視部２２は、ＳＳ実行要求で指定されたボリューム（ＳＳ実行対象のボリューム）におけるＳＳ領域の空き容量を監視し、空き容量が所定の割合未満か否か、例えば２０％未満か否かを判定する（ステップＳ１１）。空き容量が所定の割合未満ではないと判定した場合（ステップＳ１１でＮｏ）、処理が終了する。
【０１１８】
一方、空き容量が所定の割合未満であると判定した場合（ステップＳ１１でＹｅｓ）、ＳＳ領域監視部２２は、メモリ部１０に特定テーブル１２が存在するか否かを判定する（ステップＳ１２）。
【０１１９】
特定テーブル１２が存在しないと判定した場合（ステップＳ１２でＮｏ）、ＳＳ領域監視部２２は、メモリ部１０に、例えば空の（エントリ未入力の）特定テーブル１２を作成し（ステップＳ１３）、処理がステップＳ１４に移行する。
【０１２０】
特定テーブル１２が存在すると判定した場合（ステップＳ１２でＹｅｓ）、ＳＳ領域監視部２２は、ＳＳ実行対象のボリューム内で、ＳＳ数、及び、ＳＳごとのデータサイズ、の情報をファイル単位で取得する（ステップＳ１４）。なお、これらの情報は、例えば、ＳＳの実行の際にＳＳ実行部２１が更新する実行制御情報１１から抽出されてよい。
【０１２１】
そして、ＳＳ領域監視部２２は、ファイルごとに、ＳＳ数と、ＳＳのデータサイズ（例えば最大のデータサイズ）と、の積を算出し、当該積の大きい（例えば最大である）ファイルを選択する（ステップＳ１５）。
【０１２２】
なお、ステップＳ１５では、複数のファイルの選択が許容されてもよい。例えば、積が所定の閾値を超えるファイルが複数存在する場合や、積が最大のファイルを退避させてもＳＳ領域の空き容量が所定の割合以上にならないと予測される場合等には、ＳＳ領域監視部２２は、積の大きい順に所定数のファイルを選択してもよい。
【０１２３】
次いで、ＳＳ領域監視部２２は、選択したファイルの情報、例えば、ファイル名、ファイルパス、並びに、ステップＳ１４で取得したＳＳ数及びデータサイズ（例えば最大のデータサイズ）、を特定テーブル１２に設定する（ステップＳ１６）。
【０１２４】
退避処理部２３は、特定テーブル１２に設定されたデータサイズに基づき、データサイズのＮ倍、例えば４倍のサイズの仮拡張領域を、ストレージ３０やディスクアレイ等の物理記憶領域における未割当領域に作成する（ステップＳ１７）。
【０１２５】
また、退避処理部２３は、ステップＳ１７において仮拡張領域を作成できたか否かを判定する（ステップＳ１８）。例えば、未割当領域の容量不足等により、仮拡張領域を作成できなかったと判定した場合（ステップＳ１８でＮｏ）、退避処理部２３は、物理記憶領域の容量の手動増設指示を、管理者に通知し（ステップＳ１９）、処理がステップＳ２０に移行する。
【０１２６】
なお、ＳＳ領域監視部２２は、ステップＳ１９の通知の後、手動増設待ちの状態に遷移し、例えば、図１０に示す処理を停止又は中止してもよい。この場合、ＳＳ領域監視部２２は、管理者による手動増設が完了したことを検出した場合にステップＳ２０から処理を再開又は開始してもよいし、次のＳＳ実行要求の受信に応じた、ステップＳ１１からの特定処理を行なってもよい。
【０１２７】
仮拡張領域を作成できたと判定した場合（ステップＳ１８でＹｅｓ）、退避処理部２３は、監視テーブル１３の退避対象のＳＳに関するエントリに対して、退避先である仮拡張領域のボリューム名を設定する（ステップＳ２０）。
【０１２８】
また、退避処理部２３は、選択したファイルのＳＳをＳＳ領域から仮拡張領域へ退避（移動）させ（ステップＳ２１）、ＳＳ領域から退避済みのＳＳを削除し、ＳＳ領域にリザーブ領域を確保する（ステップＳ２２）。リザーブ領域のサイズは、例えば、特定テーブル１２に設定された容量（移動時のＳＳ容量）の所定割合、例えば５０％程度であってよい。
【０１２９】
さらに、退避処理部２３は、退避対象のＳＳに関するＳＳの実行ルールを変更する（ステップＳ２３）。変更した実行ルールは、例えば、実行制御情報１１に設定されてよい。
【０１３０】
そして、退避処理部２３は、ＳＳを退避した旨を管理者に通知し（ステップＳ２４）、処理が終了する。
【０１３１】
〔１−５−２〕退避ＳＳ実行処理の動作例
次に、図１１を参照して、ＳＳ実行部２１による退避ＳＳ実行処理の動作例を説明する。ＳＳ実行部２１は、仮拡張領域におけるＳＳの取得時に、図９のステップＳ６で起動され、図１１に例示する退避ＳＳ実行処理を実行する。
【０１３２】
ＳＳ実行部２１は、仮拡張領域に対するＳＳ実行処理を行なう（ステップＳ３１）。ＳＳ実行処理では、ＳＳ実行部２１は、実行制御情報１１を参照し、ＳＳ保存先として、退避先の仮拡張領域のボリュームを取得し、当該ボリュームにおける空き分割領域に対して、ＳＳ実行要求で指定されたファイルのＳＳを保存してよい。
【０１３３】
なお、仮拡張領域のボリュームにおいて、空きの分割領域が存在しない場合、ＳＳ実行部２１は、最も更新タイミングが古い（過去の）分割領域内のＳＳを削除し、当該分割領域に対して、指定されたファイルのＳＳを保存して、端末３に完了応答を送信してよい。なお、ステップＳ３１において、ＳＳ実行部２１は、ＳＳ領域に対するＳＳ実行処理と同様に、ＳＳの保存をバックグラウンドで実施してもよい。
【０１３４】
次いで、ＳＳ実行部２１は、メモリ部１０に監視テーブル１３が存在するか否かを判定する（ステップＳ３２）。
【０１３５】
監視テーブル１３が存在しないと判定した場合（ステップＳ３２でＮｏ）、ＳＳ実行部２１は、メモリ部１０に、例えば空の（エントリ未入力の）監視テーブル１３を作成し（ステップＳ３３）、処理がステップＳ３４に移行する。
【０１３６】
監視テーブル１３が存在すると判定した場合（ステップＳ３２でＹｅｓ）、ＳＳ実行部２１は、監視テーブル１３に対して、実行したＳＳの情報を設定し（ステップＳ３４）、処理が終了する。実行したＳＳの情報とは、例えば、図８に示すエントリ内の各項目である。なお、容量には、ＳＳ実行時のＳＳの容量が設定されてよく、更新頻度には、所定の期間内（例えば１日）において、同一のファイルに対する何個目（何回目）のＳＳであるのかを示す回数が設定されてよい。
【０１３７】
なお、ステップＳ３１におけるＳＳ実行処理は、ステップＳ３２〜Ｓ３４の監視テーブル１３の更新処理と並行して、又は、当該更新処理の後に、実行されてもよい。
【０１３８】
〔１−５−３〕ＳＳ監視処理の動作例
次に、図１２を参照して、戻し処理部２４によるＳＳ監視処理の動作例を説明する。戻し処理部２４は、仮拡張領域におけるＳＳの取得時に、図９のステップＳ７で起動され、図１２に例示するＳＳ監視処理を実行する。
【０１３９】
戻し処理部２４は、メモリ部１０に監視テーブル１３が存在するか否かを判定する（ステップＳ４１）。監視テーブル１３が存在しないと判定した場合（ステップＳ４１でＮｏ）、ＳＳの退避が行なわれておらず、監視が不要のため、処理が終了する。
【０１４０】
監視テーブル１３が存在すると判定した場合（ステップＳ４１でＹｅｓ）、戻し処理部２４は、監視テーブル１３を参照して、ＳＳ戻し条件を満たすＳＳが存在するか否かを判定する（ステップＳ４２）。
【０１４１】
例えば、戻し処理部２４は、監視テーブル１３を参照して、ファイル名ごとに、更新頻度が所定頻度（例えば４回／日）以下、且つ、ＳＳ容量が退避時の所定割合（例えば５０％）以下であるＳＳを、ＳＳ戻し条件を満たすＳＳとして検出してよい。
【０１４２】
ＳＳ戻し条件を満たすＳＳが存在すると判定した場合（ステップＳ４２でＹｅｓ）、戻し処理部２４は、条件を満たすＳＳのうちの最新ＳＳを、仮拡張領域からＳＳ領域に戻す戻し処理を行なう（ステップＳ４３）。例えば、戻し処理部２４は、同じファイル名のＳＳのうちの最新世代のＳＳを最新ＳＳとして選択し、選択した最新ＳＳをＳＳ領域のリザーブ領域に移動してよい。
【０１４３】
次いで、戻し処理部２４は、戻し処理が完了したＳＳの実行ルールを元に戻すように変更する（ステップＳ４４）。実行ルールの変更内容としては、例えば、格納先を仮拡張領域からＳＳ領域に変更すること、及び、保存手順をＳＳ領域用に変更すること、等を含んでよい。変更した実行ルールは、例えば、実行制御情報１１に設定されてよい。
【０１４４】
また、戻し処理部２４は、戻し処理が完了したＳＳの仮拡張領域を削除する（ステップＳ４５）。仮拡張領域の削除は、例えば、仮拡張領域に保存されたＳＳのデータの削除、仮拡張領域（ボリューム）に対する物理記憶領域の割当解除（解放）等を含んでよい。
【０１４５】
さらに、戻し処理部２４は、監視テーブル１３から、戻し処理が完了したＳＳの情報を削除する（ステップＳ４６）。例えば、監視テーブル１３から、戻し処理が完了したＳＳに関する１以上のエントリを削除してよい。
【０１４６】
次いで、戻し処理部２４は、監視テーブル１３にエントリが存在するか否かを判定する（ステップＳ４７）。エントリが存在しないと判定した場合（ステップＳ４７でＮｏ）、戻し処理部２４は、メモリ部１０から監視テーブル１３を削除し（ステップＳ４８）、処理がステップＳ４９に移行する。
【０１４７】
監視テーブル１３にエントリが存在すると判定した場合（ステップＳ４７でＹｅｓ）、戻し処理部２４は、戻し処理が完了したＳＳの保存先をＳＳ領域に戻した旨を、管理者に通知する（ステップＳ４９）。
【０１４８】
また、戻し処理部２４は、特定テーブル１２から戻し処理が完了したＳＳの情報を削除する（ステップＳ５０）。例えば、特定テーブル１２から、戻し処理が完了したＳＳに関するエントリを削除してよい。
【０１４９】
次いで、戻し処理部２４は、特定テーブル１２にエントリが存在するか否かを判定する（ステップＳ５１）。エントリが存在すると判定した場合（ステップＳ５１でＹｅｓ）、処理が終了する。また、エントリが存在しないと判定した場合（ステップＳ５１でＮｏ）、戻し処理部２４は、メモリ部１０から特定テーブル１２を削除し（ステップＳ５２）、処理が終了する。
【０１５０】
また、ステップＳ４２において、ＳＳ戻し条件を満たすＳＳが存在しないと判定した場合（ステップＳ４２でＮｏ）、戻し処理部２４は、仮拡張領域におけるＳＳ容量が退避時のＳＳ容量よりも大きいか否かを判定する（ステップＳ５３）。例えば、戻し処理部２４は、特定テーブル１２に設定された、退避時のＳＳの第１容量と、監視テーブル１３に設定された、仮拡張領域に保存されているＳＳの第２容量と、を比較し、第２容量が第１容量よりも大きいか否かを判定してよい。なお、仮拡張領域に複数世代のＳＳが保存されている場合、第２容量は、最新世代のＳＳの容量が用いられてよく、又は、保存されている複数世代のＳＳの容量の平均或いは最大値、が用いられてもよい。
【０１５１】
仮拡張領域におけるＳＳ容量が退避時のＳＳ容量よりも大きくないと判定した場合（ステップＳ５３でＮｏ）、処理が終了する。
【０１５２】
一方、仮拡張領域におけるＳＳ容量が退避時のＳＳ容量よりも大きいと判定した場合（ステップＳ５３でＹｅｓ）、ファイルサイズが退避時よりも増加しているため、仮拡張領域の容量不足が発生している。仮拡張領域のサイズは、退避時のＳＳ容量のＮ倍のサイズとして確保されているためである。
【０１５３】
そこで、戻し処理部２４は、物理記憶領域において、仮拡張領域の拡張が可能か否かを判定する（ステップＳ５４）。一例として、戻し処理部２４は、現在の仮拡張領域（ボリューム）のサイズとストレージ３０又はディスクアレイの未割当領域のサイズとの和が、現在のＳＳの容量を示す第２容量のＮ倍のサイズよりも大きいか否かを判定し、大きい場合に、拡張可能と判定してよい。
【０１５４】
仮拡張領域の拡張が可能であると判定した場合（ステップＳ５４でＹｅｓ）、戻し処理部２４は、仮拡張領域の容量を、第２容量のＮ倍の容量まで拡張し（ステップＳ５５）、処理が終了する。
【０１５５】
一方、仮拡張領域の拡張が可能ではないと判定した場合（ステップＳ５４でＮｏ）、戻し処理部２４は、仮拡張領域の容量（ボリューム容量）が不足している旨を、管理者に通知し（ステップＳ５６）、処理が終了する。これにより、通知を受けた管理者は、ストレージ３０又はディスクアレイの容量を拡張できる。従って、次回のＳＳ監視処理において、処理がステップＳ５４に遷移した場合に、戻し処理部２４は、ステップＳ５４のＹｅｓのルートを経由し、ステップＳ５５において仮拡張領域の容量を拡張可能となる。
【０１５６】
〔２〕その他
上述した一実施形態に係る技術は、以下のように変形、変更して実施することができる。
【０１５７】
例えば、図２に示す制御装置２０の各機能ブロックは、それぞれ任意の組み合わせで併合してもよく、分割してもよい。
【０１５８】
また、制御装置２０の機能は、マルチプロセッサやマルチコアプロセッサであるプロセッサ２ａ又は５ａによって実現されてもよい。さらに、ＮＳ２又は制御装置２０が有する機能の少なくとも一部は、例えばクラウド環境のように、複数のコンピュータに分散又は冗長化して配置されてもよい。
【０１５９】
さらに、一実施形態において、ＳＳがファイル単位で取得されるものとしたが、これに限定されるものではない。例えば、図１３に示すように、ＳＳがボリューム単位で取得されてもよい。
【０１６０】
ＳＳがボリューム単位で取得される場合、一実施形態に係る説明は、図５に示す「ファイル」を、図１３に示すように、「ボリューム」に読み替えればよい。また、図５に示す、ファイルを含む「データ領域」と、データ領域及びＳＳ領域を含む「ボリューム」と、をそれぞれ、「データボリューム群」と、「ボリューム群」と、に読み替えればよい。さらに、図５に示す「物理ディスク」を、仮拡張領域の候補である未割当領域と、データボリューム群と、ＳＳ領域と、を含む論理ディスクに読み替えればよい。
【０１６１】
なお、ＳＳの取得（移動）単位は、ファイル単位やボリューム単位に限らず、「バックアップ」を行なうことが可能な種々の単位で行なわれてよい。
【０１６２】
〔３〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
【０１６３】
（付記１）
バックアップの処理単位であるボリューム又はファイルのバックアップデータを格納するバックアップ格納領域における空き容量を監視する監視部と、
前記監視により前記空き容量が閾値未満であると判定された場合、前記バックアップ格納領域にバックアップデータが格納されたボリューム又はファイルのうち、当該バックアップデータを前記バックアップ格納領域から退避記憶領域に移動する第１移動制御の対象となるボリューム又はファイルを決定し、決定したボリューム又はファイルに対して第１情報を管理情報に設定する決定部と、
前記第１情報が設定されたボリューム又はファイルに対して、前記第１移動制御を行なう第１移動制御部と、
をそなえるストレージ制御装置。
【０１６４】
（付記２）
前記決定部は、前記バックアップ格納領域にバックアップデータが格納されたボリューム又はファイルから、バックアップの実行回数、及び、バックアップデータのデータサイズ、の少なくとも一方に基づき、前記第１移動制御の対象となるボリューム又はファイルを決定する、
付記１に記載のストレージ制御装置。
【０１６５】
（付記３）
前記決定部は、前記実行回数と前記データサイズとの積が大きい順に、上位から１以上のボリューム又はファイルを、前記第１移動制御の対象として決定する、
付記２に記載のストレージ制御装置。
【０１６６】
（付記４）
前記第１情報が設定されたボリューム又はファイルに対するバックアップの実行要求に応じて、当該ボリューム又はファイルのバックアップデータを前記退避記憶領域に格納し、当該実行要求に応じたバックアップの実行タイミングと、当該バックアップデータのデータサイズと、を含む第２情報を、前記管理情報に設定するバックアップ実行部、をそなえる、
付記１〜３のいずれか１項に記載のストレージ制御装置。
【０１６７】
（付記５）
前記退避記憶領域にバックアップデータが格納されたボリューム又はファイルのうち、第２移動制御の対象となるボリューム又はファイルを決定し、前記第２移動制御の対象として決定したボリューム又はファイルの１のバックアップデータを、前記退避記憶領域から前記バックアップ格納領域に移動する第２移動制御部、をそなえる、
付記４に記載のストレージ制御装置。
【０１６８】
（付記６）
前記第２移動制御部は、前記第２情報に基づき、所定期間におけるバックアップの実行回数が所定回数以下のボリューム又はファイルを、前記第２移動制御の対象として決定する、
付記５に記載のストレージ制御装置。
【０１６９】
（付記７）
前記第２移動制御部は、前記第２情報に設定されたバックアップデータのデータサイズが、前記第１移動制御の対象として決定されたときのバックアップデータのデータサイズの所定割合以下であるボリューム又はファイルを、前記第２移動制御の対象として決定する、
付記５又は付記６に記載のストレージ制御装置。
【０１７０】
（付記８）
前記第１移動制御部は、前記第１情報が示すボリューム又はファイルに対する前記退避記憶領域であって、前記第１移動制御の対象として決定されたときのバックアップデータのデータサイズのＮ倍の容量の前記退避記憶領域を、ストレージ装置の未割当記憶領域に作成し、作成した前記退避記憶領域を用いて前記第１移動制御を行なう、
付記４〜７のいずれか１項に記載のストレージ制御装置。
【０１７１】
（付記９）
前記バックアップ実行部は、前記退避記憶領域に最新のＮ世代分のバックアップデータが保存されるように、前記第１情報が設定されたボリューム又はファイルに対するバックアップの実行要求に応じて、当該ボリューム又はファイルのバックアップデータを、前記退避記憶領域をＮ分割したＮ個の分割領域のいずれかに格納する、
付記８に記載のストレージ制御装置。
【０１７２】
（付記１０）
バックアップの処理単位であるボリューム又はファイルのバックアップデータを格納するバックアップ格納領域における空き容量を監視し、
前記監視により前記空き容量が閾値未満であると判定された場合、前記バックアップ格納領域にバックアップデータが格納されたボリューム又はファイルのうち、当該バックアップデータを前記バックアップ格納領域から退避記憶領域に移動する第１移動制御の対象となるボリューム又はファイルを決定し、決定したボリューム又はファイルに対して第１情報を管理情報に設定し、
前記第１情報が設定されたボリューム又はファイルに対して、前記第１移動制御を行なう、
処理をコンピュータに実行させる、ストレージ制御プログラム。
【０１７３】
（付記１１）
前記決定は、前記バックアップ格納領域にバックアップデータが格納されたボリューム又はファイルから、バックアップの実行回数、及び、バックアップデータのデータサイズ、の少なくとも一方に基づき、前記第１移動制御の対象となるボリューム又はファイルを決定する、
付記１０に記載のストレージ制御プログラム。
【０１７４】
（付記１２）
前記決定は、前記実行回数と前記データサイズとの積が大きい順に、上位から１以上のボリューム又はファイルを、前記第１移動制御の対象として決定する、
付記１１に記載のストレージ制御プログラム。
【０１７５】
（付記１３）
前記第１情報が設定されたボリューム又はファイルに対するバックアップの実行要求に応じて、当該ボリューム又はファイルのバックアップデータを前記退避記憶領域に格納し、
当該実行要求に応じたバックアップの実行タイミングと、当該バックアップデータのデータサイズと、を含む第２情報を、前記管理情報に設定する、
処理を前記コンピュータに実行させる、付記１０〜１２のいずれか１項に記載のストレージ制御プログラム。
【０１７６】
（付記１４）
前記退避記憶領域にバックアップデータが格納されたボリューム又はファイルのうち、第２移動制御の対象となるボリューム又はファイルを決定し、
前記第２移動制御の対象として決定したボリューム又はファイルの１のバックアップデータを、前記退避記憶領域から前記バックアップ格納領域に移動する前記第２移動制御を行なう、
処理を前記コンピュータに実行させる、付記１３に記載のストレージ制御プログラム。
【０１７７】
（付記１５）
前記第２情報に基づき、所定期間におけるバックアップの実行回数が所定回数以下のボリューム又はファイルを、前記第２移動制御の対象として決定する、
付記１４に記載のストレージ制御プログラム。
【０１７８】
（付記１６）
前記第２情報に設定されたバックアップデータのデータサイズが、前記第１移動制御の対象として決定されたときのバックアップデータのデータサイズの所定割合以下であるボリューム又はファイルを、前記第２移動制御の対象として決定する、
付記１４又は付記１５に記載のストレージ制御プログラム。
【０１７９】
（付記１７）
前記第１情報が示すボリューム又はファイルに対する前記退避記憶領域であって、前記第１移動制御の対象として決定されたときのバックアップデータのデータサイズのＮ倍の容量の前記退避記憶領域を、ストレージ装置の未割当記憶領域に作成し、作成した前記退避記憶領域を用いて前記第１移動制御を行なう、
処理を前記コンピュータに実行させる、付記１３〜１６のいずれか１項に記載のストレージ制御プログラム。
【０１８０】
（付記１８）
前記退避記憶領域に最新のＮ世代分のバックアップデータが保存されるように、前記第１情報が設定されたボリューム又はファイルに対するバックアップの実行要求に応じて、当該ボリューム又はファイルのバックアップデータを、前記退避記憶領域をＮ分割したＮ個の分割領域のいずれかに格納する、
処理を前記コンピュータに実行させる、付記１７に記載のストレージ制御プログラム。
【符号の説明】
【０１８１】
１    ストレージシステム
２    ネットワークストレージ
３    端末
４    ネットワーク
１０    メモリ部
１１    実行制御情報
１２    特定テーブル
１３    監視テーブル
２０    制御装置
２１    ＳＳ実行部
２２    ＳＳ領域監視部
２３    退避処理部
２４    戻し処理部
３０    ストレージ
【図１】
2020009106.tif 000003
【図２】
2020009106.tif 000004
【図３】
2020009106.tif 000005
【図４】
2020009106.tif 000006
【図５】
2020009106.tif 000007
【図６】
2020009106.tif 000008
【図７】
2020009106.tif 000009
【図８】
2020009106.tif 000010
【図９】
2020009106.tif 000011
【図１０】
2020009106.tif 000012
【図１１】
2020009106.tif 000013
【図１２】
2020009106.tif 000014
【図１３】
2020009106.tif 000015