JP2004362146A - ストレージ制御装置の制御方法及びストレージ制御装置 - Google Patents

ストレージ制御装置の制御方法及びストレージ制御装置 Download PDF

Info

Publication number
JP2004362146A
JP2004362146A JP2003158271A JP2003158271A JP2004362146A JP 2004362146 A JP2004362146 A JP 2004362146A JP 2003158271 A JP2003158271 A JP 2003158271A JP 2003158271 A JP2003158271 A JP 2003158271A JP 2004362146 A JP2004362146 A JP 2004362146A
Authority
JP
Japan
Prior art keywords
information processing
control unit
data input
output request
channel control
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
JP2003158271A
Other languages
English (en)
Other versions
JP2004362146A5 (ja
Inventor
Yoshihito Nakagawa
義仁 中川
Yutaka Ogasawara
裕 小笠原
Katsuhiro Uchiumi
勝広 内海
Shinichi Nakayama
信一 中山
豊 ▲高▼田
Yutaka Takada
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2003158271A priority Critical patent/JP2004362146A/ja
Priority to US10/754,164 priority patent/US6981170B2/en
Publication of JP2004362146A publication Critical patent/JP2004362146A/ja
Publication of JP2004362146A5 publication Critical patent/JP2004362146A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs

Abstract

【課題】情報処理装置側で障害が発生した時、ストレージシステムの信頼性を確保する。
【解決手段】情報処理装置から送信されるデータ入出力要求を受信して、前記データ入出力要求に応じて記憶デバイスに対するデータの書き込み/読み出しを制御するための制御信号を出力する、互いに通信可能に接続される複数のチャネル制御部と、前記制御信号に応じて記憶デバイスに対するデータの書き込み/読み出しを行うディスク制御部と、を備えるストレージ制御装置の制御方法であって、第1の前記チャネル制御部が、前記情報処理装置と通信することにより前記情報処理装置の動作を監視し、第1の前記チャネル制御部が、前記情報処理装置における障害を検知した場合に、前記情報処理装置から送信されたデータ入出力要求が着信される第2の前記チャネル制御部により前記データ入出力要求に応じて実行される処理を制限するための処理を実行するようにする。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
この発明は、ストレージ制御装置の制御方法及びストレージ制御装置に関する。
【0002】
【従来の技術】
IT関連産業の発達に伴い、コンピュータシステムが取り扱うデータ量が飛躍的に増加している。かかる膨大なデータを効率よく利用し管理するために、データセンタ等においては、ディスクアレイ装置等などの記憶装置と情報処理装置とを専用のネットワークで接続し、ディスクドライブ等のストレージに対する高速かつ大量なアクセスを実現するようにしたストレージシステムが構築されている。上記ネットワークとしては高速なデータ転送を実現するために、ファイバチャネルプロトコルに従った通信機器を用いて構築されるネットワークである、SAN(Storage Area Network)が用いられるのが一般的である。また、最近では、複数の記憶装置と情報処理装置とを接続する上記ネットワークとしてTCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルを用いたLAN(Local Area Network)を用い、情報処理装置からファイル指定によるアクセスを実現したNAS(Network Attached Storage)と呼ばれる装置も開発されている。
【0003】
昨今では、ストレージシステムが取扱うデータに対する社会的な重要性が増しており、ストレージシステムには高い信頼性や可用性が求められるようになってきている。ここでストレージシステムの信頼性や可用性を向上させるための技術として、クラスタと呼ばれる技術が知られている。例えば、複数の情報処理装置でクラスタを構成し、情報処理装置間で障害の監視と障害検出時のフェールオーバを実現することで、ストレージシステムの信頼性や可用性を向上させることができる。
【0004】
【特許文献1】
特開2002−351703号公報
【0005】
【発明が解決しようとする課題】
ところで、ストレージシステムにおいては、例えば、情報処理装置側で障害が発生しているにもかかわらず記憶装置側でそのまま情報処理装置から送信されるデータ入出力要求についての処理を続けていると、記憶装置に記憶されているデータの破損やデータに管理上の不整合等の問題が生じる可能性がある。従って、ストレージシステムの信頼性や可用性をより確実に確保するためには情報処理装置側で発生した障害の影響ができるだけ記憶装置側に及ばないようにすることも重要である。
【0006】
本発明は上記課題を鑑みてなされたものであり、ストレージシステムの信頼性や可用性を向上させることができる、ストレージ制御装置の制御方法及びストレージ制御装置を提供することを主たる目的とする。
【0007】
【課題を解決するための手段】
上記目的を達成する本発明の主たる発明は、情報処理装置から送信されるデータ入出力要求を受信して、前記データ入出力要求に応じて記憶デバイスに対するデータの書き込み/読み出しを制御するための制御信号を出力する、互いに通信可能に接続される複数のチャネル制御部と、前記制御信号に応じて記憶デバイスに対するデータの書き込み/読み出しを行うディスク制御部と、を備えるストレージ制御装置の制御方法であって、第1の前記チャネル制御部が、前記情報処理装置と通信することにより前記情報処理装置の動作を監視し、第1の前記チャネル制御部が、前記情報処理装置における障害を検知した場合に、前記情報処理装置から送信されたデータ入出力要求が着信される第2の前記チャネル制御部により前記データ入出力要求に応じて実行される処理を制限するための処理を実行することとする。
【0008】
前記制御信号は、例えば、直接的にもしくは後述する共有メモリやキャッシュメモリを介して間接的に、前記チャネル制御部から前記ディスク制御部に対して伝達される信号である。情報処理装置において障害が発生すると、そのことが第1のチャネル制御部により検知され、これに応じて第2の前記チャネル制御部により前記データ入出力要求に応じて実行される処理を制限するための処理が実行される。これにより障害が生じている情報処理装置から送られてくる異常なデータ入出力要求に応じて第2のチャネル制御部が異常な処理を行うことにより記憶デバイスに記憶されているデータを破損したり、データに管理上の不整合が生じたりすることが防止され、ストレージシステムの信頼性や可用性を向上させることができる。
【0009】
その他、本願が開示する課題、及びその解決方法は、発明の実施の形態の欄及び図面により明らかにされる。
【0010】
【発明の実施の形態】
図1に本発明の一実施例として説明するストレージシステムの概略構成を示している。このストレージシステムは、例えば、データセンタ等において構築される。ストレージシステムは、例えば、インターネット上のWebサイトの運用、ASPサービスの提供、銀行や証券会社等におけるオンラインシステムやバッチ処理システムの運用等、各種の用途に利用される。
【0011】
ストレージシステムは、ストレージ制御装置100、ストレージ制御装置100に通信可能に接続しストレージ制御装置100に対してデータの書き込み/読み出しに関する要求(以下、データ入出力要求と称する)を送信する情報処理装置1乃至2(200)、ストレージ制御装置100により制御されデータの記憶領域を提供する1台以上のディスクドライブ300(記憶デバイス)を含んで構成される。ストレージ制御装置100は、情報処理装置200から送信されてくるデータ入出力要求を受信して、前記データ入出力要求に応じてディスクドライブ300に記憶されているデータの書き込みや読み出しに関する処理を行う。
【0012】
ストレージ制御装置100と情報処理装置1乃至2(200)とは、LAN(Local Area Network)400を介して通信可能に接続されている。LAN400を介して行われる通信は、例えば、TCP/IPプロトコルに従って行われる。情報処理装置1乃至2(200)とストレージ制御装置100とは、SAN(Storage Area Network)500を介して通信可能に接続されている。SAN500を介して行われる通信は、例えば、ファイバチャネル、iSCSI、FICON(登録商標)、ESCON(登録商標)、ACONARC(登録商標)、FIBARC(登録商標)等に従って行われる。
【0013】
情報処理装置1乃至2(200)は、いずれもCPU(Central Processing Unit)やメモリを備えるコンピュータである。情報処理装置1乃至2(200)は、例えば、パーソナルコンピュータ、ワークステーション、メインフレームコンピュータ等である。情報処理装置1乃至2(200)が備えるCPUにより各種プログラムが実行されることにより、情報処理装置1乃至2(200)が提供する様々な機能が実現される。情報処理装置200では、オペレーティングシステムが動作している。オペレーティングシステム上では、各種のアプリケーションソフトウェアが動作している。後述するクラスタソフトウェアも、上記オペレーティングシステム上で動作するアプリケーションソフトウェアの一つである。
【0014】
図2に情報処理装置200の典型的なハードウェア構成を示している。情報処理装置200は、CPU211、メモリ212、記録媒体読取装置214、入力装置215、出力装置216、記憶装置217、LANインタフェース218、SANインタフェース219、等を備えて構成される。CPU211は、メモリ212に格納されているプログラムを実行する。記録媒体読取装置214は、記録媒体230に記録されているプログラムやデータを読み取るための装置である。記録媒体230としては、例えば、フレキシブルディスクやCD−ROM、DVD−ROM、DVD−R、DVD−RW、半導体メモリ等が用いられる。記録媒体読取装置214は、情報処理装置200に内蔵される形態とすることもできるし、外付されている形態とすることもできる。
【0015】
記憶装置217は、例えばハードディスク装置やフレキシブルディスク装置、半導体記憶装置、等である。入力装置215は、ユーザやオペレータ等の人による情報処理装置200へのデータ入力等のためのユーザインタフェースである。入力装置215としては、例えば、キーボードやマウス等が用いられる。出力装置216は、例えば、ディスプレイやプリンタ等である。
【0016】
LANインタフェース218は、情報処理装置200をLAN400に接続するための通信インタフェースである。LANインタフェース218としては、例えば、イーサネット(登録商標)に対応したネットワークカードが用いられる。SANインタフェース219は、情報処理装置200をSAN500に接続するための通信インタフェースである。SANインタフェース219としては、ファイバチャネルプロトコルに対応したネットワークカードが用いられる。通信ポート2191は、情報処理装置200のSAN500への接続口であり、例えば、ファイバチャネルの通信規格における「N_Port」や「NL_Port」である。通信ポート2191には、SAN500上のノードを特定するためのネットワークアドレスであるWWNが付与される。
【0017】
図1に示すストレージ制御装置100は、チャネル制御部1乃至2(110)、共有メモリ120、キャッシュメモリ130、ディスク制御部140、接続部150等を備えて構成される。ストレージ制御装置100は、情報処理装置1乃至2(200)との間の通信に関する機能を提供するチャネル制御部1乃至2(110)を備えている。チャネル制御部1(110)は、情報処理装置1乃至2(200)との間でLAN400を介した通信に関する機能を提供する。チャネル制御部2(110)は、情報処理装置1乃至2(200)との間でSAN500を介した通信に関する機能を提供する。チャネル制御部1(110)とチャネル制御部2(110)とは、互いにバスライン105によって通信可能に接続されている。チャネル制御部1(110)とチャネル制御部2(110)とは、バスライン105を介して互いにデータ信号や割込信号等を送信もしくは受信することができる。以下ではチャネル制御部1(110)をCHNとも称する。また、チャネル制御部2(110)をCHFとも称する。
【0018】
図3にチャネル制御部1(CHN)110のハードウェア構成を示している。チャネル制御部1(CHN)110は、ネットワークインタフェース部111、CPU112、メモリ113、入出力制御部114、通信ポート117、等を備えている。ネットワークインタフェース部111は、LAN400に接続するための通信インタフェースである。通信ポート117には、LAN400に接続するための通信線が接続される。
【0019】
チャネル制御部1(CHN)110では、オペレーティングシステムが動作している。また、オペレーティングシステム上では、各種のアプリケーションソフトウェアが動作している。オペレーティングシステムやアプリケーションソフトウェアの機能は、CPU112がメモリ113にロードされるプログラムが実行されることにより実現される。前記プログラムは、例えば、ディスクドライブ300やNVRAM115等に記憶されている。
【0020】
オペレーティングシステムは、例えば、UNIX(登録商標)系やWindows(登録商標)系のオペレーティングシステムでありファイルシステムを備えている。また、オペレーティングシステム上では、NFS(Network File System)、CIFS(Common Internet File System)等のファイルシステムプロトコルが動作しており、情報処理装置1乃至2からファイル指定によるデータ入出力要求(以下、ファイルアクセス要求と称する)を受け付ける。すなわち、チャネル制御部1(CHN)110は、情報処理装置1乃至2等のLAN400に接続する装置に対してNAS(Network Attached Storage)として機能している。
【0021】
入出力制御部114は、ディスク制御部140やキャッシュメモリ130、共有メモリ120、との間でデータやコマンドの授受を行う。入出力制御部114は、I/Oプロセッサ(Input/Output)119及びNVRAM(Non Volatile RAM)115を備えている。I/Oプロセッサ119は、例えば、1チップのマイコンで構成される。I/Oプロセッサ119は、例えば、DMA(Direct Memory Access)プロセッサである。I/Oプロセッサ119は、上記データやコマンドの授受を制御し、CPU112と接続部(スイッチ)との間の通信を中継している。NVRAM115は、I/Oプロセッサ119の制御を司るプログラムが格納される不揮発性メモリである。
【0022】
図4にチャネル制御部2(CHF)110のハードウェア構成を示している。チャネル制御部2(CHF)110は、ネットワークインタフェース部111、メモリ113、入出力制御部114、I/Oプロセッサ119、NVRAM115、通信ポート117を備える。
【0023】
チャネル制御部2(CHF)110は、CPU112を備えていない点でチャネル制御部1(CHN)110と構成が異なる。チャネル制御部2(CHF)110ではファイルシステムは動作しておらず、情報処理装置1乃至2(200)からファイル指定ではなくブロック指定によるデータ入出力要求(以下、ブロックアクセス要求と称する)を受け付ける。また、チャネル制御部1(CHN)110がLAN400を介して行われる通信に関する機能を提供するのに対し、チャネル制御部2(CHF)110はSAN500を介して行われる通信に関する機能を提供する。
【0024】
ネットワークインタフェース部111は、SAN500に接続するための通信インタフェースである。ネットワークインタフェース部111は、2つの通信ポート117を備えている。各通信ポート117には、SAN500に接続するための通信線が接続される。各通信ポート117には、それぞれSAN500におけるネットワークアドレスが付与される。例えば、SAN500の通信プロトコルがファイバチャネルである場合には、前記ネットワークアドレスは、WWN(World Wide Name)であり、各通信ポート117にはそれぞれ異なるWWNが付与される。
【0025】
入出力制御部114は、ディスク制御部140、キャッシュメモリ130、共有メモリ120、とそれぞれとの間でデータやコマンドの授受を行う。入出力制御部114は、I/Oプロセッサ(Input/Output)119及びNVRAM(Non Volatile RAM)115を備えている。I/Oプロセッサ119は、例えば、1チップのマイコンで構成される。I/Oプロセッサ119は、例えば、DMA(Direct Memory Access)プロセッサである。I/Oプロセッサ119は、上記データやコマンドの授受を制御し、CPU112と接続部(スイッチ)150との間の通信を中継する。NVRAM115は、I/Oプロセッサ119の制御を司るプログラムが格納される不揮発性メモリである。
【0026】
ディスク制御部140は、ディスクドライブ300の制御を行う。ディスク制御部140は、例えば、チャネル制御部110が情報処理装置200から受信したデータ書き込みコマンドに従ってディスクドライブ300へデータの書き込みを行う。図5にディスク制御部140のハードウェア構成を示している。ディスク制御部140は、インタフェース部141、メモリ143、CPU142、NVRAM144、等を備えている。インタフェース部141は、接続部150を介してチャネル制御部1乃至2(110)との間での通信や、共有メモリ120、キャッシュメモリ130へのアクセスを行うための通信インタフェースや、ディスクドライブ300との間で通信を行うための通信インタフェースを備えている。
【0027】
CPU142は、ディスク制御部140全体の制御を司ると共に、チャネル制御部1乃至2(110)やディスクドライブ300との間の通信を行う。メモリ143やNVRAM144に格納された各種プログラムを実行することにより本実施の形態に係るディスク制御部140の機能が実現される。ディスク制御部140により実現される機能としては、例えば、ディスクドライブ300の制御やRAIDの機能に関する各種制御等がある。NVRAM144は、CPU142の制御を司るプログラムを格納する不揮発性メモリである。
【0028】
図1に示すように、チャネル制御部1乃至2(110)、共有メモリ120、キャッシュメモリ130、ディスク制御部140は、それぞれ接続部150を介して互いに通信可能に接続されている。接続部150は、例えば、高速スイッチングによりデータ伝送を行う超高速クロスバスイッチなどのスイッチである。接続部150は、スイッチングに関する制御を行うための制御プロセッサ(不図示)を備えている。共有メモリ120及びキャッシュメモリ130は、チャネル制御部1乃至2(110)、ディスク制御部140により共有されるメモリである。共有メモリ120は、主に制御情報やコマンド等を記憶するために利用されるのに対し、キャッシュメモリ130は、主にデータを記憶するために利用される。
【0029】
===基本動作===
次に、情報処理装置1乃至2(200)から送信されてくるデータ書き込み要求やデータ読み出し要求などのデータ入出力要求を受信した場合におけるストレージ制御装置100の基本動作について説明する。
【0030】
まず、情報処理装置1乃至2(200)からストレージ制御装置100に対してデータ書き込み要求が送信された場合について説明する。ストレージ制御装置100のチャネル制御部1乃至2(110)は、情報処理装置1乃至2(200)から送られてくるデータ書き込み要求を受信すると、データ書き込みコマンドを共有メモリ120に書き込むと共に、情報処理装置1乃至2(200)から受信した書き込みデータをキャッシュメモリ130に書き込む。チャネル制御部1乃至2(110)は、キャッシュメモリ130に対するデータの書き込みが完了すると、情報処理装置200に書き込み完了報告を送信する。このように情報処理装置200への完了報告は、ディスクドライブ300への実際のデータの書き込み動作とは非同期に行われる。ディスク制御部140はリアルタイム(例えば、一定の時間間隔で)に共有メモリ120の内容を監視している。ディスク制御部140は、上記監視により共有メモリ120にデータ書き込みコマンドが書き込まれていることを検知すると、キャッシュメモリ130から書き込み対象となるデータ(以下、書き込みデータと称する)を読み出して、読み出した書き込みデータをディスクドライブ300に書き込む。以上のようにしてデータ書き込み要求に対応したディスクドライブ300へのデータの書き込みが行われる。
【0031】
次に、情報処理装置200からストレージ制御装置100に対してデータ書き込み要求が送信された場合におけるストレージ制御装置100の基本的な動作について説明する。ストレージ制御装置100は、情報処理装置200から送られてくるデータ読み出し要求を受信すると、この要求に対応するデータ読み出しコマンドをディスク制御部140に送出する。なお、チャネル制御部1乃至2(110)からディスク制御部140へのデータ読み出しコマンドの伝達は、共有メモリ120を介して行われることもある。
【0032】
ディスク制御部140は、チャネル制御部1乃至2(110)からデータ読み出しコマンドを受領すると、そのコマンドに指定されている読み出し対象のデータをディスクドライブ300から読み出して、読み出したデータをキャッシュメモリ130に書き込む。ディスク制御部140は、キャッシュメモリ130へのデータ転送が完了すると、その旨をチャネル制御部1乃至2(110)に通知する。そして前記通知を受信したチャネル制御部1乃至2(110)は、キャッシュメモリ130に記憶されている読み出し対象のデータを情報処理装置1乃至2(200)に転送する。
【0033】
上述したように、チャネル制御部1(CHN)110は、情報処理装置1乃至2(200)からデータ入出力要求としてLAN400を介してファイル指定によるファイルアクセス要求を受け付ける。一方、チャネル制御部2(CHF)110は、情報処理装置1乃至2(200)からデータ入出力要求としてSAN500を介してブロック指定によるブロックアクセス要求を受け付ける。
【0034】
===障害監視と障害対応===
チャネル制御部1(CHN)110と情報処理装置1乃至2(200)とにおいては、これら装置間で互いに動作状態を監視し合う機能を提供するアプリケーションソフトウェアが動作している。なお、近年、複数のコンピュータを含んで構成されるシステムにおいては、可用性(HA(High Availability))の向上、負荷分散(ロードバランシング)による処理効率の向上、同一処理の並列実行による信頼度を向上等を目的として、いわゆるクラスタの仕組みが導入されることが多い。このような場合には、お互いに他の装置の動作状態を監視する上記の機能は、クラスタの機能を実現するためのアプリケーションソフトウェア(以下、クラスタソフトウェア160と称する)の機能として提供される。
【0035】
クラスタソフトウェア160は、LAN400を介してお互いにハートビートメッセージを送受信することで、相手方装置が正常に動作しているかどうかを監視している。クラスタソフトウェア160は、期待される時刻に相手方の装置から送られてくるハートビートメッセージを受信できている場合には、当該相手方装置は正常に動作しているものと判断する。また、クラスタソフトウェア160は、期待される時刻に相手の装置から送られてくるハートビートメッセージを受信できていない場合、すなわち、ハートビートメッセージが途絶している場合には、相手装置に何らかの障害が発生しているものと判断する。なお、上記にいう期待される時刻は、ハートビートメッセージがストレージ制御装置100、情報処理装置200、LAN400等に与える負荷や障害検知に要求される迅速性等を考慮して、適切な値に設定される。チャネル制御部1(200)において動作しているクラスタソフトウェア160は、ハートビートメッセージを送信してくる相手装置側のIPアドレスを記憶している。クラスタソフトウェア160は、ハートビートメッセージが送信されてこない情報処理装置200が存在する場合に、その情報処理装置200のIPアドレスを特定する機能を備えている。なお、他の装置の動作状態を監視する仕組みは、ハートビートメッセージを用いる上述のものに限られない。
【0036】
ストレージ制御装置100は、以上に説明したクラスタソフトウェア160により提供される障害監視の仕組みによって、ある情報処理装置200からのハートメッセージが途絶していることを検知した場合には、その情報処理装置200(以下、障害中の情報処理装置200と称する)からチャネル制御部2(110)に対して行われるデータ入出力要求に応じて実行される処理を制限するための処理を実行する。ここでデータ入出力要求に応じて実行される処理を制限するための処理とは、例えば、通常の運用状態においてそのデータ入出力要求に対応して実行されるようにされている処理を実行しないようにすることをいう。具体的には、例えば、チャネル制御部2(110)が障害中の情報処理装置200から送信されたデータ入出力要求を受信した場合に、そのデータ入出力要求に対応する処理を実行しないようにする処理、前記データ入出力要求に応じて出力される前記制御信号を出力しないように制御する処理、またはそのデータ入出力要求に対する情報処理装置200への受信通知を送信しないようにする処理をいう。以下では、チャネル制御部1(CHN)110が、ある情報処理装置200からのハートビートメッセージが途絶していることを検知した場合に、前記情報処理装置200からチャネル制御部2(CHF)110に対して送信されたデータ入出力要求に応じて実行される処理を制限する処理について説明する。
【0037】
図6は、ある情報処理装置200からのハートビートメッセージが途絶していることを検知した場合に、その情報処理装置200からチャネル制御部2(CHF)110に対して行われるデータ入出力要求に応じて実行される処理が制限される処理の一例を説明するフローチャートである。チャネル制御部1(CHN)110で動作するクラスタソフトウェア160は、ある情報処理装置200において障害が発生し(S610)、その情報処理装置200からのハートビートメッセージが途絶していることを検知すると(S611)、障害中の情報処理装置200に付与されているSAN500上のネットワークアドレス(WWN)を検索する。ここでこの検索は、障害中の情報処理装置200に付与されているIPアドレスを特定し、そのIPアドレスを検索キーとして、図7に示す情報処理装置−WWN対応管理テーブル700を参照することにより行われる。情報処理装置−WWN対応管理テーブル700は、チャネル制御部1(CHN)110のメモリ113、NVRAM115、もしくは、ディスクドライブ300に記憶されているテーブルである。情報処理装置−WWN対応管理テーブル700には、各情報処理装置200に付与されているLAN400上のIPアドレスと、情報処理装置200に付与されているSAN500上のWWNとの対応づけが登録されている。クラスタソフトウェア160は、検索したWWNをメモリ113に書き込む(S612)。
【0038】
次にクラスタソフトウェア160は、メモリ113上に管理されている書き込み指示フラグをONに設定する(S613)。チャネル制御部1(CHN)110のI/Oプロセッサ119は、書き込み指示フラグの内容をリアルタイムに監視している。チャネル制御部1(CHN)110のI/Oプロセッサ119は、書き込み指示フラグがONになっていることを検知すると(S614:YES)、メモリ113に書き込まれているWWNを共有メモリ120に転送する(S615)。ここで共有メモリ120に転送された前記WWNは、共有メモリ120に確保されている記憶領域であるWWN書き込みエリア1201に書き込まれる。
【0039】
一方、チャネル制御部2(CHF)110のI/Oプロセッサ119は、共有メモリ120のWWN書き込みエリア1201の内容をリアルタイムに監視している(S616)。I/Oプロセッサ119は、前記監視により新たなWWNがWWN書き込みエリア1201に書き込まれていることを検知すると(S617:YES)、そのWWNを読み出して、チャネル制御部2(CHF)110のメモリ113に転送する(S618)。これによりチャネル制御部2(CHF)110のメモリ113には、障害中の情報処理装置200のWWNがリアルタイムに管理される。
【0040】
チャネル制御部2(CHF)110のI/Oプロセッサ119は、チャネル制御部2(CHF)110のメモリ113に前記WWNが記憶されている場合には、情報処理装置1乃至2(200)からSAN500を介して送信されてくるデータ入出力要求についてそのデータ入出力要求に応じて実行される処理を制限するかどうかの判定を行う。そして、チャネル制御部2(CHF)110は、メモリ113に記憶されているWWNと同じWWNが付与されている情報処理装置200からデータ入出力要求が送信されてくると、そのデータ入出力要求についての処理を制限する(S619)。
【0041】
ここでデータ入出力要求がメモリ113に記憶されているWWNが付与された情報処理装置200から送信されたものであるかどうかの判断は、メモリ113に記憶されているWWNと、送信元の通信ポート2191を特定するためにデータ入出力要求に付帯して送られてくるWWNとを対照することにより行われる。
【0042】
以上の仕組みによれば、情報処理装置200において障害が発生した場合には、その情報処理装置200から送信されたデータ入出力要求に関する処理が制限される。これにより、情報処理装置200から送られてくる異常なコマンドや異常なデータによりディスクドライブ300に記憶されるデータが破損したり、データに管理上の不整合が生じたりすることを防ぐことができ、ストレージシステムの信頼性や可用性を向上させることができる。
【0043】
なお、情報処理装置200の障害が復旧した場合には、クラスタソフトウェア160の機能により、もしくは、オペレータ等による手動操作により、該当の情報処理装置200のWWNが、WWN書き込みエリア1201から削除される。そして、I/Oプロセッサ119は、前記監視において、チャネル制御部2(110)のメモリ113に記憶されているWWNが、共有メモリ120のWWN書き込みエリア1201から削除されている場合には、チャネル制御部2(110)のメモリ113からそのWWNを削除する。これにより情報処理装置200の障害が復旧して正常に動作を開始した場合には、制限されていた該当の情報処理装置200から送信されたデータ入出力要求についての処理が自動的に再開される。
【0044】
なお、例えば、WWN書き込みエリア1201に記憶されている各WWNに対応させたフラグ(以下、抑止解除フラグと称する)を共有メモリ120に管理し、チャネル制御部2(CHF)110が抑止解除フラグの内容に応じてデータ入出力要求に応じた処理を制限する処理を実行するかどうかを決定するようにしてもよい。このように抑止解除フラグを用いる場合には、例えば、各チャネル制御部2(CHF)が参照したかどうかを示す情報を共有メモリ120に管理しておき、WWNを参照すべき全てのチャネル制御部2(CHF)110が前記WWNを参照したことを確認した後に前記WWNをWWN書き込みエリア1201から削除するようにしてもよい。このようにすることで、チャネル制御部2(CHF)110が複数存在する場合において各チャネル制御部2(CHF)110が個別に上記データ入出力要求に応じた処理を制限する必要があるかどうかを判断できるようにすることができる。
【0045】
図8はある情報処理装置200からのハートビートメッセージが途絶していることを検知した場合に、その情報処理装置200からチャネル制御部2(110)に対して送信されてくるデータ入出力要求に応じて実行される処理が制限される処理の他の実施の形態を説明するフローチャートである。チャネル制御部1(CHN)110で動作するクラスタソフトウェア160は、ある情報処理装置200において障害が発生し(S810)、その情報処理装置200からのハートビートメッセージが途絶していることを検知すると(S811)、いずれかの情報処理装置200に障害が発生していることを示す割込信号をバスライン105を介してチャネル制御部2(110)に出力する(S812)。また、クラスタソフトウェア160は、障害中の情報処理装置200に付与されているSAN500上のネットワークアドレス(WWN)を検索する。ここでこの検索は、障害中の情報処理装置200に付与されているIPアドレスを特定し、そのIPアドレスを検索キーとして、情報処理装置−WWN対応管理テーブル700を参照することにより行われる。クラスタソフトウェア160は、検索したWWNをメモリ113に書き込む(S813)。
【0046】
次にクラスタソフトウェア160は、メモリ113上に管理されている書き込み指示フラグをONに設定する(S814)。チャネル制御部1(CHN)110のI/Oプロセッサ119は、書き込み指示フラグの内容をリアルタイムに監視している。チャネル制御部1(CHN)110のI/Oプロセッサ119は、書き込み指示フラグがONになっていることを検知すると(S815:YES)、メモリ113に書き込まれているWWNを共有メモリ120に転送する(S815)。ここで共有メモリ120に転送された前記WWNは、共有メモリ120に確保されている記憶領域であるWWN書き込みエリア1201に書き込まれる。
【0047】
一方、チャネル制御部2(CHF)110のI/Oプロセッサ119は、チャネル制御部1(CHN)110から出力された割込信号を受信したのに応じて(S817)共有メモリ120にアクセスし(S818)、WWN書き込みエリア1201に書き込まれている新たなWWNをチャネル制御部2(CHF)110のメモリ113に記憶する(S819)。これによりチャネル制御部2(CHF)110のメモリ113には、障害中の情報処理装置200のWWNがリアルタイムに管理される。
【0048】
チャネル制御部2(CHF)110のI/Oプロセッサ119は、チャネル制御部2(CHF)110のメモリ113に前記WWNが記憶されている場合には、情報処理装置1乃至2(200)からSAN500を介して送信されてくるデータ入出力要求についてそのデータ入出力要求に応じて実行される処理を制限するかどうかの判定を行う。そして、チャネル制御部2(CHF)110は、メモリ113に記憶されているWWNと同じWWNが付与されている情報処理装置200からデータ入出力要求が送信されてきた場合にはそのデータ入出力要求に応じて実行される処理を制限する(S820)。ここでデータ入出力要求がメモリ113に記憶されているWWNが付与された情報処理装置200から送信されたものであるかどうかの判断は、メモリ113に記憶されているWWNと、送信元の通信ポート2191を特定するためにデータ入出力要求に付帯して送られてくるWWNとを対照することにより行われる。
【0049】
以上の仕組みによれば、チャネル制御部1(CHN)110が、情報処理装置200における障害を検知した場合に、前記情報処理装置200から送信されたデータ入出力要求が着信されるチャネル制御部2(CHF)110により前記データ入出力要求に応じて実行される処理が制限されるように制御される。これにより障害が生じている情報処理装置200から送られてくる異常なデータ入出力要求に応じてチャネル制御部2(CHF)110が異常な処理を行うことによりディスクドライブ300に記憶される(もしくは、記憶されている)データが破損したり、データに管理上の不整合が生じたりすることが防止され、ストレージシステムの信頼性や可用性を向上させることができる。また、チャネル制御部1(110)からチャネル制御部2(110)に対して情報処理装置200で障害が発生した場合にバスライン105を介して割込信号が出力され、チャネル制御部2(CHF)110は前記割込信号が入力されたのに応じて共有メモリ120にアクセスするので、リアルタイムに共有メモリ120にアクセスする上述の図6に示す仕組みに比べてチャネル制御部2(CHF)110の負荷も少なくて済む。
【0050】
また、このようにストレージ制御装置100がその内部に複数のチャネル制御部110を備え、そのうちの少なくとも一つのチャネル制御部110が、情報処理装置200における障害を検知する仕組みを提供することができる構成である場合には、ストレージ制御装置100内部の通信により障害中の情報処理装置200から送信されたデータ入出力要求に応じて実行される処理を制限する仕組みを、ストレージ制御装置100の内部に持たせることが可能であり、信頼性及び可用性に優れたストレージ制御装置を提供することが可能となる。
【0051】
===高速アクセス制御===
次に本発明の他の実施の形態に係るファイルの高速アクセス制御について説明する。本実施の形態に係るファイルの高速アクセス制御は、情報処理装置200から、ディスクドライブ300に記憶されているファイルデータに対して、SAN500を介したブロック単位の高速なデータアクセスを行うための制御である。 図1に示すように、情報処理装置1(200)は、LAN400を介してチャネル制御部1(CHN)110と接続されている。また情報処理装置1(200)は、SAN500を介してチャネル制御部2(CHF)110とも接続されている。これにより情報処理装置1(200)は、チャネル制御部1(CHN)110を通じてディスクドライブ300に記憶されているファイルデータをアクセスすることもできるし、チャネル制御部2(CHF)110を通じて上記同一データをアクセスすることもできる。但し、チャネル制御部1(CHN)110を介してアクセスする場合はファイル単位でのアクセスとなるのに対し、チャネル制御部2(CHF)110を介してアクセスする場合はブロック単位でのアクセスとなる。
【0052】
通常、情報処理装置1(200)が、チャネル制御部1(CHN)110を介してディスクドライブ300に記憶されているデータにアクセスする場合には、チャネル制御部1(CHN)110に対してファイル名を指定したファイルアクセス要求を行うが、本実施の形態に係るファイルの高速アクセス制御によりディスクドライブ300に記憶されているデータにアクセスする場合には、情報処理装置1(200)は、まずチャネル制御部1(CHN)110に対してファイル名を指定して、ファイルについての記憶装置の記憶領域上の記憶位置を特定する情報であるメタデータ(ファイル管理情報)の要求(リクエスト)を行う。メタデータは、例えば、UNIX(登録商標)における「i−node」である。メタデータの要求を受け付けたチャネル制御部1(CHN)110は、メモリ113またはキャッシュメモリ130に記憶されている当該ファイル名に対応するメタデータを読み出す。そして、読み出したメタデータをLAN400を介して情報処理装置1(200)に送信する。なお、メタデータはディスクドライブ300にも記憶されているので、チャネル制御部1(CHN)110はディスクドライブ300からメタデータを読み出すようにすることもできる。
【0053】
情報処理装置(200)はメタデータを取得することにより、当該ファイルの記憶位置やデータサイズを知ることができる。情報処理装置(200)はこれらの情報に基づいてファイルデータに対するブロックアクセス要求を生成する。そして当該ブロックアクセス要求をSAN500を介してチャネル制御部2(CHF)110に対して送信する。
【0054】
チャネル制御部2(CHF)110は、ネットワークインタフェース部111により上記ブロックアクセス要求を受け付ける。そしてI/Oプロセッサ119は当該データの記憶位置とデータ長等を抽出し、上記ブロックアクセス要求に対応するI/O要求を生成してディスク制御部140に出力する。このようにしてデータの読み出しや書き込み等が行われる。
【0055】
SAN500はLAN400と比較して高速なデータ転送が可能なネットワークであるので、ディスクドライブ300に記憶されているファイルデータに高速にアクセスすることができる。
情報処理装置1(200)は、ディスクドライブ300からファイルデータを読み出す場合には、チャネル制御部2(CHF)110に対して当該ファイルデータのアドレスとサイズを指定してブロック単位でのデータ読み出し要求を送信する。チャネル制御部2(CHF)110はディスクドライブ300から読み出したデータをSAN500を介して情報処理装置1(200)に送信する。情報処理装置1(200)は、データをチャネル制御部2(CHF)110から取得したら読み出し処理を終了する。なお、チャネル制御部1(CHN)110からメタデータを取得する際に当該ファイルに対してロックを掛けていた場合には、チャネル制御部1(CHN)110に対してロック解除要求を送信する。
【0056】
一方、ディスクドライブ300にファイルデータを書き込む場合には、情報処理装置1(200)は、当該書き込みデータと共に書き込みデータのアドレスとサイズを指定してブロック単位のデータ書き込み要求をチャネル制御部2(CHF)110に対して送信する。チャネル制御部2(CHF)110は当該書き込みデータをディスクドライブ300に書き込み、書き込み完了メッセージを情報処理装置1(200)に送信する。情報処理装置1(200)はチャネル制御部2(CHF)110から書き込み完了のメッセージを受信したら、チャネル制御部1(CHN)110に対してメタデータの更新を要求する。
【0057】
本実施の形態に係るファイルの高速アクセス制御は、データサイズの大きなファイルにアクセスする場合に効果が大きい。データサイズの大きなファイルへのアクセスを高速なSAN500を介して行うことにより、ファイルデータに対する読み出し、書き込みの時間を短縮できる。これは本実施の形態に係るストレージシステム600においては、ストレージ制御装置100のスロット内にチャネル制御部1(CHN)110、チャネル制御部2(CHF)110を混在させて装着することが可能であり、チャネル制御部1(CHN)110を介したデータアクセスとチャネル制御部2(CHF)110を介したデータアクセスのそれぞれの特長をうまく利用することができる場合に実現できるのである。
【0058】
本実施の形態にかかるファイルの高速アクセス制御は、情報処理装置1(200)からチャネル制御部1(CHN)110に対するアクセスと、情報処理装置1(200)からチャネル制御部2(CHF)110に対するアクセスとが、関連をもって行われる。上述した障害監視と障害対応の仕組みは、このような形態においても実現される。つまり、情報処理装置1(200)とクラスタを構成しているチャネル制御部1(CHN)110が、情報処理装置1(200)において生じている障害を検知すると、チャネル制御部2(CHF)110により前記データ入出力要求に応じて実行される処理が制限されるように制御される。すなわち、このように情報処理装置1(200)からチャネル制御部1(CHN)110に対するアクセスと、情報処理装置1(200)からチャネル制御部2(CHF)110に対するアクセスとが、関連をもって行われる場合に、上述した障害監視と障害対応の仕組みは、特に有用である。これにより、障害が生じている情報処理装置1(200)から送られてくる異常なデータ入出力要求に応じてチャネル制御部2(CHF)110が異常な処理を行うことによりディスクドライブ300に記憶される(もしくは、記憶されている)データが破損したり、データに管理上の不整合が生じたりすることが防止され、高速アクセス制御が行われた場合におけるストレージシステムの信頼性や可用性を向上させることができる。
【0059】
===ストレージシステムの他の形態===
図9は、ストレージシステムの他の形態を示している。このストレージシステムは、ストレージ制御装置100、ストレージ制御装置100に通信可能に接続しストレージ制御装置100に対してデータ入出力要求を送信する情報処理装置1乃至5(200)、ストレージ制御装置100により制御されデータの記憶領域を提供する記憶デバイスである一台以上のディスクドライブ300等を含んで構成される。ストレージ制御装置100は、情報処理装置1乃至5(200)から送信されたデータ入出力要求を受信して、このデータ入出力要求に応じてディスクドライブ300に記憶されているデータの書き込みや読み出しに関する処理を行う。
【0060】
ストレージ制御装置100と情報処理装置1乃至5(200)とは、LAN(Local Area Network)400を介して通信可能に接続されている。LAN400を介して行われる通信は、例えば、TCP/IPプロトコルに従って行われる。また、情報処理装置3乃至4(200)とストレージ制御装置100とは、SAN(Storage Area Network)500を介して通信可能に接続されている。SAN500を介して行われる通信はファイバチャネルに従って行われる。情報処理装置5(200)とストレージ制御装置100とは、iSCSI、FICON(登録商標)やESCON(登録商標)、ACONARC(登録商標)、FIBARC(登録商標)等の通信プロトコルに従って通信が行われる通信経路550を介して通信可能に接続されている。
【0061】
情報処理装置1乃至5(200)は、それぞれCPU(Central Processing Unit)やメモリを備えるコンピュータである。情報処理装置1乃至5(200)は、例えば、パーソナルコンピュータ、ワークステーション、メインフレームコンピュータ等である。情報処理装置1乃至5(200)が備えるCPUにより各種プログラムが実行されることにより、情報処理装置1乃至5(200)が提供する様々な機能が実現される。また、情報処理装置1乃至5(200)では、オペレーティングシステムが動作している。また、オペレーティングシステム上では、各種のアプリケーションプログラムが動作しており、情報処理装置1乃至5(200)のうちの少なくともいずれかにおいては上述のクラスタソフトウェア160が動作している。
【0062】
ストレージ制御装置100は、情報処理装置1乃至5(200)との間の通信に関する機能を提供する、チャネル制御部1乃至8(110)を備えている。このうちチャネル制御部1乃至4(CHN)110は、情報処理装置1乃至3(200)との間でLAN400を介した通信に関する機能を提供する。なお、チャネル制御部1乃至8(110)は、バスライン105によって互いに通信可能に接続されている。チャネル制御部1乃至4(110)は、このバスライン105を介して互いにデータ信号や割込信号等を送信もしくは受信することができる。
【0063】
チャネル制御部1乃至4(110)は、第一の実施例で説明したチャネル制御部1(CHN)110と同等のハードウェア及びソフトウェア構成を備える。また、チャネル制御部5乃至8(CHF)110は、第一の実施例で説明したチャネル制御部2(CHF)110と同等のハードウェア及びソフトウェア構成を備える。
【0064】
チャネル制御部1乃至4(CHF)110のうちの少なくともいずれかにおいては、上述のクラスタソフトウェア160が動作している。クラスタソフトウェア160は、ある情報処理装置200からのハートビートメッセージが途絶していることを検知した場合に、その情報処理装置200から他のチャネル制御部1乃至8(110)に対して行われるデータ入出力要求に応じて実行される処理を制限させる、図6もしくは図8のフローチャートで説明した処理に相当する処理を実行する。なお、図9に示すストレージシステムの場合には、チャネル制御部1(CHN)110がある情報処理装置200における障害を検知した場合にチャネル制御部2(CHF)110に対してのデータ入出力要求に応じて実行される処理が制限されるだけでなく、当該チャネル制御部1(CHN)110以外の他のチャネル制御部1(CHN)110に対して送信されるデータ入出力要求に応じて実行される処理についても制限されるようにすることもできる。
【0065】
ディスク制御部1乃至4(140)のハードウェア及びソフトウェア構成は、第一の実施例で説明したディスク制御部140と同等の構成である。チャネル制御部1乃至8(110)、共有メモリ120、キャッシュメモリ130、ディスク制御部140は、接続部150を介して通信可能に接続されている。接続部150は、例えば、高速スイッチングによりデータ伝送を行う超高速クロスバスイッチなどのスイッチである。共有メモリ120及びキャッシュメモリ130は、チャネル制御部110、ディスク制御部140により共有されるメモリである。共有メモリ120は、主に制御情報やコマンド等を記憶するために利用されるのに対し、キャッシュメモリ130は、主にデータを記憶するために利用される。
【0066】
ディスクドライブ300は、情報処理装置200に対して記憶領域を提供する。データは、ディスクドライブ300により提供される物理的な記憶領域上に論理的に設定される記憶領域である論理ボリュームに記憶されている。ディスクドライブ300としては、例えば、ハードディスク装置や半導体記憶装置等、様々なものを用いることができる。情報処理装置1乃至5(200)からデータ入出力要求を受信した場合におけるストレージ制御装置100の基本的な動作は、第一実施例のストレージシステムにおける場合と基本的に同様である。
【0067】
管理コンピュータ(SVP)160は、ストレージシステム600を保守・管理するためのコンピュータである。管理コンピュータ160は、ストレージ制御装置100の内部に設けられているLANである内部LAN560を介してチャネル制御部1乃至8(110)及びディスク制御部1乃至4(140)と接続している。
【0068】
管理コンピュータ160を操作することにより、例えば、ディスクドライブ300の設定や、論理ボリュームの設定、チャネル制御部1乃至8(110)において実行されるマイクロプログラムのインストール等を行うことができる。ここで、ディスクドライブ300の設定としては、例えば、ディスクドライブ300の増設や減設、RAID構成の変更(例えばRAID1からRAID5への変更等)等を行うことができる。さらに管理コンピュータ160からは、ストレージシステム600の動作状態の確認や故障部位の特定、チャネル制御部1乃至4(CHN)110で実行されるオペレーティングシステムやアプリケーションプログラムのインストール等の作業を行うこともできる。
【0069】
管理コンピュータ160は、ストレージ制御装置100に内蔵されている形態とすることもできるし、外付けされている形態とすることもできる。管理コンピュータ160は、ストレージ制御装置100及びディスクドライブ300の保守・管理を専用に行うコンピュータとすることもできるし、汎用のコンピュータに保守・管理機能を持たせたものとすることもできる。
【0070】
チャネル制御部1乃至4(CHN)110で動作しているオペレーティングシステム701上では、上述したクラスタソフトウェア160以外にも、RAIDマネージャ、ボリュームマネージャ、ファイルシステムプログラム、NFS(Network File System)等の様々なソフトウェアが動作している。このうち、RAIDマネージャは、情報処理装置1乃至5(200)のユーザやオペレータ等が、ディスク制御装置140に対してパラメータの設定や制御を行うためのソフトウェアである。設定されるパラメータの種類としては、例えば、RAIDグループを構成するディスクドライブ300(物理ディスク)を定義(RAIDグループの構成情報、ストライプサイズの指定など)するためのパラメータ、RAIDレベル(例えば0,1,5)を設定するためのパラメータ等がある。ボリュームマネージャは、RAID制御部740によって提供されるLUをさらに仮想化した仮想化論理ボリュームをファイルシステムプログラム703に提供する。1つの仮想化論理ボリュームは1以上の論理ボリュームによって構成される。ファイルシステムプログラムは、ネットワーク制御部702が受信したファイルアクセス要求に指定されているファイル名とそのファイル名が格納されている仮想化論理ボリューム上のアドレスとの対応づけを管理する。例えば、ファイルシステムプログラム703はファイルアクセス要求に指定されているファイル名に対応する仮想化論理ボリューム上のアドレスを特定する。また、NFS(Network File System)711は、NFS711が動作するUNIX(登録商標)系の情報処理装置200からのファイルアクセス要求を受け付ける。
【0071】
以上に説明した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることは勿論である。
【0072】
【発明の効果】
本発明によれば、ストレージ制御装置の信頼性や可用性を向上させることができる。
【図面の簡単な説明】
【図1】本発明の一実施例によるストレージシステムの概略構成を示す図である。
【図2】本発明の一実施例による情報処理装置のハードウェア構成を示す図である。
【図3】本発明の一実施例によるチャネル制御部1(CHN)のハードウェア構成を示す図である。
【図4】本発明の一実施例によるチャネル制御部2(CHF)のハードウェア構成を示す図である。
【図5】本発明の一実施例によるディスク制御部のハードウェア構成を示す図である。
【図6】本発明の一実施例による、データ入出力要求に応じて実行される処理が制限される際の処理を説明するフローチャートを示す図である。
【図7】本発明の一実施例による情報処理装置−WWN対応管理テーブルを示す図である。
【図8】本発明の一実施例による、データ入出力要求に応じて実行される処理が制限される際の処理の他の例を説明するフローチャートを示す図である。
【図9】本発明の一実施例によるストレージシステムの他の形態を示す図である。
【符号の説明】
100 ストレージ制御装置
105 バスライン
110 チャネル制御部
111 ネットワークインタフェース部
112 CPU
113 メモリ
117 通信ポート
119 I/Oプロセッサ
120 共有メモリ
130 キャッシュメモリ
150 接続部
200 情報処理装置
2191 通信ポート
300 ディスクドライブ
400 LAN
500 SAN

Claims (11)

  1. 情報処理装置から送信されるデータ入出力要求を受信して、前記データ入出力要求に応じて記憶デバイスに対するデータの書き込み/読み出しを制御するための制御信号を出力する、互いに通信可能に接続される複数のチャネル制御部と、前記制御信号に応じて記憶デバイスに対するデータの書き込み/読み出しを行うディスク制御部と、を備えるストレージ制御装置の制御方法であって、
    第1の前記チャネル制御部が、前記情報処理装置と通信することにより前記情報処理装置の動作を監視し、
    第1の前記チャネル制御部が、前記情報処理装置における障害を検知した場合に、前記情報処理装置から送信されたデータ入出力要求が着信される第2の前記チャネル制御部により前記データ入出力要求に応じて実行される処理を制限するための処理を実行すること、
    を特徴とするストレージ制御装置の制御方法。
  2. 情報処理装置から送信されるデータ入出力要求を受信して前記データ入出力要求に応じて記憶デバイスに対するデータの書き込み/読み出しを制御するための制御信号を出力する、互いに通信可能に接続される複数のチャネル制御部と、前記制御信号に応じて記憶デバイスに対するデータの書き込み/読み出しを行うディスク制御部と、前記各チャネル制御部からアクセス可能な共有メモリを備えるストレージ制御装置の制御方法であって、
    第1の前記チャネル制御部が、前記情報処理装置と通信することにより前記情報処理装置の動作を監視し、
    第1の前記チャネル制御部が、前記情報処理装置における障害を検知した場合に当該情報処理装置を特定可能な識別子を前記共有メモリに記憶し、
    第2の前記チャネル制御部が、適宜なタイミングで前記共有メモリにアクセスすることにより前記識別子を取得し、
    前記第2のチャネル制御部が、取得した前記識別子を有する前記情報処理装置から送信された前記データ入出力要求を受信した場合に前記データ入出力要求に応じて実行される処理を制限するための処理を実行すること、
    を特徴とするストレージ制御装置の制御方法。
  3. 情報処理装置から送信されるデータ入出力要求を受信して、前記データ入出力要求に応じて記憶デバイスに対するデータの書き込み/読み出しを制御するための制御信号を出力する、互いに通信可能に接続される複数のチャネル制御部と、前記制御信号に応じて記憶デバイスに対するデータの書き込み/読み出しを行うディスク制御部と、前記各チャネル制御部からアクセス可能な共有メモリを備えるストレージ制御装置の制御方法であって、
    第1の前記チャネル制御部が、前記情報処理装置と通信することにより前記情報処理装置の動作を監視し、
    第1の前記チャネル制御部が、前記情報処理装置における障害を検知した場合に当該情報処理装置を特定可能な識別子を前記共有メモリに記憶するとともに前記障害が生じている旨を第2の前記チャネル制御部に通知し、
    前記第2のチャネル制御部が、前記通知を受信したのに応じて前記共有メモリにアクセスすることにより前記識別子を取得し、
    前記第2のチャネル制御部が、取得した前記識別子を有する前記情報処理装置から送信された前記データ入出力要求を受信した場合に前記データ入出力要求に応じて実行される処理を制限するための処理を実行すること、
    を特徴とするストレージ制御装置の制御方法。
  4. 請求項1に記載のストレージ制御装置の制御方法において、
    前記データ入出力要求に応じて実行される処理を制限するための処理は、障害が検知された前記情報処理装置から送信された前記データ入出力要求を受信した場合に前記データ入出力要求に応じて出力される前記制御信号を出力しないように制御する処理であること、を特徴とするストレージ制御装置の制御方法。
  5. 請求項1に記載のストレージ制御装置の制御方法において、
    前記第1のチャネル制御部は、前記チャネル制御部と前記情報処理装置との間でハートビート信号を通信し、前記ハートビート信号が途絶したことをもって前記情報処理装置に障害が生じていることを検知すること、を特徴とするストレージ制御装置の制御方法。
  6. 請求項1乃至5のいずれかに記載のストレージ制御装置の制御方法において、
    前記第1のチャネル制御部は、前記情報処理装置から送信される前記データ入出力要求としてファイル指定によるデータ入出力要求を受け付ける機能を備え、前記第2のチャネル制御部は、前記情報処理装置から送信される前記データ入出力要求としてブロック指定によるデータ入出力要求を受け付ける機能を備えること、を特徴とするストレージ制御装置の制御方法。
  7. 情報処理装置から送信されるデータ入出力要求を受信して、前記データ入出力要求に応じて記憶デバイスに対するデータの書き込み/読み出しを制御するための制御信号を出力する、互いに通信可能に接続される複数のチャネル制御部と、前記制御信号に応じて記憶デバイスに対するデータの書き込み/読み出しを行うディスク制御部と、を備えるストレージ制御装置の制御方法であって、
    前記情報処理装置から送信されてくる要求に応じて前記情報処理装置にファイル管理情報を送信し、
    前記情報処理装置から送信されてくる前記ファイル管理情報に基づいて生成されたデータ入出力要求を受信してこれに応じたデータの書き込み/読み出しを前記記憶デバイスに対して実行し、
    第1の前記チャネル制御部が、前記情報処理装置と通信することにより前記情報処理装置の動作を監視し、
    前記第1のチャネル制御部が、前記情報処理装置における障害を検知した場合に、前記情報処理装置から送信されたデータ入出力要求が着信される第2の前記チャネル制御部により前記データ入出力要求に応じて実行される処理を制限するための処理を実行すること、
    を特徴とするストレージ制御装置の制御方法。
  8. 請求項1に記載のストレージ制御装置の制御方法において、
    前記情報処理装置と通信することにより行われる前記情報処理装置の動作の監視は、前記情報処理装置と前記第1のチャネル制御部において動作しているクラスタソフトウェアの機能により実現されること、
    を特徴とするストレージ制御装置の制御方法。
  9. 請求項1に記載のストレージ制御装置の制御方法において、
    前記第1のチャネル制御部はLANに接続するためのインタフェースを有し、
    前記第2のチャネル制御部はSANに接続するためのインタフェースを有すること、を特徴とするストレージ制御装置の制御方法。
  10. 情報処理装置から送信されるデータ入出力要求を受信して、前記データ入出力要求に応じて記憶デバイスに対するデータの書き込み/読み出しを制御するための制御信号を出力する、互いに通信可能に接続される複数のチャネル制御部と、前記制御信号に応じて記憶デバイスに対するデータの書き込み/読み出しを行うディスク制御部と、
    第1の前記チャネル制御部が、前記情報処理装置と通信することにより前記情報処理装置の動作を監視する手段と、
    第1の前記チャネル制御部が、前記情報処理装置における障害を検知した場合に、前記情報処理装置から送信されたデータ入出力要求が着信される第2の前記チャネル制御部により前記データ入出力要求に応じて実行される処理を制限するための処理を実行する手段と、
    を備えることを特徴とするストレージ制御装置。
  11. 請求項10に記載のストレージ制御装置において、
    前記第1のチャネル制御部は、前記情報処理装置から送信される前記データ入出力要求としてファイル指定によるデータ入出力要求を受け付ける機能を備え、前記第2のチャネル制御部は、前記情報処理装置から送信される前記データ入出力要求としてブロック指定によるデータ入出力要求を受け付ける機能を備えること、を特徴とするストレージ制御装置。
JP2003158271A 2003-06-03 2003-06-03 ストレージ制御装置の制御方法及びストレージ制御装置 Pending JP2004362146A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003158271A JP2004362146A (ja) 2003-06-03 2003-06-03 ストレージ制御装置の制御方法及びストレージ制御装置
US10/754,164 US6981170B2 (en) 2003-06-03 2004-01-09 Control method of storage control apparatus and storage control apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003158271A JP2004362146A (ja) 2003-06-03 2003-06-03 ストレージ制御装置の制御方法及びストレージ制御装置

Publications (2)

Publication Number Publication Date
JP2004362146A true JP2004362146A (ja) 2004-12-24
JP2004362146A5 JP2004362146A5 (ja) 2006-07-06

Family

ID=33487424

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003158271A Pending JP2004362146A (ja) 2003-06-03 2003-06-03 ストレージ制御装置の制御方法及びストレージ制御装置

Country Status (2)

Country Link
US (1) US6981170B2 (ja)
JP (1) JP2004362146A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010094787A (ja) * 2008-10-17 2010-04-30 Yamaha Motor Co Ltd 電動グリッパを装備するロボットおよび電動グリッパの制御方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005301442A (ja) * 2004-04-07 2005-10-27 Hitachi Ltd ストレージ装置
JP4391954B2 (ja) * 2005-02-18 2009-12-24 富士通株式会社 ファイル制御システムおよびファイル制御装置
JP4529767B2 (ja) * 2005-04-04 2010-08-25 株式会社日立製作所 クラスタ構成コンピュータシステム及びその系リセット方法
TWI269232B (en) * 2005-04-27 2006-12-21 Ali Corp Data processing system capable of operating in two modes independently and exclusively
JP4487920B2 (ja) * 2005-12-12 2010-06-23 株式会社日立製作所 ブート制御方法および計算機システム並びにその処理プログラム
KR101410810B1 (ko) * 2012-05-04 2014-06-24 기초과학연구원 데이터 저장 통신 장치, 이 장치를 이용한 데이터 전송 및 관리방법
CN103838520A (zh) * 2014-02-19 2014-06-04 华为技术有限公司 一种输入/输出流量控制方法及设备
CN104834483B (zh) * 2015-05-11 2018-02-27 江苏宏云技术有限公司 一种提升嵌入式mcu性能的实现方法
KR102411770B1 (ko) * 2015-11-13 2022-06-22 삼성전자주식회사 전자 장치를 보호하기 위한 장치 및 방법
CN111679792B (zh) * 2020-06-04 2023-04-07 四川九州电子科技股份有限公司 一种嵌入式设备NandFlash I/O数据监测系统及方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6308284B1 (en) * 1998-08-28 2001-10-23 Emc Corporation Method and apparatus for maintaining data coherency
US6330687B1 (en) * 1998-11-13 2001-12-11 Digi-Data Corporation System and method to maintain performance among N single raid systems during non-fault conditions while sharing multiple storage devices during conditions of a faulty host computer or faulty storage array controller
US6684306B1 (en) * 1999-12-16 2004-01-27 Hitachi, Ltd. Data backup in presence of pending hazard
JP4632574B2 (ja) 2001-05-25 2011-02-16 株式会社日立製作所 記憶装置およびファイルデータのバックアップ方法およびファイルデータのコピー方法
JP2003076592A (ja) 2001-09-04 2003-03-14 Hitachi Ltd データ格納システム
US20030158933A1 (en) * 2002-01-10 2003-08-21 Hubbert Smith Failover clustering based on input/output processors
JP4188602B2 (ja) * 2002-01-10 2008-11-26 株式会社日立製作所 クラスタ型ディスク制御装置及びその制御方法
JP2004021556A (ja) * 2002-06-14 2004-01-22 Hitachi Ltd 記憶制御装置およびその制御方法
US7120654B2 (en) * 2002-08-20 2006-10-10 Veritas Operating Corporation System and method for network-free file replication in a storage area network
JP4037257B2 (ja) 2002-12-26 2008-01-23 株式会社日立製作所 情報処理システムの制御方法、情報処理システム、及びプログラム
US7178065B2 (en) 2003-04-02 2007-02-13 Sun Microsystems, Inc. System and method for measuring performance with distributed agents

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010094787A (ja) * 2008-10-17 2010-04-30 Yamaha Motor Co Ltd 電動グリッパを装備するロボットおよび電動グリッパの制御方法

Also Published As

Publication number Publication date
US20040249858A1 (en) 2004-12-09
US6981170B2 (en) 2005-12-27

Similar Documents

Publication Publication Date Title
US10467246B2 (en) Content-based replication of data in scale out system
US7870105B2 (en) Methods and apparatus for deduplication in storage system
US6182198B1 (en) Method and apparatus for providing a disc drive snapshot backup while allowing normal drive read, write, and buffering operations
US7788457B2 (en) Method of controlling storage device controlling apparatus, and storage device controlling apparatus
US6968425B2 (en) Computer systems, disk systems, and method for controlling disk cache
US7469289B2 (en) Storage system having virtualized resource
JP4124331B2 (ja) Dbms向け仮想ボリューム作成・管理方法
US11199973B2 (en) Storage system, computer system, and control method for storage system
US9823955B2 (en) Storage system which is capable of processing file access requests and block access requests, and which can manage failures in A and storage system failure management method having a cluster configuration
US7203862B2 (en) Methods for controlling storage devices controlling apparatuses
US10013215B2 (en) Systems, devices, apparatus, and methods for transparently inserting a virtual storage layer in a fibre channel based storage area network while maintaining continuous input/output operations
US20060031709A1 (en) Failure monitoring for storage systems constituting multiple stages
US7216210B2 (en) Data I/O system using a plurality of mirror volumes
JP2005326935A (ja) 仮想化ストレージを備える計算機システムの管理サーバおよび障害回避復旧方法
JP2005222110A (ja) ストレージサブシステム
WO2014051639A1 (en) Storage architecture for server flash and storage array operation
US7831514B2 (en) Method for managing license of software program in storage system
JP2004264973A (ja) ストレージシステムの制御方法、ストレージシステム、情報処理装置、管理コンピュータ、及びプログラム
US8756687B1 (en) System, method and computer program product for tamper protection in a data storage system
US20050198433A1 (en) Storage device controlling apparatus and method of controlling the same
JP2004362146A (ja) ストレージ制御装置の制御方法及びストレージ制御装置
US20080244306A1 (en) Storage system and management method for the same
JP2003099291A (ja) ネットワークストレージシステム及びその制御方法
US10210060B2 (en) Online NVM format upgrade in a data storage system operating with active and standby memory controllers
US20230229330A1 (en) Storage system and cooperation method

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060523

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060523

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20060905

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20060926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061121

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070508

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070618

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070925