【解決手段】サーバー間共有システムにおいて、モジュールは、外部サーバーと連結するためのHBAカード部と、サーバー内部の格納空間を具備するインターナルディスク部と、インターナルディスク部のストレージを複数のボリュームに割り当てる設定部と、外部サーバーと通信し、ボリュームをストレージモードまたはサーバーモードとして設定することができるターゲットドライバー部と、インターナルディスク部とターゲットドライバー部のデータをルーティングするターゲットコア部とを含む。ストレージモードは、外部サーバーのストレージとして使用可能にするモードであり、サーバーモードは、サーバー内部のストレージとして使用可能にするモードであり、ターゲットドライバー部は、ボリュームをサーバーモードからストレージモードに変更する。
【発明の概要】
【発明が解決しようとする課題】
【0009】
本願は、前述した従来技術の問題点を解決するためのもので、既存の運営のためにサーバーを追加で増設しなければならないという問題を解決することができるサーバーに装着され、ブロックレベルストレージ及びリソースを共有するモジュールを提供することを目的とする。
【0010】
本願は、前述した従来技術の問題点を解決するためのもので、既存のネットワークを活用してストレージを共有するシステムのトラフィック衝突問題が発生することを解決することができるサーバーに装着され、ブロックレベルストレージ及びリソースを共有するモジュールを提供することを目的とする。
【0011】
但し、本願の実施例が達成しようとする技術的課題は、上記のような技術的課題に限定されず、さらに他の技術的課題が存在し得る。
【課題を解決するための手段】
【0012】
上記の技術的課題を達成するための技術的手段として、本願の一実施例によるサーバーに装着され、ブロックレベルストレージ及びリソースを共有するモジュールは、外部サーバーと連結するためのHBAカード部と、インターナルディスクが複数個装着され、サーバー内部の格納空間を具備するインターナルディスク部と、前記格納空間をサーバー管理者の制御命令に応じて前記インターナルディスク部のストレージを複数のボリュームに割り当てる設定部と、SCSIプロトコルを具現し、前記HBAカード部と連結された外部サーバーと通信し、前記ボリュームを前記サーバー管理者の制御命令に応じてストレージモードまたはサーバーモードとして設定することができるターゲットドライバー部と、前記ストレージモードまたはサーバーモードによるSCSI命令を処理して前記インターナルディスク部と前記ターゲットドライバー部のデータをルーティングするターゲットコア部とを含み、前記ストレージモードは、前記サーバー管理者の制御命令に応じて前記外部サーバーのストレージとして使用可能にするモードであり、前記サーバーモードは、サーバー内部のストレージとして使用可能にするモードであり、前記ターゲットドライバー部は、前記サーバー管理者の制御命令に応じて前記ボリュームを前記サーバーモードから前記外部サーバーの制御によってデータにアクセス可能にするストレージモードに変更することができるものであることができる。
【0013】
また、前記ターゲットドライバー部は、外部サーバー管理者の制御命令に応じて前記ボリュームを前記サーバーモードから前記外部サーバーの制御によってデータにアクセス可能にするストレージモードに変更することができるものであり、前記外部サーバー管理者の制御命令に応じてサーバーモードに変更可能なものであることができる。
【0014】
また、前記設定部は、SCSI方式でターゲットされた前記インターナルディスク部の容量をブロックレベルでボリューム割り当て、ボリューム割り当てられたボリュームにLUN設定するものであることができる。
【0015】
また、前記インターナルディスク部は、Raidカードを追加で具備し、インターナルディスクの装着可能な数量を増やすものであることができる。
【0016】
また、前記HBAカードと外部サーバーとの転送プロトコルは、Fiber Channel Target、Infiniband Target、iSCSI Target、Hardware FCoE Target、ISCSI over TCP、IP、SRP over Infiniband、iSER over IB、RoCE、iWARP及びSoftware FCoE Targetのいずれか一つであることができる。
【0017】
また、サーバーに装着され、ブロックレベルストレージ及びリソースを共有するモジュールにおいて、他のシステムとネットワーク連結のためのNIC部をさらに含むものであることができる。
【0018】
サーバーに装着され、ブロックレベルストレージ及びリソースを共有するモジュールにおいて、また、データ要請を分析し、媒介変数を決めて装置の類型を特定してデータ処理に役立つ装置類型特定ドライバー部をさらに含むものであることができる。
【0019】
また、前記ターゲットコア部は、SCSI装置、ブロック装置、ファイル及びRAIDコントローラーのいずれか一つであることができる。
【0020】
また、前記ターゲットドライバ部は、前記ボリュームを前記サーバ管理者の制御命令に従ってオートモードとしてさらに設定することができ、前記オートモードは、前記サーバーまたは前記外部サーバーの可用ストレージによって、前記ボリュームをストレージモードまたはサーバーモードとして設定することができる。
【0021】
また、前記設定部は、ストレージの使用領域を設定する領域設定部と、使用領域が未使用領域より小さい場合、使用領域のみを診断対象として決定し、使用領域が未使用領域より大きい場合、領域全てを診断対象として決定する診断決定部と、前記診断対象に対して周期的な診断を実行する診断部とをさらに含むことができる。
【0022】
一方、本願の一実施例によるサーバーに装着され、ブロックレベルストレージ及びリソースを共有するモジュールを利用したサーバー間共有システムは、サーバーに装着され、ブロックレベルストレージ及びリソースを共有するモジュールが装着された第1サーバー部と、サーバーに装着され、ブロックレベルストレージ及びリソースを共有するモジュールが装着された第2サーバー部とを含み、前記第1サーバー部及び前記第2サーバー部は、相互TxとRxが連結されたものであり、管理者の制御命令に応じて前記第1サーバー部または前記第2サーバー部の可用ストレージボリュームを他のサーバー部の可用ストレージに割り当てるものであることができる。
【0023】
また、サーバーに装着され、ブロックレベルストレージ及びリソースを共有するモジュールを利用したサーバー間共有システムは、サーバーに装着され、ブロックレベルストレージ及びリソースを共有するモジュールが装着された複数個のサーバー部をさらに含み、それぞれのサーバー部間のTx及びRxが環状で相互連結され、運営者の制御命令に応じて可用ストレージボリュームを他のサーバー部の可用ストレージに割り当てるものであることができる。
【0024】
一方、本願の一実施例によるサーバーに装着され、ブロックレベルストレージ及びリソースを共有するモジュールを利用したサーバー間共有システムは、サーバーに装着され、ブロックレベルストレージ及びリソースを共有するモジュールが装着された複数個のサーバー部を含み、それぞれのサーバー部は、Fiber Channelを通じてSAN switchで連結され、運営者の制御命令に応じて可用ストレージボリュームを他のサーバー部の可用ストレージに割り当てるものであることができる。
【0025】
上述した課題解決手段は、単に例示的なもので、本願を制限しようとする意図で解釈されてはならない。上述した例示的な実施例の他にも、図面及び発明の詳細な説明に追加の実施例が存在し得る。
【発明の効果】
【0026】
前述した本願の課題解決手段によると、サーバーに装着され、ブロックレベルストレージ及びリソースを共有するモジュールを提供することで、単一システムでブロックレベルストレージを共有しながらOSアプリケーションを運営することができるという効果がある。
【0027】
また、サーバーに装着され、ブロックレベルストレージ及びリソースを共有するモジュールを提供することで、コンピュータ性能とストレージの容量を増設することができるという効果がある。
【0028】
前述した本願の課題解決手段によると、サーバーに装着され、ブロックレベルストレージ及びリソースを共有するモジュールを利用したシステムを提供することで、自体的なアプリケーション駆動だけでなく、効率的なストレージ運用が可能な効果がある。
【0029】
但し、本願で得られる効果は、上記のような効果に限定されず、さらに他の効果が存在することができる。
【発明を実施するための形態】
【0031】
以下では、添付の図面を参照して本願が属する技術分野で通常の知識を有する者が容易に実施することができるように、本願の実施例を詳しく説明する。しかし、本願は、様々な異なる形態で具現されることができ、ここで説明する実施例に限定されない。そして、図面で本願を明確に説明するために、説明と関係ない部分は省略し、明細書全体を通じて類似した部分については類似した図面符号をつけた。
【0032】
本願明細書全体において、ある部分が他の部分と「連結」されているとすると、これは「直接的に連結」されている場合だけでなく、その中間に他の素子を挟んで「電気的に連結」または「間接的に連結」されている場合も含む。
【0033】
本願明細書全体において、ある部材が他の部材「上に」、「上部に」、「上端に」、「下に」、「下部に」、「下端に」位置しているとすると、これは、ある部材が他の部材に接している場合だけでなく、二つの部材間にまた他の部材が存在する場合も含む。
【0034】
本願明細書全体において、ある部分がある構成要素を「含む」とすると、これは、特に反対の記載がない限り、他の構成要素を除外するものではなく、他の構成要素をさらに含むことができることを意味する。
【0035】
本願明細書全体において使用される用語は、具体的な実施例を説明する目的のためのものであるだけで、本発明を限定するものではない。また、ホストは、説明しようとする実施例によってサーバまたは外部サーバーとして指称することを予め知らせておく。
【0036】
以下では、本願の一実施例によるサーバーに装着され、ブロックレベルストレージ及びリソースを共有するモジュールを説明の便宜上、本モジュール100という。また、本モジュール100が装着されたサーバーをサーバー200及び外部サーバー300という。
【0037】
本モジュール100はSCSIプロトコルを使用する装置であり、SCSIプロトコルは一般的に知られた通信規格であるため、通常の技術者には自明な事実であるので具体的な説明は省略する。
【0038】
図1は、本願の一実施例による本モジュール100を利用したサーバー間共有システムの概略的な構成図である。
【0039】
図1を参照すると、本願の一実施例による本モジュール100を利用したサーバー間共有システムは、サーバー200、外部サーバー300及び連結手段10を含むことができる。サーバー200及び外部サーバー300は、例えば、本モジュール100が内部に装着されたサーバーであることができる。
【0040】
また、サーバー200及び外部サーバー300は、内部に本モジュール100が装着されたサーバーであり、自体的なアプリケーションの駆動が可能なサーバーとして構成されることができる。例えば、サーバーの構成は、CPU、メモリー、ドライバー、メインボードなどを含んで構成されることができ、従来公知されるか今後開発される全てのサーバーの構成が適用されることができる。サーバーの構成に関する具体的な説明は、本発明の背景技術知識を有する通常の技術者に自明な事実であるので省略する。
【0041】
本願の一実施例によるサーバー200または外部サーバー300の駆動OSは、例えば、Linux(登録商標)、Windows(登録商標)、VMware ESX及びESXi、Solaris、IBM AIX及びHP/UXを含むことができる。但し、これに限定されるものではない。従来公知されるか今後開発される全てのOSが適用可能であるため、通常の技術者は適用することができるであろう。
【0042】
本願の一実施例によるサーバー200及び外部サーバー300は、例えば、Local SCSI initiatorまたはRemote SCSI initiatorであってよく、SCSI target deviceであってもよい。但し、これに限定されるものではない。即ち、サーバー200及び外部サーバー300がinitiatorの場合、例えば、SCSI targetが処理するサービス及び作業管理の要請を始め、SCSI targetから装置サービス及び作業管理の応答を受けるSCSI装置であることができる。以下でさらに詳しく説明するが、サーバー200がSCSI initiatorの場合において、外部サーバー300はSCSI targetであることができる。これと反対に、サーバー200がSCSI targetの場合において、外部サーバー300はSCSI initiatorであることができる。
【0043】
既存のサーバーは、ネットワークに連結せずTargetデバイスとして活用されることができなかったが、本願の一実施例による本モジュール100を利用したサーバー200及び外部サーバー300は、initiatorデバイスとしての活用だけでなく、targetデバイスとしても活用することができる。つまり、既存のサーバーは、initiatorとしてSCSIプロトコルを活用してtargetデバイスとして活用することができなかったが、本モジュール100を装着することで、targetデバイスとして活用可能にすることができる。
【0044】
また、SCSI Target deviceは、ターゲットデバイス、対象デバイス、target及び対象装置として命名されることができ、SCSI initiator deviceは、イニシエーターデバイス、イニシエーター、initiator、開始者及び開始装置として命名されることができ、このような命名に限定されるものではない。
【0045】
本願の一実施例によるLocal SCSI initiatorとは、サブシステムと同一のローカルホストにあるSCSI initiatorをいい、Remote SCSI initiatorとは、サブシステムの遠隔ホストにあり、後述するターゲットドライバー部140を通じてクライアント連結をするSCSI initiatorであることができる。但し、これに限定されるものではない。
【0046】
本願の一実施例によるサーバー200及びサーバー300を連結する連結手段10は、Fiber channelを含むことができる。但し、これに限定されるものではなく、従来公知されるか今後開発される全てのサーバー間の連結手段が適用可能なことが通常の技術者には自明な事実である。
【0047】
また、連結手段10は、例えば、サーバー200のTx(Transmit Data)及び外部サーバー300のRx(Receive Data)に連結され、サーバー200と外部サーバー300とを連結することができる。また、連結手段10は、サーバー200のRx及び外部サーバー300のTxに連結され、サーバー200と外部サーバー300とを連結することができる。また、詳しく後述するが、サーバー200及び外部サーバー300のTx、Rxは、SAN switchに連結され、SAN方式でブロックレベルストレージ及びリソースを共有することができる。また、サーバー200、外部サーバー300及び追加される外部サーバー300のそれぞれのサーバーのTxは、他のサーバーのRxに連結される方式でブロックレベルストレージ及びリソースを共有することができる。
【0048】
図2は、本願の一実施例による本モジュール100の概略的な構成を表現したブロック図である。
【0049】
図2を参照すると、本願の一実施例による本モジュール100は、HBAカード部110、インターナルディスク部120、設定部130、ターゲットドライバー部140、ターゲットコア部150、NIC部160及び装置類型特定ドライバー部170を含むことができる。
【0050】
HBAカード部110は、サーバーと装備間の通信のためにサーバーに装着するカードとして、つまり、他のインターフェースを活用するためのカードであることができる。換言すると、HBAカード部110は、サーバー200の内部に本モジュール100が装着され、サーバー200と本モジュール100と連結される外部サーバー300の通信を補助することができる。また、本モジュール100と以下で詳しく説明するインターナルディスク部120が設定部130によって割り当てられたボリュームとサーバー200との通信を補助することができる。
【0051】
本願の一実施例によるHBAカード部110は、外部サーバー300とサーバー200とを連結して円滑な通信を補助する装置であることができる。
【0052】
本願の一実施例によるHBAカード部110は、例えば、Fibre Channel、SCSI、Infiniband、iSCSI、Hardware FCoE及びSoftware FCoEのAdapterを含むことができる。即ち、HBAカード部110は、外部サーバー300とのターゲット転送方式の種類によって、Adapterカードの種類が決められることができる。HBAカードの具体的な説明は、通常の技術者に自明な事実であるので省略する。
【0053】
インターナルディスク部120は、サーバー200の内部にOS専用ストレージ及びサーバー内部格納用のストレージを提供するために装着されるディスクであることができる。例えば、インターナルディスク部120は、HDD(Hard Disk Drive)、SSD(Solid State Drive)及びSSHD(Solid State Hybrid Drive)を含むことができる。
【0054】
本願の一実施例による本モジュール100のインターナルディスク部120は、PATAハードディスク、SATAハードディスク、SASハードディスク、RAM基盤SSD、フラッシュメモリ基盤のSSD、SSHDを含むことができる。より好ましくは、フラッシュメモリ基盤のSSDが活用されることが適宜であることができる。但し、これに限定されるものではなく、従来公知されたディスクまたは今後開発されるディスクが適用されることができる。
【0055】
なお、本願の一実施例によるインターナルディスク部120は、ハイブリッド制御器、前記ハイブリッド制御器と結合するDDR制御器、前記DDR制御器に結合するそれぞれは、複数のDDRを含むDDRセット複数個、前記ハイブリッド制御器に結合するHDD及びフラッシュで構成されたHDD制御器及び前記HDD制御器に結合するそれぞれは、複数のHDDを含むHDDセット複数個をさらに含むことができる。ここで、複数のHDDは、例えば、フラッシュ及びHDDを含んで構成されることができる。
【0056】
本願の一実施例によるインターナルディスク部120は、例えば、直列アクセス小型システムインターフェース/直列PCI−Expressタイプのインターナルディスクを含むことができる。前記インターナルディスクは、PCI−Expressインターフェースを通じたホストとメモリーディスクとの間のデータ通信中にホストとメモリーディスクとの間に送受信されるデータ信号の同期化を調整することで、ホストの低速データ処理速度を支援すると同時に、メモリーディスクの高速データ処理速度を支援することができる。従って、既存のインターフェース環境で高速データ処理が最大に可能となるようにデータ処理性能を支援するものであることができる。但し、これに限定されるものではない。他の実施例としてSAS/SATAインターフェースを利用するSAS/SATA技術が活用されることができる。
【0057】
本願の一実施例によるインターナルディスク部120に含まれるPCI−Expressタイプのインターナルディスクは、複数の揮発性半導体メモリーSSD、前記SSDと結合するHDD制御器、前記SSDとホストとの間をインターフェースするホストインターフェース部(例えば、PCI−Expressホスト)、前記ホストインターフェース部を通じてホストから伝達される電力を利用して一部電力を充電、維持する補助電源部を含むことができる。また、前記インターナルディスクは、ホストインターフェースを通じてホストから伝達される電力が遮断されるか、ホストから伝達される電力で故障が発生した場合、前記補助電源部から電力を受信し、この場合、SSDのデータを格納することができるバックアップ格納部をさらに含むことができる。バックアップ格納部は、例えば、ハードディスクのような低速非揮発性格納装置として構成されることができる。但し、これに限定されるものではない。
【0058】
一方、前記SSDは、例示的に示したメモリーであり、高速データの入出力のための複数の揮発性半導体メモリーであるDDR、DDR2、DDR3、SDRAMなどを含むことができる。前記複数の揮発性半導体メモリーは並列に配列されることができる。但し、これに限定されるものではない。
【0059】
なお、前記ホストインターフェース部は、ホストと複数の揮発性半導体メモリーとの間をインターフェースすることができる。例えば、ホストは、サーバー200または外部サーバー300であることができる。但し、これに限定されるものではない。
【0060】
また、設定部130は、前記インターナルディスク部120のホストインターフェース部と複数の揮発性半導体メモリーとの間で送受信されるデータ信号の同期化を調整して、前記ホストインターフェース部と前記メモリーとの間のデータ送受信速度を調整することができる。
【0061】
本願の一実施例によるインターナルディスク部120のハイブリッド制御器は、DDR制御器及びHDDとSSDで構成されたHDD制御器と結合することができる。この場合、少なくとも一つのDDRは、前記DDR制御器に結合するか、少なくとも一つのHDDまたはSSSDは、前記HDD制御器と結合することができる。一方、ハイブリッド制御器は、例えば、高速データ制御器及び低速データ制御器を含むことができる。この時、データバックアップ用コンポーネントがハイブリッド制御器に結合することができる。
【0062】
なお、本願の一実施例によるDDRセットのそれぞれは、一セットのDDRメモリーディスクと、一セットのDDRメモリーディスクに結合するホットスペアディスク(hot−spare disk)と、一セットのDDRメモリーディスクに結合するDDR制御器と、DDR制御器に結合するRAID失敗コンポネントと、DDR制御器に結合するデータバックアップコンポネントとを含むことができる。但し、これに限定されるものではない。このような構成は、HDDセットにも同一に適用可能なことは、通常の技術者に自明な事実である。
【0063】
本願の一実施例によるインターナルディスク部120は、ホストとメモリーディスクとの間のデータ通信中にホストとメモリーディスクとの間に送受信されるデータ信号を同期化し調整して、ホストの低速データ処理速度を支援すると同時に、メモリーディスクの高速データ処理速度を支援することで、既存のインターフェース環境で高速データ処理の高性能を支援することができる。
【0064】
設定部130は、インターナルディスク部120の格納空間をサーバー管理者の制御命令に応じて複数のボリュームに割り当てることができる。サーバー管理者の制御命令は、例えば、格納空間を分割するボリュームの大きさを設定する命令を含むことができる。
【0065】
また、本願の一実施例による設定部130は、前記割り当てられた複数のボリュームにLUN設定することができる。LUNとは、SCSIバスでそれぞれの装置が互いに区分できるようにする単一識別字番号であり、論理的装置は、最終使用者、ファイルあるいはアプリケーションプログラムであることができる。好ましくは、論理的装置は、上述した設定部130が格納空間を分割したボリュームになることができる。但し、これに限定するものではない。
【0066】
一方、本願の一実施例による設定部130は、インターナルディスク部120の状態をチェックする機能のために割り当てられたボリュームに対して、一つまたは複数の使用領域を設定する領域設定部と、使用領域と未使用領域のボリューム大きさを比較して診断対象を設定する診断決定部と、前記診断対象に対して周期的な診断を実行する診断部とをさらに含むことができる。
【0067】
本願の一実施例による診断決定部は、例えば、前記領域設定部が設定した使用領域と未使用領域とを比較して、使用領域が未使用領域より大きい場合は、領域全てを診断対象とし、使用領域が未使用領域より小さい場合は、使用領域のみを診断対象として決定することができる。但し、これに限定されるものではない。
【0068】
使用領域が未使用領域より小さい場合は、例えば、未使用領域のサイズが最小のボリュームサイズより大きい場合、未使用領域にさらにボリュームを登録する可能性が高いため、予め未使用領域にデータチェックをしておき、いつ未使用領域にボリュームが設定されても障害発生が回避可能にすることができる。
【0069】
一方、反対の場合である使用領域が未使用領域より大きい場合は、未使用領域にさらにボリュームを登録する可能性が低いため、迅速なデータチェック及び負荷の軽減のために、未使用領域はデータチェックの対象とせず、使用中のボリュームの領域のみをデータチェックの対象とすることができる。
【0070】
なお、本願の一実施例による診断決定部は、例えば、サーバー200の管理者が最小の使用領域ボリュームを設定して、前記最小の使用領域ボリュームと未使用領域とを比較して診断対象を決定することができる。但し、これに限定されるものではない。
【0071】
即ち、本願の一実施例による設定部130は、周期的にデータチェックの対象領域を決定し、その決定した対象領域に対して周期的にデータチェックをすることができる。周期的にデータチェックをすることで、未使用領域が使用される場合にディスクの故障発生を軽減させることができる。
【0072】
ターゲットドライバー部140は、サーバー200または外部サーバー300がinitiator役割をする場合において、サーバー200がinitiatorの場合、外部サーバー300のtarget役割をするハードウェアまたは論理ドライバーであることができる。即ち、サーバー200がinitiatorの場合、外部サーバー300のターゲットドライバー部140は、target役割をするハードウェアまたは論理ドライバーであることができる。
【0073】
また、ターゲットドライバー部140は、Linux(登録商標)ハードウェア、windows(登録商標)ハードウェアなどを含むことができる。但し、これに限定されるものではない。換言すると、ターゲットドライバー部140は、遠隔連結を受諾し、入って来るSCSI要請を、後述するターゲットコア部150に伝達し、ターゲットコア部150に送った対象(装置など)にSCSI応答パケットを再び送ることができる。
【0074】
また、ターゲットドライバー部140は、対象ドライバー、ターゲットドライバーなどと命名されることができる。
【0075】
本願の一実施例によるターゲットドライバー部140は、SCSIプロトコルを具現し、外部サーバー300と通信することができる。例えば、ターゲットドライバー部140は、initiator役割をするサーバー200または外部サーバー300のサービス及び作業管理の要請を含む連結要請を受諾し、このようなSCSI作業要請をTargetコアに伝達し、外部サーバー300にSCSI応答パケットを送ることができる。
【0076】
本願の一実施例によるSCSI作業要請は、SCSI命令からなることができる。例えば、SPC(SCSI Primary Commands)、SBC(SCSI Block Commands)、SSC(SCSI Streaming Commands)及びMMC(SCSI Multi Media Commands)を含むことができる。
【0077】
本願の一実施例によるTarget sessionは、ターゲットドライバー部140を通じたinitiatorデバイスとtargetデバイス間の関係を説明する客体であることができる。例えば、サーバー200または外部サーバー300の全ての命令は、Target sessionからTargetデバイスに伝達されることができる。理解を助けるために、例えば、iSCSIのような連結志向プロトコルの場合、Target sessionはTCP連結(及びiSCSI session)にマッピングされることができる。但し、これに限定されるものではない。
【0078】
本願の一実施例によるターゲットドライバー部140は、サーバー200管理者の制御命令に応じて上述した設定部130が割り当てたボリュームをストレージモードまたはサーバーモードとして設定することができる。サーバー管理者の制御命令は、例えば、設定部130によって割り当てられたボリュームが外部サーバー300のストレージに共有することができるストレージモードとして設定する命令であることができる。また、サーバー管理者の制御命令は、例えば、割り当てられたボリュームがサーバー200のストレージとして使用することができるサーバーモードとして設定する命令であることができる。
【0079】
本願の一実施例によるサーバーモードは、インターナルディスク部120のストレージの中で設定部130によって割り当てられたボリュームをサーバー200のOS駆動またはアプリケーション駆動に使用することができる。また、ストレージモードは、サーバー200のインターナルディスク部120のストレージの中で設定部130によって割り当てられたボリュームを外部サーバー300のOS駆動またはアプリケーション駆動に使用することができる。但し、これに限定されるものではない。
【0080】
また、割り当てられたボリュームがストレージモードとしてターゲットドライバー部140によって設定された場合、外部サーバー300の制御によってサーバー200の割り当てられたボリュームにアクセスすることができる。アクセスとは、例えば、データの入出力、格納及び使用を含むことができる。但し、これに限定されるものではない。即ち、サーバー200の割り当てられたボリュームをストレージモードとして設定する場合において、外部サーバー300のストレージとして活用することができる。
【0081】
一方、本願の一実施例によるターゲットドライバー部140は、サーバー200管理者の制御命令に従って上述した設定部130が割り当てたボリュームをオートモードとしてさらに設定することができる。オートモードは、例えば、サーバー200の可用ディスクの容量が少ない場合、サーバー200は、アプリケーションを稼働する時に顕著にデータ処理速度が遅くなり、少ない容量にデータを読み取り/書き込むため、ハード過負荷の原因により頻繁な故障を誘発することを防止するためのモードであることができる。
【0082】
オートモードは、例えば、サーバー200のストレージ可用量がサーバー200の管理者が設定した設定値より少ない場合において、サーバー200に割り当てる外部サーバー300のストレージをストレージモードとして自動で設定し、外部サーバー300のストレージにサーバー200がアクセス可能にするモードであることができる。
【0083】
他の実施例としてオートモードは、例えば、外部サーバー300のストレージ可用量が外部サーバー300の管理者が設定した設定値より少ない場合において、外部サーバー300に割り当てるサーバー200のストレージをストレージモードとして自動で設定し、サーバー200のストレージに外部サーバー300がアクセス可能にするモードであることができる。
【0084】
また、オートモードは、例えば、サーバー200の可用ストレージが設定値より少ない場合に、サーバー200のボリュームの中でストレージモードであるボリュームをサーバーモードに切り替えて可溶ストレージとして設定することができる。一方、サーバー200の管理者は、オートモードが適用される最大限のボリューム制限を設定することができる。
【0085】
即ち、オートモードは、サーバー200の可溶ストレージが管理者が設定した設定値より少なくなる場合、外部サーバー300のストレージをストレージモードとして設定するか、サーバー200のストレージモードにあるボリュームをサーバーモードに切り替えてサーバー200の可用ストレージを拡張してデータ処理速度を増加させ、サーバー過負荷を防止することができる。但し、これに限定されるものではない。
【0086】
ターゲットコア部150は、ストレージモード、サーバーモード及びオートモードなどによるSCSI命令を処理してターゲットドライバー部140とインターナルディスク部120の区間データをルーティングすることができる。例えば、ターゲットドライバー部140は、SCSIプロトコルを具現してinitiatorと通信し、ローカルストレージ領域をターゲットコア部150に提供してサーバー200をTarget deviceで具現することができる。
【0087】
本願の一実施例により、ターゲットコア部150は、SCSI装置、ブロックレベル装置、ファイルまたはRaidコントローラーを含むことができる。まとめると、ターゲットコア部150は、ターゲットドライバー部140を通じてSCSIの命令語をSCSI中間水準で伝達することができる。
【0088】
本願の一実施例によると、本モジュール100のターゲットドライバー部140は、例えば、ターゲットを呼び出して当該テンプレートをターゲットコア部150に登録することで、ターゲットコア部150に登録されたテンプレートを通じて、ターゲットドライバー部140は進入点を確認することができ、データにアクセス可能にすることができる。但し、これに限定されるものではない。
【0089】
NIC部160は、本モジュール100に装着され、他のシステムとネットワーク連結をすることができる。本願の一実施例による本モジュール100は、サーバー間ネットワークではなく、最も低い物理段階における通信を提示してネットワークのトラフィック衝突問題を解決することができることが自明である。但し、NIC部160は、例えば、ストレージ及びリソースの共有だけでなく、システムのOS及びアプリケーションの駆動のためのネットワークを連結するための一手段として装着されることができる。
【0090】
図3は、本願の一実施例による本モジュール100のドライバー及びSCSI下位システム間の相互作用を示した図面である。
【0091】
図3を参照すると、本願の一実施例による外部サーバー300は、Fiber Channelなどを通じてHBAカード部110と連結されることができる。外部サーバー300(initiator)は、Fiber Channelを通じてモジュールのHBAカード部110にSCSI命令語を伝達することができ、このように伝達されたSCSI命令語は、ターゲットドライバー部140に伝達され、ターゲットドライバー部140は、設定部130によって割り当てられたボリュームのLUN設定された進入点をテンプレートに登録し、ターゲットコア部150は、ターゲットドライバー部140と設定部130間のデータをルーティングすることができる。
【0092】
装置類型特定ドライバー部170は、ターゲットコア部150に入って来るデータ要請を分析し、媒介変数を決めることができ、それから多様な類型の装置を特定し、ターゲットコア部150のデータルーティングを補助することができる。上記多様な類型の装置は、例えば、設定部130によって割り当てられたボリュームであることができ、インターナルディスク部120のディスクであることができる。但し、これに限定されるものではない。
【0093】
本願の一実施例による本モジュール100の装置類型特定ドライバー部170は、ターゲットコア部150のデータ要請の分析を補助することができる。また、装置類型特定ドライバー部170は、Device(backend) handle driver、装置類型特定ドライバーまたはdevハンドラーと命名されることができるが、これに限定されるものではない。
【0094】
図4は、本願の一実施例による本モジュール100がサーバーに装着される例示図面である。
【0095】
図4を参照すると、本モジュール100は、サーバー200内部に装着されることができる。例えば、本モジュール100は、サーバー200のメインボードに装着されることができる。但し、これに限定されるものではない。従って、本モジュール100は、サーバー200の内部に装着可能であるだけでなく、外部に装着可能なことは、通常の技術者が容易に理解できるであろう。
【0096】
図5は、本願の一実施例による本モジュール100の内部構成及び連結を示した図面である。
【0097】
図5を参照すると、本願の一実施例によって、外部サーバー300と本モジュール100は、例えばFiber Channelで連結されることができる。だけでなく、外部サーバー300と本モジュール100は、SAN switch40とFiber Channelで連結されることができ、Network S/W41とiSCSiで連結されることができる。但し、これに限定されるものではない。
【0098】
また、
図5を参照すると、Fiber channelとHBAカード部110との連結及びiSCSIとNIC部160との連結を通じて連結された外部サーバー300と中央処理手段42が通信されることができる。中央処理手段42は、設定部130、ターゲットドライバー部140、ターゲットコア部150及び装置類型特定ドライバー部170を含むことができる。
【0099】
本願の一実施例によると、インターナルディスク部120は、複数個の格納装置43であることができる。格納装置43は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)及びSSHD(Solid State Hybrid Drive)を含むことができる。好ましくは、フラッシュメモリ基盤のSSD(Solid State Drive)であることができるが、これに限定されるものではない。
【0100】
また、本願の一実施例によるインターナルディスク部120は、Raidカードを追加で具備し、格納装置43の装着可能な数量を増やすことができる。
【0101】
図6は、本願の一実施例による本モジュール100がサーバーに装着され、ブロックレベルストレージ及びリソースの共有を理解しやすく説明するための図面である。
【0102】
図6を参照すると、本願の一実施例によって本モジュール100が装着されたサーバー200は、サーバー管理者の制御命令に応じて、インターナルディスク部120のストレージを複数個のボリュームで設定部130を通じて割り当てることができ、このような複数個のボリュームのうち一部をターゲットドライバー部140を通じてサーバーモードまたはストレージモードとして設定することができる。
【0103】
本願の一実施例によって、サーバー管理者が複数個のボリュームのうち一部をサーバー200のストレージとして使用するための制御命令を下すと、本モジュール100は、複数個のボリュームのうち一部をサーバー200のストレージとして活用できるように割り当て60可能である。また、サーバー管理者が外部サーバー300のストレージとして使用するための制御命令を下すと、本モジュール100は、複数個のボリュームのうち一部を外部サーバー300のストレージとして活用できるように割り当て61可能である。外部サーバー300への割り当て61の場合、外部サーバー300は、自分の制御に従って割り当てられたストレージを自分のストレージとして活用することができる。但し、これに限定されるものではない。
【0104】
具体的に、サーバーモードの場合、サーバー管理者の制御命令に応じて、設定部130によって複数個に割り当てられたボリュームは、ターゲットコア部150によってターゲットドライバー部140とルーティングされ、HBAカード部110を通じて外部サーバー300にストレージを活用可能にすることができる。
【0105】
ストレージモードの場合、サーバー管理者の制御命令に応じて、設定部130によって複数個に割り当てられたボリュームはターゲットコア部150によってOSドライバーとルーティングされてサーバー200にストレージを提供することができる。但し、これに限定されるものではない。
【0106】
図7は、本願の一実施例による本モジュール100がサーバーに装着され、サーバーのモードを変更するかボリュームを制御する例示概念である。
【0107】
図7を参照すると、論理的ボリューム管理者(LVM)70は、サーバー管理者の制御命令を効率的に管理してサーバーのストレージを複数個のボリュームに割り当てるか、割り当てられたボリュームのモードを変更するなどの制御命令をすることができる。例えば、外部サーバー300にストレージを共有するためのサーバーモードの活性化状態が見られる構成71は、Enabledの場合、サーバーモードであることができ、diabledの場合、サーバー200のストレージとして活用可能なストレージモードであることができる。但し、これに限定されるものではなく、本図面は本願の一実施例としての例示図面である。
【0108】
また、論理的ボリューム管理者(LVM)70は、設定部130によって割り当てられた複数個のボリュームをサーバー管理者の制御命令に応じてLUN設定をすることができる。具体的に、サーバー管理者の制御命令に応じて、設定部130がLUN設定可能にすることができる。LUNについては通常の技術者に自明に知られた事実であるため、具体的な説明は省略する。
【0109】
本願の一実施例による、本モジュール100は、サーバーに装着された単一プラットホームであることができる。従って、複雑性が減り、維持管理が容易であり、必要に応じて、インターナルディスク部120にRaidカードを装着し、追加で格納装置43を具備することで拡張することができる。また、後述するアキテクチャーに基づいてサーバー200を終了せずに格納装置43を追加することができる効果を有している。
【0110】
また、本モジュール100は、インターナルディスク部120を含んでいるため、ブロックレベルホスト以外に連結された別途のSAN switchあるいはNetwork switchを活用して他のシステムと連結することができる。
【0111】
また、本モジュール100は、サーバーに装着され、基本的なコンピュータパワーが提供され、必要なCPUとリソースのみを共有して、実質的なディスクIOはHBAカード部110を通じてインターナルディスク部120の格納空間にブロックレベルとして格納されることができる。即ち、基本的なブロックレベルの拡張性とコンピュータパワーを混用することができる。但し、これに限定されるものではない。
【0112】
また、本願の一実施例による本モジュール100は、例えば、サーバーに装着され、基本的にサーバー内部の自体的なアプライアンス駆動が可能であり、余裕のあるストレージを外部サーバーまたはシステムに共有することで効率的なストレージ活用をすることができる。
【0113】
本願の一実施例によって、本モジュール100が装着されたサーバー200のアキテクチャーは、先ず、自体システムにプラグインフラッシュドライブで起動することができ、全ての構成(バイナリー、ファイル、ディレクトリなど)は、起動時にメモリーにロードされることができる。また、フラッシュドライブが故障すれば、故障したフラッシュドライブが処理(交替)できるまでシステムが引き続き正常に作動することができる。
【0114】
また、システム使用に必要な構成、ファイル及び設定がファイルシステムに自動同期化され、終了及び再起動時またはファイルシステム及びディスクの大きさログは、自体フレッシュドライブに保管されることができる。
【0115】
また、自体的なブートローダーが駆動され、自動Block Levelストレージカーネルがロードされることができる。その後、臨時ファイルシステム(RAM)を初期化した後、ルートイメージを新たに作成された臨時ファイルシステムで抽出することができる。次のストレージコントローラー制御がinitiatorカーネルに伝達され、rc/initスクリプトが実行されることができる。但し、これに限定するものではない。
【0116】
本願の一実施例による本モジュール100を利用したサーバーシステムは、基本的にSAN(ブロックストレージを提供するサーバー)ブロックを支援するシステムであることができる。即ち、全てのサーバーをSANシステムに変換可能なソフトウェアであり、この方式は、ソフトウェア基盤のストレージと命名することができる。但し、これに限定されるものではない。
【0117】
また、本モジュール100が装着されたサーバー200は、特別なハードウェアが必要なく、OSが搭載され、アプリケーション駆動が可能であり、他のOSストレージ階層と結合することができる。
【0118】
図8は、本願の一実施例によるサーバーに装着され、ブロックレベルストレージ及びリソースを共有するモジュールの使用定義ブロック図である。
【0119】
図8を参照すると、サーバー200または外部サーバー300、すなわち、initiatorで要請した作業命令に応じたターゲットドライバー部140、ターゲットコア部150及び設定部130間のプロセスが分かる。但し、これは例題であり、これに限定されるものではない。
【0120】
本願の一実施例による本モジュール100を利用したサーバー間共有システムは、サーバーに装着され、ブロックレベルストレージ及びリソースを共有するモジュールが装着された第1サーバー部と、サーバーに装着され、ブロックレベルストレージ及びリソースを共有するモジュールが装着された第2サーバー部とを含み、前記第1サーバー部及び前記第2サーバー部は、相互TxとRxが連結されたものであり、管理者の制御命令に応じて前記第1サーバー部または前記第2サーバー部の可用ストレージボリュームを他のサーバー部の可用ストレージに割り当てることができる。
【0121】
図9は、本願の一実施例による本モジュール100を利用したサーバー間で環状で連結され、ストレージを共有するシステムの概略的な構成図である。
【0122】
図9を参照すると、本願の一実施例により、本モジュール100を利用したサーバー間で環状で連結され、ストレージを共有するシステムは、サーバーに装着され、ブロックレベルストレージ及びリソースを共有するモジュールが装着された第1サーバー部と、サーバーに装着され、ブロックレベルストレージ及びリソースを共有するモジュールが装着された第2サーバー部と、サーバーに装着され、ブロックレベルストレージ及びリソースを共有するモジュールが装着された複数個のサーバー部とを含み、それぞれのサーバー部間のTx及びRxが環状で相互連結され、運営者の制御命令に応じて可用ストレージボリュームを他のサーバー部の可用ストレージに割り当てることができる。
図9は、サーバー部が全3個を例示的に示したが、通常の技術者は、サーバー部間で複数個で連結可能なことが分かるであろう。
【0123】
また、それぞれのサーバー部間でTx及びRxが環状で相互連結されるということは、例えば、全3個のサーバー部があり、それぞれ第1サーバー部、第2サーバー部及び第3サーバー部と命名されるとすると、第1サーバー部のTx端と第2サーバー部のRx端が連結され、第2サーバー部のTx端と第3サーバー部のRx端が連結され、第3サーバー部のTx端と第1サーバー部のRx端が連結されることができる。
【0124】
この場合、第1サーバ部は、第2サーバ部及び第3サーバ部のストレージにネットワークの連結なしで接金することができる。 同様に複数のサーバ部が存在する場合にも適用できる。
【0125】
図10は、本願の一実施例による本モジュール100を利用したサーバー間でSAN Switchを通じて連結され、ストレージを共有するシステムの概略的な構成図である。
【0126】
図10を参照すると、本願の一実施例による本モジュール100を利用したサーバー間のSAN Switchを通じて連結され、ストレージを共有するシステムは、サーバーに装着され、ブロックレベルストレージ及びリソースを共有するモジュールが装着された複数個のサーバー部を含み、それぞれのサーバー部は、Fiber Channelを通じてSAN switch40に連結され、運営者の制御命令に応じて可用ストレージボリュームを他のサーバー部の可用ストレージに割り当てることができる。
【0127】
即ち、上述した本願の一実施例である環状で連結された本モジュール100が装着されたサーバーが多くなる場合、SAN Switch40を活用して、さらに多くのサーバー部間のストレージを共有可能にすることができる。但し、これに限定されるものではない。
【0128】
SAN switch40は、通常の技術者に自明な技術であるので、具体的な説明は省略する。
【0129】
前述した本願の説明は、例示のためのものであり、本願が属する技術分野の通常の知識を有する者は、本願の技術的思想や必須的な特徴を変更せずに他の具体的な形態に容易に変形可能なことが理解できるであろう。従って、以上で記述した実施例は、全ての面で例示的なものであり、限定的なものではないと理解すべきである。例えば、単一型で説明されている各構成要素は、分散して実施してもよく、同様に、分散して説明されている構成要素も、結合した形態で実施してもよい。
【0130】
本願の範囲は、上記詳細な説明よりも後述する特許請求の範囲によって表され、特許請求の範囲の意味及び範囲、並びにその均等概念から導出される全ての変更又は変形された形態が本願の範囲に含まれると解釈されるべきである。