(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024179668
(43)【公開日】2024-12-26
(54)【発明の名称】ユニファイドストレージシステムおよびユニファイドストレージシステムのアップグレード方法
(51)【国際特許分類】
G06F 3/06 20060101AFI20241219BHJP
G06F 13/10 20060101ALI20241219BHJP
G06F 13/14 20060101ALI20241219BHJP
【FI】
G06F3/06 304F
G06F13/10 340A
G06F13/14 310F
G06F13/14 330E
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023098682
(22)【出願日】2023-06-15
(71)【出願人】
【識別番号】524132520
【氏名又は名称】日立ヴァンタラ株式会社
(74)【代理人】
【識別番号】110002365
【氏名又は名称】弁理士法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】深谷 崇元
(72)【発明者】
【氏名】下薗 紀夫
(72)【発明者】
【氏名】早坂 光雄
(72)【発明者】
【氏名】鴨生 悠冬
(57)【要約】 (修正有)
【課題】ストレージコントローラをアップグレードする際に、従来使用していたストレージコントローラを有効活用することで、ハードウェアコストの低減を図るユニファイドストレージシステム及びそのアップグレード方法を提供する。
【解決手段】コントローラ100を有する記憶制御装置10(ストレージノード)及びデータを格納する記憶デバイスユニット20(記憶装置)を有し、ブロックアクセス及びファイルアクセスに対応したユニファイドストレージシステムAであって、クライアントからのファイルアクセスを処理してコントローラにブロックアクセスをするFE I/F 110上で動作するファイルシステムを有し、コントローラは、クライアントからのブロックアクセス及びファイルシステムからのブロックアクセスを処理して、データを格納する記憶装置にアクセスし、ネットワーク接続された情報機器を追加し、ファイルシステムを情報機器に移動させる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
コントローラを有するストレージノードと、
データを格納する記憶装置と、
を有して、ブロックアクセス及びファイルアクセスに対応したユニファイドストレージシステムにおいて、
クライアントからのファイルアクセスを処理して前記コントローラにブロックアクセスをするファイルシステムを有し、
前記コントローラは、クライアントからのブロックアクセス及び前記ファイルシステムからのブロックアクセスを処理して、前記データを格納する記憶装置にアクセスし、
前記ユニファイドストレージシステムは、ネットワーク接続された情報機器を追加し、前記ファイルシステムを前記情報機器に移動させることが可能な
ことを特徴とするユニファイドストレージシステム。
【請求項2】
前記ファイルシステムの移動後は、前記情報機器のファイルシステムが、前記ストレージノードのコントローラへブロックアクセスを行う
ことを特徴とする請求項1に記載のユニファイドストレージシステム。
【請求項3】
プロセッサを有するネットワークインタフェースを有し、
前記ファイルシステムは、移動前に前記ネットワークインタフェース上で稼働している
ことを特徴とする請求項1に記載のユニファイドストレージシステム。
【請求項4】
前記ストレージノードのいずれかの構成をアップグレードする場合に、前記ファイルシステムを前記情報機器に移動させる
ことを特徴とする請求項1に記載のユニファイドストレージシステム。
【請求項5】
前記ファイルシステムの移動に際して、前記ストレージノードから前記情報機器にファイルサービスの構成情報を移動させる
ことを特徴とする請求項1に記載のユニファイドストレージシステム。
【請求項6】
前記ストレージノードは、プロセッサを有するネットワークインタフェースを複数有しており、
前記ファイルシステムの移動前は、複数の前記ネットワークインタフェース上で稼働する複数の前記ファイルシステムが連携して分散ファイルシステムを構成し、
前記ファイルシステムの移動後は、複数の前記情報機器上で稼働する複数の前記ファイルシステムが連携して分散ファイルシステムを構成する
ことを特徴とする請求項1に記載のユニファイドストレージシステム。
【請求項7】
前記ファイルシステムの移動に際して、前記ファイルシステムが参照するデータを前記情報機器の記憶装置に移動させ、移動後は、前記ファイルシステムは前記情報機器の記憶装置にアクセスする
ことを特徴とする請求項1に記載のユニファイドストレージシステム。
【請求項8】
前記ストレージノードは、ネットワークインタフェースを有し、
前記ファイルシステムの移動前は、前記ストレージノードのネットワークインタフェースに、前記クライアントからのブロックアクセスパス及びファイルアクセスパスが設定され、
前記ファイルシステムの移動後は、前記ストレージノードのネットワークインタフェースに前記クライアントからのブロックアクセスパスが設定された状態で、前記情報機器に前記クライアントからのファイルアクセスパスを設定する
ことを特徴とする請求項1に記載のユニファイドストレージシステム。
【請求項9】
前記ファイルシステムの移動後に、前記ストレージノードと前記情報機器とは秘密鍵を有し、前記ストレージノードと前記情報機器との間の前記ブロックアクセスを含む通信を前記秘密鍵を用いて行う
ことを特徴とする請求項1に記載のユニファイドストレージシステム。
【請求項10】
前記ストレージノードは、ネットワークインタフェースを有し、
前記ネットワークインタフェースは前記ファイルアクセスされるデータを一時保存されるメモリを有し、
前記ファイルシステムの移動に際して、前記ネットワークインタフェースのメモリ内のダーティデータを前記記憶装置に格納する
ことを特徴とする請求項1に記載のユニファイドストレージシステム。
【請求項11】
前記情報機器は、外付けサーバまたはNASゲートウェイサーバである
ことを特徴とする請求項1に記載のユニファイドストレージシステム。
【請求項12】
コントローラを有するストレージノードと、
データを格納する記憶装置と、
を有して、ブロックアクセス及びファイルアクセスに対応したユニファイドストレージシステムにおいて、
クライアントからのファイルアクセスを処理して前記コントローラにブロックアクセスをするファイルシステムを有し、
前記コントローラは、クライアントからのブロックアクセス及び前記ファイルシステムからのブロックアクセスを処理して、前記データを格納する記憶装置にアクセスし、
前記ユニファイドストレージシステムは、ネットワーク接続された情報機器を追加し、前記ファイルシステムを前記情報機器に移動させる、
ユニファイドストレージシステムのアップグレード方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユニファイドストレージシステム、ユニファイドストレージシステムのアップグレード方法に関する。
【背景技術】
【0002】
近年、ハードウェアコスト低減や省電力化への要求から、一つのストレージ筐体でネットワーク経由のブロックアクセスとファイルアクセスの両方を提供するユニファイドストレージが求められている。
特許文献1は、一つのストレージ筐体で、ブロックプロトコル処理とファイルプロトコル処理を行うユニファイドストレージを実現する技術を開示している。
【0003】
特許文献1は、特許文献1は、一つのストレージ筐体で、ブロックプロトコル処理とファイルプロトコル処理を行うユニファイドストレージを実現する技術を開示する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ユニファイドストレージでは、例えば、ファイルプロトコル制御とブロックプロトコル制御を同一のストレージコントローラで動作させ、HA(High availability)クラスタを構成する。二つ以上のストレージコントローラがデータ格納領域である、記憶デバイスユニットを共有することで、一のストレージコントローラの障害時や保守作業時に、別のストレージコントローラにサービスを引き継ぐことができる。また、ストレージコントローラを高性能なストレージコントローラにリプレースすることで、データを移行せずに(Data-in-place)、性能アップグレードをすることができる。
このとき、アップグレード前に使用していた機器を有効活用し、ハードウェアコストを低減することが望まれる。従来方式では、アップグレード前に使用していたストレージコントローラが未使用となり、その分ハードウェアコストが増加する。
本発明は、ユニファイドストレージにおいてストレージコントローラをアップグレードする際に、従来使用していたストレージコントローラを有効活用することで、ハードウェアコストの低減を図ることができるユニファイドストレージシステム、ユニファイドストレージシステムのアップグレード方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記の課題を解決するため本発明は、コントローラを有するストレージノードと、データを格納する記憶装置と、を有して、ブロックアクセス及びファイルアクセスに対応したユニファイドストレージシステムにおいて、クライアントからのファイルアクセスを処理してコントローラにブロックアクセスをするファイルシステムを有し、コントローラは、クライアントからのブロックアクセス及びファイルシステムからのブロックアクセスを処理して、データを格納する記憶装置にアクセスし、ユニファイドストレージシステムは、ネットワーク接続された情報機器を追加し、ファイルシステムを情報機器に移動させることが可能なことを特徴とするユニファイドストレージシステムを提供する。この場合、ユニファイドストレージにおいてストレージコントローラ(ネットワークインタフェース)をアップグレードする際に、従来使用していたネットワークインタフェースを有効活用することで、ハードウェアコストの低減を図ることができる管理装置を提供できる。
【0007】
ここで、ファイルシステムの移動後は、情報機器のファイルシステムが、ストレージノードのコントローラへブロックアクセスを行うようにできる。この場合、従来使用していたネットワークインタフェースを有効活用することができる。
また、プロセッサを有するネットワークインタフェースを有し、ファイルシステムは、移動前にネットワークインタフェース上で稼働するようにできる。この場合、ユニファイドストレージシステムの構築が容易になる。
さらに、ストレージノードのいずれかの構成をアップグレードする場合に、ファイルシステムを情報機器に移動させることができる。この場合、ストレージノードのいずれかの構成についてリソース不足になった場合に、リソース不足になった対象をアップグレードすることができる。
またさらに、ファイルシステムの移動に際して、ストレージノードから情報機器にファイルサービスの構成情報を移動させるようにできる。この場合、アップグレード後に使用する情報機器で、アップグレード前に使用していたネットワークインタフェースと同じファイルシステムを使用することで、性能アップグレード時のファイルデータ移行が不要となる。
また、ストレージノードは、プロセッサを有するネットワークインタフェースを複数有しており、ファイルシステムの移動前は、複数のネットワークインタフェース上で稼働する複数のファイルシステムが連携して分散ファイルシステムを構成し、ファイルシステムの移動後は、複数の情報機器上で稼働する複数のファイルシステムが連携して分散ファイルシステムを構成するようにできる。この場合、アップグレード前に使用していたネットワークインタフェースの数、またはアップグレード後に使用する機器の数を増やすことで、性能をスケールアウトすることが可能となる。
さらに、ファイルシステムの移動に際して、ファイルシステムが参照するデータを情報機器の記憶装置に移動させ、移動後は、ファイルシステムは情報機器の記憶装置にアクセスすることができる。この場合、アップグレード前に使用していたネットワークインタフェースとアップグレード後に使用する情報機器間とで異なるファイルシステムを使用する場合でも、アップグレードが可能になる。
またさらに、ストレージノードは、ネットワークインタフェースを有し、ファイルシステムの移動前は、ストレージノードのネットワークインタフェースに、クライアントからのブロックアクセスパス及びファイルアクセスパスが設定され、ファイルシステムの移動後は、ストレージノードのネットワークインタフェースにクライアントからのブロックアクセスパスが設定された状態で、情報機器にクライアントからのファイルアクセスパスを設定することができる。この場合、外部からブロックアクセスおよびファイルアクセスができる状況にすることができる。
そして、ファイルシステムの移動後に、ストレージノードと情報機器とは秘密鍵を有し、ストレージノードと情報機器との間のブロックアクセスを含む通信を秘密鍵を用いて行うことができる。この場合、アップグレードした場合でも、セキュリティを保つことが可能となる。
また、ストレージノードは、ネットワークインタフェースを有し、ネットワークインタフェースはファイルアクセスされるデータを一時保存されるメモリを有し、ファイルシステムの移動に際して、ネットワークインタフェースのメモリ内のダーティデータを記憶装置に格納するようにできる。この場合、移行前後のデータ不整合を防ぐことができる。
さらに、情報機器は、外付けサーバまたはNASゲートウェイサーバにすることができる。この場合、ネットワークインタフェースの性能ネックを解消することができる。
【0008】
また、本発明は、コントローラを有するストレージノードと、データを格納する記憶装置と、を有して、ブロックアクセス及びファイルアクセスに対応したユニファイドストレージシステムにおいて、クライアントからのファイルアクセスを処理してコントローラにブロックアクセスをするファイルシステムを有し、コントローラは、クライアントからのブロックアクセス及びファイルシステムからのブロックアクセスを処理して、データを格納する記憶装置にアクセスし、ユニファイドストレージシステムは、ネットワーク接続された情報機器を追加し、ファイルシステムを情報機器に移動させる、ユニファイドストレージシステムのアップグレード方法を提供する。この場合、ユニファイドストレージにおいてストレージコントローラ(ネットワークインタフェース)をアップグレードする際に、従来使用していたストレージコントローラを有効活用することで、ハードウェアコストの低減を図ることができるアッププグレード制御システムを提供できる。
【発明の効果】
【0009】
本発明によれば、ユニファイドストレージにおいてストレージコントローラをアップグレードする際に、従来使用していたストレージコントローラを有効活用することで、ハードウェアコストの低減を図ることができるユニファイドストレージシステム、ユニファイドストレージシステムのアップグレード方法を提供することができる。加えて、本発明によりストレージコントローラの再利用が可能となり環境負荷を軽減することができる。
【図面の簡単な説明】
【0010】
【
図1】実施例1のユニファイドストレージシステムの全体構成図であり、実施例1のユニファイドストレージの性能アップグレード方式の概要図である。
【
図2】実施例1のユニファイドストレージの全体構成図である。
【
図3】実施例1のユニファイドストレージのコントローラの構成図である。
【
図4】実施例1のユニファイドストレージのFE I/Fの構成図である。
【
図5】実施例1の外付けサーバの構成図の一例である。
【
図6】実施例1の管理サーバの構成図の一例である。
【
図7】実施例1のクライアントの構成図の一例である。
【
図9】LDEV管理テーブルの一例を示す図である。
【
図12】ファイル共有管理テーブルの一例を示す図である。
【
図13】FE I/F管理テーブルの一例を示す図である。
【
図14】ブロックデバイス管理テーブルの一例を示す図である。
【
図16】実施例1のユニファイドストレージの性能アップグレード処理S1の一例を示すフローチャートである。
【
図17】実施例1のユニファイドストレージの外付けサーバのファイルサービス設定処理S130の一例を示すフローチャートである。
【
図18】実施例1のユニファイドストレージのファイルサービス移行処理S150の一例である。
【
図19】実施例1のユニファイドストレージの性能アップグレードインタフェースの一例である。
【
図20】実施例2のユニファイドストレージシステムの全体構成図であり、実施例2のユニファイドストレージの性能アップグレード方式の概要図である。
【
図21】実施例2のNASゲートウェイサーバの構成図の一例である。
【
図22】実施例2のユニファイドストレージの性能アップグレード処理S2の一例を示すフローチャートである。
【
図23】実施例2のNASゲートウェイサーバのファイル設定/データ移行処理S220の一例を示すフローチャートである。
【
図24】実施例3のユニファイドストレージシステムの全体構成図であり、実施例3のユニファイドストレージの性能アップグレード方式の概要図である。
【発明を実施するための形態】
【0011】
以下、添付図面を参照し、本発明の実施の形態について、詳細に説明する。
なお、以下の説明において、ブロックアクセスとは、データを固定長のブロック単位で読み書きするデータアクセス方法である。ブロックアクセスを提供するストレージでは、物理記憶領域をLU(Logical Unit)に分割し、クライアントに対してブロック単位のデータアクセスを可能とする。ブロックプロトコルとは、ネットワークを介したブロックアクセスを実現する通信プロトコルである。
また、ファイルアクセスとは、データをファイルと呼ばれる可変長の管理単位で読み書きするデータアクセス方法である。ファイルアクセスを提供するストレージでは、ファイルデータをLUに格納するファイルシステム機能を用いて、クライアントに対してファイル単位のデータアクセスを可能とする。ファイルプロトコルとは、ネットワークを介したファイルアクセスを実現する通信プロトコルである。また、クライアントに対して公開するファイルシステムの共有領域をファイル共有と呼ぶ。
【0012】
また、上述した例では、従来使用していた機器を有効活用することで、ハードウェアコストの低減を図ることを発明の課題として挙げたが、アップグレード中の性能・信頼性低下の抑止を図る点も2つ目の課題として挙げられる。従来方式では、ストレージコントローラのリプレース時に、リプレース中のストレージコントローラで動作していたファイルプロトコル制御とブロックプロトコル制御を別のストレージコントローラにフェールオーバする必要がある。その結果、フェールオーバ先のストレージコントローラへの負荷集中と、単一障害点が発生し、性能と信頼性が共に低下する。そのため、ストレージコントローラのリプレース中に性能と信頼性を抑え、安定したサービス提供を実現することが課題となる。
【実施例0013】
実施例1では、ブロックストレージにSmartNIC(Smart Network Interface Card)を搭載し、SmartNICにてファイルプロトコル処理を行うユニファイドストレージ(SmartNICユニファイド)を想定する。SmartNICは、CPU(Central Processing Unit)やメモリを搭載したネットワークインタフェース装置であり、汎用Operating System(OS)やOSS(Open Source Software)プロトコルサーバをそのまま動作させることができる。SmartNICユニファイドは、SmartNICがファイルプロトコル処理を行うことで、クライアントに対し、ブロックプロトコル処理とファイルプロトコル処理の両方を提供する。
【0014】
SmartNICユニファイドは、構築は容易であるが、SmartNICに組込まれたCPUのパワーが弱く、負荷の高いファイル処理によりCPUネックとなりやすい。そこで、SmartNICユニファイドから始めたうえで、更なる性能が必要なユーザ向けにSmartNICをリプレースすることで、性能アップグレードする手段が必要となる。しかしながら、SmartNICユニファイドのSmartNICをリプレースする場合、従来技術と同様にリプレース機器の有効活用と、アップグレード時の性能・信頼性低下の抑止が課題となる。
そこで、実施例1ではSmartNICユニファイドにおいて、SmartNICが性能ネックになった場合に、高性能CPUを搭載した外付けの汎用サーバ(以降、外付けサーバと呼ぶ)に性能アップグレードする手段を提供する。本実施の形態では、SmartNICを外付けサーバへ性能アップグレードした後も、既存SmartNICをブロックアクセス用のブロックアクセスI/Fとして継続使用することで、リプレースする前の機器を有効活用する。また、事前に外付けサーバとの間でHAクラスタを構成することで、active-activeの構成のままファイルプロトコル制御をSmartNICから外付けサーバへ移行可能とする。これにより、アップグレード時の性能・信頼性低下を抑止する。
以降では、
図1から
図19を用いて実施例1を説明する。
【0015】
<実施例1の概要>
図1は、実施例1のユニファイドストレージシステムAの全体構成図であり、実施例1のユニファイドストレージ1の性能アップグレード方式の概要図である。
ユニファイドストレージ1において、コントローラ#0 100とコントローラ#1 100に各FE I/F(Front End Interface)110が接続する。コントローラ#0 100とコントローラ#1 100は、HAクラスタを構成する。各コントローラ100で動作するFE I/F110も、コントローラをまたがり、FE I/F110間でHAクラスタを構成する。本実施の形態で、FE I/F110は、FE I/F装置の一例である。
FE I/F110には、SmartNICを使用し、CPU上でファイルシステム(FS)とファイル共有を構成する。FE I/F110は、コントローラ100が提供するLUにファイルシステムのデータを格納する。FE I/F110は、ファイルシステムをファイル共有経由で、ファイルプロトコルにより公開することで、クライアントにファイルアクセスを提供する。また、FE I/F110は、LUをブロックプロトコルにより公開することで、クライアントに対しブロックアクセスを提供する。
【0016】
管理サーバ50は、FE I/F110のCPUが性能ボトルネックとなった場合に、以下に示すS1からS3の処理を行うことで、外付けサーバ200への性能アップグレードを実施する。
【0017】
(S1)管理サーバ50は、ユニファイドストレージ1に指示し、ファイルシステムに使用しているLUに対して、外部接続できるように追加外部パスを設定する。これによりLUはFE I/F110内のファイルシステムと外部からブロックアクセスができる状況となる。
【0018】
(S2)管理サーバ50は、ユニファイドストレージ1から取得したファイルシステムとファイル共有の構成情報(ネットワーク構成、共有構成、認証サーバ)を使用し、外付けサーバ200にFE I/F110と同等のファイルシステムとファイル共有を構成する。管理サーバ50は、外付けサーバ200間でHAクラスタを構成する。その後、管理サーバ50は、から管理サーバ50に、ホストからのアクセス先を切り替える。具体的には、GARP(Gratuitous ARP)プロトコルを用いて、ホストからのIPアドレスのアクセス先を切り替える。ここでいうGARPプロトコルとは、同一ネットワーク内の機器に対しアドレス情報キャッシュを更新させるために使用するプロトコルである。GARPプロトコルにより、クライアントやネットワークスイッチのIPアドレスのアクセス先を切り替えることができる。この場合、ファイルシステムとファイル共有はactive-activeの構成を保ったまま外付けサーバに移行することができる。これにより、従来方式の課題であったアップグレード中の性能・信頼性低下を抑止する。
【0019】
(S3)管理サーバ50は、FE I/F110の種別を、ファイル・ブロックプロトコル共用からブロックプロトコル専用に切り替える。また、ファイルプロトコル制御に割り当てていたCPUやメモリリソースをプロックプロトコル制御に占有させることで、ブロックプロトコルの処理性能を向上する。これにより、従来方式の課題であった、リプレースする前の機器の有効活用を実現する。
以上で示した手法により、SmartNICを用いたユニファイドストレージ1を外付けサーバ200と接続した構成に性能アップグレードすることが可能となる。本手法を用いることで、従来のユニファイドストレージの性能アップグレードの課題を解決することができる。
【0020】
なお、実施例1ではSmartNICを用いたユニファイドストレージ1を想定しているが、これは例示にすぎない。本実施の形態は、従来のストレージコントローラ内にファイルプロトコル制御とブロックプロトコル制御が共存するユニファイドストレージにも適用可能である。
また、実施例1では2つのFE I/F110間でHAクラスタを構成することを想定しているがこれは例示に過ぎない。本実施の形態は、複数ノードでHA構成を組むNノードクラスタ型のユニファイドストレージにも適用可能である。
また、実施例1ではブロックストレージを使用した構成を示しているが、これは例示に過ぎない。本実施の形態は、汎用サーバを用いたストレージコントローラにも適用可能である。
また、実施例1ではFE I/F110としてSmartNICの使用を想定しているがこれは例示に過ぎない。本発明はFPGA(Field Programmable Gate Array)を搭載したFE I/Fや独自開発したSoC(System on a chip)型のFE I/Fにも適用可能である。
【0021】
<実施例1のシステム構成>
図2は、実施例1のユニファイドストレージ1の全体構成図である。
ユニファイドストレージ1は、ネットワーク30を介してクライアント40や管理サーバ50、外付けサーバ200と接続されている。
ユニファイドストレージ1は、記憶制御装置10と記憶デバイスユニット20を有する。記憶制御装置10は、ストレージノードの一例であり、複数のコントローラ100を有する。ユニファイドストレージ1の可用性を向上させるため、コントローラ100毎に専用の電源を用意し、それぞれのコントローラ100に対して、その専用の電源を用いて給電するようにしてもよい。また、記憶制御装置10は複数存在し、コントローラ100をHCA(Host Channel Adaptor)ネットワークを介して相互に接続してもよい。
【0022】
コントローラ100は、FE I/F110、BE I/F(Back End Interface)120を有する。
記憶デバイスユニット20は、データを格納する記憶装置の一例であり、複数のPDEV(Physical Device:物理デバイス)21を有する。PDEV21は、HDD(Hard Disk Drive)でよいが、他種の記憶デバイス(不揮発性の記憶デバイス)、例えば、SSD(Solid State Drive)のようなFM(Flash Memory)デバイスでもよい。記憶デバイスユニット20は、異なる種類のPDEV21を有してよい。また、複数の同種のPDEV21でRAID(Redundant Arrays of Inexpensive Disks)グループが構成されてよい。RAIDグループには、所定のRAIDレベルに従いデータが格納される。
【0023】
ネットワーク30は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、SAN(Storage Area Network)である。
クライアント40は、ユニファイドストレージ1にアクセスする装置であり、ユニファイドストレージ1にデータ入出力要求(データ書き込み要求、データ読み出し要求)を送信する。クライアント40は、ユニファイドストレージ1に対して、ブロック単位又はファイル単位のデータ入出力要求を送信する。
管理サーバ50は、GUI(Graphical User Interface)、CLI(Command Line Interface)等によるユーザインタフェースを備えており、ユーザ又はオペレータがユニファイドストレージ1の制御や監視を行うための機能を提供する。
外付けサーバ200は、汎用用途向けの汎用サーバである。外付けサーバ200は高性能なCPUと大容量メモリ、広帯域のネットワークI/Fを有する。
【0024】
図3は、実施例1のユニファイドストレージ1のコントローラ100の構成図である。
コントローラ100は、FE I/F110、BE I/F120、CPU103、メモリ104、キャッシュ105を有する。これらは、例えばバス等の通信路により相互に接続される。
【0025】
FE I/F110は、SmartNICなどを使用したプログラマブルなネットワークインタフェースである。実施例1では、FE I/F110上でファイルシステムが動作する。FE I/F110の詳細は、
図4を用いて後述する。
BE I/F120は、コントローラ100が記憶デバイスユニット20と通信するためのインタフェースデバイスである。FE I/F110は、ファイルシステムのデータを記憶デバイスユニット20内に格納する。
【0026】
CPU103は、ブロックストレージの動作制御を行う。
メモリ104は、例えば、RAM(Random Access Memory)であり、CPU103の動作制御にプログラム及びデータを一時的に記憶する。メモリ104には、ブロックストレージ制御プログラムP1、FE I/F制御プログラムP3、ポート管理テーブルT10、LDEV(Logical Device:論理デバイス)管理テーブルT20、LU管理テーブルT30、FS管理テーブルT40、ファイル共有管理テーブルT50、FE I/F管理テーブルT60が格納されている。なお、メモリ104に格納されているブロックストレージ制御プログラムP1やFE I/F制御プログラムP3、テーブル類は記憶デバイスユニット20に格納されていてもよい。ブロックストレージ制御プログラムP1は、記憶デバイスユニット20に基づく論理的な記憶領域である論理デバイス(LDEV)をFE I/F110に提供する。FE I/F110は、LDEVの識別子を指定して、任意のLDEVにアクセスできる。これにより、FE I/F110は、クライアントに提供するLUの格納先としてLDEVを使用したり、ファイルシステムデータの格納先としてLDEVを使用したりすることができる。FE I/F制御プログラムP3は、メモリ上に格納したFE I/F110を制御する。FE I/F制御プログラムP3はFE I/F110を初期化し、LU管理テーブルT30、FS管理テーブルT40、ファイル共有管理テーブルT50をFE I/F110と同期する。
各種テーブルの詳細は、
図8から
図13を用いて後述する。
キャッシュ105は、クライアント40やFE I/F110からの書き込みデータや記憶デバイスユニット20からリードしたデータを一時的に格納する。
【0027】
図4は、実施例1のユニファイドストレージ1のFE I/F110の構成図である。
FE I/F110は、ネットワークI/F111、内部I/F112、CPU113、メモリ114、キャッシュ115、記憶デバイス116を有する。これらは、例えばバス等の通信路により相互に接続される。
ネットワークI/F111は、外付けサーバ200や、クライアント40、管理サーバ50と通信するためのインタフェースデバイスである。ネットワークI/F111には、IPアドレスをもつ論理ポートが設定される。IPアドレスはネットワーク上の識別子であり、クライアント40や外付けサーバ200は、論理ポートに設定されたIPアドレスによりFE I/F110と通信する。
内部I/F112は、コントローラ100と通信するインタフェースデバイスである。内部I/F112は、例えば、PCIe(Peripheral Component Interconnect-Express)でコントローラ100のCPU等と接続されている。
【0028】
CPU113は、プロセッサの一例であり、FE I/F110の動作制御を行う。
メモリ114は、CPU113の動作制御に用いられるプログラム及びデータを一時的に記憶する。メモリ114には、ファイルシステム制御プログラムP11、ファイルプロトコルサーバプログラムP13、ブロックプロトコルサーバプログラムP15、LUアクセスプログラムP17、LU管理テーブルT30、FS管理テーブルT40、ファイル共有管理テーブルT50が格納されている。また、メモリ114に格納されている各プログラムおよび情報は記憶デバイス116に格納されていてもよい。
【0029】
ファイルシステム制御プログラムP11は、CPU113に実行されることにより、ファイルシステムを制御し、ファイルプロトコルサーバプログラムP13に対して提供する。ファイルシステム制御プログラムP11は、コントローラ100により割り当てられたLDEVにデータを格納する。
ファイルプロトコルサーバプログラムP13は、クライアント40等からのRead/Write等の各種要求を受領し、この要求に含まれるファイルプロトコルを処理する。例えば、NFS(Network File System)やSMB(Server Message Block)、ファイルシステム独自プロトコル、HTTP(Hypertext Transfer Protocol)などのプロトコルを処理する。
【0030】
ブロックプロトコルサーバプログラムP15は、クライアント40等からのRead/Write等の各種要求を受領し、この要求に含まれるブロックプロトコルを処理する。例えば、iSCSI、NVMe/TCP(Non-Volatile Memory Express over TCP)、FC(Fibre Channel)などのプロトコルを処理する。
LUアクセスプログラムP17は、コントローラ100と通信し、LDEVに対するデータ書き込み・読み込みを処理する。ファイルシステム制御プログラムP11とブロックプロトコルサーバプログラムP15は、LUアクセスプログラムP17を用いて、LDEVに格納したデータを読み書きする。
テーブル類は、FE I/F制御プログラムP3により、コントローラ上のテーブルと同期する。
【0031】
キャッシュ115は、クライアント40からライトされるデータやコントローラ100からリードしたデータを一時的に格納する。
記憶デバイス116は、FE I/F110のオペレーティングシステムや管理情報等を格納する。
【0032】
図5は、実施例1の外付けサーバ200の構成図の一例である。
外付けサーバ200は、ネットワークI/F201、CPU202、メモリ203、記憶デバイス204を有する。これらは、例えばバス等の通信路により相互に接続される。
【0033】
ネットワークI/F201は、ユニファイドストレージ1や管理サーバ50、クライアント40と通信するためのインタフェースデバイスである。
CPU202は、外付けサーバ200の動作制御を行う。
メモリ203は、CPU202の動作制御に用いられるプログラム及びデータを一時的に記憶する。メモリ203には、ファイルシステム制御プログラムP11、ファイルプロトコルサーバプログラムP13、ブロックプロトコルクライアントプログラムP45、HA制御プログラムP50、FS管理テーブルT40、ファイル共有管理テーブルT50、ブロックデバイス管理テーブルT70、HA管理テーブルT80が格納されている。メモリ203に格納されている各プログラムおよび情報は記憶デバイス204に格納されていてもよい。
記憶デバイス204は、外付けサーバ200のオペレーティングシステムや管理情報等を格納する。
【0034】
ファイルシステム制御プログラムP11は、ファイルシステムを制御し、ファイルプロトコルサーバプログラムP13に対して提供する。ファイルシステム制御プログラムP11は、ユニファイドストレージ1が提供するLUにデータを格納する。ブロックプロトコルクライアントプログラムP45は、ブロックプロトコルを用いてユニファイドストレージ1と通信し、LUにデータを格納する。
ファイルプロトコルサーバプログラムP13は、クライアント40等からのRead/Write等の各種要求を受領し、この要求に含まれるファイルプロトコルを処理する。
ファイルシステム制御プログラムP11とファイルプロトコルサーバプログラムP13は、FE I/F110のメモリに格納されたプログラムと同等となる。
【0035】
ブロックプロトコルクライアントプログラムP45は、クライアント40等からのRead/Write等の各種要求を受領し、この要求に含まれるブロックプロトコルを処理する。例えば、iSCSI、NVMe/TCP、FCなどのプロトコルを処理する。
HA制御プログラムP50は、外付けサーバ間でお互いのサービスを監視し、障害発生時に障害サーバのファイルシステムとファイル共有を別のサーバに移行する。
各種テーブルの詳細は、
図11、
図12、
図14、
図15を用いて後述する。
【0036】
図6は、実施例1の管理サーバ50の構成図の一例である。
管理サーバ50は、ネットワークI/F51、CPU52、メモリ53、記憶デバイス54を有する。これらは、例えばバス等の通信路により相互に接続される。
ネットワークI/F51は、ユニファイドストレージ1や外付けサーバ200と通信するためのインタフェースデバイスである。
CPU52は、管理サーバ50の動作制御を行う。
メモリ53は、CPU52の動作制御に用いられるプログラム及びデータを一時的に記憶する。メモリ53には、管理サーバプログラムP60と、性能アップグレード制御プログラムP70が格納されている。メモリ43に格納されている各プログラムおよび情報は記憶デバイス54に格納されていてもよい。
記憶デバイス54は、メモリの一例であり、管理サーバ50のオペレーティングシステムや管理情報等を格納する。
【0037】
管理サーバプログラムP60は、GUI、CLI等によるユーザインタフェースを備えており、ユーザ又はオペレータがユニファイドストレージ1の制御や監視を行うための機能を提供する。管理サーバプログラムP60は、ユーザからユニファイドストレージ1や外付けサーバ200への制御指示や監視指示を受けた場合、ユニファイドストレージ1や外付けサーバ200と通信し、制御や監視を行う。
性能アップグレード制御プログラムP70は、FE I/F110の性能アップグレード処理を制御する。性能アップグレード制御プログラムP70による性能アップグレード処理の詳細は、
図16を用いて後述する。
【0038】
図7は、実施例1のクライアント40の構成図の一例である。
クライアント40は、ネットワークI/F41、CPU42、メモリ43、記憶デバイス44を有する。これらは、例えばバス等の通信路により相互に接続される。
ネットワークI/F41は、ユニファイドストレージ1や外付けサーバ200と通信するためのインタフェースデバイスである。
CPU42は、クライアント40の動作制御を行う。
メモリ43は、CPU42の動作制御に用いられるプログラム及びデータを一時的に記憶する。メモリ43には、アプリケーションプログラムP41、ファイルプロトコルクライアントプログラムP43、およびブロックプロトコルクライアントプログラムP45が格納されている。なお、メモリ43はアプリケーションプログラムP41とブロックプロトコルクライアントプログラムP45のみを格納してもよいし、アプリケーションプログラムP41とファイルプロトコルクライアントプログラムP43のみを格納してもよい。また、メモリ43に格納されている各プログラムおよび情報は記憶デバイス44に格納されていてもよい。
【0039】
記憶デバイス44は、クライアント40のオペレーティングシステムや管理情報等を格納する。
アプリケーションプログラムP41は、CPU42に実行されることにより、ファイルプロトコルクライアントプログラムP43、およびブロックプロトコルクライアントプログラムP45に依頼して、ユニファイドストレージ1または外付けサーバ200に対してデータの読み書きをする。
【0040】
ファイルプロトコルクライアントプログラムP43は、アプリケーションプログラムP41等からのRead/Write等の各種要求を受領し、この要求に含まれるファイルプロトコルを処理する。例えば、NFSやSMB、クライアント独自のプロトコル、HTTPなどのプロトコルを処理する。
ブロックプロトコルクライアントプログラムP45は、クライアント40等からのRead/Write等の各種要求を受領し、この要求に含まれるブロックプロトコルを処理する。
ブロックプロトコルクライアントプログラムP45は、外付けサーバ200のメモリ203に格納されたプログラムと同等である。
記憶デバイス44は、クライアント40のオペレーティングシステムや管理情報等を格納する。
【0041】
<実施例1のテーブル類>
図8は、ポート管理テーブルT10の一例を示す図である。
ポート管理テーブルT10は、コントローラ100がユニファイドストレージ1に設定した論理ポートを管理するために使用する管理テーブルである。
ポート管理テーブルT10の各行は、それぞれユニファイドストレージ1の論理ポートごとの構成を示している。
【0042】
ポート管理テーブルT10は、論理ポートID C101、コントローラID C102、FE I/F ID C103、物理ポートID C104、IPアドレスC105、プロトコル種別C106、秘密鍵C107を有する。
論理ポートID C101は、ユニファイドストレージ1内における該当論理ポートの識別子を格納する。コントローラID C102は、該当論理ポートが所属するコントローラの識別子を格納する。FE I/F ID C103は、該当論理ポートが設定されたネットワークI/F111を持つFE I/F110の識別子を格納する。物理ポートID C104は、該当論理ポートが設定されたネットワークI/F111の識別子を格納する。IPアドレスC105は、該当論理ポートに設定されたIPアドレスを格納する。プロトコル種別C106は、該当論理ポートに設定されたプロトコル種別を格納する。プロトコル種別の例として、「NFS」「SMB」「iSCSI」「NVMe/TCP」「FC」があるが、これに限定しない。秘密鍵C107は、該当論理ポートにアクセスするための秘密鍵を格納する。秘密鍵にはCHAP(Hash Based Message Authentication Code)シークレット、DH(Diffie Hellman)-HMAC(Hash Based Message Authentication Code)-CHAPシークレットなどがあるが、これに限定しない。
【0043】
図9は、LDEV管理テーブルT20の一例を示す図である。
LDEV管理テーブルT20は、コントローラ100がLDEVを管理するために使用する管理テーブルである。
LDEV管理テーブルT20の各行は、それぞれユニファイドストレージ1が管理するLDEVの構成を示している。コントローラ100は、ユニファイドストレージ1内の全てのLDEVの構成情報を共有する。LDEVごとに担当コントローラが割り当てられており、担当コントローラを変更することで、LDEVを処理するコントローラ100を変更できる。
【0044】
LDEV管理テーブルT20は、LDEV ID C201、担当コントローラC202、使用PDEV C203、容量C204を有する。
LDEV ID C201は、該当LDEVの識別子を格納する。担当コントローラC202は、該当LDEVの担当コントローラの識別子を格納する。使用PDEV C203はLDEVのデータを格納するPDEVの識別子を格納する。容量C204は、該当LDEVの容量を格納する。
本実施の形態では、LDEVはPDEVと一対一対応しているが、これは例示にすぎない。例えば、シンプロビジョニング機能のように、一つ以上のPDEVから共有のディスクプールを作成し、必要な容量分だけ仮想的に切り出しLDEVとして使用することも可能である。
【0045】
図10は、LU管理テーブルT30の一例を示す図である。
LU管理テーブルT30は、コントローラ100がLUを管理するために使用する管理テーブルである。
LU管理テーブルT30の各行は、ユニファイドストレージ1が管理するLUの構成を示す。
【0046】
LU管理テーブルT30は、ブロックLU ID C301、稼働ノードC302、論理ポートID C303、デバイスファイル C304、LDEV C305を有する。
ブロックLU ID C301は、該当LUの識別子を格納する。稼働ノードC302は、該当LUを処理するFE I/F110の識別子を格納する。論理ポートID C303は、該当LUを公開する論理ポートの識別子を格納する。クライアント40は、ポート管理テーブルT10のプロトコル種別C106に格納されたアクセスプロトコルにて、該当LUにアクセスすることができる。LUをファイルシステムに使用する場合は、論理ポートID C303は「内部」となる。デバイスファイルC304は、LUをファイルシステムに使用する場合のデバイスファイル名を格納する。LUをファイルシステムに使用しない場合、空欄とする。LDEV C305は、該当LUに割り当てるLDEVの識別子を格納する。
【0047】
図11は、FS管理テーブルT40の一例を示す図である。
FS管理テーブルT40は、ユニファイドストレージ1と外付けサーバ200が、ファイルシステムを管理するために共通で使用する管理テーブルである。
FS管理テーブルT40の各行は、管理対象のファイルシステムの構成を示す。
【0048】
FS管理テーブルT40は、FS ID C401、稼働ノードC402、デバイスファイルC403、FS種別C404を有する。
FS ID C401は、該当FSの識別子を格納する。稼働ノードC402は、該当FSを処理するノードの識別子を格納する。ユニファイドストレージ1では、FE I/F110の識別子を、外付けサーバ200では、外付けサーバ200の識別子をそれぞれ格納する。デバイスファイルC403は、該当FSを格納するLUのデバイスファイル名を格納する。ここでいうデバイスファイルとは、物理デバイスにアクセスするために使用する特殊ファイルのことをいう。プログラムはデバイスファイルに読み書きすることで、実際の物理デバイスに読み書きすることができる。FS種別C404は、ファイルシステムの種別を格納する。ファイル種別の種別として「XFS」「Ext4」「ZFS」などのOSSのファイルシステムに加え、ベンダ固有の商用ファイルシステムが格納できる。
【0049】
図12は、ファイル共有管理テーブルT50の一例を示す図である。
ファイル共有管理テーブルT50は、ユニファイドストレージ1と外付けサーバ200がファイル共有を管理するために、共通で使用する管理テーブルである。
ファイル共有管理テーブルT50の各行は、管理対象のファイル共有の構成を示す。
【0050】
ファイル共有管理テーブルT50は、共有名C501、稼働ノードC502、FS ID C503、NW I/F ID C504、認証サーバC505を有する。
共有名C501は、ファイル共有の識別子を格納する。稼働ノードC502は、該当ファイル共有を処理するノードの識別子を格納する。ユニファイドストレージ1では、FE I/F110の識別子を、外付けサーバ200では、外付けサーバ200の識別子をそれぞれ格納する。FS ID C503は、共有対象とするファイルシステムの識別子を格納する。NW I/F ID C504は、ファイル共有を公開するネットワークインタフェースを格納する。ユニファイドストレージ1では、NW I/F ID C504に該当ファイル共有を公開する論理ポートの識別子を格納する。クライアント40は、論理ポートに設定されたファイルプロトコルにて、ファイル共有にアクセスする。外付けサーバ200では、NW I/F ID C504にネットワークI/F201の識別子を格納する。認証サーバC505は、ファイル共有接続時に認証処理を行う認証サーバのホスト名またはIPアドレスを行う。認証サーバC505として例えばActive Directory(AD)サーバがあるがこれに限定されない。
【0051】
図13は、FE I/F管理テーブルT60の一例を示す図である。
FE I/F管理テーブルT60は、コントローラ100が、ユニファイドストレージ1が搭載するFE I/F110を管理するために使用する。
FE I/F管理テーブルT60の各行は、ユニファイドストレージ1が搭載するFE I/F110を管理する。
コントローラ100は、FE I/F管理テーブルT60を用いてFE I/FのHAクラスタ構成を管理する。FE I/FのHAクラスタはコントローラ100をまたがるように構成する。FE I/F110またはコントローラ100に障害が発生した場合、ファイルシステム、ファイル共有、LU、およびそれらが使用するLDEVを、ペアを組むFE I/F110にフェールオーバする。
【0052】
FE I/F管理テーブルT60は、FE I/F ID C601、搭載コントローラC602、ペアFE I/F C603、状態C604を有する。
FE I/F ID C601は、該当FE I/F110の識別子を格納する。搭載コントローラC602は、該当FE I/F110を搭載したコントローラ100の識別子を格納する。ペアFE I/F C603は、該当FE I/F110とHA構成のペアを組むFE I/F110の識別子を格納する。状態C604は、該当FE I/Fの状態を格納する。状態C604は「通常」「閉塞」「停止」のいずれかが格納される。
【0053】
図14は、ブロックデバイス管理テーブルT70の一例を示す図である。
ブロックデバイス管理テーブルT70は、外付けサーバ200がブロックプロトコルにて接続したユニファイドストレージ1のLUを管理するために使用する。ブロックデバイスは、ブロックアクセス可能なデバイスを示しており、ここではユニファイドストレージ1が提供するLUに対応する。外付けサーバ200上のプログラム類は、ブロックデバイスに対して、物理デバイス同等にブロックアクセスすることができる。
ブロックデバイス管理テーブルT70の各行は、ブロックデバイス、すなわちユニファイドストレージ1が提供するLUに対応する。
【0054】
ブロックデバイス管理テーブルT70は、デバイスファイルC701、FE I/F C702、ターゲットアドレスC703、LU ID C704、プロトコル種別C705、秘密鍵C706を有する。
デバイスファイルC701は、該当ブロックデバイスに対応するデバイスファイルを格納する。デバイスファイルに対して読み書きを行うことで、ブロックデバイス、すなわちユニファイドストレージ1が提供するLUに読み書きすることが可能となる。また、ユニファイドストレージ1のLUに対してマルチパスを構成する場合、最初に接続したパスのデバイスファイルに最終文字にpを、次に接続したパスのデバイスファイルの最終文字にsをそれぞれ付与する。さらに最終文字にmがつく、マルチパス用のデバイスファイルを作成する。ここでいうマルチパスとは、LUに対する2つ以上に冗長化したアクセスパスことをいう。各アクセスパスは、異なるネットワークI/F、FE I/F110、コントローラ100を介して同一のLDEVに接続する。どちらかのアクセスパスに障害発生した場合に、別のアクセスパスからLDEVにアクセスすることで、可用性を高めることができる。
【0055】
FE I/F C702は、ブロックデバイスアクセスに使用するネットワークI/F201の識別子を格納する。なお、マルチパス用デバイスファイルのFE I/F C702は空欄とする。
ターゲットアドレスC703は、該当デバイスファイルが使用するユニファイドストレージ1の論理ポートのIPアドレスを格納する。なお、マルチパス用デバイスファイルのターゲットアドレスC703は空欄とする。
LU ID C704は、該当デバイスファイルに対応するユニファイドストレージ1のLUの識別子を格納する。なお、マルチパス用デバイスファイルのターゲットアドレスLU ID C704は空欄とする。
【0056】
プロトコル種別C705には、ユニファイドストレージ1との通信に使用する通信プロトコルを格納する。プロトコル種別C705には、「iSCSI」「NVMe/TCP」「FC」を格納するが、これに限定しない。なお、マルチパス用デバイスファイルのプロトコル種別C705は「マルチパス」とする。
秘密鍵C706は、該当デバイスファイルにアクセスするための秘密鍵を格納する。秘密鍵C706は、ポート管理テーブルT10の秘密鍵C107に対応する秘密鍵を格納する。なお、マルチパス用デバイスファイルの秘密鍵C706は空欄とする。
【0057】
図15は、HA管理テーブルT80の一例を示す図である。
HA管理テーブルは、外付けサーバ200がHAクラスタを構成するために使用する管理テーブルである。
HA管理テーブルの各行は、HAクラスタを構成する各外付けサーバ200を管理する。
【0058】
HA管理テーブルは、サーバID C801、ペアC802、状態C803を有する。
サーバID C801は、該当外付けサーバ200の識別子を格納する。ペアC802は、該当サーバとペアを組む外付けサーバ200の識別子を格納する。状態C803は、該当する外付けサーバ200の状態を格納する。状態C803には、「正常」「閉塞」「停止」のいずれかを格納する。
【0059】
<実施例1のフローチャート>
図16は、実施例1のユニファイドストレージ1の性能アップグレード処理S1の一例を示すフローチャートである。
性能アップグレード処理S1は、管理サーバ50の性能アップグレード制御プログラムP70が、ユーザから性能アップグレード要求を受け付けた場合に実行される。性能アップグレード制御プログラムP70は、S120からS160に示すフローにて、性能アップグレードを実施する。
【0060】
(S120)性能アップグレード制御プログラムP70は、ユニファイドストレージ1に構成情報の取得指示を出し、ポート管理テーブルT10、LDEV管理テーブルT20、LU管理テーブルT30、FS管理テーブルT40、ファイル共有管理テーブルT50を、構成情報として取得する。
【0061】
(S130)性能アップグレード制御プログラムP70は、ユニファイドストレージ1に指示し、移行対象のFE I/F110に所属するファイルシステムが使用しているLUに対して、外部接続用のアクセスパスを設定する。性能アップグレード制御プログラムP70は、該当LUを登録するためのブロックアクセス向けの論理ポートを作成し、該当LUを割り当てる。これにより該当LUは、FE I/F110内のファイルシステムと外部からのブロック接続ができる状況となる。更に、性能アップグレード制御プログラムP70は、取得したファイルシステムとファイル共有の構成情報(ネットワーク構成、共有構成、秘密鍵)を使用し、ユニファイドストレージ1と同等のファイルシステム・ファイル共有を設定する。S130の詳細は
図17にて後述する。
【0062】
(S140)性能アップグレード制御プログラムP70は、外付けサーバ200間でHAクラスタを構成する。
【0063】
(S150)性能アップグレード制御プログラムP70は、FE I/F110から外付けサーバ200にファイルサービスを移行する。S150の詳細は
図18にて後述する。
【0064】
(S160)性能アップグレード制御プログラムP70は、ユニファイドストレージ1にFE I/F110のプロトコル種別を、ファイル・ブロックプロトコル共用からブロックプロトコル専用に切り替えるよう指示する。該当するFE I/F110は、ファイルプロトコル制御用に割り当てていたCPUとメモリ資源を解放し、ブロックプロトコル制御に再割当する。
【0065】
以上で示した通り実施例1では、性能アップグレード実施前に、外付けサーバ200間でHAクラスタを構成し(S140)、active-activeの構成を保ったファイルサービスの移行を可能とする。これにより、従来方式の課題であったアップグレード時の片方のコントローラが停止することによる性能・信頼性低下を抑止する。
また、実施例1では、性能アップグレード後に移行対象のFE I/F110をブロック専用I/Fとして再利用する(S160)。これにより、既存のFE I/F110の有効活用が可能となり、ブロック専用I/Fへの追加投資が不要となる。
【0066】
図17は、実施例1のユニファイドストレージ1の外付けサーバ200のファイルサービス設定処理S130の一例を示すフローチャートである。
ファイルサービス設定処理S130では、管理サーバ50の性能アップグレード制御プログラムP70が、ユニファイドストレージ1と外付けサーバ200に対して各種設定を指示する。
【0067】
(S1301)性能アップグレード制御プログラムP70は、アップグレード対象となる全てのFE I/F110に対して、S1302からS1308の処理を実施する。アップグレード対象となるFE I/F110は、
図19にて後述するインタフェースにてユーザが指定する。
【0068】
(S1302)性能アップグレード制御プログラムP70は、FS管理テーブルT40からアップグレード対象のFE I/F110が管理するファイルシステムを調べる。次に、性能アップグレード制御プログラムP70は、LU管理テーブルT30から、該当ファイルシステムが使用するLDEVを調べる。次に、性能アップグレード制御プログラムP70は、該当LDEVに対して、外付けサーバ200からアクセス可能な論理ポートを作成し、LUを設定するように、ユニファイドストレージ1に指示する。この結果、ファイルシステム用のLDEVに外部パスが設定され、外付けサーバ200から該当LDEVに対してブロックアクセスが可能となる。以上の処理を全ての該当LDEVに対して実施する。
【0069】
(S1303)性能アップグレード制御プログラムP70は、S1302のLDEVに対してマルチパスを設定する。性能アップグレード制御プログラムP70は、S1302で設定した論理ポートが所属するFE I/F110とペアを組むFE I/F110を調べる。次に性能アップグレード制御プログラムP70は、HAペアを組むFE I/F110に外付けサーバ200からアクセス可能な論理ポートを作成し、該当LDEVのLUを設定する。この結果、外付けサーバ200から該当LDEVに対して、マルチパス経由のブロックアクセスが可能となる。以上の処理を該当する全てのLDEVに対して実施する。
【0070】
(S1304)性能アップグレード制御プログラムP70は、S1302、S1303で設定した全ての論理ポートに対して、LDEVアクセス用の秘密鍵を生成する。
【0071】
(S1305)性能アップグレード制御プログラムP70は、移行先となる外付けサーバ200に、S1304で作成した秘密鍵を配布する。
【0072】
(S1306)性能アップグレード制御プログラムP70は、外付けサーバ200に対し、S1305で配布した秘密鍵を用いて、ユニファイドストレージ1のLUに接続するように指示する。LU接続は、移行元のFE I/F110が担当していたファイルシステム分のLUすべてに対し行う。また、LU接続はS1302、S1303で設定したマルチパス構成にて接続する。外付けサーバ200は、接続したLUに基づき、ブロックデバイス管理テーブルT70を更新する。
【0073】
(S1307)性能アップグレード制御プログラムP70は、外付けサーバ200に対しFS管理テーブルT40をコピーし、稼働ノードC302とデバイスファイルC403を更新する。稼働ノードC302には外付けサーバ200自身の識別子を、デバイスファイルC403にはS1302で作成したデバイスファイルを格納する。
【0074】
(S1308)性能アップグレード制御プログラムP70は、外付けサーバ200に対しファイル共有管理テーブルをコピーし、稼働ノードC302とNW I/F ID C504を更新する。稼働ノードC302には外付けサーバ200自身の識別子を、NW I/F ID C504にはネットワークI/F201の識別子を格納する。
【0075】
図18は、実施例1のユニファイドストレージ1のファイルサービス移行処理S150の一例である。
ファイルサービス移行処理S150では、管理サーバ50の性能アップグレード制御プログラムP70が、ユニファイドストレージ1と外付けサーバ200に対して各種設定を行う。
【0076】
(S1501)性能アップグレード制御プログラムP70は、ユニファイドストレージ1に指示し、アップグレード対象となる全てのFE I/F110に対して、S1502からS1506の処理を実施する。
【0077】
(S1502)性能アップグレード制御プログラムP70は、ユニファイドストレージ1に指示し、アップグレード対象となる全てのFE I/F110が管理するファイルシステムに対して、クライアントからの書き込み要求の受付を停止し、ファイルシステムを静止化する。ここでいうファイルシステムの静止化とは、一時的にデータの変更を停止した状態とすることを指す。
【0078】
(S1503)性能アップグレード制御プログラムP70は、ユニファイドストレージ1に指示し、アップグレード対象となる全てのFE I/F110が管理するファイルシステムに対して、ダーティデータの吐き出し処理を行う。ここでいうダーティデータの吐き出し処理とは、FE I/F110のキャッシュ115に格納したLDEV未書き込みデータ(ダーティデータ)を、LDEVに書き込み、永続化する処理である。これにより、移行前後のデータ不整合を防ぐことができる。
【0079】
(S1504)性能アップグレード制御プログラムP70は、外付けサーバ200に指示し、移行対象のファイルシステムのデータを格納するLUに接続する。これは、外付けサーバ200は、外部パス経由でファイルシステムをマウントする、と言うこともできる。外付けサーバ200は、ブロックデバイス管理テーブルT70のデバイスファイルC701を、FS管理テーブルT40記載のFS種別C404にて接続する。
【0080】
(S1505)性能アップグレード制御プログラムP70は、外付けサーバ200に指示し、ファイル共有管理テーブルT50のファイル共有のサービス開始を指示する。ファイルプロトコルサーバプログラムP13は、クライアントからのファイル読み書き要求受付を開始する。
【0081】
(S1506)性能アップグレード制御プログラムP70は、ユニファイドストレージ1と外付けサーバ200に指示し、ファイルアクセス用のIPアドレスを移行する。具体的には、処理中のFE I/F110のファイルアクセス用の論理ポートのIPアドレスを停止する。その後、停止したIPアドレスを外付けサーバ200のネットワークI/F201に設定する。その後、GARPプロトコルを用いてIPアドレスのアクセス先を切り替える。
以上で示したように実施例1ではファイルサービス移行前に、FE I/Fのダーティデータを吐き出し処理(S1503)を行う。これにより、移行前後でファイルシステムの整合性を保証することができる。
【0082】
以上で示した通り実施例1では、ブロックアクセスおよびファイルアクセスの双方を制御可能なFE I/F装置(上述した例では、FE I/F110)のアップグレードを行い、アップグレード後に使用する機器(上述した例では、外付けサーバ200)を、ファイルアクセスを行うためのFE I/F装置として利用し、アップグレード前に使用していたFE I/F装置(上述した例では、FE I/F110)を、ブロックアクセスを行うために利用する。
また、実施例1では、アップグレード後の機器(上述した例では、外付けサーバ200)のファイルサービス設定時にアップグレード後の機器(上述した例では、外付けサーバ200)とユニファイドストレージ1の間にマルチパスを構成し、LDEVのアクセスパスを冗長化する(S1302、S1303)。これにより、FE I/F110、コントローラ100、外付けサーバ200のネットワークI/F201のいずれかに障害が発生した場合でも迅速なサービス回復を可能となり、高可用を実現できる。
【0083】
さらに、実施例1では、ブロックアクセス及びファイルアクセスに対応したユニファイドストレージシステムAにおいて、クライアント40からのファイルアクセスを処理してコントローラ100にブロックアクセスをするファイルシステム(FS)を有し、コントローラ100は、クライアント40からのブロックアクセス及びファイルシステムからのブロックアクセスを処理して、データを格納する記憶装置(上述した例では、記憶デバイスユニット20)にアクセスし、ユニファイドストレージシステムAは、ネットワーク接続された情報機器(上述した例では、外付けサーバ200)を追加し、ファイルシステム(FS)を情報機器に移動させることが可能である。
またこの場合、ファイルシステム(FS)は、移動前にネットワークインタフェース(上述した例では、FE I/F110)上で稼働している。一方、ファイルシステム(FS)の移動後は、情報機器(上述した例では、外付けサーバ200)のファイルシステム(FS)が、ストレージノード(上述した例では、記憶制御装置10)のコントローラ100へブロックアクセスを行う。この場合、従来使用していたネットワークインタフェースを有効活用することができる。
【0084】
さらに、実施例1では、アップグレード前に使用していたストレージコントローラ(上述した例では、FE I/F110)からファイルサービスの構成情報を取得し、アップグレード後の機器(上述した例では、外付けサーバ200)に同等のファイルサービスの構成を設定する。アップグレード前に使用していた論理デバイス(LDEV)に対して、外部接続用のアクセスパスを設定することで、データ移行なしでアップグレード後の機器(上述した例では、外付けサーバ200)に移行する。即ち、外付けサーバ200上で、FE I/F110と同じファイルシステムを使用することで、性能アップグレード時のファイルデータ移行が不要である。
また、実施例1では、ファイルシステム(FS)の移動後に、ストレージノード(上述した例では、記憶制御装置10)と情報機器(上述した例では、外付けサーバ200)とは秘密鍵を有し、ストレージノードと情報機器との間のブロックアクセスを含む通信を秘密鍵を用いて行う。これにより外付けサーバ200に性能アップグレードした場合でも、セキュリティを保つことが可能となる。
そして、実施例1では、ストレージノード(上述した例では、記憶制御装置10)は、ネットワークインタフェース(上述した例では、FE I/F110)を有し、ネットワークインタフェースはファイルアクセスされるデータを一時保存されるメモリ(上述した例では、キャッシュ115)を有し、ファイルシステム(FS)の移動に際して、ネットワークインタフェースのメモリ内のダーティデータを記憶装置(上述した例では、記憶デバイスユニット20)に格納する。この場合、移行前後のデータ不整合を防ぐことができる。
【0085】
さらに、実施例1では、ストレージノード(上述した例では、記憶制御装置10)は、ネットワークインタフェース(上述した例では、FE I/F110)を有し、ファイルシステム(FS)の移動前は、ストレージノードのネットワークインタフェースに、クライアント40からのブロックアクセスパス及びファイルアクセスパスが設定され、ファイルシステム(FS)の移動後は、ストレージノードのネットワークインタフェースにクライアント40からのブロックアクセスパスが設定された状態で、情報機器(上述した例では、外付けサーバ200)にクライアント40からのファイルアクセスパスを設定する。
なお、実施例1では、ストレージノード(上述した例では、記憶制御装置10)のいずれかの構成をアップグレードする場合に、ファイルシステム(FS)を情報機器(上述した例では、外付けサーバ200)に移動させるようにする。即ち、ストレージノードについて、全てをアップグレードする必要はなく、一部をアップグレードさせることもできる。上述した場合では、FE I/F110をアップグレードする際に、ファイルシステム(FS)を情報機器に移動させるようにしている。これにより、ストレージノードのいずれかの構成についてリソース不足になった場合に、リソース不足になった対象をアップグレードすることができる。
【0086】
<実施例1のユーザインタフェース>
図19は、実施例1のユニファイドストレージ1の性能アップグレードインタフェースの一例である。
管理サーバ50の管理サーバプログラムP60は、ユーザに対し性能アップグレードインタフェースI1により、FE I/F110から外付けサーバ200への性能アップグレードの操作手段を提供する。
性能アップグレードインタフェースI1は、移行元FE I/Fペア入力I10、移行先サーバ入力I20、決定ボタンI30、キャンセルボタンI40を有する。
移行元FE I/Fペア入力I10は、移行元となるFE I/Fペアを選択するインタフェースである。ユーザは、ファイルプロトコル処理を行うFE I/F110のうち、移行対象とするFE I/F110のペアをチェックボックスにて選択する。
移行先サーバ入力I20は、移行先となるサーバを入力するテキストボックスである。ユーザは、移行先となるサーバのホスト名、またはIPアドレスを入力する。
決定ボタンI30は、入力した内容にて性能アップグレード実行を指示するためのインタフェースである。
キャンセルボタンI40は、入力した内容にて性能アップグレードをキャンセルするためのインタフェースである。
管理サーバ50は、FE I/F110のCPUが性能ボトルネックとなった場合に、以下に示すS1’からS3’の処理を行うことで、NASゲートウェイサーバ300への性能アップグレードを実施する。
(S1’)管理サーバ50は、ユニファイドストレージ1に指示し、ファイルシステムの移行先となるNASゲートウェイサーバ300用に新たなLDEVを作成し、外部パス(LU)を設定する。管理サーバ50はNASゲートウェイサーバ300に指示し、作成したLU上に移行先のNAS専用ファイルシステム作成を指示する。
(S2’)管理サーバ50は、ユニファイドストレージ1から取得したファイルシステムとファイル共有の構成情報(ネットワーク構成、共有構成、認証サーバ)を使用し、NASゲートウェイサーバ300上に同等のファイルシステムとファイル共有を構成する。なお、NASゲートウェイサーバ300は、HAクラスタを構成する。また、NASゲートウェイサーバ300にデータ移行用の一時IPアドレスを設定する。その後、管理サーバ50は、NASゲートウェイサーバ300に指示し、ユニファイドストレージ1のファイルシステムからNASゲートウェイサーバ300のファイルシステムにファイルデータを移行する。ファイルデータ移行は、NASゲートウェイサーバ300が、ユニファイドストレージ1のファイル共有にアクセスし、ファイルをコピーすることで行う。最後に管理サーバ50は実施例1と同様にGARPプロトコルを用いて、ホストからのIPアドレスのアクセス先を切り替える。また、ファイルシステムとファイル共有の移行は、active-activeの構成を保ったまま、IPアドレスのアクセス切り替えにより行う。これにより、従来方式の課題であったアップグレード中の性能・信頼性低下を抑止する。
(S3’)管理サーバ50は、実施例1と同様にFE I/F110種別を、ファイル・ブロックプロトコル共用からブロックプロトコル専用に切り替える。これにより、従来方式の課題であった、リプレースした機器の有効活用を実現する。
以上で示した手法により、SmartNICを用いたユニファイドストレージ1を、NASゲートウェイサーバ300に性能アップグレードすることが可能となる。本手法を用いることで、従来のユニファイドストレージの性能アップグレードの課題を解決することができる。
NAS専用ファイルシステム制御プログラムP19は、NASに特化したファイルシステムを管理するプログラムであり、ファイルシステム制御プログラムP11と同等の機能をもつ。NAS専用ファイルシステム制御プログラムP19は、ファイルシステム制御プログラムP11とは異なる形式でファイルシステムのデータをLUに格納する。そのため、ファイルシステム制御プログラムP11が使用するLUを、NAS専用ファイルシステム制御プログラムP19から直接使用することはできない。
ファイルプロトコルクライアントプログラムP43は、外付けサーバ200、クライアント40が持つファイルプロトコルクライアントプログラムP43と同等のため説明を省略する。NASゲートウェイサーバ300は、NASデータ移行制御プログラムP80が別のストレージ装置のファイル共有にアクセスするために、ファイルプロトコルクライアントプログラムP43を使用する。
NASデータ移行制御プログラムP80は、別のストレージ装置が提供するファイル共有をマウントし、NASゲートウェイサーバ300内部のNAS専用ファイルシステムにファイルデータを移行するプログラムである。実施例2では、NASデータ移行制御プログラムP80は、ユニファイドストレージ1のファイル共有をマウントし、NASゲートウェイサーバのNAS専用ファイルシステムにファイルデータを移行する。
NAS管理プログラムP90は、NASゲートウェイサーバ300が管理するファイルシステム、ファイル共有、LU接続を管理するためのインタフェースを外部に提供する。
(S210)性能アップグレード制御プログラムP70は、ユニファイドストレージ1に構成情報取得指示を出し、ポート管理テーブルT10、LDEV管理テーブルT20、LU管理テーブルT30、FS管理テーブルT40、ファイル共有管理テーブルT50を、構成情報として取得する。
(S230)性能アップグレード制御プログラムP70は、ユニファイドストレージ1にFE I/F110のプロトコル種別を、ファイル・ブロックプロトコル共用からブロックプロトコル専用に切り替えるよう指示する。本処理はS160と同等のため、説明を省略する。
(S2201)性能アップグレード制御プログラムP70は、アップグレード対象となる全てのFE I/F110に対して、S2202からS2213の処理を実施する。アップグレード対象となるFE I/F110はユーザが指定する。
(S2202)性能アップグレード制御プログラムP70は、FS管理テーブルT40からアップグレード対象となるFE I/F110が管理するファイルシステムを調べる。次に、性能アップグレード制御プログラム該当ファイルシステムに対して、移行先のNASゲートウェイサーバ300が使用するLDEVを作成する。
(S2203)性能アップグレード制御プログラムP70は、ユニファイドストレージ1に、NASゲートウェイサーバ300からアクセス可能な論理ポートを作成し、S2202で作成したLDEVのLUを割り当てるように指示する。この結果、NASゲートウェイサーバ300から該当LDEVに外部パスが設定され、NASゲートウェイサーバ300から該当LDEVに対してブロックアクセスが可能となる。以上の処理を該当するS2202で作成した全てのLDEVに対して実施する。
(S2207)性能アップグレード制御プログラムP70は、NASゲートウェイサーバ300に対し、S2206で配布した秘密鍵を用いたLU接続を指示する。LU接続は、移行元のFE I/F110が担当していたファイルシステム分のLUすべてに対し行う。また、LU接続はS2203、S2204で設定したマルチパス構成にて行う。NASゲートウェイサーバ300は、LU接続した内容に基づき、ブロックデバイス管理テーブルT70を更新する。
(S2208)性能アップグレード制御プログラムP70は、NASゲートウェイサーバ300に対しFS管理テーブルT40と同等のファイルシステム作成を指示する。この際、ファイルデータの格納先LUに、S2207で接続したLUを指定する。
(S2209)性能アップグレード制御プログラムP70は、NASゲートウェイサーバ300に対し、ファイル共有管理テーブルT50と同等のファイル共有作成を指示する。NASゲートウェイサーバ300は、稼働ノードC302とNW I/F ID C504を更新する。稼働ノードC302にはNASゲートウェイサーバ300自身の識別子を、NW I/F ID C504にはネットワークI/F201の識別子を格納する。
(S2210)性能アップグレード制御プログラムP70は、NASゲートウェイサーバ300に対し、ユニファイドストレージ1のファイルシステムのデータをNASゲートウェイサーバ300のNAS専用ファイルシステムに複製することを指示する。NASゲートウェイサーバ300は、NASデータ移行制御プログラムP80を用い、移行対象の全てのファイルシステムのデータの複製を実行する。ファイルデータの複製は、ユニファイドストレージ1のファイル共有に接続し、移行対象のファイルデータをNAS専用ファイルシステムに複製することで行う。
(S2211)性能アップグレード制御プログラムP70は、NASゲートウェイサーバ300に対し、ファイルシステムの静止化を指示する。NASゲートウェイサーバ300はクライアントからの書き込み要求処理の受付を停止する。
(S2212)性能アップグレード制御プログラムP70は、NASゲートウェイサーバ300に対し、S2210のファイルデータ移行完了からS2211のファイルシステム静止化の間に発生した差分データをNAS専用ファイルシステムに移行する。NASデータ移行制御プログラムP80は、ファイルの更新時間から差分があったファイルを調べ、NAS専用ファイルシステムに再複製する。なお、ファイルの更新時間を用いた差分データ検出は例示にすぎない。他にも、NAS専用ファイルシステム制御プログラムP19がS2210のファイルデータ移行完了からの更新履歴を記録しておき、差分データ検出に使用してもいい。
(S2213)性能アップグレード制御プログラムP70は、ユニファイドストレージ1とNASゲートウェイサーバ300に指示し、ファイルアクセス用のIPアドレスを移行する。本処理はS1506と同等のため、説明を省略する。
実施例2では、ファイルシステム(FS)の移動に際して、ファイルシステム(FS)が参照するデータを情報機器(この場合、NASゲートウェイサーバ300)の記憶装置に移動させ、移動後は、ファイルシステム(FS)は情報機器の記憶装置にアクセスする。