JP7117338B2 - リモートコピーシステム及びリモートコピー管理方法 - Google Patents

リモートコピーシステム及びリモートコピー管理方法 Download PDF

Info

Publication number
JP7117338B2
JP7117338B2 JP2020017130A JP2020017130A JP7117338B2 JP 7117338 B2 JP7117338 B2 JP 7117338B2 JP 2020017130 A JP2020017130 A JP 2020017130A JP 2020017130 A JP2020017130 A JP 2020017130A JP 7117338 B2 JP7117338 B2 JP 7117338B2
Authority
JP
Japan
Prior art keywords
journal
data
storage system
program
site
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.)
Active
Application number
JP2020017130A
Other languages
English (en)
Other versions
JP2021124889A (ja
Inventor
伸浩 横井
智大 川口
彰 出口
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 JP2020017130A priority Critical patent/JP7117338B2/ja
Priority to CN202010855808.3A priority patent/CN113220218A/zh
Priority to US17/014,296 priority patent/US20210240351A1/en
Publication of JP2021124889A publication Critical patent/JP2021124889A/ja
Application granted granted Critical
Publication of JP7117338B2 publication Critical patent/JP7117338B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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/0617Improving the reliability of storage systems in relation to availability
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2043Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share a common memory address space
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • 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/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
    • 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
    • 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
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、リモートコピーシステム及びリモートコピー管理方法に関する。
近年、ディザスタリカバリ(Disaster Recovery(DR))の自動化の需要が高まっている。DRでは、地震や火災といった災害が発生した場合のデータロストに備えて、複数のサイトに配置された複数ストレージシステム間でデータを多重化して保持するリモートコピー機能、及び、当機能を用いたストレージシステムの運用が知られている。
具体的には、いずれかのストレージシステムを正サイトとして稼働させ、このストレージシステムでデータの処理などを実行しつつ、他のストレージシステムを副サイトとしてデータボリュームのリモートコピーを行う。そして、正サイトの災害発生時には、正サイトの業務を副サイトに切り替えるフェールオーバ(Failover(F.O.))を行うのである。リモートコピーには、同期リモートコピーと非同期リモートコピーとがある。同期リモートコピーでは、正サイトでデータを処理した後、副サイトで同内容の処理を行ったうえで完了応答を行う。非同期リモートコピーでは、正サイトでのデータの処理をもって完了応答を行い、その後、副サイトで同内容の処理を実行する。例えば、副サイトのストレージシステムが遠隔地に所在する場合に同期リモートコピーを採用すると、距離に応じて完了応答までの遅延が大きくなる。このような場合には、非同期リモートコピーが有効である。
特許文献1には、元データの更新に関する履歴を表す情報であるジャーナルを用いて非同期リモートコピーを行う技術が開示されている。
この特許文献1によれば、正サイトのコピー元ストレージシステムは、書込みコマンドを受領するとデータ書込み用のボリュームへデータを、ジャーナルボリュームへジャーナルデータを書込み、サーバシステムに応答を返す。リモートサイトのコピー先ストレージシステムは、書込みコマンドとは非同期にコピー元ストレージシステムのジャーナルボリュームからジャーナルデータを読出し、自身のジャーナルボリュームに格納する。そして、コピー先ストレージシステムは、格納したジャーナルデータに基づいて、コピー先のデータ書込み用ボリュームにコピーしたデータを復元する。
その後、コピー元ストレージシステムに障害が発生したならば、コピー元ストレージシステムへのI/Oを停止し、コピー元ストレージシステムと同じ運用環境をコピー先ストレージシステムで再現処理が完了した後、I/Oを再開し業務を継続することができる。
米国特許出願公開第2005/0033827号明細書
しかしながら、従来の技術では、ストレージシステム間の切り替えに時間と労力が必要なケースが生じていた。例えば、ストレージシステムは、要求時点のデータボリュームの複製を生成するスナップショットのオペレーションを処理する場合がある。スナップショットは、書き込み要求のようなデータの処理と異なり、その時点ではデータボリュームの内容に変更を加えない。しかし、過去に生成したスナップショットの状態にデータを戻すリストアなど、データボリュームの内容の変更に使用される場合がある。そのため、書き込みコマンドをジャーナル経由でコピー先に移したとしても、データの変更を全て反映できるとは限らないのである。また、ボリュームのサイズの変更など、ボリュームの環境を操作するオペレーションについても、コピー先に反映することが望ましい。このような書き込み以外の変更を反映する作業を人手を介して行うとなると、膨大な時間と労力が必要となる。
特に、正サイトと副サイトの性能が異なる等、副サイトにフェールオーバした後に可及的速やかに正サイトへのフェールバックが求められる場合には、副サイトのストレージシステムから正サイトのストレージシステムに迅速に切り替えることが望ましい。ところが、副サイトでスナップショットからのリストアが行われていると、正サイトの復旧後に大量のデータをコピーすることになり、時間を要する。
これらのことから、いかにしてストレージシステム間の迅速かつ簡易な切り替えを可能とし、業務環境の復旧までの時間を短縮するかが重要な課題となっていた。
本発明は上記の課題に鑑みてなされたもので、ストレージシステム間の切り替えを迅速かつ簡易に行うことのできるリモートコピーシステム及びリモートコピー管理方法を提供することを目的とする。
上記目的を達成するために、代表的な本発明のリモートコピーシステム及びリモートコピー管理方法の一つは、正サイトを提供する第1のストレージシステムと、副サイトを提供する第2のストレージシステムとを備え、前記ストレージシステムのストレージコントローラは、前記第1のストレージシステムが有する第1のデータボリュームから前記第2のストレージシステムが有する第2のデータボリュームへのリモートコピーを行い、前記正サイトから前記副サイトにフェールオーバを行った後は、前記副サイトで処理したデータ及びオペレーションを副サイトジャーナルとして前記第2のストレージシステムのジャーナルボリュームに蓄積し、前記正サイトの復旧時には前記副サイトジャーナルを用いて前記第1のデータボリュームの復元を行うことを特徴とする。
本発明によれば、ストレージシステム間の切り替えを迅速かつ簡易に行うことができる。上記した以外の課題、構成及び効果は以下の実施の形態の説明により明らかにされる。
本発明の実施例に係るリモートコピーシステムの構成図。 仮想ストレージシステムについての説明図。 リモートコピーシステムが使用するプログラムと情報についての説明図。 テーブルと情報の構成の説明図(その1)。 テーブルと情報の構成の説明図(その2)。 フェールオーバに係る動作の説明図(その1)。 フェールオーバに係る動作の説明図(その2)。 ジャーナル処理の全体を説明する説明図。 各プログラムの処理手順を示すフローチャート(その1)。 各プログラムの処理手順を示すフローチャート(その2)。 各プログラムの処理手順を示すフローチャート(その3)。 各プログラムの処理手順を示すフローチャート(その4)。 各プログラムの処理手順を示すフローチャート(その5)。 各プログラムの処理手順を示すフローチャート(その6)。 各プログラムの処理手順を示すフローチャート(その7)。 各プログラムの処理手順を示すフローチャート(その8)。 各プログラムの処理手順を示すフローチャート(その9)。 各プログラムの処理手順を示すフローチャート(その10)。 各プログラムの処理手順を示すフローチャート(その11)。 各プログラムの処理手順を示すフローチャート(その12)。 各プログラムの処理手順を示すフローチャート(その13)。
以下、本発明の実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
以下の説明において、「xxxテーブル」といった表現により、入力に対して出力が得られる情報を説明することがあるが、この情報は、どのような構造のデータでもよい。従って、「xxxテーブル」を「xxx情報」と言うことができる。
また、以下の説明において、各テーブルの構成は一例であり、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部又は一部が1つのテーブルであってもよい。
また、以下の説明において、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ部によって実行されることで、定められた処理を、適宜に記憶部及び/又はインタフェース部などを用いながら行うため、処理の主語が、プロセッサ部(或いは、そのプロセッサ部を有するコントローラのようなデバイス)とされてもよい。
プログラムは、計算機のような装置にインストールされてもよいし、例えば、プログラム配布サーバ又は計算機が読み取り可能な(例えば非一時的な)記録媒体にあってもよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
また、「プロセッサ部」は、1又は複数のプロセッサである。プロセッサは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサであるが、GPU(Graphics Processing Unit)のような他種のプロセッサでもよい。また、プロセッサは、シングルコアでもよいしマルチコアでもよい。また、プロセッサは、処理の一部又は全部を行うハードウェア回路(例えばFPGA(Field-Programmable Gate Array)又はASIC(Application Specific Integrated Circuit))といった広義のプロセッサでもよい。
また、以下の説明において、種々の対象の識別情報として、識別番号が使用されるが、識別番号以外の種類の識別情報(例えば、英字や符号を含んだ識別子)が採用されてもよい。
また、以下の説明において、同種の要素を区別しないで説明する場合には、参照符号(又は、参照符号のうちの共通符号)を使用し、同種の要素を区別して説明する場合は、要素の識別番号(又は参照符号)を使用することがある。
図1は、本発明の実施例に係るリモートコピーシステムの構成図である。図1に示したリモートコピーシステムは、2つのサーバシステム101と、2つのストレージシステム103と、1つのストレージシステム106とを有する。
また、ストレージシステム103は、冗長構成をなす2つのストレージコントローラ104と、1又は複数のPDEV105を有する。PDEV105は、物理的記憶デバイス(Physical storage DEVice)を意味し、典型的には、不揮発性の記憶デバイス、例えばHDD(Hard Disk Drive)又はSSD(Solid State Drive)である。もしくは、フラッシュパッケージなどでもよい。
各ストレージコントローラ104は、同一ストレージシステム内の各PDEV105と接続するとともに、同一ストレージシステム内の他方のストレージコントローラ104と接続している。
サーバシステム101は、1のストレージシステム103の2つのストレージコントローラ104と通信可能である。さらに、ストレージコントローラ104は、他のストレージシステム103のストレージコントローラ104と通信可能である。また、ストレージシステム106は、各ストレージコントローラ104と通信し、Quorumを用いてストレージシステム103の動作状態を監視する。
ストレージコントローラ104は、CPU、メモリ、複数のインタフェース部(IF)を有する。IFは、PDEV105との接続、サーバシステム101との通信、他のストレージシステム103との通信、ストレージシステム106との通信に用いられる。
図1では4つのストレージコントローラ104を図示したが、この4つのストレージコントローラ104が協働することにより、特許請求の範囲におけるストレージコントローラとして動作する。なお、図1では、2つのストレージシステム103とストレージシステム103あたり2つのストレージコントローラ104を含むことを示しているが、2つ以上のストレージシステム103どうしで接続してもよいし、ストレージシステム103あたりのストレージコントローラ104の数が2つ以上の構成としても良い。
図2は、仮想ストレージシステムについての説明図である。図2では、ストレージシステム103の一方は、正サイトを提供するストレージシステム103Aとして動作する。そして、他方は副サイトを提供するストレージシステム103Bとして動作する。
ストレージシステム103Aは、データボリューム(PVOL)及びジャーナルボリューム(JNL VOL)としてPDEV105を用いる。同様に、ストレージシステム103Bは、データボリューム(SVOL)及びジャーナルボリューム(JNL VOL)としてPDEV105を用いる。
サーバシステム101上では、アプリケーション201とクラスタリングソフトウェア202が動作する。クラスタリングソフトウェア202は、ストレージシステム103Aとストレージシステム103Bを連携させ、仮想ストレージシステム204をアプリケーション201に提供する。
すなわち、アプリケーション201が仮想ストレージシステム204の仮想ボリューム205に対してアクセスすると、正サイトであるストレージシステム103Aのターゲットポート203を介し、PVOLで処理が行われる。また、正サイトでの処理は、ストレージシステム103Aのジャーナルボリュームに正サイトジャーナルとして蓄積される。
副サイトであるストレージシステム103Bは、正サイトジャーナルを適宜読み出して、SVOLに反映することで、ストレージシステム103Aからストレージシステム103Bへのリモートコピーを行う。
そして、ストレージシステム106が正サイトの異常を検知したならば、ストレージシステム103Aからストレージシステム103Bにフェールオーバし、以降はストレージシステム103Bがアプリケーション201からのアクセスを処理する。
このようなストレージシステムの切り替えは、クラスタリングソフトウェア202を介して仮想ストレージシステムを利用するアプリケーション201には認識されない。
その後、ストレージシステム103Aが復旧したならば、副サイトでの処理をPVOLに反映するリバースリシンクを行い、ストレージシステム103Bからストレージシステム103Aにフェールバックする。
ここで、本実施例に係るリモートコピーシステムでは、正サイトジャーナルにデータの書き込み処理だけでなく、スナップショットやボリュームの環境を操作するオペレーションの処理も含めて蓄積し、副サイトのSVOLに反映する。さらに、フェールオーバ後に副サイトで実行したデータ及びオペレーションの処理を副サイトジャーナルとして蓄積し、副サイトジャーナルを用いてPVOLのリバースリシンクを行うことで、ストレージシステム間の切り替えを迅速かつ簡易に行っている。
なお、正サイトジャーナルは、データの処理やオペレーションの処理を時刻情報とともに格納する。ストレージシステム103Bは、所定のタイミングで正サイトジャーナルを取得し、正サイトジャーナルに示された処理を順に沿って実行することで、SVOLをPVOLに一致させることで、リモートコピーを実現する。
すなわち、データの同期が必要なデータ同期処理(例えばスナップショット)が正サイトジャーナルに含まれていたならば、リモートコピーにおいてデータ同期処理をSVOLで実行する。このため、フェールオーバに際してデータ同期処理を基点としたSVOLの復元が可能である。
また、副サイトジャーナルは、データの処理やオペレーションの処理を時刻情報とともに格納する。ストレージシステム103Aは、リバースリシンクでPVOLを復元する際に、副サイトジャーナルを取得し、副サイトジャーナルに示された処理を順に沿って実行することで、PVOLをSVOLに一致させる。
次に、リモートコピーシステムが使用するプログラムと情報について説明する。図3は、リモートコピーシステムが使用するプログラムと情報についての説明図である。ストレージコントローラ104は、メモリに各種プログラムと情報を展開して使用する。ローカルメモリは、メモリのうち、プログラムの展開に使用される領域である。共有メモリは、メモリのうち、情報の展開に使用される領域である。
具体的には、ローカルメモリには、ライトプログラム401、ジャーナル作成プログラム402、ジャーナルデータ格納アドレス決定プログラム403、ジャーナルコントロールブロック格納アドレス決定プログラム404、ジャーナルリードプログラム405、ジャーナル送信プログラム406、リモートコピー制御プログラム407、ジャーナルリストアプログラム408、ブロック解放プログラム409、オペレーション反映プログラム410、フェールオーバ処理プログラム411、オペレーションログ処理プログラム412、オペレーションジャーナル処理プログラム413、オペレーションジャーナル転送プログラム414、オペレーションジャーナル送信プログラム415、フェールバック処理プログラム416、ペア解消プログラム417、ジャーナル資源確保プログラム418、
ジャーナル資源解放プログラム419、障害管理プログラム420、差分ビットマップ管理プログラム421、Snapshot等ボリューム処理プログラム群422が展開される。
同様に、共有メモリには、ボリューム管理テーブル501、ボリュームマッピング管理テーブル502、ペアボリューム管理テーブル503、ジャーナル制御情報テーブル504、ジャーナルコントロールブロック情報505、転送済みライト時刻管理情報506、マスター時刻情報507、オペレーション管理テーブル508、オペレーションジャーナル制御情報テーブル509、差分ビットマップ510が展開される。
図4~図5は、テーブルや情報の構成の説明図である。図4~図5に示すように、ボリューム管理テーブル501は、ボリュームID、ボリューム容量、ボリューム属性、ペアIDなどの項目を有する。ここで、ボリューム属性が「I/O」であれば、サーバシステム101からのデータの読み書き(Input/Output)の対象となるデータボリュームである。また、ボリューム属性が「ジャーナル」であれば、データボリュームに対する処理の履歴を示すジャーナルボリュームである。
ボリュームマッピング管理テーブル502は、ボリュームID、仮想ボリュームID、仮想ストレージシステムID、HAフラグなどの項目を有する。ペアボリューム管理テーブル503は、ペアID、PVOLストレージシステムID、PVOLID、ジャーナルVOLID、SVOLストレージシステムID、SVOLID、ジャーナルVOLID、ペア状態などの項目を有する。
ジャーナル制御情報テーブル504は、ジャーナルボリューム番号、シーケンス番号情報、ジャーナルポインタ、ブロック管理ビットマップ、カレントブロック情報、カレントアドレス情報、ブロック内最大シーケンス番号情報、ブロック内最新ライト時刻、ジャーナルコントロールブロック管理情報、カレントライトブロック情報、カレントリードブロック情報、カレントライトアドレス情報、カレントリードアドレス情報、カレントブロックサイズ情報などの項目を有する。
ジャーナルコントロールブロック情報505は、ブロック番号、ボリュームID、開始LBA、データ長(ブロック数)、データポインタ、シーケンス番号、時刻、マーカー属性、マーカー種別などの項目を有する。
転送済みライト時刻管理情報506は、ペアID、転送済みライト時刻、反映可能ライト時刻、マーカー属性、マーカー種別などの項目を有する。マスター時刻情報507は、時刻情報を管理する。
オペレーション管理テーブル508は、マーカー種別に対し、オペレーション、実行者、再現方法を対応付けている。例えば、マーカー種別「0」は、「ライト」のオペレーションで、実行者が「アプリケーション」であり、「ジャーナル送信」によって再現される。また、マーカー種別「1」は、「QoS」のオペレーションで、実行者が「アプリケーション」であり、「要求送信」によって再現される。また、マーカー種別「3」は、「Snapshot」のオペレーションで、実行者が「ストレージ管理」であり、「ジャーナル送信」によって再現される。なお、ストレージ管理とは、アプリケーションからの要求によらず、ストレージシステム103が実行者であることを示す。
次に、フェールオーバに係る動作について説明する。図6~図7は、フェールオーバに係る動作の説明図である。図6(a)は、正常時の動作を示す。図6(a)では、正サイトで第1のスナップショット(Snapshot1)が作成されている(1)。このスナップショット作成のオペレーションは、データのライト(I/O)と同様に、正サイトジャーナルとしてジャーナルボリューム(JNL VOL)に格納される。したがって、ペアが確立している副サイトに正サイトジャーナルを送ることで、Snapshot1は副サイトに伝搬する(2)。副サイトでは、正サイトジャーナルを読み出して実行することで、Snapshot1を作成する。
図6(b)は、正サイトの障害により、フェールオーバしたときに、Snapshot1で静止化ポイントを指定する例である。Snapshotの静止化ポイントを指定して戻すと、リバースシンクの時に、どの時点までの正サイトジャーナルが適正に送れていたかを考えなくても良くなる利点がある。差分ビットマップはSnapshotで戻した時点からの変更差分を取る。Snapshot点が2つあって、はじめにSnapshot2に戻した後に、Snapshot1に更に戻したときは、Snapshot1に戻してからの変更差分を差分ビットマップにとる。
なお、Snapshot1で、静止化ポイントを指定しなくとも、正サイトジャーナルを反映させたSVOLをそのまま利用しても良い。また、Snapshotを使って戻したときに、戻す前の状態を示すSnapshotを作って戻せるようにしても良いし、戻したSnapshotポイントまでの変更を忘れる仕様としても良い。フェールオーバ時の正サイトジャーナルで送った分を反映したSVOLはBaseとして退避してもよい。この場合、フェールオーバ時にBaseとしてのSnapshot0を作り(1)、Snapshot0を基点とした差分ビットマップを作成する(2)。その後、Snapshot1を反映してSVOLをSnapshot1の静止化ポイントに戻し(3)、Snapshot1を反映するオペレーションを副サイトジャーナルに登録する(4)。
正サイトにもあるSnapshotか、副サイトで新たに作ったSnapshotかは区別して内部で管理する。副サイトで新たに作ったSnapshotの場合、データアドレスも登録して、正サイトに反映する必要があるためである。
図7(c)は正サイト障害中の副サイトの運用を示している。図7(c)に示すように、差分ビットマップは、副サイトに切り替わってからの変更箇所を記録する。(Snapshotで戻した場合は、そこからの変更箇所を差分ビットマップとして記録する。)
また、Snapshot2を作成したならば(1)、作成したSnapshot2のデータアドレスをオペレーションとともに副サイトジャーナルに登録する(2)。また、Snapshot2の作成後は、Snapshot2の作成からの変更箇所をSnapshot2に対応する新たな差分ビットマップで記録する。Snapshot2を取るまでの変更箇所は、Snapshot1に対応する差分ビットマップとして保持しているためである。
正サイトジャーナルを反映し、しばらくデータを処理してからSnapshot1に戻した場合、Baseと一緒にその時点までの差分ビットマップを複製して保持しておいて、正側のPVOLから、Baseがどれだけ差分があったかを判別するときに使用しても良い。同様に、Snapshotポイントに戻す時に、それまでの変更データと差分ビットマップを内部で保持して、Snapshotへ戻ったのを取り消せるようにしてもよい。
図7(d)は、正サイトが復旧し、副サイトからリバースシンクする動作を示している。図7(d)でリバースシンクする際の方式は2つある。1つの方式は、Snapshot1へ戻ったというオペレーションと、差分ビットマップに記録されている変更データのJNL転送である(1)。この時、Snapshot2がとられているときは、Snapshot2のデータを送ってから、Snapshot2オペレーションを送り、その後、差分ビットマップのデータを送る形になる。正サイトでは、副サイトジャーナルに従って、Snapshot1への戻しを行い(2)、Snapshot2を作成し(3)、差分ビットマップデータを反映する(4)ことで、リストアを行う。
もう一つの方式は、Snapshotの反映を後回しにして、早期に最新状態に戻す動作である。この場合は、差分ビットマップを先に送ってから、JNLでSnapshotの差分データとSnapshotの管理情報(Snapshotがあることを認識するための情報)を送る。この時、図6(b)のようにフェールオーバ後にSnapshotから戻す操作を行っていた場合は、そのポイントを覚えておいて、正サイトで先にそのSnapshotで戻す動作を送った後に、差分ビットマップを反映させる。
このために、Snapshotで戻す動作とデータと差分ビットマップは、先に送れるようにJNLに登録できるようにしておく。副サイトでSnapshotを取っていた場合は、差分ビットマップだけでは不足であり、Snapshot2のデータも先に送る必要がある。なお、別途、正サイトのスナップショット地点へもどしたときからの差分ビットマップを持っておいて、それを先に送る方式でもよい。
図6(b)でSnapshot1ポイントへの戻しがない場合は、PVOLとBaseの差分を取って、SVOLにどこまで送れていたかを判断し、送れていた分を加味して再開していた場合は、正サイトで送れなかった分を戻して、リーバスシンクする。送れていなかった正サイトの方を活かす場合は、副サイトで取ったSnapshotにそのデータを反映させる(Snapshotのベースとなるデータを変更する)。ペア同期が再開されたので、差分ビットマップデータを登録した後の副サイトへのI/OはJNLに記憶していく。なお、正サイトを最新のSnapshotポイントから再開するように設定する運用としてもよい。その際は、差分ビットマップの送信は必須ではない。
次に、各種処理手順について説明する。図8は、ジャーナル処理の全体を説明する説明図である。まず、正サイトでライトなどの要求を受け付けると(ステップS1001)、ジャーナル作成プログラム402が動作する(ステップS1002)。また、副サイトでジャーナルの情報を取得すると(ステップS1003)、副サイトのジャーナルリードプログラム405が動作し(ステップS1004)、正サイトのジャーナル送信プログラム406を動作させる(ステップS1005)。正サイトのジャーナル送信プログラム406は、副サイトに正サイトジャーナルを送信し、正サイトのブロック解放プログラム409を動作させる(ステップS1006)。副サイトのジャーナルリードプログラム405は、正サイトジャーナルを受信すると、ジャーナルリストアプログラム408を動作させ(ステップS1007)、副サイトのブロック解放プログラム409を動作させる(ステップS1008)。
正サイトで異常が発生すると、フェールオーバ処理プログラム411が動作して(ステップS1009)、フェールオーバが行われる。その後、正サイトが復旧したならば、フェールバック処理プログラム416が動作し(ステップS1010)、正サイトに副サイトのジャーナル情報を転送する(ステップS1011)。正サイトがジャーナル情報を取得すると(ステップS1012)、オペレーションジャーナル転送プログラム414が動作し(ステップS1013)、副サイトのオペレーションジャーナル送信プログラム415を動作させる(ステップS1014)。
副サイトのオペレーションジャーナル送信プログラム415は、正サイトに副サイトジャーナルを送信し、副サイトのブロック解放プログラム409を動作させる(ステップS1017)。正サイトのオペレーションジャーナル転送プログラム414は、副サイトジャーナルを受信すると、ジャーナルリストアプログラム408を動作させ(ステップS1015)、正サイトのブロック解放プログラム409を動作させる(ステップS1016)。なお、正サイトでフェールバックを行う際には、ジャーナルリストアプログラムは、副サイトでの処理を示す差分ビットマップを用いてリストアを実行する。
次に、図9~図22を参照し、各プログラムの処理手順を説明する。
図9は、ストレージシステム103の設定に係る処理手順を示すフローチャートである。まず、ストレージコントローラ104は、ストレージシステム103のペア状態を設定する(ステップS1101)。その後、仮想ストレージシステムを構築し(ステップS1102)、仮想ストレージシステムの仮想VOLにPVOLとSVOLをマップする(ステップS1103)。そして、サーバシステム101に仮想ボリュームをマウントし(ステップS1104)、クラスタリングソフトウェア202によるサーバシステム101の連携を構築する(ステップS1105)。そして、一方のサーバシステム101を副としてスタンバイ状態に設定する(ステップS1106)。副のサーバシステム101は、他方(正)のサーバシステム101に異常が生じたときのための待機系となる。
図10は、ライトプログラム401の処理手順を示すフローチャートである。ライトプログラム401は、アプリケーション201からライト要求を受領すると(ステップS1201)、ライトデータをPVOLに書き込み(ステップS1202)、ジャーナル作成プログラム402をコールして(ステップS1203)、ジャーナル作成プログラム完了待ちとなる(ステップS1204)。
ジャーナル作成プログラム402は、ボリューム管理情報を参照し、次のシーケンス番号を取得する(ステップS1205)。そして、シーケンス番号及びライト時間を設定し、管理情報を生成する(ステップS1206)。ジャーナル作成プログラム402は、ジャーナルデータ格納アドレス決定プログラム403をコールし(ステップS1207)、ジャーナルデータをキャッシュに格納する(ステップS1208)。その後、ジャーナル作成プログラム402は、ジャーナルコントロールブロック格納アドレス決定プログラム404をコールし(ステップS1209)、ジャーナルコントロールブロックを生成し(ステップS1210)、ジャーナルコントロールブロックをキャッシュに格納して(ステップS1211)、処理を終了する。ライトプログラム401は、ジャーナル作成プログラム402の収容後、完了応答を行って(ステップS1212)、処理を終了する。
図11に示すように、ジャーナルデータ格納アドレス決定プログラム403は、カレントブロックを取得し(ステップS1301)、カレントブロックに格納可能であるか否かを判定する(ステップS1302)。カレントブロックに格納可能でなければ(ステップS1302;false)、ジャーナルデータ格納アドレス決定プログラム403は、空きブロックを探索し(ステップS1303)、空きブロックを割り当てる(ステップS1304)。
ステップS1304の後、もしくはカレントブロックに格納可能である場合(ステップS1302;true)、ジャーナルデータ格納アドレス決定プログラム403は、格納先を決定し(ステップS1305)、カレントアドレスを更新して(ステップS1306)、ブロック内最大シーケンス番号を更新し(ステップS1307)、処理を終了する。
また、図11に示すように、ジャーナルコントロールブロック格納アドレス決定プログラム404は、カレントライトブロックを取得し(ステップS1401)、カレントライトアドレスを取得して(ステップS1402)、カレントライトブロックに格納可能であるか否かを判定する(ステップS1403)。カレントライトブロックに格納可能でなければ(ステップS1403;false)、ジャーナルコントロールブロック格納アドレス決定プログラム404は、ブロック管理ビットマップを参照して空きブロックを探索し(ステップS1404)、空きブロックを割り当てる(ステップS1405)。
ステップS1405の後、もしくはカレントライトブロックに格納可能である場合(ステップS1403;true)、ジャーナルコントロールブロック格納アドレス決定プログラム404は、格納先を決定し(ステップS1406)、カレントライトアドレスを更新して(ステップS1407)、ブロック内最大シーケンス番号を更新し(ステップS1408)、処理を終了する。
図12に示すように、副サイトのジャーナルリードプログラム405は、ジャーナルリードコマンドを発行することで、転送済シーケンス番号を通知し(ステップS1501)、正サイトからの応答を待つ(ステップS1502)。正サイトのジャーナル送信プログラム406は、カレントリードブロックを取得し(ステップS1503)、カレントライトアドレスを取得して(ステップS1504)、カレントリードブロックとカレントライトブロックが同じであるか否かを判定する(ステップS1505)。
カレントリードブロックとカレントライトブロックが同じでなければ(ステップS1505;false)、ジャーナル送信プログラム406は、カレントリードアドレスからブロック終端までのジャーナルコントロールブロックをリードし(ステップS1506)、次のブロックをカレントリードブロックとして設定して(ステップS1507)、カレントリードアドレスをアドレス0に設定する(ステップS1508)。
一方、カレントリードブロックとカレントライトブロックが同じであれば(ステップS1505;true)。カレントリードアドレスからカレントライトアドレスまでのジャーナルコントロールブロックをリードし(ステップS1509)、カレントリードアドレスをリードしたアドレスに設定する(ステップS1510)。
ステップS1508又はステップS1510の後、ジャーナル送信プログラム406は、ジャーナルデータ格納位置を特定し(ステップS1511)、ジャーナルデータをリードする(ステップS1512)。その後、リモートコピー制御プログラム407を動作させ(ステップS1513)、転送済みシーケンス番号を記録し(ステップS1514)、ブロック解放プログラム409をコールして(ステップS1515)、処理を終了する。
副サイトのジャーナルリードプログラム405は、リモートコピー制御プログラム407によって転送されたジャーナルを受領すると(ステップS1516)、ジャーナルデータ格納アドレス決定プログラム403をコールして(ステップS1517)、ジャーナルデータをキャッシュに格納する(ステップS1518)。そして、ジャーナルコントロールブロック格納アドレス決定プログラム404をコールして(ステップS1519)、ジャーナルコントロールブロックをキャッシュに格納して(ステップS1520)、処理を終了する。
図13に示すように、ジャーナルリストアプログラム408は、カレントリードブロックを取得し(ステップS1601)、カレントライトアドレスを取得すると(ステップS1602)、終端までジャーナルコントロールブロックをリードし(ステップS1603)、転送抜けがない範囲を特定する(ステップS1604)。ジャーナルリストアプログラム408は、特定した範囲の終端がカレントリードブロックの終端であるか否かを判定する(ステップS1605)。
特定した範囲の終端がカレントリードブロックの終端でなければ(ステップS1605;false)、ジャーナルリストアプログラム408は、カレントリードアドレスを特定した範囲の終端に設定する(ステップS1606)。特定した範囲の終端がカレントリードブロックの終端であるならば(ステップS1605;true)、ジャーナルリストアプログラム408は、カレントリードアドレスをアドレス0、リードブロックを次のブロックに設定する(ステップS1607)。
ステップS1606又はステップS1607の後、ジャーナルリストアプログラム408は、特定した範囲のジャーナルの最大シーケンス番号を特定し、転送済みシーケンスとして記憶する(ステップS1608)。また、転送済みシーケンス番号までのジャーナルを処理する(ステップS1609)。ジャーナルリストアプログラム408は、処理のマーカー種類を確認し、オペレーションを特定する(ステップS1610)。その結果、オペレーションがライトデータであれば、SVOLに書き込む(ステップS1611)。オペレーションがSnapshotであれば、Snapshot処理プログラム422をコールする(ステップS1612)。その他のオペレーションであれば、対応する処理プログラムをコールする(ステップS1613)。
ステップS1611~S1613の後、ジャーナルリストアプログラム408は、リストア済み最大シーケンス番号を記憶し(ステップS1614)、ブロック解放プログラム409をコールして(ステップS1615)、処理を終了する。
図14に示すように、ブロック解放プログラム409は、まず、処理済みシーケンス番号を参照する(ステップS1701)。そして、ブロック解放プログラム409は、ブロック管理ビットマップがON、かつ、カレントブロックでないブロックを特定し(ステップS1702)、各ブロックのブロック内最大シーケンス番号を取得する(ステップS1703)。
ブロック解放プログラム409は、ブロック内最大シーケンス番号が処理済みシーケンス番号以上であれば(ステップS1704;false)、そのまま処理を終了する。一方、ブロック内最大シーケンス番号が処理済みシーケンス番号未満であれば(ステップS1704;true)、解放処理ブロック管理ビットマップをOFFし(ステップS1705)、資源解放処理を行って(ステップS1706)、処理を終了する。
図15に示すように、フェールオーバ処理プログラム411は、Quorumを参照し(ステップS1801)、障害管理プログラム420を動作させる(ステップS1802)。その結果、障害が検出されなければ(ステップS1803;false)、そのまま処理を終了する。
一方、正サイトダウンの障害が検出されたならば、フェールオーバ処理プログラム411は、クラスタリングソフト通知、アプリケーション切替え、再起動を実行する(ステップS1804)。そして、取得済みの正サイトジャーナルを全て実行することで副サイトストレージのジャーナルデータを枯らし(ステップS1805)、副サイトでオペレーションログ処理プログラム412をコールし(ステップS1806)、処理を終了する。
副サイトダウンの障害が検出されたならば、フェールオーバ処理プログラム411は、転送完了未確認のジャーナルを保持し(ステップS1807)、正サイトでオペレーションログ処理プログラム412をコールし(ステップS1808)、処理を終了する。
ストレージシステム間のネットワークダウンの障害が検出されたならば、フェールオーバ処理プログラム411は、取得済みの正サイトジャーナルを全て実行することで副サイトストレージのジャーナルデータを枯らし(ステップS1809)、正サイトでオペレーションログ処理プログラム412をコールし(ステップS1810)、処理を終了する。なお、Quorumがダウンした場合には、Quorum障害通知(ステップS1811)し、処理を終了する。
図16に示すように、オペレーションログ処理プログラム412は、障害管理プログラム420を動作させ(ステップS1901)、障害未回復であるか否かを判定する(ステップS1902)。そして、障害が回復していれば(ステップS1902;false)、ジャーナルの回復が未完了であるか否かをさらに判定する(ステップS1903)。その結果、ジャーナルの回復が完了していれば(ステップS1903;false)、そのまま処理を終了する。
障害が未回復であるか(ステップS1902;true)、ジャーナル回復が未完了である場合(ステップS1903;true)、オペレーションログ処理プログラム412は、要求の判別を行う(ステップS1904)。
判別の結果、要求が「ライト」であれば、オペレーションログ処理プログラム412は、差分ビットマップ管理プログラム421を動作させ(ステップS1905)、処理を終了する。
判別の結果、要求が「ライト依存オペレーション」であれば、オペレーションログ処理プログラム412は、Snapshot処理プログラム422をコールし(ステップS1906)、Snapshotデータアドレスをジャーナルデータとする(ステップS1907)。そして、ジャーナル作成プログラム402をコールし(ステップS1908)、処理を終了する。
判別の結果、要求が「ライト非依存オペレーション」であれば、オペレーションログ処理プログラム412は、ライト非依存オペレーションジャーナル処理プログラム413をコールして(ステップS1909)、処理を終了する。
図17に示すように、オペレーションジャーナル処理プログラム413は、カレントブロックを取得し(ステップS2001)、カレントライトブロックに格納可能であるか否かを判定する(ステップS2002)。カレントライトブロックに格納可能でなければ(ステップS2002;false)、オペレーションジャーナル処理プログラム413は、空きブロックを探索し(ステップS2003)、空きブロックを割り当てる(ステップS2004)。
ステップS2004の後、もしくはカレントライトブロックに格納可能である場合(ステップS2002;true)、オペレーションジャーナル処理プログラム413は、格納先を決定し(ステップS2005)、オペレーションを登録する(ステップS2006)、そして、カレントブロックを更新し(ステップS2007)、ブロック内最大シーケンス番号を更新して(ステップS2008)、処理を終了する。
図18に示すように、正サイトのオペレーションジャーナル転送プログラム414は、オペレーションジャーナルリードコマンドを発行することで、転送済シーケンス番号を通知し(ステップS2101)、副サイトからの応答を待つ(ステップS2002)。副サイトのオペレーションジャーナル送信プログラム415は、カレントリードブロックを取得し(ステップS2103)、カレントライトアドレスを取得して(ステップS2104)、カレントリードブロックとカレントライトブロックが同じであるか否かを判定する(ステップS2105)。
カレントリードブロックとカレントライトブロックが同じでなければ(ステップS2105;false)、オペレーションジャーナル送信プログラム415は、カレントリードアドレスからブロック終端までのジャーナルコントロールブロックをリードし(ステップS2106)、次のブロックをカレントリードブロックとして設定して(ステップS2107)、カレントリードアドレスをアドレス0に設定する(ステップS2108)。
一方、カレントリードブロックとカレントライトブロックが同じであれば(ステップS2105;true)。カレントリードアドレスからカレントライトアドレスまでのジャーナルコントロールブロックをリードし(ステップS2109)、カレントリードアドレスをリードしたアドレスに設定する(ステップS2110)。
ステップS2108又はステップS2110の後、オペレーションジャーナル送信プログラム415は、オペレーションデータなしであるか否かを判定する(ステップS2111)。オペレーションデータがあるならば(ステップS2111;false)、オペレーションジャーナル送信プログラム415は、オペレーションジャーナルデータ格納位置を特定し(ステップS2112)、オペレーションジャーナルデータをリードする(ステップS2113)。その後、リモートコピー制御プログラム407を動作させる(ステップS2114)。ステップS2114の後、もしくはオペレーションデータがない場合(ステップS2111;true)、オペレーションジャーナル送信プログラム415は、転送済みシーケンス番号を記録し(ステップS2115)、ブロック解放プログラム409をコールして(ステップS2115)、処理を終了する。
正サイトのオペレーションジャーナル転送プログラム414は、リモートコピー制御プログラム407によって転送されたオペレーションジャーナルを受領すると(ステップS2117)、ジャーナルデータ格納アドレス決定プログラム403をコールして(ステップS2118)、ジャーナルデータをキャッシュに格納する(ステップS2119)。そして、ジャーナルコントロールブロック格納アドレス決定プログラム404をコールして(ステップS2120)、ジャーナルコントロールブロックをキャッシュに格納して(ステップS2121)、処理を終了する。
図19に示すように、フェールバック処理プログラム416は、正サイトの障害が回復したか否を判定する(ステップS2201)。判定の結果、正サイトの障害が回復していなければ(ステップS2202;false)、そのまま処理を終了する。
正サイトの障害が回復しているならば(ステップS2202;true)、フェールバック処理プログラム416は、正サイトの状態を取得し(ステップS2202)、データの復旧が可能であるか否かを判定する(ステップS2203)。
データの復旧が可能でなければ(ステップS2203;false)、フェールバック処理プログラム416は、SVOLからPVOLを復旧するためデータを転送する(ステップS2204)。データの復旧が可能であれば(ステップS2203;true)、フェールバック処理プログラム416は、最終シーケンス番号より正、副の状態を確認し(ステップS2205)、差分ビットマップから復旧するため差分を転送する(ステップS2206)。
ステップS2204又はステップS2206の後、フェールバック処理プログラム416は、オペレーションログを反映する転送を行い(ステップS2207)、正サイト復旧、ペア回復、ジャーナル処理再開を行って(ステップS2208)、処理を終了する。
図20に示すように、正サイトで起動されたペア解消プログラム417は、解消するペアを選択し(ステップS2301)、副サイトのペア解消プログラム417をコールする(ステップS2302)。
副サイトのペア解消プログラム417は、ジャーナルリードコマンドを発行して転送済みシーケンス番号を通知し(ステップS2303)、正サイトからの応答を待つ(ステップS2304)。
正サイトのペア解消プログラム417は、副サイトのペア解消プログラム417からジャーナルリードコマンドを受信し、未処理ジャーナルがあるか否かを判定する(ステップS2305)。未処理ジャーナルがあるならば(ステップS2304;true)、正サイトのペア解消プログラム417は、ジャーナル送信プログラム406をコールし(ステップS2306)、ブロック解放プログラム409をコールして(ステップS2307)、処理を終了する。
副サイトのペア解消プログラム417は、ステップS2306によって送信されたジャーナルを受領すると(ステップS2308)、ジャーナルデータ格納アドレス決定プログラム403をコールし(ステップS2309)、ジャーナルデータをキャッシュに格納する(ステップS2310)。そして、ジャーナルコントロールブロック格納アドレス決定プログラム404をコールし(ステップS2311)、ジャーナルコントロールブロックをキャッシュに格納する(ステップS2312)。その後、ジャーナルリストアプログラム408をコールし(ステップS2313)、ステップS2303に戻る。
未処理のジャーナルがない場合には(ステップS2305;false)、正サイトのペア解消プログラム417は、ペア解消コマンドを発行する(ステップS2314)。副サイトのペア解消プログラムは、正サイトからペア解消コマンドを受信して関連情報を削除し(ステップS2315)、処理を終了する。また、再サイトのペア解消プログラム417は、副サイトでの関連情報削除を受けてペアを解消し、正サイトの関連情報を削除して(ステップS2316)、処理を終了する。
図21に示すように、ジャーナル資源確保プログラム418は、ジャーナル資源が枯渇したか否かを判定する(ステップS2401)。ジャーナル資源が枯渇していなければ(ステップS2301;false)、ジャーナル資源確保プログラム418はライトを継続して(ステップS2402)、処理を終了する。
ジャーナル資源が枯渇しているならば(ステップS2401;true)、ジャーナル資源確保プログラム418は、ストレージシステムの資源情報を取得し(ステップS2403)、拡張不可であるか否かを判定する(ステップS2404)。拡張が可能であれば(ステップS2404;false)、ジャーナル資源確保プログラム418は、ジャーナル資源の拡張を行って(ステップS2405)、処理を終了する。
拡張が不可であれば(ステップS2404;true)、ジャーナル資源確保プログラム418は、ライト停止処理を行う(ステップS2406)。そして、ジャーナルリードプログラム405をコールし(ステップS407)、ジャーナルリストアプログラム408をコールして(ステップS2408)、ステップS2401に戻る。
図21に示すように、ジャーナル資源解放プログラム419は、解放資源量を指定し(ステップS2501)、ジャーナルボリューム終端を解放予約する(ステップS2502)。そして、カレントリードブロックを取得し(ステップS2503)、カレントライトアドレスを取得する(ステップS2504)。ジャーナル資源解放プログラム419は、解放終端にどちらも含まれるかを判定し(ステップS2505)、どちらも含まれるならば(ステップS2505;true)、ジャーナル処理の完了を待って(ステップS2507)、ステップS2503に移行する。一方、解放終端にいずれかしか含まれないならば、ジャーナル資源を解放して(ステップS2506)、処理を終了する。
これまでの説明では、正サイトで行ったライトなどのデータの処理とスナップショットなどのオペレーションを時刻情報とともに正サイトジャーナルに蓄積し、その実行順序に従って副サイトで実行する構成を例示して説明を行った。しかし、データの内容に影響を与えないオペレーションであれば、正サイトジャーナルへの蓄積は必須ではなく、即時に副サイトで実行して反映することが可能である。例えば、オペレーション管理テーブル508において、再現方法が「要求送信」であれば、データに影響を与えず、副サイトで即時反映可能である。
オペレーション反映プログラム410は、オペレーションを受信すると、即時反映が不可能なオペレーションであるか否かを判定する。
判定の結果、即時反映が可能なオペレーションであれば、オペレーション反映プログラム410は、オペレーションを副サイトに送信して、処理を終了する。一方、即時反映が不可能なオペレーションであれば、ジャーナルに追記して、処理を終了する。
上述してきたように、本実施例に係るモートコピーシステムは、正サイトを提供する第1のストレージシステム103Aと、副サイトを提供する第2のストレージシステム103Bを備え、ストレージシステム103のストレージコントローラ104は、第1のストレージシステム103Aが有する第1のデータボリュームPVOLから第2のストレージシステム103Bが有する第2のデータボリュームSVOLへのリモートコピーを行い、正サイトから副サイトにフェールオーバを行った後は、副サイトで処理したデータ及びオペレーションを副サイトジャーナルとして第2のストレージシステム103Bのジャーナルボリュームに蓄積し、正サイトの復旧時には副サイトジャーナルを用いて第1のデータボリュームPVOLの復元を行う。このため、ストレージシステム間の切り替えを迅速かつ簡易に行うことができる。
また、本実施例によれば、ストレージコントローラ104は、第1のデータボリュームPVOLの復元を行う場合に、副サイトジャーナルを第1のストレージシステム103Aに送信し、副サイトジャーナルに示された処理を順に沿って実行することで、第1のデータボリュームPVOLを第2のデータボリュームSVOLに一致させることができる。
また、本実施例によれば、ストレージコントローラ104は、正サイトを運用中に正サイトで処理したデータ及びオペレーションを正サイトジャーナルとして第2のストレージシステム103Bに送信し、正サイトジャーナルに示された処理を順に沿って実行することで、第2のデータボリュームSVOLを第1のデータボリュームPVOLに一致させてリモートコピーを実現することができる。
また、本実施例によれば、ストレージコントローラ104は、データの同期が必要なデータ同期処理が正サイトジャーナルに含まれていた場合に、リモートコピーにおいてデータ同期処理を第2のストレージシステム103Bで実行し、フェールオーバに際してデータ同期処理を基点とした第2のデータボリュームSVOLの復元が可能であることを特徴とする。
このデータ同期処理は、一例としてスナップショットの生成である。スナップショットの生成は、データを同期してから実行する。データの同期を行わずにスナップショットを取ると、必要なデータが含まれない可能性があるためである。
この他、データ同期処理には、VOL拡張、クローン、VOL縮小、Tier移動などが含まれる。VOL拡張をデータ同期なし行うと、間にクローンがあった場合に正と副で容量の異なるクローンができる事態となる。クローンをデータ同期なしで生成すると、必要なデータが無いクローンとなる可能性がある。VOL縮小をデータ同期なしで行うと、未到着のデータで領域外に書き込む事態となる可能性がある。Tier移動では、データ同期してヒント情報を送信する。同期なしで送ると異なるデータを移動してしまう可能性がある。
また、本実施例によれば、ストレージコントローラ104は、フェールオーバ後に行ったデータの処理について差分情報を生成し、フェールオーバ後にスナップショットの生成を行う場合には、それまでの差分情報を反映したスナップショットを生成するとともに、以降のデータの処理についての差分情報を新たに生成することができる。
また、本実施例によれば、ストレージコントローラ104は、第1のデータボリュームPVOLの復元において、副サイトジャーナルに複数のスナップショットの生成が含まれていたならば、複数のスナップショットの生成を順次実行し、スナップショット間のデータの処理については各々対応する差分情報を使用し、使用後の差分情報は不要な情報として扱うことができる。
また、本実施例によれば、第1のストレージシステム103A及び第2のストレージシステム103Bの動作状態を監視する監視装置としてのストレージシステム106をさらに備え、ストレージコントローラ104は、監視の結果に基づいてフェールオーバを自動実行することができる。
なお、本発明は上述の実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、かかる構成の削除に限らず、構成の置き換えや追加も可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
101…サーバシステム 103…ストレージシステム 104…ストレージコントローラ 105…PDEV 106…ストレージシステム 201…アプリケーション 202…クラスタリングソフトウェア 203…ターゲットポート 204…仮想ストレージシステム 205…仮想ボリューム

Claims (8)

  1. 正サイトを提供する第1のストレージシステムと、
    副サイトを提供する第2のストレージシステムと
    を備え、
    第1のストレージシステム及び/又は前記第2のストレージシステムのストレージコントローラは、
    前記第1のストレージシステムが有する第1のデータボリュームから前記第2のストレージシステムが有する第2のデータボリュームへのリモートコピーを行い、
    前記正サイトから前記副サイトにフェールオーバを行った後は、前記副サイトで処理したデータ及びオペレーションを副サイトジャーナルとして前記第2のストレージシステムのジャーナルボリュームに蓄積し、
    前記正サイトの復旧時には前記副サイトジャーナルを用いて前記第1のデータボリュームの復元を行い、
    前記ストレージコントローラは、前記フェールオーバ後に行ったデータの処理について差分情報を生成し、前記フェールオーバ後にスナップショットの生成を行う場合には、それまでの差分情報を反映したスナップショットを生成するとともに、以降のデータの処理についての差分情報を新たに生成し、
    前記ストレージコントローラは、前記第1のデータボリュームの復元において、前記副サイトジャーナルに複数のスナップショットの生成が含まれていたならば、前記複数のスナップショットの生成を実行し、スナップショット間のデータの処理については各々対応する差分情報を使用する
    ことを特徴とするリモートコピーシステム。
  2. 前記ストレージコントローラは、前記第1のデータボリュームの復元において、前記副サイトジャーナルに複数のスナップショットの生成が含まれていたならば、前記複数のスナップショットの生成を実行し、スナップショット間のデータの処理については各々対応する差分情報を使用し、使用後の差分情報は不要な情報として扱うことを特徴とする請求項1に記載のリモートコピーシステム。
  3. 前記ストレージコントローラは、前記第1のデータボリュームの復元を行う場合に、前記副サイトジャーナルを前記第1のストレージシステムに送信し、前記副サイトジャーナルに示された処理を順に沿って実行することで、前記第1のデータボリュームを前記第2のデータボリュームに一致させることを特徴とする請求項1に記載のリモートコピーシステム。
  4. 前記ストレージコントローラは、前記正サイトを運用中に前記正サイトで処理したデータ及びオペレーションを正サイトジャーナルとして前記第2のストレージシステムに送信し、前記正サイトジャーナルに示された処理を順に沿って実行することで、前記第2のデータボリュームを前記第1のデータボリュームに一致させて前記リモートコピーを実現することを特徴とする請求項1に記載のリモートコピーシステム。
  5. 前記ストレージコントローラは、データの同期が必要なデータ同期処理が前記正サイトジャーナルに含まれていた場合に、前記リモートコピーにおいて前記データ同期処理を前記第2のストレージシステムで実行し、前記フェールオーバに際して前記データ同期処理を基点とした前記第2のデータボリュームの復元が可能であることを特徴とする請求項4に記載のリモートコピーシステム。
  6. 前記データ同期処理は、スナップショットの生成を含むことを特徴とする請求項5に記載のリモートコピーシステム。
  7. 前記第1のストレージシステム及び前記第2のストレージシステムの動作状態を監視する監視装置をさらに備え、前記ストレージコントローラは、前記監視の結果に基づいて前記フェールオーバを自動実行することを特徴とする請求項1に記載のリモートコピーシステム。
  8. 正サイトを提供する第1のストレージシステムと、副サイトを提供する第2のストレージシステムにおいて、
    第1のストレージシステム及び/又は前記第2のストレージシステムのストレージコントローラが、
    前記第1のストレージシステムが有する第1のデータボリュームから前記第2のストレージシステムが有する第2のデータボリュームへのリモートコピーを行うステップと、
    前記正サイトから前記副サイトにフェールオーバを行った後に、前記副サイトで処理したデータ及びオペレーションを副サイトジャーナルとして前記第2のストレージシステムのジャーナルボリュームに蓄積するステップと、
    前記正サイトの復旧時に前記副サイトジャーナルを用いて前記第1のデータボリュームの復元を行うステップと
    を含み、
    前記ストレージコントローラは、前記フェールオーバ後に行ったデータの処理について差分情報を生成し、前記フェールオーバ後にスナップショットの生成を行う場合には、それまでの差分情報を反映したスナップショットを生成するとともに、以降のデータの処理についての差分情報を新たに生成し、
    前記ストレージコントローラは、前記第1のデータボリュームの復元において、前記副サイトジャーナルに複数のスナップショットの生成が含まれていたならば、前記複数のスナップショットの生成を実行し、スナップショット間のデータの処理については各々対応する差分情報を使用する
    ことを特徴とするリモートコピー管理方法。
JP2020017130A 2020-02-04 2020-02-04 リモートコピーシステム及びリモートコピー管理方法 Active JP7117338B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020017130A JP7117338B2 (ja) 2020-02-04 2020-02-04 リモートコピーシステム及びリモートコピー管理方法
CN202010855808.3A CN113220218A (zh) 2020-02-04 2020-08-24 远程复制系统和远程复制管理方法
US17/014,296 US20210240351A1 (en) 2020-02-04 2020-09-08 Remote copy system and remote copy management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020017130A JP7117338B2 (ja) 2020-02-04 2020-02-04 リモートコピーシステム及びリモートコピー管理方法

Publications (2)

Publication Number Publication Date
JP2021124889A JP2021124889A (ja) 2021-08-30
JP7117338B2 true JP7117338B2 (ja) 2022-08-12

Family

ID=77062518

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020017130A Active JP7117338B2 (ja) 2020-02-04 2020-02-04 リモートコピーシステム及びリモートコピー管理方法

Country Status (3)

Country Link
US (1) US20210240351A1 (ja)
JP (1) JP7117338B2 (ja)
CN (1) CN113220218A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021174392A (ja) * 2020-04-28 2021-11-01 株式会社日立製作所 リモートコピーシステム及びリモートコピー管理方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004259079A (ja) 2003-02-27 2004-09-16 Hitachi Ltd データ処理システム
JP2006048103A (ja) 2004-07-30 2006-02-16 Hitachi Ltd ディザスタリカバリシステム、プログラム及びデータの複製方法
JP2007115007A (ja) 2005-10-20 2007-05-10 Hitachi Ltd ストレージ装置のリストア方法及びストレージ装置
JP2007280323A (ja) 2006-04-12 2007-10-25 Hitachi Ltd 記憶システム及びデータ管理方法
JP2007328468A (ja) 2006-06-06 2007-12-20 Hitachi Ltd ストレージシステム及びストレージシステムのボリューム管理方法
JP2008134986A (ja) 2006-10-30 2008-06-12 Hitachi Ltd 情報システム、データ転送方法及びデータ保護方法
WO2017064770A1 (ja) 2015-10-14 2017-04-20 株式会社日立製作所 ストレージシステムおよびストレージシステムの制御方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040250030A1 (en) * 2003-06-06 2004-12-09 Minwen Ji Data redundancy using portal and host computer
US9361213B2 (en) * 2013-01-23 2016-06-07 Hitachi, Ltd. Method and apparatus for efficient remote copy

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004259079A (ja) 2003-02-27 2004-09-16 Hitachi Ltd データ処理システム
JP2006048103A (ja) 2004-07-30 2006-02-16 Hitachi Ltd ディザスタリカバリシステム、プログラム及びデータの複製方法
JP2007115007A (ja) 2005-10-20 2007-05-10 Hitachi Ltd ストレージ装置のリストア方法及びストレージ装置
US20090044046A1 (en) 2005-10-20 2009-02-12 Yasuo Yamasaki Method for rolling back from snapshot with log
JP2007280323A (ja) 2006-04-12 2007-10-25 Hitachi Ltd 記憶システム及びデータ管理方法
JP2007328468A (ja) 2006-06-06 2007-12-20 Hitachi Ltd ストレージシステム及びストレージシステムのボリューム管理方法
JP2008134986A (ja) 2006-10-30 2008-06-12 Hitachi Ltd 情報システム、データ転送方法及びデータ保護方法
WO2017064770A1 (ja) 2015-10-14 2017-04-20 株式会社日立製作所 ストレージシステムおよびストレージシステムの制御方法

Also Published As

Publication number Publication date
US20210240351A1 (en) 2021-08-05
CN113220218A (zh) 2021-08-06
JP2021124889A (ja) 2021-08-30

Similar Documents

Publication Publication Date Title
JP5192226B2 (ja) 待機系計算機の追加方法、計算機及び計算機システム
JP4800031B2 (ja) ストレージシステム及びスナップショット管理方法
US7103619B1 (en) System and method for automatic audit data archiving within a remote database backup system
CN106407044B (zh) 信息处理系统中的故障恢复方法和信息处理系统
JP5234348B2 (ja) オンラインボリュームと性能/障害独立かつ容量効率の高いスナップショットを実現するストレージシステム及び方法
JP5147229B2 (ja) 実行中のアプリケーションをトポロジ的遠隔に位置するコンピュータ・システムに再配置するためのシステムと方法
US7650369B2 (en) Database system management method and database system
JP4615344B2 (ja) データ処理システム及びデータベースの管理方法
WO2012140957A1 (ja) 情報記憶システム及びそのデータ複製方法
CN112306389A (zh) 存储系统和节点管理方法
CN105739924A (zh) 基于缓存集群的缓存方法和系统
WO2015162684A1 (ja) ストレージシステムのデータ移行方法
JP2006023889A (ja) リモートコピーシステム及び記憶装置システム
JP2006004147A (ja) ディザスタリカバリシステム、プログラム及びデータベースのリカバリ方法
US7069400B2 (en) Data processing system
KR20150137884A (ko) 부분동기화 지원 데이터베이스 관리 시스템 및 데이터베이스 관리 시스템에서 부분동기화 방법
KR20110002708A (ko) 고가용성 데이터베이스 관리 시스템 및 이를 이용한 데이터베이스 관리 방법
WO2014080492A1 (ja) 計算機システム、クラスタ管理方法、及び管理計算機
JP4289056B2 (ja) 計算機システム間のデータ二重化制御方法
JP7117338B2 (ja) リモートコピーシステム及びリモートコピー管理方法
JP2006285336A (ja) 記憶装置及びストレージシステム並びにその制御方法
CN101999113A (zh) 存储复制的方法和系统
CN104991739A (zh) 元数据服务器失效接替中精确一次执行语义的方法及系统
JP5445504B2 (ja) データ複製装置、データ複製制御方法、及びデータ複製制御プログラム
JP4434838B2 (ja) 分散データ等価方法とシステム、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201202

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220302

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220705

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220801

R150 Certificate of patent or registration of utility model

Ref document number: 7117338

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150