[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2014215666A - 制御システム,制御装置及び制御プログラム - Google Patents

制御システム,制御装置及び制御プログラム Download PDF

Info

Publication number
JP2014215666A
JP2014215666A JP2013090128A JP2013090128A JP2014215666A JP 2014215666 A JP2014215666 A JP 2014215666A JP 2013090128 A JP2013090128 A JP 2013090128A JP 2013090128 A JP2013090128 A JP 2013090128A JP 2014215666 A JP2014215666 A JP 2014215666A
Authority
JP
Japan
Prior art keywords
unit
control unit
processor unit
virtual
load
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013090128A
Other languages
English (en)
Other versions
JP2014215666A5 (ja
Inventor
杉雄 渡辺
Sugio Watanabe
杉雄 渡辺
浩志 潮見
Koji Shiomi
浩志 潮見
裕一 阪上
Yuichi Sakagami
裕一 阪上
憲司 日吉
Kenji Hiyoshi
憲司 日吉
友明 佐々木
Tomoaki Sasaki
友明 佐々木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Fujitsu Broad Solution and Consulting Inc
Original Assignee
Fujitsu Ltd
Fujitsu Broad Solution and Consulting Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd, Fujitsu Broad Solution and Consulting Inc filed Critical Fujitsu Ltd
Priority to JP2013090128A priority Critical patent/JP2014215666A/ja
Priority to US14/256,339 priority patent/US20140317348A1/en
Priority to EP14165383.2A priority patent/EP2796984A1/en
Publication of JP2014215666A publication Critical patent/JP2014215666A/ja
Publication of JP2014215666A5 publication Critical patent/JP2014215666A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】制御ユニットを増設した場合におけるアクセスパスの設定を自律的に行なう。【解決手段】アクセスパスを制御するマルチパスドライバ52を有する上位装置50と、前記上位装置50と通信可能に新規に接続される第1の制御ユニット10−3に対するアクセスパスの設定を指示する制御信号を前記上位装置50へ送信する第2の制御ユニット10−1と、を備え、前記マルチパスドライバ52は、前記第2の制御ユニット10−1からの制御信号に基づいて前記第1の制御ユニット10−3に対するアクセスパスの設定を行なう。【選択図】図1

Description

本発明は、制御システム,制御装置及び制御プログラムに関する。
ストレージシステムにおいて、拡張性向上のために、スケールアップやスケールアウトといった手法が知られている。
スケールアップは、ストレージの構成要素、コントローラ、キャッシュメモリ、ポート、及びディスク等を設置することによって、システムのスケールを拡張するものである。スケールアウトは、ストレージユニットや制御ユニットを含むストレージ装置を複数接続することによって、システムのスケールを拡張するものである。
ストレージシステムに制御ユニットを増設した場合、制御ユニットごとにホストに接続するためのポートを持っているため、ホストと増設する制御ユニット(増設制御ユニット)間のアクセスパスを追加する人的作業が行なわれる。
この作業にあたって、ストレージシステムの運用を停止し、いったん既存のアクティブパスをログアウト(切断)して、増設制御ユニットに対してログイン(接続)する操作が行なわれる。
特開2005−50303号公報 特開2008−269338号公報
しかしながら、スケールアップやスケールアウトにより構築されるストレージシステムにおいて、複数のホストによる利用がなされている可能性があり、システムの運用停止はホストの業務への影響が大きく好ましくない。
また、増設制御ユニットを含む複数の制御ユニットの負荷の最適化を行なう必要がある。
一側面によれば、制御ユニットを増設した場合におけるアクセスパスの設定を自律的に行なうことができる制御システム、制御装置、ストレージ装置を提供することを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
このため、この制御システムは、アクセスパスを制御するマルチパスドライバを有する上位装置と、前記上位装置と通信可能に新規に接続される第1の制御ユニットに対するアクセスパスの設定を指示する制御信号を前記上位装置へ送信する第2の制御ユニットと、を備え、前記マルチパスドライバは、前記第2の制御ユニットからの制御信号に基づいて前記第1の制御ユニットに対するアクセスパスの設定を行なう。
また、この制御装置は、アクセスパスを制御するマルチパスドライバを有する上位装置に対して通信を行なう通信部と、前記上位装置と通信可能に新規に接続される第1の制御ユニットに対するアクセスパスの設定を指示する制御信号を前記上位装置へ送信する送信部とを備える。
さらに、この制御プログラムは、アクセスパスを制御するマルチパスドライバを有する上位装置と通信可能なコンピュータに、前記上位装置と通信可能に新規に接続される第1の制御ユニットに対するアクセスパスの設定を指示する制御信号を前記上位装置へ送信させる処理を実行させる。
一実施形態によれば、制御ユニットを増設した場合におけるアクセスパスの設定を自律的に行なうことができる
実施形態の一例としてのストレージシステムの構成を模式的に示す図である。 実施形態の一例としてのストレージシステムのハードウェア構成を示す図である。 実施形態の一例としてのストレージシステムのプロセッサユニットのハードウェア構成を例示する図である。 実施形態の一例としてのストレージシステムにおける負荷記録情報を例示する図である。 実施形態の一例としてのストレージシステムにおける性能スコア情報を例示する図である。 実施形態の一例としてのストレージシステムにおける目標負荷情報を例示する図である。 実施形態の一例としてのストレージシステムにおける担当リストを例示する図である。 実施形態の一例としてのストレージシステムにおける移動仮想ディスクの選択方法を説明するフローチャートである。 実施形態の一例としてのストレージシステムにおける仮想ディスクに対するアクセスパスの切り替え方法を説明するシーケンス図である。 実施形態の一例としてのストレージシステムにおける、プロセッサユニットの増設時の処理を説明するフローチャートである。 実施形態の一例としてのストレージシステムにおける新プロセッサユニットの増設時の状態を例示する図である。 実施形態の一例としてのストレージシステムにおける新プロセッサユニットの増設時の状態を例示する図である。 実施形態の変形例としてのストレージシステムにおける負荷記録情報を例示する図である。 実施形態の変形例としてのストレージシステムにおける性能スコア情報を例示する図である。 実施形態の変形例としてのストレージシステムにおける目標負荷情報を例示する図である。 実施形態の変形例としてのストレージシステムにおける担当リストを例示する図である。 実施形態の変形例としてのストレージシステムにおける移動仮想ディスクの決定方法を説明するフローチャートである。
以下、図面を参照して本制御システム、制御装置及び制御プログラムに係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形(実施形態及び各変形例を組み合わせる等)して実施することができる。又、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
(A)実施形態
図1は実施形態の一例としてのストレージシステムの構成を模式的に示す図、図2はそのハードウェア構成を示す図である。
本ストレージシステム1は、図1に示すように、1以上(図1に示す例では6つ)のホスト(上位装置)50−1〜50−6と、複数(図1に示す例では2つ)のスイッチ40−1,40−2と、仮想ストレージシステム100とを備える。
本ストレージシステム1は、スケールアウト型システムであり、ストレージユニット30やプロセッサユニット10を任意に接続(増設)することによって、システムのスケールを拡張することができる。
本実施形態においては、2つのプロセッサユニット10−1,10−2が備えられた仮想ストレージシステム100において、新たにプロセッサユニット10−3を増設する例について説明する。
以下、プロセッサユニットを示す符号としては、複数のプロセッサユニットのうち1つを特定する必要があるときには符号10−1〜10−3を用いるが、任意のプロセッサユニットを指すときには符号10を用いる。なお、プロセッサユニット10の詳細については後述する。
ホスト50−1〜50−6はそれぞれサーバ機能を有するコンピュータである。これらのホスト50−1〜50−6は、仮想ストレージシステム100が提供する仮想ディスク(仮想ボリューム)2にデータアクセスを行ない、データの書き込みや読み出しを行なう。
ホスト50−1〜50−6は互いに同様の構成を備えている。以下、ホストを示す符号としては、複数のホストのうち1つを特定する必要があるときには符号50−1〜50−6を用いるが、任意のホストを指すときには符号50を用いる。又、ホスト50−1をホスト#1と表す場合がある。同様に、ホスト50−2〜50−6をホスト#2〜#6と表す場合がある。
各ホスト50は、図2に示すように、それぞれ複数(図2に示す例では2つ)のホストアダプタ51を備え、これらのホストアダプタ51が、スイッチ40−1,40−2に備えられるポート41とLANケーブル等の通信線を介して接続される。
ホスト50−1〜50−6は、スイッチ40−1を介して仮想ストレージシステム100の各プロセッサユニット10とそれぞれ通信可能に接続される。又、ホスト50−1〜50−6は、スイッチ40−2を介しても各プロセッサユニット10とそれぞれ通信可能に接続される。これにより、各ホスト50−1〜50−6と各プロセッサユニット10とを接続する通信経路は、スイッチ40−1を介する経路とスイッチ40−2を介する経路とで冗長化される。
各ホスト50−1〜50−6と各プロセッサユニット10とは、例えば、iSCSI(Internet Small Computer System Interface)で接続される。すなわち、スイッチ40はLAN(Local Area Network)スイッチである。
また、各ホスト50においては、図示しないメモリ等の記憶装置にマルチパスドライバ52が格納され、同じく図示しないプロセッサがこのマルチパスドライバ52を実行することにより、後述するアクセスパス切替制御を実現する。
マルチパスドライバ52は、後述する各プロセッサユニット10との通信を行なうものであり、各プロセッサユニット10が提供する各仮想ディスク(仮想ボリューム)2へのアクセスを制御するプログラムである。マルチパスドライバ52は、各仮想ディスク2へのアクセスパス(論理パス)を管理する。仮想ディスク2へのアクセスパスには、“アクティブ(Active)”もしくは“スタンバイ(Standby)”のいずれかの属性情報が設定される。ここで、アクセスパスにスタンバイが設定されている場合には、そのアクセスパスを介して接続された仮想ディスク2へのアクセスを行なうことはできない。アクセスパスにアクティブが設定されている場合には、そのアクセスパスを介して接続された仮想ディスク2にアクセスが可能となる。
マルチパスドライバ52は仮想ディスク2へのアクセスパス毎に、アクティブもしくはスタンバイを設定する機能を有する。
マルチパスドライバ52は、プロセッサユニット10から後述するアクセスパス作成指示を受信すると、このアクセスパス作成指示に従って、仮想ディスク2に対するアクセスパスを設定し(割り当て)、この設定したアクセスパスをスタンバイ状態とする。すなわち、マルチパスドライバ52は、スタンバイパスとして新規のアクセスパスを追加する機能を有する。
また、マルチパスドライバ52は、プロセッサユニット10から後述するアクティブパス変更指示を受信すると、スタンバイ状態のアクセスパス(スタンバイパス)をアクティブ状態に設定することでアクティブパスに変更する。
なお、マルチパスドライバ52は、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
マルチパスドライバ52を実行してその機能を実現する際には、内部記憶装置(本実施形態では図示しないメモリ)に格納されたプログラムがコンピュータのマイクロプロセッサ(図示しないプロセッサ)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、ホスト50がコンピュータとしての機能を有しているのである。
スイッチ40−1,40−2は、コンピュータネットワークにおいてデータの転送先を切り替える通信装置(中継装置)である。
これらのスイッチ40−1,40−2は互いに同様の構成を備えている。以下、スイッチを示す符号としては、複数のスイッチのうち1つを特定する必要があるときには符号40−1,40−2を用いるが、任意のスイッチを指すときには符号40を用いる。又、スイッチ40−1をスイッチ#1と表す場合があり、スイッチ40−2をスイッチ#2と表す場合がある。
各スイッチ40は、図2に示すように、それぞれ複数のポート41を備え、これらのポート41が、ホスト50に備えられるホストアダプタ51や、プロセッサユニット10のホストインタフェース(I/F)110と通信線を介して接続される。図2に示す例においては、16個のポート41を備えた16ポートのスイッチ40−1,40−2が備えられている。又、各スイッチ40は、データ転送を制御するための図示しないプロセッサ等を備える。
仮想ストレージシステム100は、ストレージユニット30−1〜30−3の記憶装置32(実ディスク)の記憶領域を仮想化し、ホスト50等に対して、記憶装置32の種別や配置場所等に依存しない仮想ディスク2−1〜2−7をユーザに提供する。
仮想ストレージシステム100は、図2に示すように、1以上(図2に示す例では2つ)のプロセッサユニット10−1,10−2と、1以上(図2に示す例では2つ)の内部スイッチ20−1,20−2と、1以上(図2に示す例では3つ)のストレージユニット30−1〜30−3とを備える。
なお、図1中においては、便宜上、仮想ストレージシステム100における内部スイッチ20−1,20−2等の一部の図示を省略している。
本ストレージシステム1においては、プロセッサユニット単位で構成変更することができ、プロセッサユニット10を任意に増設もしくは減設することができる。
ストレージユニット30−1〜30−3は、図2に示すように、1以上の記憶装置32と複数(図2に示す例では2つ)のコントローラモジュール(CM:Controller Module)31−1,31−2とを備え、データの記憶を行なう。
ストレージユニット30−1〜30−3は互いに同様の構成を備える。以下、ストレージユニットを示す符号としては、複数のストレージユニットのうち1つを特定する必要があるときには符号30−1〜30−3を用いるが、任意のストレージユニットを指すときには符号30を用いる。
本ストレージシステム1においては、ストレージユニット30単位で構成変更することができ、ストレージユニット30を任意に増設もしくは減設することができる。
記憶装置32は、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の記憶装置であって、種々のデータを格納する。図2に示す例においては、各ストレージユニット30に5つの記憶装置32が備えられているが、これに限定されるものではなく、ストレージユニット30には、4つ以下、もしくは6つ以上の記憶装置32を備えてもよい。
また、ストレージユニット30においては、単数もしくは複数の記憶装置32により論理ユニットが構成されている。なお、ストレージユニット30においては、複数の記憶装置32によりRAID(Redundant Arrays of Inexpensive Disks)を構成してもよい。
また、本ストレージシステム1においては、ストレージユニット30に記憶装置32単位で構成変更することもでき、記憶装置32を任意に増設もしくは減設することができる。
CM31−1,31−2は、ストレージユニット30内のデータアクセスの制御等、種々の制御を行なうものであり、プロセッサユニット10からのストレージアクセス要求(アクセス制御信号)に従って、記憶装置32へのアクセス制御等を行なう。又、CM31−1,31−2は互いに同様の機能構成を有している。
CM31−1,31−2は内部スイッチ20−1,20−2を介してプロセッサユニット10−1,10−2に接続され、ホスト50からのリード/ライト等のコマンドに従い、記憶装置32の制御を行なう。
内部スイッチ20−1,20−2は、仮想ストレージシステム100内においてデータの転送先を切り替える。これらの内部スイッチ20−1,20−2は、互いに同様の構成を備えている。以下、内部スイッチを示す符号としては、複数の内部スイッチのうち1つを特定する必要があるときには符号20−1,20−2を用いるが、任意のスイッチを指すときには符号20を用いる。
内部スイッチ20は複数(図2に示す例では16個)のポート21を備え、これらのポート21が、プロセッサユニット10のストレージI/F111や、ストレージユニット30のインタフェースと通信線を介して接続されている。
仮想ストレージシステム100内において、各プロセッサユニット10と各ストレージユニット30−1〜30−3とは、例えば、iSCSで接続される。すなわち、内部スイッチ20はLANスイッチである。
プロセッサユニット(制御ユニット)10は、ホスト50に対して仮想的な論理記憶領域である仮想ディスクを提供する制御を行なう。
各プロセッサユニット10は、内部スイッチ20−1を介してストレージユニット30−1〜30−3とそれぞれ通信可能に接続される。又、各プロセッサユニット10は、内部スイッチ20−2を介してもストレージユニット30−1〜30−3とそれぞれ通信可能に接続される。これにより、各プロセッサユニット10と各ストレージユニット30−1〜30−3とを接続する通信経路は、内部スイッチ20−1を介する経路と内部スイッチ20−2を介する経路とで冗長化される。
以下、プロセッサユニット10−1をプロセッサユニット#1という場合がある。同様に、プロセッサユニット10−2をプロセッサユニット#2と、又、プロセッサユニット10−3をプロセッサユニット#3という場合がある。又、特に、本ストレージシステム1に新たに増設されるプロセッサユニット10−3を、新プロセッサユニットもしくは増設プロセッサユニットといい、符号10−3もしくは#3で示す場合がある。
本ストレージシステム1においては、複数のプロセッサユニット10のうち1台がマスタ(マスタプロセッサ;第2の制御ユニット)として機能し、このマスタプロセッサユニット10が他のスレーブプロセッサユニット(第3の制御ユニット)10を管理する。本実施形態においては、プロセッサユニット10−1がマスタプロセッサユニットであり、他のプロセッサユニット10−2,10−3がスレーブプロセッサユニットとなる。
なお、複数のプロセッサユニット10−1〜10−3が備えられたストレージシステム1の運用中にマスタプロセッサユニット10−1に何らかの異常が検出された場合には、プロセッサユニット10−1に代えてプロセッサユニット10−2,10−3のいずれかがマスタプロセッサユニットとして機能する。すなわち、各プロセッサユニット10がそれぞれマスタプロセッサユニットとしての機能を実現可能に構成されている。
なお、マスタプロセッサユニット10−1に何らかの異常が検知された場合に、複数のスレーブプロセッサユニット10のうち、いずれのプロセッサユニット10が次のマスタプロセッサユニットとして機能するかは、例えば、予め設定されたプライオリティ等に従う等、種々変形して実施することができる。
図3は実施形態の一例としてのストレージシステム1のプロセッサユニット10のハードウェア構成を例示する図である。
プロセッサユニット10は、図3に示すように、CPU114,メモリ115,記憶装置116,LAN I/F112,1以上(図3に示す例では2つ)のホストI/F110及び1以上(図3に示す例では2つ)のストレージI/F111を備える。
ホストI/F(通信部)110は、上述したホスト50との間でデータ通信を行なうための通信制御機器であり、ストレージI/F111は、ストレージユニット30との間でデータ通信を行なうための通信制御機器である。LAN I/F112は、他のプロセッサユニット10との間でデータ通信を行なうための通信機器である。これらのLAN I/F112,ホストI/F110及びストレージI/F111としては、既知の種々のインタフェース機器を用いることができる。
メモリ115はROM及びRAMを含む記憶装置である。メモリ115のROMには、OS(Operating System)1154や、仮想ディスク制御に係るソフトウェアプログラム(ファームウェア;制御プログラム)、このプログラム用のデータ類が書き込まれている。メモリ115上のOS1154や各種ソフトウェアプログラムは、CPU114に適宜読み込まれて実行される。
図3に示す例においては、メモリ115に格納されたファームウェア1150が、データアクセス制御部1151,データ記憶制御部1152及びユニット管理部1153としての各機能を実現するモジュールを有する。
ここで、データアクセス制御部1151は、ホスト50からのアクセスを制御するものであり、例えば、ホスト50から仮想ディスク2に対するデータアクセスを制御する。データ記憶制御部1152は、各ストレージユニット30とのアクセスを制御する。ユニット管理部1153は、仮想ディスクシステムを構築するための種々の制御を行なう。例えば、ユニット管理部1153は、仮想ディスク2の設定を行ない、この仮想ディスク2とストレージユニット30に備えられている記憶装置32との対応付け等を行なう。
また、これらのデータアクセス制御部1151,データ記憶制御部1152及びユニット管理部1153が協働して、後述する検出部11,送信部12,負荷情報収集部13,性能情報収集部14,選択部15,移動指示部16及び仮想ディス管理部17としての機能を実現する。
メモリ115のRAMは、一次記憶メモリあるいはワーキングメモリとして利用される。
さらに、マスタプロセッサユニット10−1のメモリ115には、後述する性能スコア情報101,負荷記録情報102,目標負荷情報103及び担当リスト104が格納される。
CPU114は、図示しないプロセッサは、種々の制御や演算を行なう処理装置であり、メモリ115に格納されたOS1154やプログラム(ファームウェア1150:制御プログラム)を実行することにより、種々の機能を実現する。
すなわち、マスタプロセッサユニット10−1において、CPU114は、図1に示すように、仮想ディスク管理部17,検出部11,送信部12,負荷情報収集部13,性能情報収集部14,選択部15及び移動指示部16として機能する。
なお、これらの仮想ディスク管理部17,検出部11,送信部12,負荷情報収集部13,性能情報収集部14,選択部15及び移動指示部16としての機能を実現するためのプログラム(ファームウェア1150)は、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
仮想ディスク管理部17,検出部11,送信部12,負荷情報収集部13,性能情報収集部14,選択部15及び移動指示部16としての機能を実現する際には、内部記憶装置(本実施形態ではメモリ115)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではCPU114)によって実行される。このとき、記録媒体に記録されたプログラムを図示しない読取装置を介してコンピュータが読み取って実行するようにしてもよい。本実施形態においては、プロセッサユニット10がコンピュータとしての機能を有している。
仮想ディスク管理部17は、各ストレージユニット30に搭載された記憶装置32をプール化し、各プロセッサユニット10をクラスタリングすることで仮想ディスク2を実現する。なお、プロセッサユニット10における仮想ディスク2の設定は既知の手法により実現することができるものであり、その説明は省略する。
図1に示す例においては、プロセッサユニット10−1に仮想ディスク2−1〜2−4が備えられている。同様に、プロセッサユニット10−2に仮想ディスク2−5〜2−7が備えられている。
すなわち、図1に示す状態においては、プロセッサユニット10−1が仮想ディスク2−1〜2−4を管理しており、プロセッサユニット10−2が仮想ディスク2―5〜2−7を管理している。なお、以下、プロセッサユニット10が仮想ディスク2を管理することを、プロセッサユニット10が仮想ディスク2を担当すると表現する場合もある。
本ストレージシステム1においては、プロセッサユニット10−1,10−2がそれぞれ、複数の仮想ボリューム2を管理する第3の制御ユニットに相当する。
そして、新たにプロセッサユニット10−3が増設されると、これらの仮想ディスクアレイ装置2−1〜2−7の少なくとも一部が、このプロセッサユニット10−3に移動される。
検出部11は、本ストレージシステム1に新たなプロセッサユニット10が増設(接続)されたことを検知(認識)する。
仮想ストレージシステム50において、新たなプロセッサユニット10−3が増設される場合には、この増設プロセッサユニット10−3は、LAN I/F112を介して既存のプロセッサユニット10−1,10−2に接続される。又、この増設プロセッサユニット10−3は、スイッチ40−1,40−2を介してホスト50−1〜50−6に接続され、又、内部スイッチ20−1,20−2を介してストレージユニット30−1〜30−3に接続される。
検出部11は、新プロセッサユニット10−3を、LAN I/F112を介して検知してもよく、又、ホスト50等を介して検知してもよい。
また、検出部11は、新プロセッサユニット10−3から、iSCSIのターゲットID等の情報を取得して、図示しない管理情報に記憶しておくことで、新プロセッサユニット10−3の存在を認識することができる。
負荷情報収集部13は、各プロセッサユニット10の各仮想ボリューム2に対する各ホスト50からのアクセスパス毎に負荷情報を収集する。具体的には、負荷収集部13は、仮想ディスク2へのアクセスパス毎に、“iops(Input/Output Per Second)/データ転送量”をアクセスパス毎の負荷情報として測定する。iopsは記憶装置の性能指標の一つであり、iops/データ転送量は、所定のデータ転送量でのiopsを示す。
すなわち、負荷情報収集部13は、仮想ディスク2を備える各プロセッサユニット10−1,10−2に対して、それぞれ自身が管理(担当)する仮想ディスク2へのアクセスパス毎にiops/データ転送量を測定させる。
各プロセッサユニット10は、マスタプロセッサユニット10−1の負荷情報収集部13からiops/データ転送量の測定指示を受信すると、自身が管理する仮想ディスク2へのパス毎にiops/データ転送量を測定(取得)し、測定結果をマスタプロセッサユニット10−1に送信する。なお、各プロセッサユニット10におけるiops/データ転送量の測定は、既知の手法で実現することができ、その説明は省略する。
負荷情報収集部13は、各プロセッサユニット10から送付されたiops/データ転送量を、負荷記録情報102に登録する。負荷記録情報102は、iops/データ転送量を仮想ディスク2を特定する情報に対応付けて構成される。
図4は実施形態の一例としてのストレージシステム1における負荷記録情報102を例示する図である。
この図4に示す負荷記録情報102は、図1に示すストレージシステム1における、既存の2つのプロセッサユニット#1,#2についての各iops/データ転送量を負荷記録として示している。
図1に示すストレージシステム1は、プロセッサユニット#1にID1〜4で示される4つの仮想ディスク2−1〜2−4が備えられるとともに、既存のプロセッサユニット#2にID1〜3で特定される3つの仮想ディスク2−5〜2−7が備えられている。
図4に示す負荷記録情報102においては、ストレージシステム1における既存の仮想ディスク2(担当ボリューム)のそれぞれに対して、iops/データ転送量が負荷記録として格納される。なお、この図4に示す例においては、各仮想ディスク2のiops/データ転送量の合計が50となっている。
この負荷記録情報102は、例えば、マスタプロセッサユニット10−1のメモリ115や記憶装置116に格納される。
性能情報収集部14は、ストレージシステム1内の各プロセッサユニット10の性能情報を収集する。具体的には、性能情報収集部14は、新プロセッサユニット10−3を含む全てのプロセッサユニット10に、各プロセッサユニット10の記憶装置116等に予め格納されている性能チェックプログラムを実行させる。
性能チェックプログラムは、実行されるプロセッサユニット10の処理性能を測定するものであり、その測定結果をスコア(性能スコア;性能情報)として出力する。この性能チェックプログラムとしては、例えば、CPU114の演算性能等を測定するベンチマーキングプログラムとして既知の種々のプログラムを用いることができる。
性能チェックプログラムを実行した各プロセッサユニット10は、測定結果として出力された性能スコアを、マスタプロセッサユニット10−1の性能情報収集部14に送信する。
性能情報収集部14は、各プロセッサユニット10から送信された性能スコアを性能スコア情報101として管理する。
性能スコア情報101は、性能スコアを、その性能スコアの送信元のプロセッサユニット10を特定する識別情報に対応付けて構成されている。
図5は実施形態の一例としてのストレージシステム1における性能スコア情報101を例示する図である。
図5に示す性能スコア情報101においては、新たなプロセッサユニット#3を含むストレージシステム1内の全てのプロセッサユニット#1〜#3の性能スコアの値を、プロセッサユニット#1の性能スコアを基準とする比で示している。
すなわち、プロセッサユニット#1の処理性能を1とした場合に、プロセッサユニット#2,#3の処理性能は、それぞれ3,6で表される。
なお、この性能スコア情報101は、例えば、マスタプロセッサユニット10−1のメモリ115や記憶装置116に格納される。
性能情報収集部14は、例えば、本ストレージシステム1の構築時に、当該ストレージシステム1に備えられた各プロセッサユニット10の性能情報を取得する。又、性能情報収集部14は、検出部11が、本ストレージシステム1に新たなプロセッサユニット10が増設されたことを認識すると、この新たに接続されたプロセッサユニット10からも性能情報を取得する。
なお、性能情報収集部14は、一度、性能スコアを取得したプロセッサユニット10から再度の性能情報の収集を行なう必要はない。ただし、新たに接続されたプロセッサユニット10から性能情報を取得する際に、既存のプロセッサユニット10に対しても性能チェックプログラムの実行指示を送信することで、再度、性能情報の収集を行なうことを妨げるものではない。
また、性能情報収集部14による性能情報の取得方法は、各プロセッサユニット10に性能チェックプログラムを実行させて性能スコアを取得することに限定されるものではなく、種々変形して実施することができる。例えば、各プロセッサユニット10について、その製造メーカ等が提示する処理性能を示す情報(例えば、搭載されているCPU114の性能値やベンチマーク結果等)をネットワークや記録媒体を介して読み込むことにより取得してもよい。
選択部15は、性能情報収集部14によって収集された性能スコア(性能情報)に基づいて、各プロセッサユニット10が管理する仮想ボリュームの中から、新たに追加されたプロセッサユニット10に移動させる仮想ボリューム(移動仮想ボリューム)2を選択する。
選択部(目標負荷設定部)15は、新たなプロセッサユニット10を含む各プロセッサユニット10の性能情報に応じて、各プロセッサユニット10のそれぞれに対する目標負荷を決定する。
具体的には、選択部15は、例えば、負荷記録情報102の既存の各仮想ボリューム2の負荷記録の合計値(図4に示す例では50)を、新プロセッサユニット#3を含む全てのプロセッサユニット10の性能情報に応じて分配することで、各プロセッサユニット10の目標負荷を決定する。すなわち、各プロセッサユニット10に、各自の処理能力に応じた負荷(担当負荷)を決定する。
選択部15は、決定した各プロセッサユニット10の目標負荷を目標負荷情報103に登録する。
図6は実施形態の一例としてのストレージシステム1における目標負荷情報103を例示する図である。
この図6に示す目標負荷情報103は、各プロセッサユニット10に対して、選択部15によって設定された目標負荷を対応付けて構成されている。
図4に例示する負荷記録情報102において、プロセッサユニット#1,#2の負荷記録(iops/データ転送量)の合計値は50である。又、図5に例示する性能スコア情報101において、プロセッサユニット#1,#2,#3の性能スコア比は1:3:6である。
これらの情報に基づき、プロセッサユニット#1,#2,#3の各目標負荷の値は、以下の式で求められる。
プロセッサユニット#1の目標負荷=50×1/(1+3+6)=5
プロセッサユニット#2の目標負荷=50×3/(1+3+6)=15
プロセッサユニット#3の目標負荷=50×6/(1+3+6)=30
目標負荷情報103には、上述の如く求められた各目標負荷の値がそれぞれ登録される。
また、選択部15は、上述した負荷記録情報102及び目標負荷情報103を参照して、新プロセッサユニット#3に移動させる仮想ディスク2を選択する。
具体的には、例えば、選択部15は、図7に示すような担当リスト104を用いて、仮想ディスク2の割り当てを行なう。担当リスト104は、本ストレージシステム1に備えられた各仮想ディスク2を、新たなプロセッサユニット10を含む複数のプロセッサユニット10のいずれに担当させるかを示す。
図7は実施形態の一例としてのストレージシステム1における担当リスト104を例示する図である。
この図7に示す例においては、担当リスト104は、図4に示した負荷記録情報102に、更に、項目として新割り当てプロセッサユニットを関連付けることにより構成されている。すなわち、各仮想ディスク2に対して、それぞれ負荷記録(iops/データ転送量)及び新割り当てプロセッサユニットを関連付けて構成されている。
新割り当てプロセッサユニットは、新プロセッサユニット#3を増設して構成変更が行なわれたストレージシステム1において、各仮想ディスク2(担当ボリューム)を担当するプロセッサユニット10を示す。
すなわち、図7に示す例においては、図4に示された複数の仮想ディスク2のうち、プロセッサユニット#1の担当ボリューム1,3及びプロセッサユニット#2の担当ボリューム1の各仮想ディスク2を、新たなプロセッサユニット#3の担当とすることを示している。すなわち、プロセッサユニット#1の担当ボリューム1,3及びプロセッサユニット#2の担当ボリューム1の各仮想ディスク2が、プロセッサユニット#3に移動させる移動仮想ディスク2として選択されたことを示す。
この担当リスト104の初期状態においては、各仮想ディスク2に対して、その仮想ディスク2を担当するプロセッサユニット(担当プロセッサユニット)10が未決定である旨の情報(フラグ等)が設定される(図示省略)。又、初期状態の担当リスト104においては、各仮想ディスクに対応する新割り当てプロセッサユニットとしては、当該仮想ディスク2が管理されていた元のプロセッサユニット10がそれぞれ登録されている。
選択部15は、この担当リスト104において、担当プロセッサユニット10が未決定である仮想ディスク2について、負荷記録の値が大きいものを一つ選択し、この選択した仮想ディスク2を新たなプロセッサユニット10に割り当て可能であるか否かを判断する。
具体的には、選択部15は、選択された仮想ディスク2と、先に選択された仮想ディスク2との負荷記録の合計が新プロセッサユニット#3の目標負荷を超えない場合に、その選択された仮想ディスク2に割り当て可能であると判断する。又、選択部15は、選択された仮想ディスク2と先に選択された仮想ディスク2との負荷記録の合計が新たなプロセッサユニット10の目標負荷以上となる場合には、その選択された仮想ディスク2に割り当て不可能であると判断する。
このように、選択部15は、負荷記録の合計が新たなプロセッサユニット10の目標負荷を超えない範囲で仮想ディスク2を選択し、移動仮想ディスク2として決定する。又、この際、選択部15は、負荷記録情報102を参照して、負荷記録の値が大きい仮想ディスク2から順番に選択して、選択された仮想ディスク2の負荷記録の合計値が新たなプロセッサユニット10の目標負荷未満であるかを判断する。
負荷記録の値が大きい仮想ディスク2から順番に選択することにより、新たなプロセッサユニット10に移動させる仮想ディスク2の数を減らすことができ、後述する移動指示部16による処理に要する時間や負荷を低減させることができる。
ここで、図8を参照して、実施形態の一例としてのストレージシステム1における移動仮想ディスク2の決定方法を説明する。ここでは、図1に示すように、プロセッサユニット#1,#2が備えられているストレージシステム1に新たにプロセッサユニット#3を増設する例について説明する。
ステップA1において、性能情報収集部14が、各プロセッサユニット10に性能チェックプログラムを実行させることにより、各プロセッサユニット10の性能スコアを取得する。性能情報収集部14は収集した性能スコアに基づき性能スコア情報101を作成する。
次に、ステップA2において、性能情報収集部14は、作成した性能スコア情報101と、負荷情報収集部13が作成した負荷記録情報102とに基づき、目標負荷情報103を作成する。
そして、ステップA3において、選択部15は、担当リスト104を参照して、担当プロセッサユニット10が未決定である仮想ディスク(ボリューム)2があるか否かを確認する。
担当プロセッサユニット10が未決定の仮想ディスク2がある場合には(ステップA3のYESルート参照)、ステップA4において、担当プロセッサユニット10が未決定の仮想ディスク2のうち、負荷記録が最も大きい仮想ディスク2を移動候補として選択する。そして、選択部15は、この選択した移動候補の仮想ディスク2を新プロセッサユニット10に移動させた場合の、この新プロセッサユニット10の負荷記録の合計を算出する。
そして、ステップA5において、新プロセッサユニット10の負荷記録の合計と、この新プロセッサユニット10の目標負荷とを比較する。新プロセッサユニット10の負荷記録の合計が、この新プロセッサユニット10の目標負荷を超えない場合には(ステップA5のNOルート参照)、ステップA7において、その移動候補の仮想ディスク2を新プロセッサユニット10に担当させることを決定する。その後、ステップA3に戻る。
一方、新プロセッサユニット10の負荷記録の合計が、この新プロセッサユニット10の目標負荷以上となる場合には(ステップA5のYESルート参照)、ステップA6において、その移動候補の仮想ディスク2を担当するプロセッサユニット10は変更しない。すなわち、その移動候補の仮想ディスク2は元のプロセッサユニット10のままにする。その後、ステップA3に戻る。
そして、担当プロセッサユニット10が未決定の仮想ディスク2がなくなると(ステップA3のNOルート参照)、処理を終了する。
例えば、図4,図7に示す例においては、各仮想ディスク2を負荷記録が大きいものから順に並べると以下のようになる。プロセッサユニット#2の担当ボリューム1(負荷記録15),プロセッサユニット#1の担当ボリューム1(負荷記録12),プロセッサユニット#2の担当ボリューム2(負荷記録9),プロセッサユニット#1の担当ボリューム2(負荷記録8),プロセッサユニット#2の担当ボリューム3(負荷記録3),プロセッサユニット#1の担当ボリューム3(負荷記録2),プロセッサユニット#1の担当ボリューム4(負荷記録1)。又、図6に示す例においては新プロセッサユニット#3の目標負荷は30である。
そして、図8のフローチャートに示す手法によれば、先ず、プロセッサユニット#2の担当ボリューム1(負荷記録15)を新プロセッサユニット10に担当させること決定される。次に、プロセッサユニット#1の担当ボリューム1(負荷記録12)を新プロセッサユニット10に担当させることが決定される。
この時点において、これらの2つの担当ボリューム(仮想ディスク2)の負荷記録の合計値は27である。
ここで、プロセッサユニット#2の担当ボリューム2(負荷記録9),プロセッサユニット#1の担当ボリューム2(負荷記録8),プロセッサユニット#2の担当ボリューム3(負荷記録3)のいずれを移動候補とした場合も、新プロセッサユニット10の負荷記録の合計が、その目標負荷以上となる。従って、これらの各仮想ディスク2は新プロセッサユニット10には移動させない。
これにより、次に移動候補として選択されるプロセッサユニット#1の担当ボリューム3(負荷記録2)が、新プロセッサユニット10に担当させることが決定される。すなわち、図7に例示するように、新プロセッサユニット#3の担当として、プロセッサユニット#2の担当ボリューム1(負荷記録15),プロセッサユニット#1の担当ボリューム1(負荷記録12)及びプロセッサユニット#1の担当ボリューム3(負荷記録2)が決定される。
移動指示部16は、選択部15により選択された移動仮想ディスク2を移動先の新プロセッサユニット10に通知し、この新プロセッサユニット10に対して、仮想ディスク2の移動を行なわせる。
新プロセッサユニット10においては、例えば、ストレージユニット30に格納されている共有情報(図示省略)から移動させる仮想ディスク2に関する情報を取得し、この取得した情報を用いて、仮想ディスク2を設定する。なお、ストレージシステム1におけるプロセッサユニット10間における仮想ディスク2の移動方法は、既知の種々の手法を用いて実現することができ、その詳細な説明は省略する。
新プロセッサユニット10においては、仮想ディスク2の移動を完了すると、マスタプロセッサユニット10−1(送信部12)に通知を行なう。この通知には、仮想ディスク2を識別するための情報(仮想ディスクID)が含まれる。
送信部12は、この新プロセッサユニット10に対するアクセスパスの設定を指示する制御信号を各ホスト50へ送信する。
本ストレージシステム1に新たなプロセッサユニット10−4が接続されたことが検出され、選択部15によって選択された仮想ディスク2が新プロセッサユニット10に移動されると、送信部12は、この新プロセッサユニット10に対するアクセスパスの設定を指示する制御信号を各ホスト50へ送信する。
具体的には、送信部12は、ホスト50に対して、アクセスパスの設定を指示する制御信号としてパス切替指示を送信する。このパス切替指示には、例えば、パス切替指示を示す特定のコマンドや、新たなプロセッサユニット10にアクセスするための情報(例えば、iSCSIのターゲットID)、新たなプロセッサユニット10の仮想ディスク2を識別するための情報(仮想ディスクID)が含まれる。
また、パス切替指示には、新プロセッサユニット10に移動させた仮想ディスク2に対するアクセスパスをスタンバイパスとして追加させる指示(アクセスパス作成指示)が含まれる。
さらに、送信部12は、ホスト50に対して、移動元のプロセッサユニット10における仮想パス2へのアクセスパスをスタンバイパスにさせる。その後、送信部12は、ホスト50に対して、新たなプロセッサユニット10に移動させた仮想ディスク2へのアクセスパスをアクティブパスにさせる。これらの処理により、ホスト50から仮想ディスク2へのアクセスパスの切り替えが行なわれる。
このパス切替指示を受信したホスト50のマルチパスドライバ52は、このパス切替指示に含まれる情報に基づき、新たなプロセッサユニット10に対してパス探索を行ない、このパス探索の結果得られたアクセスパスをそのプロセッサユニット10に割り当てる。又、この際、マルチパスドライバ52はアクセスパスをスタンバイパスとして作成する。
図9は実施形態の一例としてのストレージシステム1における仮想ディスク2に対するアクセスパスの切り替え方法を説明するシーケンス図である。
この図9においては、プロセッサユニット#1,#2の仮想ディスク2がそれぞれ新プロセッサユニット#3に移動される例について示す。
仮想ディスク2の切り替え前においては、ホスト50のマルチパスドライバ52からマスタプロセッサユニット#1に対して、アクティブなI/O(Input/Output)が確立されていることを示すActive I/O信号が送信されている(矢印S1参照)。又、ホスト50のマルチパスドライバ52からプロセッサユニット#2に対しては、スタンバイなI/Oが確立されていることを示すスタンバイI/O(Stand by I/O)信号が送信されている(矢印S2参照)。
プロセッサユニット#1から新プロセッサユニット#3への仮想ディスク2の移動が完了すると、ホスト50から仮想ディスク2へのアクセスパスの切り替えが開始される。なお、このホスト50から仮想ディスク2へのアクセスパスの切り替えは、各ホスト50において行なわれるが、この図9に示す例においては、便宜上、一つのホスト50に関する処理についてのみ示す。
マスタプロセッサユニット#1からホスト50に対して、パス切替指示が送信される(矢印S3参照)。このパス切替指示には、前述の如く、新プロセッサユニット#3にアクセスするための情報や、新プロセッサユニット#3に移動される各仮想ディスク2を識別するための情報、仮想ディスク2に対するアクセスパスの作成指示(アクセスパス作成指示)が含まれる。
ホスト50のマルチパスドライバ52は、新プロセッサユニット#3に対して、パス探索を行ない(矢印S4参照)、新プロセッサユニット#3は、ホスト50に各仮想ディスク2へアクセスするためのアクセスパスの情報(パス情報)を応答する(矢印S5参照)。
パス情報を受信したホスト50のマルチパスドライバ52は、新プロセッサユニット#3に移動する各仮想ディスク2について、新プロセッサユニット#3に対してパスを割り当て(矢印S6参照)、スタンバイパスとして新規のアクセスパスを作成(追加)する(矢印S7参照)。
その後、ホスト50のマルチパスドライバ52は、プロセッサユニット#1,#2に対して、移動される仮想ディスク2に対するアクセスパスをスタンバイ状態にさせる指示を送信する(矢印S8,S9参照)。又、新プロセッサユニット#3に対しては、移動される仮想ディスク2に対するアクセスパスをアクティブにする指示(アクティブパス変更指示)を送信する(矢印S10参照)。これにより、仮想ディスク2へのアクセスパスの切り替えが完了する。
上述の如く構成された実施形態の一例としてのストレージシステム1における、プロセッサユニット10の増設時の処理を、図11及び図12を参照しながら、図10に示すフローチャート(ステップB1〜B6)に従って説明する。図11及び図12は実施形態の一例としてのストレージシステム1における新プロセッサユニット#3の増設時の状態を例示する図であり、図11は新プロセッサユニット#3の増設前の状態を示す図、図12は新プロセッサユニット#3の増設後の状態を示す図である。
これらの図11及び図12に示す例においては、プロセッサユニット#1,#2が備えられた仮想ストレージシステム100に、新たなプロセッサユニット#3(新プロセッサユニット#3)が増設される例について示す。
ステップB1において、マスタプロセッサユニット10−1(プロセッサユニット#1)の負荷情報収集部13が、各プロセッサユニット10の各仮想ボリューム2に対する各ホスト50からのアクセスパス毎にiops/データ転送量を収集する。負荷情報収集部13は、各プロセッサユニット10から収集したiops/データ転送量(負荷記録)を、負荷記録情報102に登録する。
図11に示す例においては、負荷情報収集部13は、プロセッサユニット#1,#2の各仮想ディスク2−1〜2−7に対する各アクセスパスのiops/データ転送量を収集する。
ステップB2において、本ストレージシステム1に新たなプロセッサユニット#3の増設作業が行なわれる。検出部11は、この新たなプロセッサユニット#3が増設されたことを認識し、その情報(iSCSIのターゲットID等)を管理情報に追加する。
ステップB3において、性能情報収集部14が、ストレージシステム1内の各プロセッサユニット#1〜#3に性能チェックプログラムを実行させて性能スコアを収集する。収集した性能スコアは性能スコア情報101に登録される。
ステップB4において、選択部15が、負荷情報収集部13によって作成された負荷記録情報102と、性能情報収集部14によって作成された性能スコア情報101とに基づいて、各プロセッサユニット10が管理する仮想ボリュームの中から、新プロセッサユニット#3に移動させる仮想ボリューム2を選択する。
図11及び図12に示す例においては、プロセッサユニット#1の仮想ディスク2−1,2−3とプロセッサユニット#2の仮想ディスク2−5が新プロセッサユニット#3に移動される。
ステップB5において、移動指示部16が、選択部15により選択された移動仮想ディスク2を新プロセッサユニット#3に通知し、この新プロセッサユニット#3に対して、仮想ディスク2の設定(移動)を行なわせる。
ステップB6において、送信部12は、この新プロセッサユニット#3に対するアクセスパスの設定を指示するパス切替指示を各ホスト50のマルチパスドライバ52へ送信して、図12に示すように、新プロセッサユニット#3の仮想ディスク2へアクセスパスを切り替えさせ、処理を終了する。
このように、実施形態の一例としてのストレージシステム1によれば、スケールアウト型ストレージシステム1において、プロセッサユニット10を増設した場合に、各プロセッサユニット10の処理性能に応じた仮想ディスク2の再配置を自律的に行なわせることができる。
選択部15が、負荷情報収集部13によって作成された負荷記録情報102と、性能情報収集部14によって作成された性能スコア情報101とに基づいて、各プロセッサユニット10が管理する仮想ボリュームの中から、新プロセッサユニット10に移動させる仮想ボリューム2を選択する。これにより、新プロセッサユニット10に移動させる仮想ディスク2を、各プロセッサユニット10の処理性能に応じて容易に選択することができる。
また、選択部15が、移動仮想ディスク2を選択する際に、負荷記録の合計が新たなプロセッサユニット10の目標負荷を超えない範囲で仮想ディスク2を選択し、移動仮想ディスク2として決定する。
これにより、新たなプロセッサユニット10において過負荷が生じることを防止することができ、安定したシステム運用を行なうことができる。
さらに、選択部15が、移動仮想ディスク2を選択する際に、負荷記録の値が大きい仮想ディスク2から順番に選択する。これにより、新たなプロセッサユニット10に移動させる仮想ディスク2の数を減らすことができ、移動指示部16による処理に要する時間や負荷を低減させることができる。
送信部12が、ホスト50のマルチパスドライバ52に対してパス切替指示を送信することで、ホスト50に、増設された新たなプロセッサユニット10に移動させる仮想ディスク2へのアクセスパスの切り替えを、本ストレージシステム1の運用を停止させることなく実現することができる。
従って、仮想ストレージシステム100に複数のホスト50が接続して利用している場合においても、ホスト50の業務へ影響を与えることがなく、利便性が高い。
(B)変形例
本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した実施形態においては、選択部15が、移動仮想ディスク2を選択する際に、負荷記録の値が大きい仮想ディスク2から順番に選択することにより、新たなプロセッサユニット10に移動させる仮想ディスク2の数を少なくしているが、これに限定されるものではない。
本変形例においては、選択部15は、各プロセッサユニット10の処理能力に応じて、各プロセッサユニット10の負荷が平準化させるように、新プロセッサユニット#3に移動させる仮想ディスク2を選択する。
図13は実施形態の変形例としてのストレージシステム1における負荷記録情報102を例示する図、図14はその性能スコア情報101を例示する図、図15はその目標負荷情報103を例示する図、図16はその担当リスト104を例示する図である。
なお、これらの負荷記録情報102,性能スコア情報101,目標負荷情報103及び担当リスト104は、図4〜図7に示した負荷記録情報102,性能スコア情報101,目標負荷情報103及び担当リスト104と、異なる値が登録されてはいるものの、同様の構成を備える。
なお、図14に示す性能スコア情報101は、図5に示した性能スコア情報101とは異なり、新たなプロセッサユニット#3を含むストレージシステム1内の全てのプロセッサユニット#1〜#3の性能スコアの値を、単なる比で示している。ただし、この性能スコア情報101は、図5に示したスコア情報101と同様に、いずれかのプロセッサユニット10(例えば、プロセッサユニット#1)を基準とする比で表してもよい。
本変形例としてのストレージシステム1において、選択部15は、例えば、負荷記録情報102の既存の各仮想ボリューム2の負荷記録の合計値(図13に示す例では50)を、新プロセッサユニット#3を含む全てのプロセッサユニット10の性能情報に応じて分配することで、各プロセッサユニット10の目標負荷を決定する。選択部15は、決定した各プロセッサユニット10の目標負荷を目標負荷情報103に登録する。
また、選択部15は、上述した負荷記録情報102及び目標負荷情報103を参照して、新プロセッサユニット#3に移動させる仮想ディスク2を選択する。
具体的には、例えば、選択部15は、図16に示すような担当リスト104を用いて、仮想ディスク2の割り当てを行なう。
図16に示す例においては、図13に示された複数の仮想ディスク2のうち、プロセッサユニット#1の担当ボリューム2,3,4及びプロセッサユニット#2の担当ボリューム2,3の各仮想ディスク2を、新たなプロセッサユニット#3の担当とすることを示している。
すなわち、プロセッサユニット#1の担当ボリューム2〜4及びプロセッサユニット#2の担当ボリューム2,3の各仮想ディスク2が、プロセッサユニット#3に移動させる移動仮想ディスク2として選択されたことを示す。
この担当リスト104の初期状態においても、各仮想ディスク2に対して、その仮想ディスク2を担当するプロセッサユニット(担当プロセッサユニット)10が未決定である旨の情報(フラグ等)が設定される(図示省略)。又、初期状態の担当リスト104においては、各仮想ディスクに対応する新割り当てプロセッサユニットとしては、当該仮想ディスク2が管理されていた元のプロセッサユニット10がそれぞれ登録されている。
選択部15は、この担当リスト104において、担当プロセッサユニット10が未決定である仮想ディスク2について、負荷記録の値が小さいものを一つ選択し、この選択した仮想ディスク2を新たなプロセッサユニット10に割り当て可能であるか否かを判断する。
具体的には、選択部15は、選択された仮想ディスク2が割り当てられているプロセッサユニット10について、その選択された仮想ディスク2を除いた残りの仮想ディスク2の負荷記録の合計が、当該プロセッサユニット10の目標負荷を下回らないか否かを確認する。
選択された仮想ディスク2を除く残りの仮想ディスク2の負荷記録の合計が、当該プロセッサユニット10の目標負荷を下回らない場合に、その選択された仮想ディスク2を新プロセッサユニット#3に割り当て可能であると判断する。又、選択部15は、選択された仮想ディスク2を除く残りの仮想ディスク2の負荷記録の合計が、当該プロセッサユニット10の目標負荷を下回る場合には、その選択された仮想ディスク2を元のプロセッサユニット#1,“2に担当させるべく変更しない。
このように、選択部15は、既存のプロセッサユニット#1,#2において、移動仮想ディスク2として選択される仮想ディスク2を除く残りの仮想ディスク2の負荷記録の合計を算出する。そして、移動仮想ディスク2として選択される仮想ディスク2を除く残りの仮想ディスク2の負荷記録の合計が、その移動元のプロセッサユニット#1,#2の各目標負荷を下回らない範囲で、移動仮想ディスク2を選択する。
つまり、選択部15は、移動仮想ディスク2として選択した仮想ディスク2を除く仮想ディスク2の負荷記録の合計が元のプロセッサユニット10の目標負荷を超えない範囲で移動仮想ディスク2を選択する。
この際、選択部15は、負荷記録情報102を参照して、負荷記録の値が小さい仮想ディスク2から順番に移動仮想ディスク2として選択し、選択された仮想ディスク2を除く残りの仮想ディスク2の負荷記録の合計値が、当該既存のプロセッサユニット10の目標負荷を下回らないかを判断する。
負荷記録の値が小さい仮想ディスク2から順番に移動仮想ディスク2として選択することにより、既存のプロセッサユニット10の仮想ディスク2の負荷記録の合計が当該プロセッサユニット10の目標負荷に近づけることができ、負荷の平準化に寄与することができる。
ここで、実施形態の変形例としてのストレージシステム1における移動仮想ディスク2の決定方法を、図17に示すフローチャート(ステップC1〜C9)に従って説明する。ここでは、図1に示すように、プロセッサユニット#1,#2が備えられているストレージシステム1に新たにプロセッサユニット#3を増設する例について説明する。
ステップC1において、性能情報収集部14が、各プロセッサユニット10に性能チェックプログラムを実行させることにより、各プロセッサユニット10の性能スコアを取得する。性能情報収集部14は収集した性能スコアに基づき性能スコア情報101を作成する。
次に、ステップC2において、性能情報収集部14は、作成した性能スコア情報101と、負荷情報収集部13が作成した負荷記録情報102とに基づき、目標負荷情報103を作成する。
そして、ステップC3において、選択部15は、既存の全てのプロセッサユニット10について、移動仮想ディスク2の選択処理を行なったか否かを確認する。ここで、既存の全てのプロセッサユニット10について、移動仮想ディスク2の選択処理を行なった場合には(ステップC3のYESルート参照)、処理を終了する。
また、既存の全てのプロセッサユニット10について、移動仮想ディスク2の選択処理が行なわれていない場合には(ステップC3のNOルート参照)、以下の、ステップC4〜C9の処理を行なう。
これらのステップC4〜C9の処理は、既存の全てのプロセッサユニット10の数(N)だけ繰り返し行なわれる。
ステップC4において、選択部15は、担当リスト104を参照して、担当プロセッサユニット10が未決定である仮想ディスク(ボリューム)2があるか否かを確認する。
担当プロセッサユニット10が未決定の仮想ディスク2がある場合には(ステップC4のYESルート参照)、ステップC5において、担当プロセッサユニット10が未決定の仮想ディスク2のうち、負荷記録が最も小さい仮想ディスク2を移動候補として選択する。そして、選択部15は、この選択した移動候補の仮想ディスク2を新プロセッサユニット10に移動させたと仮定して、移動元の既存のプロセッサユニット10の残りの仮想ディスク2の負荷記録の合計を算出する。
そして、ステップC6において、移動元の既存のプロセッサユニット10の残りの仮想ディスク2の負荷記録の合計と、当該プロセッサユニット10の目標負荷とを比較する。移動元の既存のプロセッサユニット10の残りの仮想ディスク2の負荷記録の合計が、当該プロセッサユニット10の目標負荷を下回らない場合には(ステップC6のNOルート参照)、ステップC8において、その移動候補の仮想ディスク2を新プロセッサユニット10に担当させることを決定する。その後、ステップC4に戻る。
一方、移動元の既存のプロセッサユニット10の残りの仮想ディスク2の負荷記録の合計が、当該プロセッサユニット10の目標負荷を下回る場合には(ステップC6のYESルート参照)、ステップC7において、その移動候補の仮想ディスク2を担当するプロセッサユニット10は変更しない。すなわち、その移動候補の仮想ディスク2は元のプロセッサユニット10のままにする。その後、ステップC4に戻る。
そして、担当プロセッサユニット10が未決定の仮想ディスク2がなくなると(ステップC4のNOルート参照)、ステップC9において、その既存のプロセッサユニット10が担当する仮想ディスク2が決定する。その後、Nをインクリメントメントして、次の既存のプロセッサユニット10に移動し、ステップC3に戻る。
例えば、図13,図16に示す例においては、各プロセッサユニット10について各仮想ディスク2を負荷記録が小さいものから順に並べると以下のようになる。
すなわち、プロセッサユニット#1においては、担当ボリューム4(負荷記録1),担当ボリューム3(負荷記録4),担当ボリューム2(負荷記録5),担当ボリューム1(負荷記録11)。
プロセッサユニット#1においては、担当ボリューム3(負荷記録3),担当ボリューム2(負荷記録10),担当ボリューム1(負荷記録16)。
また、図15に示す例においては、既存のプロセッサユニット#1,#2の目標負荷は10,15である。
そして、図17のフローチャートに示す手法によれば、先ず、プロセッサユニット#1について、担当ボリューム4(負荷記録1)を新プロセッサユニット#3に担当させる場合の、残りの担当ボリュームの負荷記録の合計を算出する。この時点での負荷記録の合計は4+5+11=20であり、プロセッサユニット#1の目標負荷10を下回らない。これにより、担当ボリューム4を新プロセッサユニット#3に担当させることが決定される。
次に、担当ボリューム3(負荷記録4)を新プロセッサユニット#3に担当させる場合の、残りの担当ボリュームの負荷記録の合計は5+11=16であり、プロセッサユニット#1の目標負荷10を下回らない。これにより、担当ボリューム3も新プロセッサユニット#3に担当させることが決定される。
さらに、担当ボリューム2(負荷記録5)を新プロセッサユニット#3に担当させる場合の、残りの担当ボリュームの負荷記録の合計は11であり、プロセッサユニット#1の目標負荷10を下回らない。これにより、担当ボリューム2も新プロセッサユニット#3に担当させることが決定される。
しかし、担当ボリューム1(負荷記録11)を新プロセッサユニット#3に担当させる場合の、残りの担当ボリュームの負荷記録の合計は0となり、プロセッサユニット#1の目標負荷10を下回わる。これにより、担当ボリューム1は元のプロセッサユニット#1のままにする。
次に、同様にして、プロセッサユニット#2について、担当ボリューム3(負荷記録3)を新プロセッサユニット#3に担当させる場合の、残りの担当ボリュームの負荷記録の合計を算出する。この時点での負荷記録の合計は10+16=26であり、プロセッサユニット#2の目標負荷15を下回らない。これにより、担当ボリューム3を新プロセッサユニット#3に担当させることが決定される。
次に、担当ボリューム2(負荷記録10)を新プロセッサユニット#3に担当させる場合の、残りの担当ボリュームの負荷記録の合計は16であり、プロセッサユニット#2の目標負荷15を下回らない。これにより、担当ボリューム2も新プロセッサユニット#3に担当させることが決定される。
しかし、担当ボリューム1(負荷記録16)を新プロセッサユニット#3に担当させる場合の、残りの担当ボリュームの負荷記録の合計は0となり、プロセッサユニット#2の目標負荷15を下回わる。これにより、担当ボリューム1は元のプロセッサユニット#2のままにする。
以上の処理により、図16に例示するように、新プロセッサユニット#3の担当として、プロセッサユニット#1の担当ボリューム2〜4及びプロセッサユニット#2の担当ボリューム2,3が決定される。
このように、実施形態の変形例としてのストレージシステム1によれば、上記実施形態と同様に、スケールアウト型ストレージシステム1において、プロセッサユニット10を増設した場合に、各プロセッサユニット10の処理性能に応じた仮想ディスク2の再配置を自律的に行なわせることができる。
また、選択部15が、負荷情報収集部13によって作成された負荷記録情報102と、性能情報収集部14によって作成された性能スコア情報101とに基づいて、各プロセッサユニット10が管理する仮想ボリュームの中から、新プロセッサユニット10に移動させる仮想ボリューム2を選択する。これにより、新プロセッサユニット10に移動させる仮想ディスク2を、各プロセッサユニット10の処理性能に応じて容易に選択することができる。
さらに、送信部12が、ホスト50のマルチパスドライバ52に対してパス切替指示を送信することで、ホスト50に、増設された新たなプロセッサユニット10に移動させる仮想ディスク2へのアクセスパスの切り替えを、本ストレージシステム1の運用を停止させることなく実現することができる。
従って、仮想ストレージシステム100に複数のホスト50が接続して利用している場合においても、ホスト50の業務へ影響を与えることがなく、利便性が高い。
そして、選択部15が、移動仮想ディスク2を選択する際に、移動元の既存のプロセッサユニット10の残りの仮想ディスク2の負荷記録の合計が、当該プロセッサユニット10の目標負荷を下回らない場合に、その移動候補の仮想ディスク2を新プロセッサユニット10に担当させる移動仮想ディスク2として決定する。
これにより、移動元のプロセッサユニット10の仮想ディスク2の負荷記録の合計を当該プロセッサユニット10の目標負荷に維持され、複数のプロセッサユニット10間における負荷を平準化することができる。
さらに、選択部15が、移動仮想ディスク2を選択する際に、負荷記録の値が小さい仮想ディスク2から順番に選択する。これにより、移動仮想ディスク2の選択を効率的に行なうことができる。
(C)その他
また、上述した実施形態及びその変形例においては、ストレージシステム1において、仮想ディスク2を管理するプロセッサユニット10を増設する例について示しているが、これに限定されるものではなく、種々変形して実施することができる。例えば、複数のコンピュータ(ノード)を備えるマルチノードシステムにおいて、新たにコンピュータを増設する場合に、各ノードにおいて処理されるプロセスの再配置に適用してもよい。
例えば、負荷情報収集部13は各ノードにおいて分散されているプロセスに関する負荷情報(例えば、予測処理時間に対する遅延時間)を収集し、性能情報収集部14が、各サーバコンピュータのプロセッサ性能や入出力処理性能を示す性能スコア(性能情報)を収集する。
選択部15は、これらの負荷情報や性能情報に基づいて、既存のコンピュータから新たに増設されたコンピュータに、処理を移動させるプロセスを選択する。送信部12は、当該マルチノードシステムに接続されたホストに対して、新たなコンピュータに移動されたプロセスに関する情報を通知するのである。
なお、上述した実施形態及びその変形例においては、2つのプロセッサユニット1010−1,10−2が備えられているストレージシステム1に新たにプロセッサユニット10−3を増設する例を示しているが、これに限定されるものではない。すなわち、3つ以上もしくは1つのプロセッサユニット10が備えられたストレージシステム1に、プロセッサユニット10を増設してもよく、又、この際、2以上のプロセッサユニット10を増設してもよい。
また、上述した実施形態及びその変形例においては、プロセッサユニット10−1に4つの仮想ディスク2−1〜2−4を備えるとともに、プロセッサユニット10−2に3つの仮想ディスク2−5〜2−7を備えているが、これに限定されるものではない。すなわち、各プロセッサユニット10備えられる仮想ディスク2の数は適宜変形して実施することができる。
さらに、上述した実施形態及びその変形例においては、ホスト50−1〜50−6が備えられているが、これに限定されるものではない。すなわち、5つ以下もしくは7つ以上のホスト50を備えて構成してもよい。同様に、ストレージユニット30の数や、各ストレージユニットに備えられる記憶装置32の数も種々変形して実施することができる。
また、上述した実施形態においては、負荷情報収集部13はアクセスパス毎の負荷情報としてiops/データ転送量を用いているが、これに限定されるものではない。すなわち、記憶装置の性能指標として、iops/データ転送量以外の情報を用いてもよい。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
(D)付記
(付記1)
アクセスパスを制御するマルチパスドライバを有する上位装置と、
前記上位装置と通信可能に新規に接続される第1の制御ユニットに対するアクセスパスの設定を指示する制御信号を前記上位装置へ送信する第2の制御ユニットと、を備え、
前記マルチパスドライバは、前記第2の制御ユニットからの制御信号に基づいて前記第1の制御ユニットに対するアクセスパスの設定を行なうこと、
を特徴とする制御システム。
(付記2)
前記第2の制御ユニットは、
前記第1の制御ユニットを認識した場合に、前記第1の制御ユニットに対するアクセスパスの設定を指示する制御信号を前記上位装置へ送信する
ことを特徴とする、付記1記載の制御システム。
(付記3)
複数の仮想ボリュームを管理する1以上の第3の制御ユニットを備え、
前記第2の制御ユニットは、
前記第3の制御ユニットにおける、前記仮想ボリュームに対する前記上位装置からのアクセスパス毎に負荷情報を収集する負荷情報収集部と、
前記第1の制御ユニットを認識した場合に、前記第3の制御ユニット及び前記第1の制御ユニットの性能情報を収集する性能情報収集部と、
前記性能情報に基づいて、前記第3の制御ユニットが管理する前記仮想ボリュームの中から、前記第1の制御ユニットに移動させる移動仮想ボリュームを選択する選択部と、
前記選択部により選択された前記移動仮想ボリュームを前記第1の制御ユニットに移動させる移動指示部と
を備えることを特徴とする、付記1又は2記載の制御システム。
(付記4)
前記選択部が、
前記第3の制御ユニット及び前記第1の制御ユニットの各性能情報に応じて、前記第3の制御ユニット及び前記第1の制御ユニットのそれぞれに対する目標負荷を決定し、
前記負荷情報に基づいて、選択される前記仮想ボリュームの負荷情報の合計が前記第1の制御ユニットの目標負荷を超えない範囲で、前記複数の前記仮想ボリュームの中から負荷が最も高い仮想ボリュームから順番に、前記仮想ボリュームを前記移動仮想ボリュームとして選択することを特徴とする、付記3記載の制御システム。
(付記5)
前記選択部が、
前記第3の制御ユニット及び前記第1の制御ユニットの各性能情報に応じて、前記第3の制御ユニット及び前記第1の制御ユニットのそれぞれに対する目標負荷を決定し、
前記負荷情報に基づいて、
前記移動仮想ボリュームの移動元の前記第3の制御ユニットにおいて、前記移動仮想ボリュームとして選択される前記仮想ボリュームを除く残りの仮想ボリュームの負荷情報の合計が、当該移動元の第3の制御ユニットの前記目標負荷を下回らない範囲で、1以上の前記移動仮想ボリュームを選択することを特徴とする、付記3記載の制御システム。
(付記6)
アクセスパスを制御するマルチパスドライバを有する上位装置に対して通信を行なう通信部と、
前記上位装置と通信可能に新規に接続される第1の制御ユニットに対するアクセスパスの設定を指示する制御信号を前記上位装置へ送信する送信部と
を備えることを特徴とする制御装置。
(付記7)
前記送信部は、
前記第1の制御ユニットを認識した場合に、前記第1の制御ユニットに対するアクセスパスの設定を指示する制御信号を前記上位装置へ送信することを特徴とする、付記6記載の制御装置。
(付記8)
複数の仮想ボリュームを管理する1以上の第3の制御ユニットにおける、前記仮想ボリュームに対する前記上位装置からのアクセスパス毎に負荷情報を収集する負荷情報収集部と、
前記第1の制御ユニットを認識した場合に、前記第3の制御ユニット及び前記第1の制御ユニットの性能情報を収集する性能情報収集部と、
前記性能情報に基づいて、前記第3の制御ユニットが管理する前記仮想ボリュームの中から、前記第1の制御ユニットに移動させる移動仮想ボリュームを選択する選択部と、
前記選択部により選択された前記移動仮想ボリュームを前記第1の制御ユニットに移動させる移動指示部と
を備えることを特徴とする、付記6又は7記載の制御装置。
(付記9)
前記選択部は
前記第3の制御ユニット及び前記第1の制御ユニットの各性能情報に応じて、前記第3の制御ユニット及び前記第1の制御ユニットのそれぞれに対する目標負荷を決定し、
前記負荷情報に基づいて、選択される前記仮想ボリュームの負荷情報の合計が前記第1の制御ユニットの目標負荷を超えない範囲で、前記複数の前記仮想ボリュームの中から負荷が最も高い仮想ボリュームから順番に、前記仮想ボリュームを前記移動仮想ボリュームとして選択することを特徴とする、付記8記載の制御装置。
(付記10)
前記選択部は、
前記第3の制御ユニット及び前記第1の制御ユニットの各性能情報に応じて、前記第3の制御ユニット及び前記第1の制御ユニットのそれぞれに対する目標負荷を決定し、
前記負荷情報に基づいて、
前記移動仮想ボリュームの移動元の前記第3の制御ユニットにおいて、前記移動仮想ボリュームとして選択される前記仮想ボリュームを除く残りの仮想ボリュームの負荷情報の合計が、当該移動元の第3の制御ユニットの前記目標負荷を下回らない範囲で、1以上の前記移動仮想ボリュームを選択することを特徴とする、付記8記載の制御装置。
(付記11)
アクセスパスを制御するマルチパスドライバを有する上位装置と通信可能なコンピュータに、
前記上位装置と通信可能に新規に接続される第1の制御ユニットに対するアクセスパスの設定を指示する制御信号を前記上位装置へ送信させる処理を実行させることを特徴とする制御プログラム。
(付記12)
前記第1の制御ユニットを認識した場合に、前記第1の制御ユニットに対するアクセスパスの設定を指示する制御信号を前記上位装置へ送信させる、
処理をコンピュータに実行させることを特徴とする、付記11記載の制御プログラム。
(付記13)
複数の仮想ボリュームを管理する1以上の第3の制御ユニットにおける、前記仮想ボリュームに対する前記上位装置からのアクセスパス毎に負荷情報を収集させ、
前記第1の制御ユニットが新規に接続された場合に、前記第3の制御ユニット及び前記第1の制御ユニットの性能情報を収集させ、
前記性能情報に基づいて、前記第3の制御ユニットが管理する前記仮想ボリュームの中から、前記第1の制御ユニットに移動させる移動仮想ボリュームを選択させ、
前記選択された前記移動仮想ボリュームを前記第1の制御ユニットに移動させる、
処理をコンピュータに実行させることを特徴とする、付記11又は12記載の制御プログラム。
(付記14)
前記第3の制御ユニット及び前記第1の制御ユニットの各性能情報に応じて、前記第3の制御ユニット及び前記第1の制御ユニットのそれぞれに対する目標負荷を決定させ、の負荷情報の合計が前記第1の制御ユニットの目標負荷を超えない範囲で、前記複数の前記仮想ボリュームの中から負荷が最も高い仮想ボリュームから順番に、前記仮想ボリュームを前記移動仮想ボリュームとして選択させる、
処理をコンピュータに実行させることを特徴とする、付記13記載の制御プログラム。
(付記15)
前記第3の制御ユニット及び前記第1の制御ユニットの各性能情報に応じて、前記第3の制御ユニット及び前記第1の制御ユニットのそれぞれに対する目標負荷を決定させ、
前記負荷情報に基づいて、
前記移動仮想ボリュームの移動元の前記第3の制御ユニットにおいて、前記移動仮想ボリュームとして選択される前記仮想ボリュームを除く残りの仮想ボリュームの負荷情報の合計が、当該移動元の第3の制御ユニットの前記目標負荷を下回らない範囲で、1以上の前記移動仮想ボリュームを選択させる、
処理をコンピュータに実行させることを特徴とする、付記13記載の制御プログラム。
(付記16)
アクセスパスを制御するマルチパスドライバを有する上位装置と通信可能なコンピュータに、
前記上位装置と通信可能に新規に接続される第1の制御ユニットに対するアクセスパスの設定を指示する制御信号を前記上位装置へ送信させる、
処理を実行させることを特徴とする制御プログラムを記録したコンピュータ読取可能な記録媒体。
(付記17)
前記第1の制御ユニットを認識した場合に、前記第1の制御ユニットに対するアクセスパスの設定を指示する制御信号を前記上位装置へ送信させる、
処理をコンピュータに実行させることを特徴とする、付記16記載の制御プログラムを記録したコンピュータ読取可能な記録媒体。
(付記18)
複数の仮想ボリュームを管理する1以上の第3の制御ユニットにおける、前記仮想ボリュームに対する前記上位装置からのアクセスパス毎に負荷情報を収集させ、
前記第1の制御ユニットを認識した場合に、前記第3の制御ユニット及び前記第1の制御ユニットの性能情報を収集させ、
前記性能情報に基づいて、前記第3の制御ユニットが管理する前記仮想ボリュームの中から、前記第1の制御ユニットに移動させる移動仮想ボリュームを選択させ、
前記選択された前記移動仮想ボリュームを前記第1の制御ユニットに移動させる、
処理をコンピュータに実行させることを特徴とする、付記16又は17記載の制御プログラムを記録したコンピュータ読取可能な記録媒体。
(付記19)
前記第3の制御ユニット及び前記第1の制御ユニットの各性能情報に応じて、前記第3の制御ユニット及び前記第1の制御ユニットのそれぞれに対する目標負荷を決定させ、
前記負荷情報に基づいて、選択される前記仮想ボリュームの負荷情報の合計が前記第1の制御ユニットの目標負荷を超えない範囲で、前記複数の前記仮想ボリュームの中から負荷が最も高い仮想ボリュームから順番に、前記仮想ボリュームを前記移動仮想ボリュームとして選択させる、
処理をコンピュータに実行させることを特徴とする、付記18記載の制御プログラムを記録したコンピュータ読取可能な記録媒体。
(付記20)
前記第3の制御ユニット及び前記第1の制御ユニットの各性能情報に応じて、前記第3の制御ユニット及び前記第1の制御ユニットのそれぞれに対する目標負荷を決定させ、
前記負荷情報に基づいて、
前記移動仮想ボリュームの移動元の前記第3の制御ユニットにおいて、前記移動仮想ボリュームとして選択される前記仮想ボリュームを除く残りの仮想ボリュームの負荷情報の合計が、当該移動元の第3の制御ユニットの前記目標負荷を下回らない範囲で、1以上の前記移動仮想ボリュームを選択させる、
処理をコンピュータに実行させることを特徴とする、付記18記載の制御プログラムを記録したコンピュータ読取可能な記録媒体。
1 ストレージシステム
2,2−1〜2−7 仮想ディスク
10,10−1,10−2 プロセッサユニット(制御ユニット)
11 検出部
12 送信部
13 負荷情報収集部
14 性能情報収集部
15 選択部
16 移動指示部
17 仮想ディスク管理部
30,30−1〜30−3 ストレージユニット
40,40−1,40−2 スイッチ
41 ポート
50 ホスト(上位装置)
51 ホストアダプタ
52 マルチパスドライバ
100 仮想ストレージシステム
101 性能スコア情報
102 負荷記録情報
103 目標負荷情報
104 担当リスト
110 ホストI/F(通信部)
111 ストレージI/F
112 LAN I/F
114 CPU
115 メモリ
116 記憶装置
1150 ファームウェア
1151 データアクセス制御部
1152 データ記憶制御部
1153 ユニット管理部
1154 OS

Claims (7)

  1. アクセスパスを制御するマルチパスドライバを有する上位装置と、
    前記上位装置と通信可能に新規に接続される第1の制御ユニットに対するアクセスパスの設定を指示する制御信号を前記上位装置へ送信する第2の制御ユニットと、を備え、
    前記マルチパスドライバは、前記第2の制御ユニットからの制御信号に基づいて前記第1の制御ユニットに対するアクセスパスの設定を行なうこと、
    を特徴とする制御システム。
  2. 前記第2の制御ユニットは、
    前記第1の制御ユニットを認識した場合に、前記第1の制御ユニットに対するアクセスパスの設定を指示する制御信号を前記上位装置へ送信する
    ことを特徴とする、請求項1記載の制御システム。
  3. 複数の仮想ボリュームを管理する1以上の第3の制御ユニットを備え、
    前記第2の制御ユニットは、
    前記第3の制御ユニットにおける、前記仮想ボリュームに対する前記上位装置からのアクセスパス毎に負荷情報を収集する負荷情報収集部と、
    前記第1の制御ユニットを認識した場合に、前記第3の制御ユニット及び前記第1の制御ユニットの性能情報を収集する性能情報収集部と、
    前記性能情報に基づいて、前記第3の制御ユニットが管理する前記仮想ボリュームの中から、前記第1の制御ユニットに移動させる移動仮想ボリュームを選択する選択部と、
    前記選択部により選択された前記移動仮想ボリュームを前記第1の制御ユニットに移動させる移動指示部と
    を備えることを特徴とする、請求項1又は2記載の制御システム。
  4. 前記選択部が、
    前記第3の制御ユニット及び前記第1の制御ユニットの各性能情報に応じて、前記第3の制御ユニット及び前記第1の制御ユニットのそれぞれに対する目標負荷を決定し、
    前記負荷情報に基づいて、選択される前記仮想ボリュームの負荷情報の合計が前記第1の制御ユニットの目標負荷を超えない範囲で、前記複数の前記仮想ボリュームの中から負荷が最も高い仮想ボリュームから順番に、前記仮想ボリュームを前記移動仮想ボリュームとして選択することを特徴とする、請求項3記載の制御システム。
  5. 前記選択部が、
    前記第3の制御ユニット及び前記第1の制御ユニットの各性能情報に応じて、前記第3の制御ユニット及び前記第1の制御ユニットのそれぞれに対する目標負荷を決定し、
    前記負荷情報に基づいて、
    前記移動仮想ボリュームの移動元の前記第3の制御ユニットにおいて、前記移動仮想ボリュームとして選択される前記仮想ボリュームを除く残りの仮想ボリュームの負荷情報の合計が、当該移動元の第3の制御ユニットの前記目標負荷を下回らない範囲で、1以上の前記移動仮想ボリュームを選択することを特徴とする、請求項3記載の制御システム。
  6. アクセスパスを制御するマルチパスドライバを有する上位装置に対して通信を行なう通信部と、
    前記上位装置と通信可能に新規に接続される第1の制御ユニットに対するアクセスパスの設定を指示する制御信号を前記上位装置へ送信する送信部と
    を備えることを特徴とする制御装置。
  7. アクセスパスを制御するマルチパスドライバを有する上位装置と通信可能なコンピュータに、
    前記上位装置と通信可能に新規に接続される第1の制御ユニットに対するアクセスパスの設定を指示する制御信号を前記上位装置へ送信させる処理を実行させることを特徴とする制御プログラム。
JP2013090128A 2013-04-23 2013-04-23 制御システム,制御装置及び制御プログラム Pending JP2014215666A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013090128A JP2014215666A (ja) 2013-04-23 2013-04-23 制御システム,制御装置及び制御プログラム
US14/256,339 US20140317348A1 (en) 2013-04-23 2014-04-18 Control system, control apparatus, and computer-readable recording medium recording control program thereon
EP14165383.2A EP2796984A1 (en) 2013-04-23 2014-04-22 Control system, control apparatus, and control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013090128A JP2014215666A (ja) 2013-04-23 2013-04-23 制御システム,制御装置及び制御プログラム

Publications (2)

Publication Number Publication Date
JP2014215666A true JP2014215666A (ja) 2014-11-17
JP2014215666A5 JP2014215666A5 (ja) 2016-02-25

Family

ID=50624426

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013090128A Pending JP2014215666A (ja) 2013-04-23 2013-04-23 制御システム,制御装置及び制御プログラム

Country Status (3)

Country Link
US (1) US20140317348A1 (ja)
EP (1) EP2796984A1 (ja)
JP (1) JP2014215666A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160142335A1 (en) 2014-11-19 2016-05-19 Fujitsu Limited Storage management device, storage management method, and computer-readable recording medium
WO2016103506A1 (ja) * 2014-12-26 2016-06-30 株式会社日立製作所 パス管理装置及びパス管理方法
US10037162B2 (en) 2015-06-15 2018-07-31 Fujitsu Limited Storage management device, storage management method, and computer-readable recording medium
JP2021114010A (ja) * 2020-01-16 2021-08-05 株式会社日立製作所 ストレージシステム及びストレージシステムの制御方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10097410B2 (en) 2014-06-26 2018-10-09 Vmware, Inc. Methods and apparatus to scale application deployments in cloud computing environments
US10275007B2 (en) * 2014-09-26 2019-04-30 Intel Corporation Performance management for a multiple-CPU platform
JP2022099948A (ja) * 2020-12-23 2022-07-05 株式会社日立製作所 ストレージシステムおよびストレージシステムにおけるデータ量削減方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006330895A (ja) * 2005-05-24 2006-12-07 Hitachi Ltd ストレージシステム及びストレージシステムの運用方法
JP2009277211A (ja) * 2008-05-15 2009-11-26 Hitachi Ltd ストレージシステムでi/oプライオリティを制御する方法及び装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069468B1 (en) * 2001-11-15 2006-06-27 Xiotech Corporation System and method for re-allocating storage area network resources
JP4418286B2 (ja) 2003-07-14 2010-02-17 富士通株式会社 分散型ストレージシステム
JP4930934B2 (ja) * 2006-09-29 2012-05-16 株式会社日立製作所 データマイグレーション方法及び情報処理システム
JP5041860B2 (ja) 2007-04-20 2012-10-03 株式会社日立製作所 ストレージ装置及び管理単位設定方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006330895A (ja) * 2005-05-24 2006-12-07 Hitachi Ltd ストレージシステム及びストレージシステムの運用方法
JP2009277211A (ja) * 2008-05-15 2009-11-26 Hitachi Ltd ストレージシステムでi/oプライオリティを制御する方法及び装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160142335A1 (en) 2014-11-19 2016-05-19 Fujitsu Limited Storage management device, storage management method, and computer-readable recording medium
JP2016099746A (ja) * 2014-11-19 2016-05-30 富士通株式会社 ストレージ管理装置、ストレージ管理方法及びストレージ管理プログラム
US10277676B2 (en) 2014-11-19 2019-04-30 Fujitsu Limited Storage management device, storage management method, and computer-readable recording medium
WO2016103506A1 (ja) * 2014-12-26 2016-06-30 株式会社日立製作所 パス管理装置及びパス管理方法
US10037162B2 (en) 2015-06-15 2018-07-31 Fujitsu Limited Storage management device, storage management method, and computer-readable recording medium
JP2021114010A (ja) * 2020-01-16 2021-08-05 株式会社日立製作所 ストレージシステム及びストレージシステムの制御方法
JP7332488B2 (ja) 2020-01-16 2023-08-23 株式会社日立製作所 ストレージシステム及びストレージシステムの制御方法

Also Published As

Publication number Publication date
US20140317348A1 (en) 2014-10-23
EP2796984A1 (en) 2014-10-29

Similar Documents

Publication Publication Date Title
JP2014215666A (ja) 制御システム,制御装置及び制御プログラム
JP4749140B2 (ja) データマイグレーション方法及びシステム
US8850152B2 (en) Method of data migration and information storage system
US8825851B2 (en) Management of a virtual machine in a storage area network environment
US8041987B2 (en) Dynamic physical and virtual multipath I/O
US8521983B2 (en) Program, apparatus and method for managing data allocation of distributed storage system including storage nodes
US9977620B2 (en) Storage device and storage system
US7395370B2 (en) Computer system, data management method, and program for determining a migration method based on prediction of a migration influence
WO2013072978A1 (ja) 計算機、仮想マシン配備方法及びプログラム
WO2014167716A1 (ja) 計算機システムの管理システム及び管理方法
US20080244174A1 (en) Replication in storage systems
JPWO2012140730A1 (ja) 管理システム、それを有する計算機システム、及び管理方法
JP2008108020A (ja) 計算機システム、データ移行方法、およびストレージ管理サーバ
EP3129875A2 (en) Connectivity-aware storage controller load balancing
JP6464777B2 (ja) 情報処理装置及びプログラム
US9003027B2 (en) Discovery of storage area network devices for a virtual machine
US9047247B2 (en) Storage system and data processing method
US20160147478A1 (en) System, method and relay device
JP2014215666A5 (ja)
US10223016B2 (en) Power management for distributed storage systems
US10642705B2 (en) Storage system and storage method
KR20140079716A (ko) 정보 처리 장치, 스토리지 장치, 정보 처리 시스템, 및 입력 및 출력 방법
US20180341423A1 (en) Storage control device and information processing system
US20160224273A1 (en) Controller and storage system
WO2018004519A1 (en) Management method and apparatus for configuring optimized path

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160106

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161125

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170418