JP2006048627A - ストレージシステムのダイナミック負荷バランシング - Google Patents

ストレージシステムのダイナミック負荷バランシング Download PDF

Info

Publication number
JP2006048627A
JP2006048627A JP2004354838A JP2004354838A JP2006048627A JP 2006048627 A JP2006048627 A JP 2006048627A JP 2004354838 A JP2004354838 A JP 2004354838A JP 2004354838 A JP2004354838 A JP 2004354838A JP 2006048627 A JP2006048627 A JP 2006048627A
Authority
JP
Japan
Prior art keywords
file
file server
workload
server
file system
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
JP2004354838A
Other languages
English (en)
Inventor
Manabu Kitamura
学 北村
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
Publication of JP2006048627A publication Critical patent/JP2006048627A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration 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/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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]
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2206/00Indexing scheme related to dedicated interfaces for computers
    • G06F2206/10Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
    • G06F2206/1012Load balancing
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers

Landscapes

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

Abstract

【課題】
NASシステムの一つの問題は複数のプロセッサ間の負荷バランシングが難しいということである。従って、複数のプロセッサ間の良好な負荷バランシングを提供することが、何よりも望ましいものとなるであろう。
【解決手段】
ストレージシステムの各ボリュームがプロセッサの一つに割り当てられる。プロセッサはボリューム内にファイルシステムをマウントし、IPアドレスが各ファイルシステムと関連付けられる。プロセッサの一つの負荷が他のプロセッサよりも重くなると、重いほうの負荷を受けているプロセッサに割り当てられた一つ以上のボリューム(又はファイルシステム)はアンマウントされる。アンマウントされたボリュームに対応するIPアドレスはプロセッサから使用不能にされる。ボリューム及びIPアドレスは負荷がより軽い別のプロセッサに再割り当てされる。
【選択図】図1

Description

01 本発明はストレージシステムに係り、より具体的には複数のホストインタフェースとプロセッサを有するストレージシステムのダイナミック負荷バランシングに係る。
02 データはすべての計算プロセッサがその基礎に置く基本的なリソースである。近年インターネットや電子商取引の爆発的な成長により、データストレージシステムに対する要求が途方もなく増大してきている。一般に、ストレージネットワーク化は二種のアプリケーション或いは構成、即ちNAS(Network-attached Storage)とSAN(Storage Area Network)、を含む。NASはストレージサーバとそれらのクライアント間においてデータをファイルフォーマットで伝送するためにイーサネット(イーサネットは登録商標です)上でIPを使用する。NASではディスクアレイ或いはテープ装置のような統合ストレージシステムは、TCP/IPのようなメッセージング通信プロトコルを用いてイーサネットのようなLAN(Local Area Network)インタフェースにより直接メッセージングネットワークにつながる。ストレージシステムはクライアントサーバシステムのサーバとして機能する。
03 一般にSANは異種のサーバとストレージリソース間でデータを移動するための専用の高性能ネットワークである。NASと異なり、従来のメッセージングネットワーク上でクライアントとサーバ間のいかなるトラフィックの衝突も避けるために個別の専用のネットワークが提供される。SANはストレージリソースとプロセッサ或いはサーバ間の直接接続の構築を可能にする。SANはサーバ間で共用され得るし、或いは特定のサーバ専用にもなり得る。単一の場所に集中化され得るし、或いは広い地理的な距離に広がり得る。SANインタフェースはFC(Fibre Channel)、ESCON(Enterprise Systems Connection)、SCSI(Small Computer Systems Interface)、SSA(Serial Storage Architecture)、HIPPI(High Performance Parallel Interface)、或いは今後出現するであろうその他のプロトコルのような、種々の異なったプロトコルであり得る。例えば、IETF(Internet Engineering Task Force)はTCP/IP上でブロックストレージを可能にする新プロトコル或いは標準iSCSIを開発中であり、一方ある会社ではiSCSIをSANの主要な標準にするためにホストプロセッサからiSCSI−TCP/IPプロトコルスタックをアンロードすることに取り組んでいる。
04 用いられるストレージシステムのタイプによらず、ストレージシステムはより大容量を記憶し、より高性能を実現することがますます求められている。これらの要求を満たすためにエンタープライズ或いはミッドレンジのストレージシステム用のストレージコントローラは複数のプロセッサが備えられてきている。例えば、Hitachi Lightning 9900 TMシステムは複数の同時入出力要求(「I/O」)を処理するために複数のCHIP(Client-Host Interface Processor)を有している。
05 NASシステムの一つの問題は複数のプロセッサ間の負荷バランシングが難しいということである。複数のNASプロセッサ(NFS/CIFS要求を処理するプロセッサ)間で一つのボリューム或いはファイルシステムを共用することは、一つのNASプロセッサがアクセスしたデータをそれらのメモリにキャッシングするので困難であろう。このことは、複数のプロセッサが存在するので、キャッシュデータの一貫性や整合性を維持するのを困難にする傾向である。それ故に、ファイルアクセス要求は一般に、複数のプロセッサをすべて利用するのでなく、一時には一台のNASプロセッサで処理される。従って、複数のプロセッサ間の良好な負荷バランシングを提供することが、何よりも望ましいものとなるであろう。
06 本発明は、例えばアクセス要求を処理するために複数のプロセッサを有するNAS(Network Attached Storage)システムに於けるストレージシステム或いはサブシステムの負荷バランシングに係る。
07 一実施例では、ストレージシステムはアクセス要求を処理するための複数のプロセッサ、データを記憶するための複数のボリューム、及び複数のプロセッサと複数のボリュームをお互いに接続するための相互接続手段を含む。各ボリュームがプロセッサの一つに割り当てられる。プロセッサはボリューム内にファイルシステムをマウントし、IPアドレスが各ファイルシステムと関連付けられる。プロセッサの一つの負荷が他のプロセッサよりも重くなると、重いほうの負荷を受けているプロセッサに割り当てられた一つ以上のボリューム(又はファイルシステム)はアンマウントされる。アンマウントされたボリュームに対応するIPアドレスはプロセッサから使用不能にされる。ボリューム及びIPアドレスは負荷がより軽い別のプロセッサに再割り当てされる。
08 一実施例では、通信リンクを経由して複数のクライアントに接続されるストレージシステムは、第一のスイッチングモジュールとマッピング情報を提供する第一のリソーステーブルを維持するように構成される第一のリソースマネージャを含む第一のファイルサーバ、第二のスイッチングモジュールとマッピング情報を提供する第二のリソーステーブルを維持するように構成される第二のリソースマネージャを含む第二のファイルサーバ、第一のファイルサーバに割り当てられそれぞれがIP(Internet Protocol)アドレスに関連付けられる複数のファイルシステムを含む第一のタイプのストレージエリアと第二のファイルサーバに割り当てられる第二のタイプのストレージエリアを含むストレージユニットを有する。第一のタイプのストレージエリアは、それぞれ第一、第二、第三のIPアドレスに関連付けられる第一、第二、第三のファイルシステムを有する。第一のリソーステーブルは、それぞれ第一、第二、第三のファイルシステムの作業負荷を示す第一、第二、第三の負荷情報を有する。第一のスイッチングモジュールは、もし第一のファイルサーバの作業負荷が重いと判定されたら第一のファイルシステムが第一のファイルサーバによってアクセスされないように、第一のファイルシステムを分離するように構成される。
09 別の実施例では、ストレージシステムの負荷バランシングを実行する方法が開示される。システムはコンソール、第一、第二、第三のファイルサーバ及び複数の論理ボリュームを持つストレージユニットを有する。この方法は、通信リンクを経由してストレージシステムに接続されるコンソールのシステムマネージャにより維持されストレージシステムの第一、第二、第三のファイルサーバの作業負荷を規定する作業負荷テーブルにアクセスするステップと、最も重い作業負荷のファイルサーバを第一のファイルサーバとし最も軽い作業負荷のファイルサーバを第二のファイルサーバとしてこれら最も重い作業負荷のファイルサーバと最も軽い作業負荷のファイルサーバ間の作業負荷の差を作業負荷テーブルに従って判定するステップと、もし作業負荷の差が与えられた値を越えるなら第一のファイルサーバから分離するために第一のファイルサーバに関連しIP(Internet Protocol)アドレスに関連付けられる第一のファイルシステムを選択するステップと、第一のファイルシステムが分離される特定の論理ボリュームが別のファイルシステムを含むか否かを判定するステップを含む。この方法は更に、もし特定の論理ボリュームが別のファイルシステムを含んでいないなら、ストレージシステムに接続されるクライアントに第一のファイルシステムをエクスポートするのを止めるステップと、第一のファイルシステムをアンマウントするステップを含む。一方、もし特定の論理ボリュームが他のファイルシステムを含むなら、バックアップ論理ボリュームに第一のファイルシステムのコピーを提供するステップと、クライアントに第一のファイルシステムをエクスポートするのを止めるステップと、第一のファイルシステムをアンマウントするステップを含む。
10 この方法に於いて、もしシステムマネージャが第一のファイルシステムを第一のファイルサーバから第二のファイルサーバに移動する方が、第一のファイルサーバに関連する任意の他のファイルシステムを移動する以上に第一と第二のファイルサーバの作業負荷を均等化するであろうと判定したなら、第一のファイルシステムは第一のファイルサーバから分離するように選択される。
11 別の実施例に於いて、ストレージシステムはコンピュータプログラム及び第一、第二、第三のファイルサーバを有する。ストレージシステムは更に、コンソールと複数の論理ボリュームを持つストレージユニットを有する。コンピュータプログラムはネットワークを経由してストレージユニット及び第一、第二、第三のファイルサーバに接続されるコンソールのシステムマネージャにより維持されストレージシステムの第一、第二、第三のファイルサーバの作業負荷を規定する作業負荷テーブルにアクセスするためのプログラムコードと、最も重い作業負荷のファイルサーバを第一のファイルサーバとし最も軽い作業負荷のファイルサーバを第二のファイルサーバとしてこれら最も重い作業負荷のファイルサーバと最も軽い作業負荷のファイルサーバ間の作業負荷の差を作業負荷テーブルに従って判定するためのプログラムコードと、もし作業負荷の差が与えられた値を越えるなら第一のファイルサーバから分離するために第一のファイルサーバに関連しIP(Internet Protocol)アドレスに関連付けられる第一のファイルシステムを選択するためのプログラムコードと、第一のファイルシステムが分離される特定の論理ボリュームが他のファイルシステムを含むか否かを判定するためのプログラムコードを含む。このプログラムは更に、もし特定の論理ボリュームが他のファイルシステムを含んでいないなら、ストレージシステムに接続されるクライアントに第一のファイルシステムをエクスポートするのを止めるためのプログラムコード及び第一のファイルシステムをアンマウントするためのプログラムコードを含む。このプログラムは更に、もし特定の論理ボリュームが他のファイルシステムを含むなら、バックアップ論理ボリュームに第一のファイルシステムのコピーを提供するためのプログラムコードと、クライアントに第一のファイルシステムをエクスポートするのを止めるためのプログラムコードと、第一のファイルシステムをアンマウントするためのプログラムコードを含む。
従って、複数のプロセッサ間の良好な負荷バランシングを提供することが、何よりも望ましいものとなるであろう。
25 図1は本発明の一実施例によるストレージシステム90を示す。ストレージシステムは本実施例ではファイルサーバシステムである。ファイルサーバシステム90は複数のファイルサーバ1、2、3及びディスクストレージ5から成る。ファイルサーバはプロセッサ、例えばNASプロセッサ、或いはディスクストレージと同じ筐体に設置されるモジュールであって良い。例えば、ファイルサーバシステムはファイルサーバ及びディスクストレージを含むディスクアレイユニット或いはサブシステムである。これに代って、ファイルサーバはディスクストレージから遠く離れて設置されるコンピュータシステムであっても良い。
26 一台以上のクライアント8がネットワーク4を経由してストレージシステムに接続される。各クライアントはネットワークに接続するLAN(Local Area Network)インタフェース81を有する。クライアント或いはホストはストレージサブシステムに要求及びコマンドを送信する。コンソール6はストレージシステムを運用するために用いられる。一実施例では、コンソールは遠く離れて設置され、ネットワーク4を経由してストレージシステム90に接続される。別の実施例では、コンソールはストレージシステムに統合されるかストレージサブシステムにすぐ近接して設置され、その場合はコンソールは専用ケーブルを経由してストレージシステムと交信する。コンソールは無線ネットワークを経由してストレージシステムと交信することも出来よう。
27 本実施例では、ファイルサーバ1、2、3はクライアント8からのファイルアクセス要求を受信するために、それぞれLAN(Local Area Network)インタフェース11、21、31を有する。ファイルサーバ1、2、3は更に、ディスクストレージ5にアクセスするためにそれぞれFC I/F(Fibre Channel Interface)12、22、32を有する。各ファイルサーバは更にCPU(Central Processing Unit)及びメモリ(図示せず)、及びファイルアクセス要求を処理するプログラムを有する。
28 ディスクストレージ5はディスクコントローラ51、複数のディスク52、及び複数のFC I/F(Fibre Channel Interface)53、54、55を有する。ディスクストレージはFC I/F53、54、55を経由してファイルサーバに接続される。上述の一実施例で説明したように、ストレージシステム90は複数のディスクドライブを有するストレージサブシステム或いはディスクアレイユニットであり、ファイルサーバはこのサブシステム或いはディスクアレイユニットと同じ筐体の内部に設置される。別の実施例では、ストレージシステム90は複数の遠く離れて設置されるデバイス(例えば分散システム)から成り、その場合はディスクストレージはストレージサブシステム或いはディスクアレイユニットであってファイルサーバはネットワーク経由でディスクストレージに接続されるホストである。
29 図2は本発明の一実施例によるファイルサーバシステム90の機能図を示す。各ファイルサーバ1、2、3はドライバ101、201、301、ローカルファイルシステム102、202、302、ネットワークファイルシステム103、203、303、リソースマネージャ104、204、304、及びスイッチングプログラム(「スイッチングプログラムモジュール」と呼ぶこともある)105、205、305を有する。
30 上記のストレージボリュームは521、522、523、531、532、533、541、542、543の番号で表される。これらのボリュームはストレージシステム90のディスクコントローラ51で定義される。
31 ドライバ101、201、301及びローカルファイルシステム102、202、302がストレージボリュームにアクセスするために用いられる。即ち、ドライバ101及びローカルファイルシステム102はFCインタフェース53に関連するストレージボリュームにアクセスするためにお互いが連携し合う。ドライバ201及びローカルファイルシステム202はFCインタフェース54に関連するストレージボリュームにアクセスするためにお互いが連携し合う。ドライバ301及びローカルファイルシステム302はFCインタフェース55に関連するストレージボリュームにアクセスするためにお互いが連携し合う。ネットワークファイルシステム103、203、303はNFS(Network File System)或いはCIFS(Common Internet File System)プロトコルに従ってクライアント8から受信したファイルアクセス要求を処理する。
32 各リソースマネージャ104、204、304はそれぞれ各ファイルサーバ1、2、3の負荷を測定し、コンソール6のシステムマネージャ61に報告する。スイッチングプログラム105、205、305は各ファイルサーバ1、2、3の負荷の一部を他のファイルサーバ1、2、3に移動させるために用いられる。これは、以下でより詳細に説明するように、一つのファイルサーバから別のファイルサーバにファイルシステム或いはボリュームを転送することで行われる。
33 上で説明したように、ディスクコントローラ51はディスク52を用いて複数のストレージボリュームを定義する。ストレージボリュームは、物理的な分割ではなく、むしろ論理的な分割であるので、一般にこの技術分野では論理ボリュームと呼ばれる。ディスクコントローラ51は更に、FCインタフェースに関連するファイルサーバが論理ボリュームにアクセスするのを可能にするために、各々の論理ボリュームをFCインタフェース53、54、55の一つに割り当てる。この割り当てプロセスは本実施例ではボリュームマッピングと呼ばれる。このプロセスを呼ぶために当然他の表現も用いられ得る。
34 一つの論理ボリュームを一つ以上のFCインタフェースに割り当てることもできよう。しかしながら説明の便宜上、本実施例では各論理ボリュームは唯一のFCインタフェースに割り当てられるものと仮定して記述する。
35 本実施例に於いて、論理ボリューム521、522、523はFC I/F53に割り当てられ、論理ボリューム531、532、533はFC I/F54に割り当てられ、論理ボリューム541、542、543はFC I/F55に割り当てられる。更に、ディスクストレージは通常どのFC I/Fにも割り当てられない不使用論理ボリューム550、即ちバックアップボリュームを有する。それらは必要性が生じたときに使用され、或いは割り当てられる。例えば、バックアップボリュームは後述のように、別のファイルサーバに再割り当てされるようにファイルシステムのコピーを保存するために用いられるであろう。ディスクコントローラ51は一般に、コンソールのシステムマネージャ61がボリュームマッピングのコマンドをディスクストレージ5に発行する時にボリュームマッピング動作を実行する。
36 図3は本発明の一実施例によるファイルサーバ及びそのLAN I/Fを示す。ファイルサーバの各LAN I/F11、21、31は本実施例によれば一つ以上のIPアドレスを持っている。各IPアドレスはファイルサーバに割り当てられるファイルシステムの一つに一意的に関連付けられている。図3では、ファイルサーバ1のLAN I/F11が代表として示されている。LAN I/F11はファイルサーバ1に割り当てられるファイルシステム即ちファイルシステムA1、A2、A3、A4の四つのIPアドレスを有している。これらのファイルシステムは更にLAN I/F11に割り当てられるものとみなすこともできよう。図示のように本実施例では、任意の論理ボリューム中に一つ以上のファイルシステムが与えられよう。
37 クライアント8が論理ボリューム521に存在するファイルシステムA1にアクセスする前に、ユーザはクライアント8にファイルシステムA1をマウントするように命令する。次に示すものは、ファイルシステムをマウントするために用いられるコマンドの例である。
mount 192.168.1.11:/A1/user1
マウント動作では、IPアドレスに代ってホスト名(即ち、ファイルサーバ名)が用いられてもよい。マウント動作の後にクライアント8はNFSプロトコルを用いてファイルシステムA1にアクセスできる。
38 図4は本発明の一実施例によるボリュームマッピングテーブル400を示す。このテーブルはIPアドレスとファイルシステム間のマッピング、論理ボリュームとファイルシステム間のマッピングを管理するために用いられる。このテーブルは更に、任意のファイルサーバに割り当てられる各ファイルシステムの現在の作業負荷を示している。従って、このテーブルは「リソーステーブル」とも呼ばれよう。各リソースマネージャ104、204、304は、このようなテーブルを管理し、コンソール中に設置されるシステムマネージャ61にテーブルの内容を定期的に伝える。
39 更に具体的には、このテーブルは複数のレコード或いはエントリー451、452、453、454を有する。各レコード或いはエントリーはファイルシステムに対応する。これらのレコードは、各レコードがIPアドレスフィールド401、デバイスフィールド402、ファイルシステムフィールド403、及び負荷フィールド404と関連付けられるので、上で述べたマッピング情報と負荷情報を提供する。
40 IPアドレスフィールドはLAN I/F11、21、31に割り当てられるIPアドレスを示す。ホスト名(即ちファイルサーバ名)も又IPアドレスの代りに用いられ得る。デバイスフィールドは論理ボリューム番号を示す。ディスクストレージ内の各論理ボリュームにはそれ自身の識別番号が与えられる。ファイルシステムフィールドはデバイスフィールドで指定される論理ボリューム内に存在するファイルシステム名を示す。例えば、レコード451はファイルシステムA1が論理ボリューム521内で定義され、IPアドレス192.168.1.11が割り当てられていることを示す。
41 本実施例では、負荷フィールド404はIOPS(I/O数/秒)の単位での任意のファイルシステムの現在の作業負荷を示す。名称が示すように、IOPSは任意のファイルシステムによって毎秒受信するディスクI/O数に関する情報を与える。例えばレコード451はファイルシステムA1に400IOPSが送られていることを示す。各リソースマネージャ104、204、304は周期的に(例えば1秒に1度)任意のファイルシステムの作業負荷を測り、この作業負荷の値をボリュームマッピングテーブル400に記録する。
42 図5を参照すると、システムマネージャ61は各ファイルサーバ1、2、3のボリュームマッピングテーブル400からの情報を集めて作業負荷テーブル600を生成する。ノードフィールド601は各ファイルサーバ1、2、3の識別子を有する。負荷フィールド602は各ファイルサーバの作業負荷を示す。この負荷フィールドの値は、任意のファイルサーバにより管理されるすべてのファイルシステムの作業負荷を合計することによって得られる。例えば、ファイルサーバ1は四つのファイルシステムを管理する(図4)。各ファイルシステムの作業負荷はそれぞれ400、200、150、350である。よって負荷フィールドの値は1100であり、これがファイルサーバ1の全体の作業負荷を示す。この計算は、実施方法次第でファイルサーバレベルで、或いはシステムマネージャレベルでなされよう。
43 スレショルドフィールド603は予め決められた値を示す。一般にこの値は管理者によって設定される。本実施例ではスレショルド値は400である。即ち、もし(作業負荷が最も重い)最も繁忙なファイルサーバと、(作業負荷が最も軽い)繁忙の度合いが最小のファイルサーバとの間の差がスレショルド値を越えたなら、ファイルサーバシステム90は負荷バランシング動作を開始する。負荷バランシング動作のプロセスが以下に説明される。
44 図6、7、8は本発明の一実施例によるファイルサーバ1、2、3の負荷をバランスさせるためにファイルサーバ90によって実行されるプロセスを示す。図6はコンソールのシステムマネージャ61により実行されるプロセスを示す。システムマネージャ61はこのプロセスを周期的に(例えば1時間に一度)実行する。ステップ1001で、システム90の最も重い負荷と最も軽い負荷を受けているノード或いはファイルサーバが作業負荷テーブルを調べることにより選択される。これらのファイルサーバの負荷間の差、即ちテーブル600のIOPS値の差、が判定される。次いでシステムマネージャ61は差の値がテーブル600で決められたスレショルド値を越えているか否か判定する(ステップ1002)。もし差が本実装例のスレショルド値である400を越えていたら、プロセスはステップ1003に進む。そうでなければ、プロセスは終了する。
45 ステップ1003にて、システムマネージャはこれらのファイルサーバの作業負荷をバランスさせるために最も重い負荷のファイルサーバ内の適当なファイルシステムを選ぶ。以下に本発明の一実施例により再割り当てのために適当なファイルシステムを選ぶためのルール又はアルゴリズムを示す。
1.第一のファイルサーバ、即ち最も重い負荷を持つファイルサーバから一つのファイルシステムを選択し、選択されたファイルシステムを第二のファイルサーバ、即ち最も軽い負荷のファイルサーバに移動する。次に、その結果としてもたらされる第一及び第二のファイルサーバの作業負荷を見積もる。
2.もし第一のファイルサーバの見積もった作業負荷が第二のファイルサーバの見積もった作業負荷と等しかったら、システムマネージャは選択したファイルシステムは移動が妥当であると判断する。そうでない場合は、第一のファイルサーバから別のファイルシステムが選択され、以下同様とする。
3.もし条件2.に適合するファイルシステムが存在しないなら、第一のファイルサーバの見積もった作業負荷を第二のファイルサーバの見積もった作業負荷に最も近い値にさせる第一のファイルサーバのファイルシステムが第二のファイルサーバに移動される。
46 例えば、もしファイルサーバ1、2、3の作業負荷が図5に示される通りで、ファイルシステムの作業負荷が図4に示される通りなら、ファイルサーバ1のファイルシステムA3がファイルサーバ2に移動される。ファイルサーバ1と2の作業負荷の差はファイルシステムA3がファイルサーバ2に移動された後は600IOPSから100IOPSに変わる。
47 プロセスに立ち返ると、ステップ1004にてシステムマネージャ61はファイルシステムA3を分離するようにファイルサーバ1に命令する。ファイルシステムの分離に含まれるステップは図7に与えられる。
48 ファイルシステムA3が分離された後、システムマネージャ61はファイルサーバ2に命令してファイルサーバ2にファイルシステムA3を付加させる(ステップ1005)。このファイルシステムの付加に含まれるステップは図8に与えられる。
49 図7は本発明の一実施例によりファイルサーバからファイルシステムを分離するプロセスを示す。この分離プロセスは本実施例ではファイルサーバのスイッチングプログラムによって実行される。この分離プロセスがここで上記の例、即ちファイルサーバ1は最も重い負荷を持ったファイルサーバであり、ファイルサーバ2は最も軽い負荷を持ったファイルサーバであり、ファイルシステムA3がファイルサーバ1からファイルサーバ2に移動されるという例、を用いて説明される。
50 ステップ2000で、ファイルサーバ1のスイッチングプログラム105は選択されたファイルシステム(例えばファイルシステムA3)が存在する論理ボリューム全体を分離すべきか否か判定する。即ち、問題になっている論理ボリュームがそこで定義される任意の他のファイルシステムを有しているか否かである。もしボリューム内に別のファイルシステムが存在するなら、スイッチングプログラム105はボリュームの一部のみが分離されるべきと判定し、ステップ2001に進む。
51 一方ボリューム内に定義される他のファイルシステムが何も存在しない場合には、選択されたファイルシステムがボリューム全体に対応するので、スイッチングプログラム105はボリューム全体を分離すべきと判定する。次いでプロセスはステップ2010に進み、その後ステップ2012に進む。これらのステップは以下に説明するステップ2003及び2004に対応する。
52 ステップ2001で、スイッチングプログラム105は、ファイルサーバ1が未使用論理ボリュームの一つ、例えばボリューム550(図2参照)にアクセスできるようにボリュームマッピングの変更をシステムマネージャ61に命令する。スイッチングプログラム105はその未使用論理ボリューム或いはバックアップボリュームを選択し、このバックアップボリュームに選択されたファイルシステムを複製する(ステップ2002)。この目的のために、スイッチングプログラム105はボリュームミラーリング動作或いは機能を開始する。ディスクストレージ75は、それに応じて、ボリュームミラーリング動作を実行する。ミラーリング動作は図9と関連して以下により詳細に説明される。
53 ステップ2003で、スイッチングプログラム105は選択されたファイルシステムをエクスポートするのを止めるようにネットワークファイルシステム103に命令する。クライアント8とネットワークファイルシステム103との間の交信を不能にすることにより、ファイルシステムのエクスポートが止められる。即ちファイルサーバ1は、クライアント8にNFS或いはCIFS経由でファイルシステムにアクセスさせないように命令される。スイッチングプログラム105は選択されたファイルシステムをアンマウントするようにローカルファイルシステム102に命令する(ステップ2004)。ファイルシステムは選択された論理ボリュームのローカルファイルシステム102とFCインタフェース53の間の交信を不能にすることによってアンマウントされる。スイッチングプログラム105は選択されたボリュームとバックアップボリュームのペア状態を分離する(ステップ2005)。一旦アンマウントされたら、クライアント8は選択されたボリュームにアクセスすることができず、その結果選択されたボリューム及びバックアップボリュームの内容は同じままとなる。
54 ステップ2006で、スイッチングプログラム105は、ファイルサーバ2がファイルシステムA3のコピーが存在するバックアップボリュームにアクセスできるように、ボリュームマッピングの変更をシステムマネージャ61に命令する。
55 スイッチングプログラム105は選択されたファイルシステムA3に関する情報をシステムマネージャ61に送信する(ステップ2007)。選択されたファイルシステムに関する情報は、ファイルシステム名、ファイルシステムに関連付けられたIPアドレス、及び選択されたファイルシステムのコピーが存在するバックアップボリュームのボリューム番号を含む。次いでスイッチングプログラム105は選択されたファイルシステムA3に関連付けられたIPアドレスを使用不能にする(ステップ2008)。同時に、リソーステーブル400にあるエントリー454も削除される。これは本実施例によりスイッチングプログラム105によって維持されるリソーステーブル400上で行われる。
56 ステップ2000に戻ると、もしスイッチングプログラム105がボリューム全体を分離すべきと判定するなら、スイッチングプログラムはファイルシステムを複製せずに選択されたファイルシステムA3をエクスポートするのを止める(ステップ2010)。ファイルシステムはステップ2004と同じようにアンマウントされる(ステップ2012)。その後、選択されたファイルシステムを含むボリュームのボリュームマッピングが変更される(ステップ2006)。即ちファイルサーバ1又はFC I/F53にマッピングされるボリュームはファイルサーバ2或いはFC I/F54に再マッピングされる。次いでステップ2007と2008が実行される。
57 図8は本発明の一実施例によりファイルシステムを付加するプロセスを示す。付加プロセスを説明するために上述の例が引き続き使用される。ステップ2501で、ファイルサーバ2のスイッチングプログラム205はシステムマネージャ61から既に移動されたファイルシステムA3に関する情報を受信する。ファイルサーバ1のファイルシステムA3がファイルサーバ2に移動される時に、ファイルシステムA3は上述のようにバックアップ論理ボリュームにコピーされる(ここでボリューム523は他のファイルシステムを含むものと仮定する)。この場合、システムマネージャ61はファイルシステムA3のコピーが存在するバックアップボリュームのボリューム番号についてスイッチングプログラム205に通知する。スイッチングプログラム205はそのテーブル400でファイルシステムA3にIPアドレスを割り当てることでファイルサーバ2で受信したIPアドレスを使用可能にする(ステップ2502)。ファイルシステムがマウントされる(ステップ2503)。スイッチングプログラム205はクライアントがファイルシステムA3へのアクセスを再開するのを可能にするためにファイルシステムA3をエクスポートする(ステップ2504)。
58 図9は本発明の一実施例によるミラーリング動作を示す。このミラーリング動作は上述の付加及び分離プロセスを実行するために用いられる。ディスクストレージ5は任意の論理ボリューム(ソースボリューム)のすべて或いはその一部を他の論理ボリューム(対象ボリューム)、例えばバックアップボリューム550に複製を生成するボリュームミラーリング機能を有する。ユーザ或いはファイルサーバ1、2、3がソースボリュームの指定された領域の複製を作成するようにディスクストレージ5に命令する時、ディスクストレージ5はソースボリュームのその領域を対象ボリュームに順番に(求められる部分の始めから終わりまで)コピーを開始する。この動作は一般に、対象ボリュームがソースボリュームの初期状態をミラーリングするので「初期コピー動作」と呼ばれる。
59 その後、ファイルサーバ1、2、3がソースボリュームの指定された領域にデータを書き込む時、書き込みデータは対象ボリュームがソースボリュームをミラーリングし続けるように対象ボリュームにもコピーされる。この後の方の動作は一般に「更新コピー動作」と呼ばれる。初期コピーが完了した後の状態は一般に「複製状態」と呼ばれる。本実施例では、更新コピー動作は複製状態が得られた後にのみ実行されよう。
60 ファイルサーバシステム90はユーザ或いはファイルサーバ1、2、3がディスクストレージ5に複製状態を止めるように命令することができるように構成される。ディスクストレージ5が複製状態を止めるように命令されると、この状態は「分離状態」に置かれる。即ち二つのボリュームは切り離され、もはやミラーリングのペアでなくなる。従って分離状態では、初期ミラー動作も更新コピー動作も実行されない。上述のボリュームミラーリング機能は、論理ボリュームに存在する複数のファイルシステムの複製を、或いはもし唯一のファイルシステムのみがソースボリュームにて定義されるならばソースボリューム全体の複製を提供するために用いられよう。
61 図10は本発明の別の実施例によるファイルサーバシステム90’を示す。ファイルサーバシステム90’の構成は図1のシステム90の構成と実質的に同じである。幾つかの違いは、システム90のディスクストレージ5に代ってシステム90’では複数のディスク5000及びファイバチャネル(FC)スイッチ5200を有することにある。FCスイッチ5200はファイルサーバ1、2、3及びディスク5000と接続される複数のポート5201を有する。このスイッチは更にファイルサーバのLANインタフェースに接続されるLAN5202も有する。このスイッチは或る実施例に於いてはストレージエリアネットワークの一部であり得る。
62 システム90’では、ディスクストレージ5にボリュームマッピングする代りにFCスイッチ5200と関連するゾーン分け機能が用いられる。図11は本発明の一実施例によるゾーン分け機能に関するステップを示す。ゾーン分けは、ファイルサーバがそれに割り当てられるポートのみと交信しアクセスできるように、任意のファイルサーバを一セットのポートに割り当てるFCスイッチ5200の機能である。即ちFCスイッチ内に「障壁」が生成される。
63 例えば図11に於いてファイルサーバ1はゾーン1として参照されるゾーンに一セットのポートを割り当てる。ディスク5000aと5000bもゾーン1に割り当てられる。一方ファイルサーバ2とディスク5000cはゾーン2に割り当てられる。これらのコンポーネントはそれぞれのゾーンにグループ分けされる。
64 一旦これらのコンポーネントが特定のゾーンにグループ分けされたら、ゾーン分け機能は異なったゾーンにあるコンポーネント間の(データアクセスを目的とする)交信を禁止する。従ってファイルサーバ1はディスク5000aと5000bにアクセスするためにゾーン1のポートを使用するのは認められるが、ディスク5000cにアクセスするためにゾーン2のポートにアクセスするのは認められない。
65 ゾーン分け機能はボリュームマッピングと同様の機能を提供する。任意のディスクへのアクセスは図12に示すようにゾーンを再定義することで変更され得る。ファイルサーバ2はゾーン2にディスク5000bを含めることでディスク5000bにアクセスすることが認められる。今や別のゾーンにあるファイルサーバ1は一旦ゾーンが再定義されてしまうとディスク5000bにアクセスすることが認められない。
66 ファイルサーバシステム90’はシステム90で用いたのと同様のプロセスを用いて負荷バランシングを実行する。一つの相違点は分離動作である。図13は本発明の一実施例によるシステム90’と関連する分離プロセスを示す。システム90’はシステム90のステップ2001と2006とは異なったステップ2001’及び2006’を実行する(図7参照)。ステップ2001では、ファイルサーバ1がバックアップ論理ボリュームの一つにアクセスできるように、ファイルサーバのスイッチングプログラムがFCスイッチ5200のゾーン分け設定を変更するようにシステムマネージャ61に命令する。ステップ2006’では、ファイルサーバ2がファイルシステムのコピーが存在するバックアップ論理ボリュームにアクセスできるように、スイッチングプログラムがゾーン分け設定を変更するようにシステムマネージャ61に命令する。
67 本発明を記述するため、そして当業者が本発明を実施することを可能にするために、本発明は特定の実施例に関して説明されてきた。上記で説明された実施例は本発明の範囲から逸脱することなく変形或いは修正が可能であろう。従って本発明の範囲は以下の特許請求の範囲により解釈されるべきである。
12 図1は本発明の一実施例によるストレージシステムを示す。 13 図2は本発明の一実施例による図1のファイルサーバシステムの機能図を示す。 14 図3は本発明の一実施例によるファイルサーバ及びそのLAN I/Fを示す。 15 図4は本発明の一実施例によるボリュームマッピングテーブルを示す。 16 図5は本発明の一実施例によるシステムマネージャによって維持される作業負荷テーブルを示す。 17 図6は本発明の一実施例によりコンソールに於いてシステムマネージャによって実行されるプロセスを示す。 18 図7は本発明の一実施例によりファイルサーバからファイルシステムを分離するプロセスを示す。 19 図8は本発明の一実施例によりファイルシステムを付加するプロセスを示す。 20 図9は本発明の一実施例によるミラーリング動作を示す。 21 図10は本発明の別の実施例によるファイルサーバシステムを示す。 22 図11は本発明の一実施例によるゾーン分け機能に関係するステップを示す。 23 図12は本発明の一実施例によるゾーン分けの再定義を示す。 24 図13は本発明の一実施例によるシステムと関連する分離プロセスを示す。
符号の説明
1… ファイルサーバ1
2… ファイルサーバ2
3… ファイルサーバ3
4… ネットワークスイッチ
5… ディスクストレージ
6… コンソール
8… クライアント
11、21、31、81… LAN I/F
12、22、32、53、54、55… FC I/F
51… ディスクコントローラ

Claims (20)

  1. 一つ以上のIP(Internet Protocol)アドレスを含むIPアドレスの第一のグループを持つ第一のネットワークインタフェースを有する第一のファイルサーバと、
    一つ以上のIPアドレスを含むIPアドレスの第二のグループを持つ第二のネットワークインタフェースを有する第二のファイルサーバと、
    それぞれが前記第一のグループのIPアドレスに関連付けられる複数のファイルシステムを含み前記第一のファイルサーバに割り当てられる第一のタイプのストレージエリアと前記第二のファイルサーバに割り当てられる第二のタイプのストレージエリアを有するストレージユニットと、
    から成り、
    前記第一のタイプのストレージエリアは、それぞれ第一、第二、第三のIPアドレスに関連付けられる少なくとも第一、第二、第三のファイルシステムを有し、
    前記第一のファイルサーバは、もし該第一のファイルサーバの作業負荷が重いと判定されたら、前記第一のファイルシステムが該第一のファイルサーバによってアクセスされないように、該第一のファイルシステムと該第一のファイルシステムに関連付けられる第一のIPアドレスを分離し、
    前記第一のファイルシステムを前記第二のファイルサーバに付加し、前記第一のIPアドレスを前記第二のネットワークインタフェースに割り当てて、該第一のファイルシステムが前記第一のファイルサーバからでなく該第二のファイルサーバを経由してアクセスできるようにする、
    ことを特徴とする、通信リンクを経由して複数のクライアントに接続されるストレージシステム。
  2. 前記ストレージシステムはネットワークストレージシステムであることを特徴とする請求項1のストレージシステム。
  3. 前記ストレージユニットはデータを記憶するための複数のディスクを有するディスクアレイユニットであり、複数の論理ボリュームが該ディスク上で定義されることを特徴とする請求項1のストレージシステム。
  4. 前記複数の論理ボリュームはバックアップボリュームを有し、もし前記第一のファイルシステムが別のファイルシステムを含む論理ボリューム内に定義されるなら、分離される該第一のファイルシステムのコピーを該バックアップボリュームに記憶することを特徴とする請求項3のストレージシステム。
  5. 前記第一のファイルサーバは第一のスイッチングモジュールと、マッピング情報を提供する第一のリソーステーブルを維持するように構成される第一のリソースマネージャを有し、
    前記第二のファイルサーバは第二のスイッチングモジュールと、マッピング情報を提供する第二のリソーステーブルを維持するように構成される第二のリソースマネージャを有し、
    前記分離される第一のファイルシステムは前記第二のリソーステーブルに於いて該第一のファイルシステムにIPアドレスをマッピングすることで前記第二のファイルサーバに割り当てられる、
    ことを特徴とする請求項4のストレージシステム。
  6. 前記第一のファイルサーバは第一のスイッチングモジュールと、マッピング情報を提供する第一のリソーステーブルを維持するように構成される第一のリソースマネージャを有し、
    前記第二のファイルサーバは第二のスイッチングモジュールと、マッピング情報を提供する第二のリソーステーブルを維持するように構成される第二のリソースマネージャを有する、
    ことを特徴とする請求項1のストレージシステム。
  7. 前記第一のファイルサーバは第一のスイッチングモジュールと、マッピング情報を提供する第一のリソーステーブルを維持するように構成される第一のリソースマネージャを有し、
    前記第二のファイルサーバは第二のスイッチングモジュールと、マッピング情報を提供する第二のリソーステーブルを維持するように構成される第二のリソースマネージャを有し、
    第三のスイッチングモジュールと第三のリソースマネージャを有する第三のファイルサーバを更に有する、請求項1のストレージシステムにおいて、
    前記ストレージシステムは、前記第一、第二、第三のファイルサーバのそれぞれに対する第一、第二、第三の負荷値を含む作業負荷テーブルを維持するシステムマネージャを有するコンソールに接続され、
    もし前記第一のファイルサーバが前記第一、第二、第三のファイルサーバの中で最も重い負荷となっていることを前記第一の負荷値が示し、前記第二のファイルサーバが前記第一、第二、第三のファイルサーバの中で最も軽い負荷となっていることを前記第二の負荷値が示すなら、前記第一のファイルサーバに割り当てられた前記第一のファイルシステムは前記第一のファイルサーバから分離され、前記第二のファイルサーバに付加される、
    ことを特徴とするストレージシステム。
  8. 前記第一のファイルシステムのエクスポートを止めて該第一のファイルシステムをアンマウントすることで、該第一のファイルシステムを前記第一のファイルサーバから分離し、
    もし前記第一の負荷値と前記第二の負荷値の差が予め決めたスレショルド値よりも大きいなら、前記第一のファイルシステムの前記分離が開始される、
    ことを特徴とする請求項7のストレージシステム。
  9. 前記第一のファイルサーバのクライアントとネットワークファイルシステムモジュール間の交信を不能にすることで、前記第一のファイルシステムの前記エクスポートを止めることを特徴とする請求項8のストレージシステム。
  10. 前記第一のファイルサーバのローカルファイルシステムモジュールと、前記第一のファイルシステムを含む前記第一のタイプのストレージエリアに関連する通信インタフェースとの間の交信を不能にすることで、該第一のファイルシステムをアンマウントすることを特徴とする請求項8のストレージシステム。
  11. 第一、第二、第三のファイルサーバを有し、更に複数の論理ボリュームを持つストレージユニットを有するストレージシステムに於いて、
    通信リンクを経由して前記第一、第二、第三のファイルサーバに接続されるコンソールのシステムマネージャにより維持され、前記ストレージシステムの該第一、第二、第三のファイルサーバの作業負荷を規定する作業負荷テーブルにアクセスするステップと、
    最も重い作業負荷のファイルサーバを前記第一のファイルサーバとし最も軽い作業負荷のファイルサーバを前記第二のファイルサーバとして、該最も重い作業負荷のファイルサーバと該最も軽い作業負荷のファイルサーバ間の作業負荷の差を前記作業負荷テーブルに従って判定するステップと、
    もし前記作業負荷の差が与えられた値を越えるなら前記第一のファイルサーバから分離するために該第一のファイルサーバに関連し、IP(Internet Protocol)アドレスに関連付けられる第一のファイルシステムを選択するステップと、
    前記第一のファイルシステムが分離される特定の論理ボリュームが他のファイルシステムを含むか否かを判定するステップと、
    もし前記特定の論理ボリュームが他のファイルシステムを含んでいないなら、
    前記ストレージシステムに接続されるクライアントに前記第一のファイルシステムをエクスポートするのを止めるステップと、
    前記第一のファイルシステムをアンマウントするステップと、
    もし前記特定の論理ボリュームが他のファイルシステムを含むなら、
    バックアップ論理ボリュームに前記第一のファイルシステムのコピーを提供するステップと、
    前記クライアントに前記第一のファイルシステムをエクスポートするのを止めるステップと、
    前記第一のファイルシステムをアンマウントするステップと、
    から成ることを特徴とする負荷バランシングを実行するための方法。
  12. 請求項11に於いて更に、前記第一のファイルシステムが前記第一のファイルサーバからでなく前記第二のファイルサーバによってアクセスできるように、該第一のファイルシステムを該第二のファイルサーバに付加するステップから成ることを特徴とする方法。
  13. 前記付加するステップは、
    前記第一のファイルシステムの前記IPアドレスを含む該第一のファイルシステムに関する情報を、前記第二のファイルサーバによって前記コンソールの前記システムマネージャから受信するステップと、
    前記第一のファイルシステムに前記IPアドレスをマッピングするために前記第二のファイルサーバのリソーステーブルを更新するステップと、
    前記クライアントが前記第二のファイルサーバを経由して前記第一のファイルシステムにアクセスすることを可能にするステップと、
    から成ることを特徴とする請求項12の方法。
  14. 前記可能にするステップは、前記第一のファイルシステムをマウントするステップと該第一のファイルシステムをエクスポートするステップとから成ることを特徴とする請求項13の方法。
  15. もし前記システムマネージャが、前記第一のファイルシステムを前記第一のファイルサーバから前記第二のファイルサーバに移動することは、該第一のファイルサーバに関連する任意の他のファイルシステムを移動する以上に、該第一と第二のファイルサーバの作業負荷を均等化するであろうと判定したなら、該第一のファイルシステムは該第一のファイルサーバから分離するように選択されることを特徴とする請求項11の方法。
  16. 各ファイルサーバは該ファイルサーバに関連するファイルシステムの作業負荷を含むリソーステーブルを維持することを特徴とする請求項11の方法に於いて、更に、
    各ファイルサーバは、前記システムマネージャが前記作業負荷テーブルを生成することができるように、前記リソーステーブルの前記作業負荷を前記コンソールに伝送するステップと、
    から成ることを特徴とする方法。
  17. 前記ファイルサーバの各々の前記リソーステーブルは、複数のファイルシステムにマッピングされる複数のIPアドレスを有することを特徴とする請求項16の方法。
  18. 前記ストレージシステムはディスクアレイユニットに内蔵され、前記ファイルサーバは該ディスクアレイユニットの筐体内に設置されることを特徴とする請求項11の方法。
  19. コンピュータプログラム、複数の論理ボリュームを持つストレージユニット、コンソール、及び第一、第二、第三のファイルサーバを有するストレージシステムにおいて、前記コンピュータプログラムが、
    ネットワークを経由して前記ストレージユニットと前記第一、第二、第三のファイルサーバに接続される前記コンソールのシステムマネージャにより維持され、前記ストレージシステムの該第一、第二、第三のファイルサーバの作業負荷を規定する作業負荷テーブルにアクセスするためのプログラムコードと、
    最も重い作業負荷のファイルサーバを前記第一のファイルサーバとし最も軽い作業負荷のファイルサーバを前記第二のファイルサーバとして、該最も重い作業負荷のファイルサーバと該最も軽い作業負荷のファイルサーバの間の作業負荷の差を前記作業負荷テーブルに従って判定するためのプログラムコードと、
    もし前記作業負荷の差が与えられた値を越えるなら、前記第一のファイルサーバから分離するために該第一のファイルサーバに関連しIP(Internet Protocol)アドレスに関連付けられる第一のファイルシステムを選択するためのプログラムコードと、
    前記第一のファイルシステムが分離される特定の論理ボリュームが他のファイルシステムを含むか否かを判定するためのプログラムコードと、
    もし前記特定の論理ボリュームが他のファイルシステムを含んでいないなら、
    前記ストレージシステムに接続されるクライアントに前記第一のファイルシステムをエクスポートするのを止めるためのプログラムコードと、
    前記第一のファイルシステムをアンマウントするためのプログラムコードと、
    もし前記特定の論理ボリュームが他のファイルシステムを含むなら、
    バックアップ論理ボリュームに前記第一のファイルシステムのコピーを提供するためのプログラムコードと、
    前記クライアントに前記第一のファイルシステムをエクスポートするのを止めるためのプログラムコードと、
    前記第一のファイルシステムをアンマウントするためのプログラムコードと、
    から成ることを特徴とするストレージシステム。
  20. 第一、第二、第三のファイルサーバ、複数の論理ボリュームを持つストレージユニット、及びコンソールを有し、
    前記コンソールのシステムマネージャにより維持されストレージシステムの前記第一、第二、第三のファイルサーバの作業負荷を規定する作業負荷テーブルにアクセスするための手段と、
    最も重い作業負荷のファイルサーバを前記第一のファイルサーバとし最も軽い作業負荷のファイルサーバを前記第二のファイルサーバとして、該最も重い作業負荷のファイルサーバと該最も軽い作業負荷のファイルサーバの間の作業負荷の差を前記作業負荷テーブルに従って判定するための手段と、
    もし前記作業負荷の差が与えられた値を越えるなら、前記第一のファイルサーバから分離するために該第一のファイルサーバに関連しIP(Internet Protocol)アドレスに関連付けられる第一のファイルシステムを選択するための手段と、
    前記第一のファイルシステムが分離される特定の論理ボリュームが他のファイルシステムを含むか否かを判定するための手段と、
    もし前記特定の論理ボリュームが他のファイルシステムを含んでいないなら、
    前記ストレージシステムに接続されたクライアントに前記第一のファイルシステムをエクスポートするのを止めるための手段と、
    前記第一のファイルシステムをアンマウントするための手段と、
    もし前記特定の論理ボリュームが他のファイルシステムを含むなら、
    バックアップ論理ボリュームに前記第一のファイルシステムのコピーを提供するための手段と、
    前記クライアントに前記第一のファイルシステムをエクスポートするのを止めるための手段と、
    前記第一のファイルシステムをアンマウントするための手段と、
    から成ることを特徴とするストレージシステム。
JP2004354838A 2004-06-01 2004-12-08 ストレージシステムのダイナミック負荷バランシング Pending JP2006048627A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/858,717 US7209967B2 (en) 2004-06-01 2004-06-01 Dynamic load balancing of a storage system

Publications (1)

Publication Number Publication Date
JP2006048627A true JP2006048627A (ja) 2006-02-16

Family

ID=35426665

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004354838A Pending JP2006048627A (ja) 2004-06-01 2004-12-08 ストレージシステムのダイナミック負荷バランシング

Country Status (2)

Country Link
US (1) US7209967B2 (ja)
JP (1) JP2006048627A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009529190A (ja) * 2006-03-08 2009-08-13 オムニオン ビデオ ネットワークス 冗長データファブリックの動的分割のための方法

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7565431B2 (en) * 2003-11-20 2009-07-21 International Business Machines Corporation Method, system, and program for determining information on a storage system in a network
US7886299B2 (en) * 2004-06-01 2011-02-08 Hitachi, Ltd. Method of dynamically balancing workload of a storage system
US20060020691A1 (en) * 2004-07-20 2006-01-26 Hewlett-Packard Development Company, L.P. Load balancing based on front-end utilization
US8412685B2 (en) * 2004-07-26 2013-04-02 Riverbed Technology, Inc. Method and system for managing data
US7493314B2 (en) * 2005-01-10 2009-02-17 Cyberlink Corp. System and method for providing access to computer files across computer operating systems
JP4871546B2 (ja) 2005-08-22 2012-02-08 株式会社日立製作所 ストレージシステム
US8396938B2 (en) * 2005-09-15 2013-03-12 Emc Corporation Providing direct access to distributed managed content
US8447827B2 (en) 2005-09-15 2013-05-21 Emc Corporation Providing local access to managed content
JP2007087266A (ja) * 2005-09-26 2007-04-05 Hitachi Ltd ストレージシステムおよびストレージ装置
JP2008033412A (ja) * 2006-07-26 2008-02-14 Hitachi Ltd 計算機システムの性能管理方法、管理計算機、及びストレージ装置
US8141164B2 (en) 2006-08-21 2012-03-20 Citrix Systems, Inc. Systems and methods for dynamic decentralized load balancing across multiple sites
US8543700B1 (en) 2007-06-28 2013-09-24 Emc Corporation Asynchronous content transfer
US7996509B2 (en) * 2007-09-26 2011-08-09 International Business Machines Corporation Zoning of devices in a storage area network
JP2009176033A (ja) * 2008-01-24 2009-08-06 Hitachi Ltd ストレージシステム及びその消費電力削減方法
US8103628B2 (en) 2008-04-09 2012-01-24 Harmonic Inc. Directed placement of data in a redundant data storage system
US20100036903A1 (en) * 2008-08-11 2010-02-11 Microsoft Corporation Distributed load balancer
JP5255127B2 (ja) * 2009-06-26 2013-08-07 株式会社日立製作所 ストレージシステム、及びストレージシステムの制御方法
US8639769B2 (en) * 2009-12-18 2014-01-28 International Business Machines Corporation Handling of data transfer in a LAN-free environment
US8645745B2 (en) * 2011-02-24 2014-02-04 International Business Machines Corporation Distributed job scheduling in a multi-nodal environment
US9658892B2 (en) 2011-08-31 2017-05-23 International Business Machines Corporation Management of storage cluster performance with hybrid workloads
US9110600B1 (en) * 2012-03-19 2015-08-18 Amazon Technologies, Inc. Triggered data shelving to a different storage system and storage deallocation
US9246996B1 (en) * 2012-05-07 2016-01-26 Amazon Technologies, Inc. Data volume placement techniques
US9503517B1 (en) * 2012-05-07 2016-11-22 Amazon Technologies, Inc. Data volume placement techniques
US9804993B1 (en) * 2012-05-07 2017-10-31 Amazon Technologies, Inc. Data volume placement techniques
US20140229695A1 (en) * 2013-02-13 2014-08-14 Dell Products L.P. Systems and methods for backup in scale-out storage clusters
US10715460B2 (en) 2015-03-09 2020-07-14 Amazon Technologies, Inc. Opportunistic resource migration to optimize resource placement
US9342372B1 (en) 2015-03-23 2016-05-17 Bmc Software, Inc. Dynamic workload capping
US10061525B1 (en) * 2015-03-31 2018-08-28 EMC IP Holding Company LLC Load balancing system and method
US9680657B2 (en) 2015-08-31 2017-06-13 Bmc Software, Inc. Cost optimization in dynamic workload capping
US9699244B2 (en) * 2015-11-11 2017-07-04 Weka.IO Ltd. Load balanced network file accesses
KR102509988B1 (ko) 2015-12-15 2023-03-14 삼성전자주식회사 커넥션 기반 로드 밸런싱을 위한 저장 시스템 및 방법
US10032115B2 (en) * 2016-05-03 2018-07-24 International Business Machines Corporation Estimating file level input/output operations per second (IOPS)
US10382535B2 (en) * 2016-10-05 2019-08-13 Vmware, Inc. Pairwise comparison for load balancing
US10917496B2 (en) * 2017-09-05 2021-02-09 Amazon Technologies, Inc. Networked storage architecture
US11121981B1 (en) 2018-06-29 2021-09-14 Amazon Technologies, Inc. Optimistically granting permission to host computing resources
US11941443B2 (en) * 2021-04-22 2024-03-26 EMC IP Holding Company LLC Distributed storage workload management

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173306B1 (en) * 1995-07-21 2001-01-09 Emc Corporation Dynamic load balancing
JP3641872B2 (ja) * 1996-04-08 2005-04-27 株式会社日立製作所 記憶装置システム
US6237063B1 (en) 1997-10-06 2001-05-22 Emc Corporation Load balancing method for exchanging data in different physical disk storage devices in a disk array storage device independently of data processing system operation
US6292822B1 (en) * 1998-05-13 2001-09-18 Microsoft Corporation Dynamic load balancing among processors in a parallel computer
US6078960A (en) * 1998-07-03 2000-06-20 Acceleration Software International Corporation Client-side load-balancing in client server network
JP2001184249A (ja) * 1999-12-27 2001-07-06 Fujitsu Ltd 分散処理システム,共有ファイルシステム操作装置,及び、コンピュータ可読媒体
AU2002214659A1 (en) * 2000-10-26 2002-05-06 James C. Flood Jr. Method and system for managing distributed content and related metadata
US6976060B2 (en) * 2000-12-05 2005-12-13 Agami Sytems, Inc. Symmetric shared file storage system
US20020124137A1 (en) * 2001-01-29 2002-09-05 Ulrich Thomas R. Enhancing disk array performance via variable parity based load balancing
US6871347B2 (en) * 2001-04-13 2005-03-22 Interland, Inc. Method and apparatus for facilitating load balancing across name servers
US7117242B2 (en) * 2001-06-20 2006-10-03 Hewlett-Packard Development Company, L.P. System and method for workload-aware request distribution in cluster-based network servers
US7139809B2 (en) * 2001-11-21 2006-11-21 Clearcube Technology, Inc. System and method for providing virtual network attached storage using excess distributed storage capacity
JP4168626B2 (ja) * 2001-12-06 2008-10-22 株式会社日立製作所 記憶装置間のファイル移行方法
US6990604B2 (en) * 2001-12-28 2006-01-24 Storage Technology Corporation Virtual storage status coalescing with a plurality of physical storage devices
US7127716B2 (en) * 2002-02-13 2006-10-24 Hewlett-Packard Development Company, L.P. Method of load balancing a distributed workflow management system
US20040088410A1 (en) * 2002-11-06 2004-05-06 Flynn Thomas J. Computer network architecture
US7023813B2 (en) * 2002-12-31 2006-04-04 Motorola, Inc. Methods for managing a pool of multicast addresses and allocating addresses in a communications system
US20050038890A1 (en) * 2003-08-11 2005-02-17 Hitachi., Ltd. Load distribution method and client-server system
US20060031506A1 (en) * 2004-04-30 2006-02-09 Sun Microsystems, Inc. System and method for evaluating policies for network load balancing

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009529190A (ja) * 2006-03-08 2009-08-13 オムニオン ビデオ ネットワークス 冗長データファブリックの動的分割のための方法

Also Published As

Publication number Publication date
US7209967B2 (en) 2007-04-24
US20050267950A1 (en) 2005-12-01

Similar Documents

Publication Publication Date Title
JP2006048627A (ja) ストレージシステムのダイナミック負荷バランシング
US7886299B2 (en) Method of dynamically balancing workload of a storage system
US10963289B2 (en) Storage virtual machine relocation
JP4448719B2 (ja) ストレージシステム
US7216148B2 (en) Storage system having a plurality of controllers
JP3843713B2 (ja) 計算機システム及びそのデバイスの割り当て方法
JP4815449B2 (ja) 共有バックエンドストレージを備えた複数のストレージシステムにわたりユーザワークロードのバランスをリアルタイムにとるシステム、及び方法
JP5039951B2 (ja) ストレージ・デバイス・ポートの選択の最適化
US7941621B1 (en) Automatically mounting and unmounting a volume during a backup or restore operation
US20030236884A1 (en) Computer system and a method for storage area allocation
US10855556B2 (en) Methods for facilitating adaptive quality of service in storage networks and devices thereof
JP2008542887A (ja) 仮想化ネットワークストレージシステム、ネットワークストレージ装置及びその仮想化方法
JP4285058B2 (ja) ネットワーク管理プログラム、管理計算機及び管理方法
US20070011417A1 (en) Distributed storage system with global replication
JP2006228188A (ja) ストレージシステムの負荷を動的にバランスさせる方法
JP4501548B2 (ja) 計算機システム及びそのデバイスの割り当て方法
JP2007524877A (ja) データ記憶システム
US10768834B2 (en) Methods for managing group objects with different service level objectives for an application and devices thereof
US11258877B2 (en) Methods for managing workloads in a storage system and devices thereof
JP6712982B2 (ja) ストレージ装置、ストレージシステム及びストレージ装置の管理方法
US8996802B1 (en) Method and apparatus for determining disk array enclosure serial number using SAN topology information in storage area network

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060425