JP2018018272A - Control apparatus and information processing system - Google Patents
Control apparatus and information processing system Download PDFInfo
- Publication number
- JP2018018272A JP2018018272A JP2016147629A JP2016147629A JP2018018272A JP 2018018272 A JP2018018272 A JP 2018018272A JP 2016147629 A JP2016147629 A JP 2016147629A JP 2016147629 A JP2016147629 A JP 2016147629A JP 2018018272 A JP2018018272 A JP 2018018272A
- Authority
- JP
- Japan
- Prior art keywords
- type
- update
- operating system
- storage
- processing unit
- 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.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本発明は制御装置および情報処理システムに関する。 The present invention relates to a control device and an information processing system.
情報処理の分野では、電子装置(物理マシンや物理ホストと呼ぶことがある)上で、複数の仮想的なコンピュータ(仮想マシンや論理ホストと呼ぶことがある)を動作させる仮想化技術が利用されている。各仮想マシン上では、オペレーティングシステム(OS:Operating System)などのソフトウェアを実行できる。仮想化技術を利用する物理マシンは、複数の仮想マシンを管理するためのソフトウェアを実行する。例えば、ハイパーバイザと呼ばれるソフトウェアが、CPU(Central Processing Unit)の処理能力やRAM(Random Access Memory)の記憶領域を、演算のリソースとして複数の仮想マシンに割り振ることがある。 In the field of information processing, virtualization technology is used to operate multiple virtual computers (sometimes called virtual machines or logical hosts) on electronic devices (sometimes called physical machines or physical hosts). ing. On each virtual machine, software such as an operating system (OS) can be executed. A physical machine that uses a virtualization technology executes software for managing a plurality of virtual machines. For example, software called a hypervisor may allocate a processing capacity of a CPU (Central Processing Unit) and a storage area of a RAM (Random Access Memory) to a plurality of virtual machines as computing resources.
仮想化技術は、種々のシステムに利用され得る。一例として、ユニファイド型ストレージが挙げられる。ユニファイド型ストレージは、ブロックアクセスおよびファイルアクセスの両方を受け付け可能なストレージである。ユニファイド型ストレージでは、仮想化技術を用いて、ブロックアクセス用のOS、および、ファイルアクセス用のOSを並列に実行することで、両方のアクセスを行えるようにすることがある。 Virtualization technology can be used in various systems. An example is unified storage. Unified storage is storage that can accept both block access and file access. In the unified storage, both access may be made possible by executing a block access OS and a file access OS in parallel using a virtualization technique.
ところで、電子装置を制御するOSのプログラム(ファームウェアのプログラムを含む)は、機能や性能向上のために更新されることがある。当該更新はOSの再起動を伴うことが多い。OSの再起動中は業務が中断され得る。そこで、電子装置におけるプログラムの更新方法が考えられている。 By the way, an OS program (including a firmware program) for controlling an electronic device may be updated to improve functions and performance. The update often involves restarting the OS. The business can be interrupted while the OS is restarted. Therefore, a method for updating a program in an electronic device has been considered.
例えば、クラスタ構成を持つ記憶制御装置において、入出力の中断時間を短くするマイクロプログラムの交換方法の提案がある。この提案では、記憶制御装置は、クラスタA面をオフラインにしてA面のマイクロプログラムを交換し、次に、クラスタB面をオフラインにしてクラスタA面をオンラインにする。その後、クラスタB面のマイクロプログラムを交換し、クラスタB面をオンラインにする。 For example, in a storage control device having a cluster configuration, there is a proposal of a microprogram replacement method that shortens the input / output interruption time. In this proposal, the storage controller takes the cluster A plane offline and replaces the micro program on the A plane, and then takes the cluster B plane offline and brings the cluster A plane online. Thereafter, the micro program on the cluster B surface is exchanged to bring the cluster B surface online.
また、ホスト計算機により、制御プログラム更新のために再起動中である記憶制御装置を検出すると、当該記憶装置以外の記憶制御装置を経由して、論理記憶装置へアクセスするようアクセス先を切り替える提案もある。 In addition, when the host computer detects a storage control device that is being restarted for control program update, there is also a proposal to switch the access destination to access the logical storage device via a storage control device other than the storage device. is there.
更に、ディスクアレイ装置のディスクアレイ制御部または入出力装置の交換後に、交換後の装置が保持するファームウェアによる誤作動を防ぐ提案もある。この提案では、ディスクアレイ装置は、起動時に、ディスクアレイ制御部および入出力装置それぞれに記録されているファームウェアのうち、以前動作していたファームウェアを選択して実行する。 There is also a proposal to prevent malfunctions caused by firmware held in the replaced device after the disk array control unit or the input / output device of the disk array device is replaced. In this proposal, the disk array device selects and executes firmware that has been operating before, among the firmware recorded in the disk array control unit and the input / output device, at the time of startup.
複数の種類のOSを並列に実行可能な電子装置を複数含むシステムにおいて、OS更新の所要時間が問題となる。例えば、全ての電子装置の全てのOSを一斉に更新することも考えられる。しかし、ある種類のOSでは、一斉に起動させると、他の電子装置上の同種のOSとの連携用の相互通信の待ち合わせにより余計な時間がかかり、システム全体が再開するまでの時間が過大になるおそれがある。 In a system including a plurality of electronic devices capable of executing a plurality of types of OSs in parallel, the time required for OS update becomes a problem. For example, it is conceivable to update all the OSs of all the electronic devices at once. However, when a certain type of OS is started all at once, extra time is required due to waiting for mutual communication for cooperation with the same type of OS on other electronic devices, and the time until the entire system is restarted is excessive. There is a risk.
これに対し、複数の種類のOSの更新を、1つの電子装置ずつ順番に行うことも考えられる。しかし、後者の方法では、再起動の所要時間が比較的長い別の種類のOSが存在する場合に、当該OSの再起動が完了するまで次の電子装置のOS更新に進めず、システム内の全OSの更新が完了するまでに時間がかかるおそれがある。 On the other hand, it is also conceivable to update a plurality of types of OSs one by one in order. However, in the latter method, when there is another type of OS having a relatively long restart time, the OS update of the next electronic device cannot proceed until the restart of the OS is completed, and the system is not updated. There is a possibility that it takes time to complete the update of all the OSs.
1つの側面では、本発明は、システムのOS更新を高速化することを目的とする。 In one aspect, the present invention aims to speed up the OS update of the system.
1つの態様では、複数の種類のオペレーティングシステムを並列に実行可能な複数の電子装置の制御を行う制御装置が提供される。この制御装置は、記憶部と処理部とを有する。記憶部は、複数の電子装置におけるオペレーティングシステムの更新状況をそれぞれ記憶する。処理部は、第1の種類のオペレーティングシステムの更新を、記憶部に記憶された更新状況に基づいて、1つの電子装置ずつ順番に実行させ、複数の電子装置の第1の種類のオペレーティングシステムの更新が完了した後に、第1の種類のオペレーティングシステムよりも起動時間が長い第2の種類のオペレーティングシステムの更新を、複数の電子装置に対して一斉に実行させる処理を行う。 In one aspect, a control device is provided that controls a plurality of electronic devices capable of executing a plurality of types of operating systems in parallel. The control device includes a storage unit and a processing unit. The storage unit stores update statuses of operating systems in a plurality of electronic devices. The processing unit causes the update of the first type of operating system to be executed sequentially for each electronic device based on the update status stored in the storage unit, and the first type of operating system of the plurality of electronic devices is updated. After the update is completed, a process of causing the plurality of electronic devices to execute the update of the second type operating system having a longer startup time than the first type operating system is performed.
また、1つの態様では、情報処理システムが提供される。この情報処理システムは、複数の電子装置と制御装置とを有する。電子装置は、複数の種類のオペレーティングシステムを並列に実行可能である。制御装置は、第1の種類のオペレーティングシステムの更新を、1つの電子装置ずつ順番に実行させ、複数の電子装置の第1の種類のオペレーティングシステムの更新が完了した後に、第1の種類のオペレーティングシステムよりも起動時間が長い第2の種類のオペレーティングシステムの更新を、複数の電子装置に対して一斉に実行させる処理を行う。 In one aspect, an information processing system is provided. This information processing system includes a plurality of electronic devices and a control device. The electronic device can execute a plurality of types of operating systems in parallel. The control device sequentially updates the first type of operating system one by one, and after the update of the first type of operating system of the plurality of electronic devices is completed, the first type of operating system is updated. The second type operating system having a longer startup time than the system is updated at the same time for a plurality of electronic devices.
1つの側面では、システムのOS更新を高速化できる。 In one aspect, the OS update of the system can be accelerated.
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の情報処理システムを示す図である。情報処理システム1は、複数の電子装置を含むシステムである。電子装置は、複数の種類のOSを並列に実行可能である(マルチOSで動作する)。電子装置は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)などを含むストレージへのデータアクセスを制御するストレージ制御装置でもよい。電子装置は、マルチOSによりブロックアクセスとファイルアクセスとを受け付け可能なユニファイド型ストレージを実現してもよい。また、電子装置は、マルチOSにより種々の業務サービスをユーザに提供する情報処理装置でもよい。
Hereinafter, the present embodiment will be described with reference to the drawings.
[First Embodiment]
FIG. 1 illustrates an information processing system according to the first embodiment. The
情報処理システム1は、制御装置10およびサブシステム20,30,40を有する。制御装置10は、情報処理システム1に含まれる各電子装置で実行される複数の種類のOSの更新を制御する。サブシステム20,30,40は、2つの電子装置をそれぞれ含む。サブシステム20は、電子装置21,22を含む。サブシステム30は、電子装置31,32を含む。サブシステム40は、電子装置41,42を含む。1つのサブシステム内の2つの電子装置は、冗長化されており、一方の電子装置が停止あるいは再起動していても、他方の電子装置を用いて業務を継続できる。ここで、制御装置10は、後述するように、何れかの電子装置(例えば、電子装置21)に内蔵されるデバイスでもよい。
The
制御装置10は、記憶部11および処理部12を有する。記憶部11は、RAMなどの揮発性記憶装置でもよいし、フラッシュメモリなどの不揮発性記憶装置でもよい。処理部12は、CPU、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得る。処理部12はプログラムを実行するプロセッサでもよい。プロセッサは、複数のプロセッサの集合(マルチプロセッサ)も含み得る。
The
また、電子装置21は、記憶部21aおよび処理部21bを有する。記憶部21aは、記憶部11と同様に、RAMなどの揮発性記憶装置やフラッシュメモリなどの不揮発性記憶装置を含む。記憶部21aは、電子装置21における第1の種類のOSのプログラム、および、第2の種類のOSのプログラムを記憶する。
Further, the
処理部21bは、処理部12と同様に、プログラムを実行するプロセッサを含む。処理部21bは、記憶部21aに記憶された各プログラムを実行することで、電子装置21上に、第1の種類のOS、および、第2の種類のOSを並列に動作させる。ここで、電子装置21では、OS更新を行うために、記憶部21aに更新後のプログラムを格納し、格納したプログラムを用いて、各種のOSを再起動させる作業が発生する。電子装置22,31,32,41,42も電子装置21と同様に記憶部および処理部を有している。
Similar to the
ここで、第1の種類のOSは、電子装置間の連携を支援する機能を担う。このため、第1の種類のOSは、起動時に、他の電子装置上の第1の種類のOSと相互に通信する処理を含む。この場合、複数の電子装置上で、第1の種類のOSを複数一斉に起動させると、相互通信の待ち合わせが多発して、電子装置間の通信が遅延し、第1の種類のOSを利用可能になるまでに時間がかかることがある。この遅延は、システム内の電子装置の数が多いほど増大する。システムによっては、第1の種類のOSに対し、監視装置(図示を省略)を用いて死活監視を行うこともあり、死活監視の応答制限時間に第1の種類のOSの利用開始が間に合わずに、該当の電子装置がシステム上で利用不可と誤判断されることもある。なお、第2の種類のOSには、第1の種類のOSのように、電子装置間の連携支援の役割はない。 Here, the first type OS has a function of supporting cooperation between electronic devices. For this reason, the first type OS includes a process of mutually communicating with the first type OS on another electronic device at the time of startup. In this case, if a plurality of first-type OSs are simultaneously activated on a plurality of electronic devices, a lot of mutual communication waits occur, communication between the electronic devices is delayed, and the first-type OS is used. It may take some time before it becomes possible. This delay increases with the number of electronic devices in the system. Depending on the system, the first type OS may be monitored for life and death using a monitoring device (not shown), and the use of the first type OS cannot be started in time for the response time limit for life and death monitoring. In addition, the electronic device may be erroneously determined to be unavailable on the system. Note that, unlike the first type OS, the second type OS has no role of cooperation support between electronic devices.
また、第1の種類のOSと、第2の種類のOSとでは、起動の所要時間(起動時間と称することがある)に差がある。第1の種類のOSの起動時間はaである。第2の種類のOSの起動時間はbである。起動時間bは、起動時間aよりも長い(b>a)。すなわち、起動時間aは、起動時間bよりも短い。例えば、ユニファイド型ストレージの例でいえば、第1の種類のOSはブロックアクセス用のOSに相当し、第2の種類のOSはファイルアクセス用のOSに相当する。この場合、起動時間aは、数秒〜十秒程度であるのに対し、起動時間bは、数十秒〜数分程度と、起動時間a,bの差が非常に大きくなることがある。 In addition, there is a difference in startup time (sometimes referred to as startup time) between the first type OS and the second type OS. The startup time of the first type OS is a. The startup time of the second type OS is b. The activation time b is longer than the activation time a (b> a). That is, the activation time a is shorter than the activation time b. For example, in the case of unified storage, the first type of OS corresponds to an OS for block access, and the second type of OS corresponds to an OS for file access. In this case, the activation time a is about several seconds to ten seconds, whereas the activation time b is about several tens of seconds to several minutes, and the difference between the activation times a and b may be very large.
情報処理システム1において、制御装置10は、次のように、各電子装置における複数のOSの更新を制御する。まず、処理部12は、サブシステム20,30,40内の6つの電子装置を次のようにグループ分けする。処理部12は、電子装置21,31,41を第1グループとする。処理部12は、電子装置22,32,42を第2グループとする。こうすれば、一方のグループに属する各電子装置でOS更新中であっても、他のグループに属する各電子装置により業務を継続できるからである。
In the
以下、第1グループに属する電子装置21,31,41の各OSを更新する手順を説明する。ただし、第2グループに属する電子装置22,32,42の各OSを更新する手順も第1グループに対する手順と同様である。ここで、電子装置21,31,41における第1の種類のOS、および、第2の種類のOSを次のように符号により区別する。電子装置21は、第1の種類のOSx1、および、第2の種類のOSy1を有する。電子装置31は、第1の種類のOSx2、および、第2の種類のOSy2を有する。電子装置41は、第1の種類のOSx3、および、第2の種類のOSy3を有する。
Hereinafter, a procedure for updating each OS of the
記憶部11は、電子装置21,31,41における各OSの更新状況をそれぞれ記憶する。更新状況は、電子装置21,31,41における第1の種類のOSx1,x2,x3の更新の進捗の情報を含む。また、記憶部11は、1つのサブシステムに属する第1の電子装置と第2の電子装置を示す情報をサブシステム20,30,40に対して記憶する。例えば、記憶部11は、サブシステム20であれば、サブシステム20の識別情報に対して電子装置21,22の識別情報を対応付けて記憶する。
The
処理部12は、第1の種類のOSx1,x2,x3の更新を、記憶部11に記憶された更新状況に基づいて、1つの電子装置ずつ順番に実行させる。例えば、処理部12は、電子装置21の第1の種類のOSx1を更新する(ステップS1)。処理部12は、電子装置31の第1の種類のOSx2を更新する(ステップS2)。処理部12は、電子装置41の第1の種類のOSx3を更新する(ステップS3)。ステップS1,S2,S3では、処理部12は第1の種類のOSx1,x2,x3を、電子装置21,31,41により個別に、順番に、更新させているともいえる。
The
ここで、OSの更新は、前述のように、電子装置21,31,41が備える記憶部に更新後のプログラムを格納し、更新後のプログラムにより、電子装置21,31,41において該当のOSを再起動させることで行われる。処理部12は、該当の電子装置が備える記憶部への更新後のOSのプログラムの格納、および、該当のOSの再起動を、ステップ毎に実行するように電子装置21,31,41を制御してもよい。または、処理部12は、ステップS1の前に、電子装置21,31,41の各記憶部に更新後のOSのプログラムを格納し、ステップS1,S2,S3では、第1の種類のOSx1,x2,x3の再起動のみを行うように電子装置21,31,41を制御してもよい。
Here, as described above, the update of the OS is performed by storing the updated program in the storage unit included in the
処理部12は、複数の電子装置の第1の種類のOSの更新が完了した後に、第1の種類のOSよりも起動時間が長い第2の種類のOSの更新を、複数の電子装置に対して一斉に実行させる。具体的には、処理部12は、電子装置21,31,41の第1の種類のOSx1,x2,x3の更新が完了した後に、第2の種類のOSy1,y2,y3の更新を、電子装置21,31,41に対して一斉に実行する(ステップS4)。ステップS4では、処理部12は第2の種類のOSy1,y2,y3を、電子装置21,31,41により一斉に更新させているともいえる。
After completing the update of the first type OS of the plurality of electronic devices, the
なお、処理部12は、電子装置21,31,41が備える各記憶部への更新後のOSのプログラムの格納、および、該当のOSの再起動を、ステップS4において行うように電子装置21,31,41を制御してもよい。または、処理部12は、ステップS4の前に、電子装置21,31,41の各記憶部に更新後のOSのプログラムを格納し、ステップS4では、第2の種類のOSy1,y2,y3の再起動のみを行うように電子装置21,31,41を制御してもよい。
The
このように、処理部12は、比較的起動時間が短い第1の種類のOSについては、1つずつ順番に更新し、比較的起動時間が長い第2の種類のOSについては、一斉に更新することで、電子装置21,31,41における複数のOSの更新を高速化できる。具体的には、第1の種類のOSx1,x2,x3については、1つずつ順番に更新することで、第1の種類のOSの一斉起動を避けることができ、電子装置間の通信の待ち合わせによる処理遅延を軽減できる。また、第2の種類のOSy1,y2,y3については、一斉に更新することで、1つずつ順番に更新するよりも、更新の所要時間を短縮できる。
In this way, the
処理部12は、記憶部11に記憶されたサブシステムと当該サブシステムに属する電子装置の対応関係に基づいて、第1グループ、第2グループの順にOS更新を行う。すなわち、処理部12は、電子装置21,31,41における第1の種類のOSx1,x2,x3、および、第2の種類のOSy1,y2,y3の更新が全て完了した後は、第2グループに属する電子装置22,32,42のOS更新を同様にして行う。処理部12は、第1グループに属する電子装置21,31,41により業務を継続しながら、第2グループに属する電子装置22,32,42の第1の種類のOS、および、第2の種類のOSを更新できる。この場合も、処理部12は、電子装置22,32,42の各OSの更新を高速に行える。こうして、制御装置10は、情報処理システム1の各電子装置における各OSの更新を高速化できる。
The
なお、制御装置10は、前述のように、何れかの電子装置に内蔵されてもよい。例えば、電子装置21が制御装置10を内蔵する場合、電子装置21が、制御装置10の機能を発揮することができる。あるいは、処理部21bが、処理部12の機能を担ってもよい。
Note that the
次に、情報処理システム1の一例として、ストレージシステムを挙げて、制御装置10による機能をより詳細に説明する。
[第2の実施の形態]
図2は、第2の実施の形態のストレージシステムを示す図である。第2の実施の形態のストレージシステムは、ストレージ装置N0,N1,・・・,Nn(nは正の整数)を含む。すなわち、第2の実施の形態のストレージシステムは、n+1個のストレージ装置を含む。業務サーバ300,400は、ストレージ装置N0,N1,・・・,Nnに格納されたデータにアクセスし、ユーザの業務処理を実行するサーバコンピュータである。
Next, a storage system is taken as an example of the
[Second Embodiment]
FIG. 2 illustrates a storage system according to the second embodiment. The storage system of the second embodiment includes storage devices N0, N1,..., Nn (n is a positive integer). That is, the storage system according to the second embodiment includes n + 1 storage devices. The
ストレージ装置N0,N1,・・・,Nnおよび業務サーバ300は、SAN(Storage Area Network)50に接続されている。ストレージ装置N0,N1,・・・,Nnおよび業務サーバ400は、LAN(Local Area Network)60に接続されている。
The storage devices N0, N1,..., Nn and the
ストレージ装置N0,N1,・・・,Nnは、複数のHDDを備え、複数のHDDを用いて、業務サーバ300,400が業務処理に用いるデータを記憶する。ストレージ装置N0,N1,・・・,Nnは、HDDに代えて、あるいは、HDDと併せてSSDなどの他の種類の記憶装置を備えてもよい。
The storage devices N0, N1,..., Nn include a plurality of HDDs, and store data used by the
ストレージ装置N0,N1,・・・,Nnは、SAN50経由でのブロックアクセス、および、LAN60経由でのファイルアクセスの両方を受け付け可能なユニファイド型ストレージである。以下では、ストレージ装置N0を主に例示して説明するが、ストレージ装置N1,・・・,Nnも、ストレージ装置N0と同様の要素を有する。
The storage devices N0, N1,..., Nn are unified storages that can accept both block access via the
ストレージ装置N0は、コントローラモジュール(CM:Controller Module)100,100aおよびドライブエンクロージャ(DE:Drive Enclosure)200,200aを有する。CM100,100aは、1つの筐体に収納される。CM100,100aを収納する1つの筐体をコントローラエンクロージャ(CE:Controller Enclosure)と称することがある。すなわち、ストレージ装置N0は、1つのCEを有しているともいえる。1つのCEを第1の実施の形態の1つのサブシステムの一例と考えてもよい。また、CM100,100aは、第1の実施の形態の電子装置21,22の一例である。更に、CM100,100aは、第1の実施の形態の制御装置10の機能も含む。
The storage device N0 includes controller modules (CM) 100 and 100a and drive enclosures (DE) 200 and 200a. The
CM100,100aは、DE200,200aに収納されたHDDに対するデータアクセスを制御するストレージ制御装置である。DE200,200aは、複数のHDDを収納するための筐体である。例えば、ストレージ装置N0では、CM100,100aおよびDE200,200aを冗長構成として、何れかの障害時にも運用を継続可能である。
The
業務サーバ300は、ストレージ装置N0,N1,・・・,Nnに格納されたデータにアクセスする。業務サーバ300は、例えば、SAN50を介してストレージ装置N0,N1,・・・,Nnに対するブロックアクセスを行う。
The
業務サーバ400は、ストレージ装置N0,N1,・・・,Nnに格納されたデータにアクセスする。業務サーバ400は、例えば、LAN60を介してストレージ装置N0,N1,・・・,Nnに対するファイルアクセスを行う。
The
ここで、CM100は、DE200(あるいは、DE200a)に搭載されている複数のHDDを組み合わせて、RAID(Redundant Arrays of Inexpensive Disks)の技術により論理ボリュームを作成する。論理ボリュームは、CM100が業務サーバ300,400に提供する記憶領域の1つの単位である。論理ボリュームには論理ボリュームを識別する論理ユニット番号(LUN:Logical Unit Number)が割り当てられる。業務サーバ300は、LUNおよび論理ボリュームにおけるブロックのアドレス(LBA:Logical Block Address)を直接指定して、ストレージ装置N0に対するアクセスを行える。一方、業務サーバ400は、業務サーバ400およびストレージ装置N0のファイルシステムを介して、ストレージ装置N0の論理ボリュームに格納されたデータに対するアクセスを行える。
Here, the
このため、ストレージ装置N0では、ある論理ボリュームを業務サーバ300によるブロックアクセス用の論理ボリュームとし、別の論理ボリュームを業務サーバ400によるファイルアクセス用の論理ボリュームとすることができる。後者の場合、ストレージ装置N0は、例えば、NAS(Network Attached Storage)として利用可能であり、業務サーバ400に対するファイルサーバとして機能し得る。ストレージ装置N0は、ファイル共有を行うためのプロトコルとして、例えば、NFS(Network File System)やCIFS(Common Internet File System)などを用いることができる。
For this reason, in the storage apparatus N0, one logical volume can be used as a logical volume for block access by the
ストレージ装置N1,・・・,Nnも、ストレージ装置N0と同様に、業務サーバ300のブロックアクセス、および、業務サーバ400のファイルアクセスを受け付ける。
ストレージ装置N0,N1,・・・,Nnでは、ユニファイド型ストレージを実現するために、ブロックアクセス用のOS、および、ファイルアクセス用のOSの両方を並列に実行する。ストレージ装置N0,N1,・・・,Nnでは、両方のOSの更新を行う場合に、更新を効率的に行う機能を提供する。
Similarly to the storage device N0, the storage devices N1,..., Nn also accept block access of the
In the storage devices N0, N1,..., Nn, both the block access OS and the file access OS are executed in parallel to realize unified storage. The storage apparatuses N0, N1,..., Nn provide a function for efficiently performing the update when both OSs are updated.
図3は、CMのハードウェア例を示す図である。CM100は、プロセッサ101、RAM102、NVRAM(Non-Volatile RAM)103、CA(Channel Adapter)104、NA(Network Adapter)105、DI(Drive Interface)106、CM−IF(InterFace)107および媒体リーダ108を有する。各ユニットはCM100のバスに接続されている。CM100aもCM100と同様のハードウェアにより実現できる。
FIG. 3 is a diagram illustrating an example of CM hardware. The
プロセッサ101は、CM100の情報処理を制御する。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU、DSP、ASICまたはFPGAなどである。プロセッサ101は、CPU、DSP、ASIC、FPGAなどのうちの2以上の要素の組み合わせであってもよい。
The
RAM102は、CM100の主記憶装置である。RAM102は、プロセッサ101に実行させるOSのプログラムの少なくとも一部を一時的に記憶する。また、RAM102は、プロセッサ101による処理に用いる各種データを記憶する。
The
NVRAM103は、CM100の補助記憶装置である。NVRAM103は、例えば、不揮発性の半導体メモリである。NVRAM103は、OS(ファームウェアを含む)のプログラムや各種データなどを記憶する。
The
CA104は、SAN50を介して業務サーバ300と通信するための通信インタフェースである。例えば、CA104として、iSCSI(Internet Small Computer System Interface)や、ファイバチャネル(FC:Fibre Channel)などのインタフェースを用いることができる。
The
NA105は、LAN60を介して業務サーバ400と通信するための通信インタフェースである。例えば、NA105として、イーサネット(登録商標)のインタフェースを用いることができる。
The
DI106は、DE200,200aと通信するためのインタフェースである。例えば、DI106として、SAS(Serial Attached SCSI)などのインタフェースを用いることができる。
The
CM−IF107は、CM100aと接続するためのインタフェースである。また、CM−IF107は、他のストレージ装置のCM(図示を省略している)との通信にも用いられる。ここで、CM100は、CM−IF107を用いて、CM100aと連携してデータアクセスを行える。例えば、CM100を運用系、CM100aを待機系としてもよい。あるいは、CM100,100aの両方を運用系として、データアクセスを分散して行ってもよい。何れの場合も、一方の故障時に他方でデータアクセスを引き継ぐことができ、ユーザの業務が停止されることを防げる。
The CM-
媒体リーダ108は、可搬型の記録媒体91に記録されたプログラムやデータを読み取る装置である。記録媒体91として、例えば、フラッシュメモリなどの不揮発性の半導体メモリを使用することができる。媒体リーダ108は、例えば、プロセッサ101からの命令に従って、記録媒体91から読み取ったプログラムやデータを、RAM102やNVRAM103に格納することもできる。
The
DE200は、複数のHDDを有する。例えば、DE200は、HDD201,202203,204,205,206を有する。各HDDを用いて作成された論理ボリュームは共有領域として用いられる。共有領域に対して受け付けるアクセスの種類は、論理ボリューム毎に異なる。例えば、HDD201,202,203により作成される第1の論理ボリュームは、ブロックアクセス用の共有領域を提供する。一方、HDD204,205,206により作成される第2の論理ボリュームは、ファイルアクセス用の共有領域を提供する。なお、DE200もDE200aと同様に複数のHDDを備えている。前述のように、DE200,200aは、HDDに代えて、あるいは、HDDと併せて、SSDなどの他の記憶装置を備えてもよい。
The
図4は、業務サーバのハードウェア例を示す図である。業務サーバ300は、プロセッサ301、RAM302、HDD303、画像信号処理部304、入力信号処理部305、媒体リーダ306およびHBA(Host Bus Adapter)307を有する。各ユニットは業務サーバ300のバスに接続されている。業務サーバ400も業務サーバ300と同様のユニットを用いて実現できる。
FIG. 4 is a diagram illustrating a hardware example of the business server. The
プロセッサ301は、業務サーバ300の情報処理を制御する。プロセッサ301は、マルチプロセッサであってもよい。プロセッサ301は、例えばCPU、DSP、ASICまたはFPGAなどである。プロセッサ301は、CPU、DSP、ASIC、FPGAなどのうちの2以上の要素の組み合わせであってもよい。
The
RAM302は、業務サーバ300の主記憶装置である。RAM302は、プロセッサ301に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM302は、プロセッサ301による処理に用いる各種データを記憶する。
The
HDD303は、業務サーバ300の補助記憶装置である。HDD303は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD303は、OSのプログラム、アプリケーションプログラム、および各種データを記憶する。業務サーバ300は、フラッシュメモリやSSDなどの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
The
画像信号処理部304は、プロセッサ301からの命令に従って、業務サーバ300に接続されたディスプレイ92に画像を出力する。ディスプレイ92としては、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイなどを用いることができる。
The image
入力信号処理部305は、業務サーバ300に接続された入力デバイス93から入力信号を取得し、プロセッサ301に出力する。入力デバイス93としては、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
The input
媒体リーダ306は、記録媒体94に記録されたプログラムやデータを読み取る装置である。記録媒体94として、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)を使用できる。また、記録媒体94として、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することもできる。媒体リーダ306は、例えば、プロセッサ301からの命令に従って、記録媒体94から読み取ったプログラムやデータをRAM302またはHDD303に格納する。
The
HBA307は、SAN50を介してストレージ装置N0,N1,・・・,Nnと通信する通信インタフェースである。
なお、業務サーバ300は、LAN60に接続する通信インタフェースを更に備えてもよい。また、業務サーバ400は、HBA307に代えて、LAN60に接続する通信インタフェースを備える。
The
The
図5は、ユニファイド型ストレージのデータアクセス例を示す図である。前述のように、業務サーバ300は、ストレージ装置N0に対してブロックアクセスを行う。ブロックアクセスは、SAN50経由のアクセスであるため、図5中では、SAN I/O(Input / Output)と表記されている。一方、業務サーバ400は、ストレージ装置N0に対してファイルアクセスを行う。ファイルアクセスは、ストレージ装置N0のNAS機能に対するアクセスであるため、図5中では、NAS I/Oと表記されている。両方の種類のアクセスを受け付けるために、CM100は、マルチOSで動作する。
FIG. 5 is a diagram illustrating an example of data access in the unified storage. As described above, the
マルチOSを実現するため、CM100は、ハイパーバイザ110を実行する。ハイパーバイザ110は、CM100の演算のリソース(プロセッサ101やRAM102など)を、複数の仮想マシン(VM:Virtual Machine)に割り当て、CM100上で複数のVMを動作させる。ハイパーバイザ110は、CM100上の複数のVMの起動/停止を制御する。複数のVMは、SAN用VM120およびNAS用VM130を含む。
In order to realize a multi-OS, the
SAN用VM120は、ブロックアクセス用の所定のOS(SAN用OS)を実行し、業務サーバ300によるブロックアクセス(SAN I/O)を処理する。すなわち、SAN用VM120は、業務サーバ300によるブロックアクセスを受け付け、DE200,200aにおけるSANボリュームV1に格納されたデータにアクセスする。ここで、SANボリュームV1は、業務サーバ300の処理に用いられるデータを格納するための論理ボリュームである。SAN用VM120は、アクセス結果を、業務サーバ300に応答する。
The
また、SAN用VM120は、NAS用VM130によるブロックアクセスも処理する。SAN用VM120は、NAS用VM130によるブロックアクセスを受け付け、DE200,200aにおけるNASボリュームV2に格納されたデータにアクセスする。ここで、NASボリュームV2は、業務サーバ400の処理に用いられるデータを格納するための論理ボリュームである。SAN用VM120は、アクセス結果を、NAS用VM130に応答する。
The
NAS用VM130は、ファイルアクセス用の所定のOS(NAS用OS)を実行し、業務サーバ400によるファイルアクセス(NAS I/O)を処理する。すなわち、NAS用VM130は、業務サーバ400によるファイルアクセスを受け付け、ファイルアクセスをブロックアクセスに変換して、SAN用VM120にブロックアクセスを依頼する。NAS用VM130は、SAN用VM120からアクセス結果を受け付け、業務サーバ400に応答する。このように、NAS用VM130によるファイルアクセスは、SAN用VM120が動作している(すなわち、SAN用VM120のOSが動作している)ことが前提となる。OS更新においても、SAN用VM120およびNAS用VM130が適切に連携できるようにするため、SAN用VM120、NAS用VM130の順に、OS更新を行う。
The
CM100aおよびストレージ装置N1,・・・,Nnに含まれるCMも、CM100と同様にして、ブロックアクセスおよびファイルアクセスを処理する。
ここで、ストレージ装置N0,N1,・・・,Nnの各CMは2つのグループにグループ分けされる。ユーザの業務中断なしに、各CMにおけるOSを更新可能にするためである。
Similarly to the
Here, the CMs of the storage devices N0, N1,..., Nn are grouped into two groups. This is because the OS in each CM can be updated without interrupting the user's work.
また、SAN用VM120の起動時間およびNAS用VM130の起動時間は、それぞれのVMで実行されるOSによる。通常、NAS用VM130(すなわち、NAS用のOS)の起動時間は、SAN用VM120(すなわち、SAN用のOS)の起動時間よりも大幅に長い。例えば、SAN用VM120の起動時間は数秒〜十秒程度であるのに対し、NAS用VM130の起動時間は数十秒〜数分程度である。
The startup time of the
図6は、CMのグループ化の例を示す図である。ここで、ストレージ装置N0,N1,・・・,Nnは、装置番号と呼ばれる識別情報によって識別される。ストレージ装置N0の装置番号は“0”である。ストレージ装置N1の装置番号は“1”である。ストレージ装置Nnの装置番号は“n”である。 FIG. 6 is a diagram showing an example of CM grouping. Here, the storage devices N0, N1,..., Nn are identified by identification information called device numbers. The device number of the storage device N0 is “0”. The device number of the storage device N1 is “1”. The device number of the storage device Nn is “n”.
また、1つのストレージ装置に含まれる2つのCMは、CM番号と呼ばれる識別情報によって識別される。1つ目のCMのCM番号は“0”である。2つ目のCMのCM番号は“1”である。 Also, two CMs included in one storage device are identified by identification information called CM numbers. The CM number of the first CM is “0”. The CM number of the second CM is “1”.
図6の例では、ストレージ装置N0のCM100のCM番号は“0”である。ストレージ装置N0のCM100aのCM番号は“1”である。また、ストレージ装置N1のCM100bのCM番号は“0”である。ストレージ装置N1のCM100cのCM番号は“1”である。そして、ストレージ装置NnのCM100xのCM番号は“0”である。また、ストレージ装置NnのCM100yのCM番号は“1”である。
In the example of FIG. 6, the CM number of the
そこで、ストレージ装置N0,N1,・・・,Nnに含まれるCMのうち、CM番号“0”のCM群(CM100,100b,・・・,100x)を第1群G1(第1のグループ)とする。また、CM番号“1”のCM群(CM100a,100c,・・・,100y)を第2群G2(第2のグループ)とする。
Therefore, among the CMs included in the storage devices N0, N1,..., Nn, the CM group (CM100, 100b,..., 100x) with the CM number “0” is the first group G1 (first group). And Further, a CM group (
業務サーバ300,400は、2つのパスP1,P2により、ストレージ装置N0,N1,・・・,Nnと接続される。パスP1は、第1群G1に属するCM100,100b,・・・,100xに接続する通信経路である。パスP2は、第2群G2に属するCM100a,100c,・・・,100yに接続する通信経路である。
The
この場合、業務サーバ300,400は、仮に第1群G1に属するCM100,100b,・・・,100xがOS更新のために再起動中であっても、パスP2経由で、第2群G2に属するCM100a,100c,・・・,100yによりデータアクセスを行える。あるいは、業務サーバ300,400は、仮に第2群G2に属するCM100a,100c,・・・,100yがOS更新のために再起動中であっても、パスP1経由で、第1群G1に属するCM100,100b,・・・,100xによりデータアクセスを行える。
In this case, even if the
ここで、第2の実施の形態では、ストレージ装置N0に含まれるCM100,100aの何れか一方がマスタとなり、各CMのOS更新の順序を制御する。CM100,100aは、マスタの役割を相互に切り替え可能である。
Here, in the second embodiment, one of the
図7は、CMの機能例を示す図である。CM100は、SAN用VM120およびNAS用VM130に加えて、記憶部140を有する。記憶部140は、RAM102またはNVRAM103に確保された記憶領域である。記憶部140は、図6で例示した各CMの所属先グループの情報や各CMにおけるOS更新の進捗情報を管理するための管理テーブルを記憶する。
FIG. 7 is a diagram illustrating an example of CM functions. The
SAN用VM120は、SAN用OS121およびマスタ処理部122を有する。
SAN用OS121は、ブロックアクセスを処理するリアルタイムOS(RTOS:Real Time OS)である。SAN用OS121の一例として、VxWorks(登録商標)が挙げられる。ここで、SAN用OS121は、起動時に、他のCMにおけるSAN用OSと相互に連携するための通信を行う。複数のCMでSAN用OSを一斉に起動させると、各SAN用OSが当該通信の待ち合わせを行うために、何れかのSAN用OSを利用開始できるまでの時間が長引く可能性がある。
The
The
ところで、各CMのSAN用OSは、死活監視用の通信を担う。すなわち、各CMのSAN用OSは、業務サーバ300またはSAN50に属するスイッチ装置などの監視装置による死活監視用の通信への応答も担っている。このため、上記の待ち合わせの時間が長引くと、死活監視用の通信に対する応答時間が、死活監視の制限時間(再起動の所要時間の制限時間に相当)に間に合わず、該当のCMが利用不可であると監視装置により誤判断されるおそれがある。したがって、SAN用OS121では、OS更新の際も、当該制限時間内で、再起動を行うことが求められる。
By the way, the SAN OS of each CM is responsible for communication for alive monitoring. In other words, the SAN OS of each CM is also responsible for responding to life and death monitoring communications by a monitoring device such as a switch device belonging to the
マスタ処理部122は、記憶部140に記憶された管理テーブルに基づいて、ストレージ装置N0,N1,・・・,Nnの各OSの更新順序を制御する。具体的には、マスタ処理部122は、まずは、現在更新対象の群のSAN用OSを1つずつ順番に更新し、当該群の全てのSAN用OSを更新すると、当該群のNAS用OSを一斉に更新する。マスタ処理部122は、更新の進捗を管理テーブルに記録する。
The
NAS用VM130は、NAS用OS131およびスレーブ処理部132を有する。
NAS用OS131は、ファイルアクセスを処理するOSである。NAS用OS131の一例として、Linux(登録商標)が挙げられる。
The
The
スレーブ処理部132は、マスタ処理部122によるOSの更新指示に従って、NAS用OS131を更新する。
CM100aは、SAN用VM120a、NAS用VM130aおよび記憶部140aを有する。記憶部140aは、CM100aが備えるRAMまたはNVRAMに確保された記憶領域である。記憶部140aは、記憶部140と同様に、管理テーブルを記憶する。
The
The
SAN用VM120aは、SAN用OS121aおよびスレーブ処理部122aを有する。SAN用OS121aは、SAN用OS121と同様に、ブロックアクセスを処理するRTOSである。
The
スレーブ処理部122aは、マスタ処理部122によるOSの更新指示にしたがって、SAN用OS121aを更新する。ここで、後述するように、SAN用VM120aは、一時的に、マスタ処理部122の機能を実行することもある。また、このとき、SAN用VM120は、スレーブ処理部122aの機能を実行し、SAN用OS121の更新を行う。例えば、記憶部140,140aは、CM100,100aの何れがマスタ処理部122の機能を実行しているかを識別する情報を記憶する。一連のOS更新途中での失敗時に、何れのCMがマスタとして動作していたかを判断できるようにし、失敗箇所からOS更新を再開できるようにするためである。
The
NAS用VM130aは、NAS用OS131aおよびスレーブ処理部132aを有する。
NAS用OS131aは、NAS用OS131と同様に、ファイルアクセスを処理するOSである。スレーブ処理部132aは、マスタ処理部122によるOSの更新指示に従って、NAS用OS131aを更新する。
The NAS VM 130a includes a
The
なお、SAN用OSやNAS用OSを、各CMのファームウェアと呼ぶこともできる。このため、SAN用OSのOS更新を、SAN用ファームウェアのファームウェア更新ということもできる。また、NAS用OSのOS更新を、NAS用ファームウェアのファームウェア更新ということもできる。 Note that the SAN OS and NAS OS can also be referred to as firmware of each CM. Therefore, the OS update of the SAN OS can also be referred to as the firmware update of the SAN firmware. The OS update of the NAS OS can also be referred to as the firmware update of the NAS firmware.
また、CM100,100a以外の各CMはマスタ処理部の機能をもたずに、スレーブ処理部の機能をもつ。
図8は、管理テーブルの例を示す図である。管理テーブルD1は、記憶部140,140aに格納される。ただし、管理テーブルD1は、少なくともマスタ処理部122の機能を担うCMに保持されていればよい。管理テーブルD1は、装置番号、CM番号およびSAN用OS更新フラグの項目を含む。
Each CM other than the
FIG. 8 is a diagram illustrating an example of a management table. The management table D1 is stored in the
装置番号の項目には、ストレージ装置の識別情報である装置番号が登録される。CM番号の項目には、CMの識別情報であるCM番号が登録される。SAN用OS更新フラグの項目には、SAN用OSが更新済であるか否かを示すフラグ(更新フラグ)が登録される。例えば、更新フラグ“true”は更新済を示す。更新フラグ“false”は未更新を示す。 In the device number item, a device number which is identification information of the storage device is registered. In the CM number item, a CM number as CM identification information is registered. A flag (update flag) indicating whether or not the SAN OS has been updated is registered in the SAN OS update flag item. For example, the update flag “true” indicates updated. The update flag “false” indicates no update.
例えば、管理テーブルD1には、装置番号が“0”、CM番号が“0”、SAN用OS更新フラグが“true”という情報が登録される。これは、装置番号“0”で示されるストレージ装置N0において、CM番号“0”で示されるCM100のSAN用OS121が更新済であることを示す。
For example, information that the device number is “0”, the CM number is “0”, and the SAN OS update flag is “true” is registered in the management table D1. This indicates that in the storage device N0 indicated by the device number “0”, the
また、管理テーブルD1には、装置番号が“0”、CM番号が“1”、SAN用OS更新フラグが“false”という情報が登録される。これは、装置番号“0”で示されるストレージ装置N0において、CM番号“1”で示されるCM100aのSAN用OS121aが未更新であることを示す。
In the management table D1, information that the device number is “0”, the CM number is “1”, and the SAN OS update flag is “false” is registered. This indicates that the
次に、第2の実施の形態のストレージシステムにおけるOS更新の手順を例示する。
ここで、SAN用OSの更新後のプログラム、および、NAS用OSの更新後のプログラムは、ストレージ装置N0,N1,・・・,Nnの各CMに予め配布される。各CMは、配布されたプログラムを、各CMが備えるNVRAMに格納する。例えば、NVRAMのOSプログラム用の記憶領域は2面構成となっている。各CMは、現バージョンのOSプログラムを第1面に、新バージョンのOSプログラムを第2面に、それぞれ格納可能である(仮に新バージョンへの更新に失敗しても、現バージョンで復旧にするため)。したがって、ストレージ装置N0,N1,・・・,Nnにおいて、OS更新を行うためには、各CMで動作しているSAN用OSおよびNAS用OSを、新バージョンのプログラムにより再起動させればよいことになる。
Next, an OS update procedure in the storage system according to the second embodiment will be exemplified.
Here, the updated program for the SAN OS and the updated program for the NAS OS are distributed in advance to the CMs of the storage apparatuses N0, N1,. Each CM stores the distributed program in the NVRAM included in each CM. For example, the storage area for the NVRAM OS program has a two-sided structure. Each CM can store the current version OS program on the first side and the new version OS program on the second side (if the update to the new version fails, the current version can be restored. For). Therefore, in order to update the OS in the storage apparatuses N0, N1,..., Nn, the SAN OS and NAS OS operating in each CM may be restarted with the new version of the program. It will be.
図9は、OS更新例を示すフローチャートである。以下、図9に示す処理をステップ番号に沿って説明する。
(S11)マスタ処理部122は、ユーザによるOSのプログラム更新指示を受け付ける。マスタ処理部122は、第2群G2の先頭CM(CM100a)をマスタに設定する。マスタ処理部122は、記憶部140に記憶された管理テーブルD1の各CMの更新フラグを“false”に設定し、管理テーブルD1をCM100aに提供する。CM100aでは、管理テーブルD1を記憶部140aに格納する。これにより、マスタの役割はCM100aに切り替わり、マスタの役割が戻るまで、CM100はスレーブ処理部に相当する機能を実行する。
FIG. 9 is a flowchart illustrating an OS update example. In the following, the process illustrated in FIG. 9 will be described in order of step number.
(S11) The
(S12)CM100aのマスタ処理部は、第1群G1の先頭CM(CM100)のNAS用OS131の切り離し処理を実行する。切り離し処理とは、該当のNAS用OSをシャットダウンすることを意味する。すなわち、CM100aのマスタ処理部は、NAS用OS131をシャットダウンするように、CM100に指示する。CM100は、指示に応じて、NAS用OS131をシャットダウンする。
(S12) The master processing unit of the
(S13)CM100aのマスタ処理部は、第1群G1の先頭CM(CM100)のSAN用OS121を更新する。具体的には、CM100aのマスタ処理部は、新バージョンのプログラムにより、SAN用OS121を再起動させるように、CM100に指示する。CM100のスレーブ処理部は、指示に応じて、新バージョンのプログラムによりSAN用OS121を再起動する。CM100aのマスタ処理部は、管理テーブルD1を更新する(CM100のSAN用OS121を更新済(更新フラグ”true”)に設定する)。
(S13) The master processing unit of the
(S14)CM100aのマスタ処理部は、第1群G1の先頭CM(CM100)にマスタを切り替える。CM100aのマスタ処理部は、管理テーブルD1をCM100に提供する。CM100では、管理テーブルD1を記憶部140に格納する。これにより、OS更新の制御主体が、CM100のマスタ処理部122に戻る。CM100aは、マスタ処理部としての役割を終え、以後、スレーブ処理部122aによる処理が主となる。
(S14) The master processing unit of the
(S15)マスタ処理部122は、第1群G1の次のCMのNAS用OSの切り離し処理を実行する。具体的には、マスタ処理部122は、NAS用OSをシャットダウンするように、該当のCMに指示する。指示を受けたCMのスレーブ処理部は、指示に応じて、NAS用OSをシャットダウンする。ここで、マスタ処理部122は、ストレージ装置の装置番号の昇順にNAS用OSの更新を行う。したがって、「次のCM」とは、第1群G1に属するCMのうち、NAS用OSの更新を直前に行ったストレージ装置の装置番号に1を加算した装置番号に対応するストレージ装置に含まれるCMである。
(S15) The
(S16)マスタ処理部122は、ステップS15でNAS用OSの切り離し処理を行った該当のCMのSAN用OSを更新する。具体的には、マスタ処理部122は、新バージョンのプログラムにより、SAN用OSを再起動させるように、該当のCMに指示する。指示を受けたCMのスレーブ処理部は、指示に応じて、新バージョンのプログラムによりSAN用OSを再起動する。マスタ処理部122は、管理テーブルD1において、該当のCMのSAN用OSを更新済に設定する。
(S16) The
(S17)マスタ処理部122は、管理テーブルD1を参照して、第1群G1のSAN用OSを全て更新したか否かを判定する。全て更新した場合、処理をステップS18に進める。全て更新していない場合、処理をステップS15に進める。
(S17) The
(S18)マスタ処理部122は、第1群G1の全CM(CM100,100b,・・・,100x)のNAS用OSを一斉に更新する。これにより、第1群G1に含まれる各OSの更新が完了する。
(S18) The
(S19)マスタ処理部122は、第2群G2の次のCMのNAS用OSの切り離し処理を実行する。具体的には、マスタ処理部122は、NAS用OSをシャットダウンするように、該当のCMに指示する。指示を受けたCMのスレーブ処理部は、指示に応じて、NAS用OSをシャットダウンする。ここで、「次のCM」とは、第2群G2に属するCMのうち、NAS用OSの更新を直前に行ったストレージ装置の装置番号に1を加算した装置番号に対応するストレージ装置に含まれるCMである。また、ステップS19を最初に実行する場合、「次のCM」は、CM100aである。
(S19) The
(S20)マスタ処理部122は、ステップS19でNAS用OSの切り離し処理を行った該当のCMのSAN用OSを更新する。具体的には、マスタ処理部122は、新バージョンのプログラムにより、SAN用OSを再起動させるように、該当のCMに指示する。指示を受けたCMのスレーブ処理部は、指示に応じて、新バージョンのプログラムによりSAN用OSを再起動する。マスタ処理部122は、管理テーブルD1において、該当のCMのSAN用OSを更新済に設定する。
(S20) The
(S21)マスタ処理部122は、管理テーブルD1を参照して、第2群G2のSAN用OSを全て更新したか否かを判定する。全て更新した場合、処理をステップS22に進める。全て更新していない場合、処理をステップS19に進める。
(S21) The
(S22)マスタ処理部122は、第2群G2の全CM(CM100a,100c,・・・,100y)のNAS用OSを一斉に更新する。これにより、第2群G2に含まれる各OSの更新が完了する。
(S22) The
このように、CM100は、SAN用OSの更新フェーズでは、対象のCMのNAS用OSを停止させた後に当該CMのSAN用OSを新しいバージョンの第1のプログラムにより再起動させる。このため、SAN用OSの更新フェーズが完了した段階では、該当の群に属する各CMにおいて、NAS用OSは停止された状態となる。そして、CM100は、NAS用OSの更新フェーズでは、複数のCMのNAS用OSを新しいバージョンの第2のプログラムにより一斉に起動させる。
In this manner, in the SAN OS update phase, the
図10は、OS更新の具体例を示す図である。図10(A)は、図9の手順によって各CMのOSの更新を行う例を示す。図10(B)は、1台ずつ順番にCMを選択して、SAN用OSおよびNAS用OSの両方を並行に更新する例を示す。ここで、図10では、左側から右側へ向かう方向が時間軸の正方向である。また、図10では、SAN用OSの更新(具体的には、新バージョンでのOS再起動)を「SAN」の文字列を付した四角形により表す。また、NAS用OSの更新(具体的には、新バージョンでのOS再起動)を「NAS」の文字列を付した四角形により表す。「SAN」または「NAS」の文字列を付した各四角形の時間軸方向の長さは、更新(再起動)の所要時間を示す。 FIG. 10 is a diagram illustrating a specific example of OS update. FIG. 10A shows an example in which the OS of each CM is updated by the procedure of FIG. FIG. 10B shows an example in which CMs are sequentially selected one by one, and both the SAN OS and the NAS OS are updated in parallel. Here, in FIG. 10, the direction from the left to the right is the positive direction of the time axis. In FIG. 10, the update of the SAN OS (specifically, the OS restart with the new version) is represented by a rectangle with the character string “SAN”. Further, the update of the NAS OS (specifically, the OS restart with the new version) is represented by a rectangle with the character string “NAS”. The length in the time axis direction of each square with the character string “SAN” or “NAS” indicates the time required for updating (restarting).
図10(A)の例では、前半に第1群G1、後半に第2群G2に対してOS更新が行われる。マスタであるストレージ装置N0は、時刻T0にOS更新を開始する。まず、ストレージ装置N0は、図9の手順に従い、第1群G1のn個のCM(CM100,100b,・・・,100x)について、順番に、SAN用OSを更新する。次に、ストレージ装置N0は、第1群G1のn個のCM(CM100,100b,・・・,100x)について、一斉に、NAS用OSを更新する。この場合、ストレージ装置N0は、第1群G1における全てのOSの更新を、時刻T1に完了する。その後、ストレージ装置N0は、後半の第2群G2のOS更新を、第1群G1の更新と同様に行う。 In the example of FIG. 10A, the OS update is performed on the first group G1 in the first half and the second group G2 in the second half. The storage device N0 as the master starts OS update at time T0. First, the storage apparatus N0 sequentially updates the SAN OS for n CMs (CM100, 100b,..., 100x) in the first group G1 according to the procedure of FIG. Next, the storage apparatus N0 simultaneously updates the NAS OS for n CMs (CM100, 100b,..., 100x) in the first group G1. In this case, the storage device N0 completes the update of all the OSs in the first group G1 at time T1. Thereafter, the storage apparatus N0 updates the OS of the second group G2 in the latter half in the same manner as the update of the first group G1.
図10(B)の例でも、時刻T0をOS更新開始時刻として、前半に第1群G1、後半に第2群G2のOS更新が行われる。NAS用OSの起動時間はSAN用OSの起動時間に比べて長いため、図10(B)の方法では、CM単位のOS更新の所要時間は、NAS用OSの起動時間によって決まってしまう。そして、あるCMにおいて、NAS用OSの更新が完了するまでは、次のCMのOS更新に移れない。 Also in the example of FIG. 10B, the OS update of the first group G1 in the first half and the second group G2 in the second half is performed with the time T0 as the OS update start time. Since the startup time of the NAS OS is longer than the startup time of the SAN OS, in the method shown in FIG. 10B, the time required for updating the OS for each CM is determined by the startup time of the NAS OS. Then, until the update of the NAS OS is completed in a certain CM, it is not possible to proceed to the update of the next CM.
このため、第1群G1に属する全てのCMについてSAN用OS、および、NAS用OSを完了するまでの時間が、図10(A)の方法よりも長くなる。図10(B)の方法では、第1群G1における全てのOSの更新は、時刻T2に完了するものとする。時刻T2は、時刻T1よりも遅い時刻となる。すなわち、図10(A)のOS更新方法の方が、図10(B)のOS更新方法よりも、ΔT=T2−T1だけ早くOS更新を完了できる。 For this reason, the time required to complete the SAN OS and the NAS OS for all the CMs belonging to the first group G1 is longer than that in the method of FIG. In the method of FIG. 10B, it is assumed that the update of all OSs in the first group G1 is completed at time T2. Time T2 is later than time T1. That is, the OS update method in FIG. 10A can complete the OS update earlier than ΔT = T2-T1 than the OS update method in FIG. 10B.
後半の分も考慮すれば、ストレージシステムに属する全CMの全てのOSを完了するまでに、図10(A)のOS更新方法の方が、図10(B)のOS更新方法よりも、およそ2×ΔTだけ早くOS更新を完了できる。 Considering the latter half, the OS update method of FIG. 10A is approximately more than the OS update method of FIG. 10B until all OSs of all CMs belonging to the storage system are completed. The OS update can be completed as early as 2 × ΔT.
このように、ストレージ装置N0は、比較的起動時間が短いSAN用OSについては、1つずつ順番に更新し、比較的起動時間が長いNAS用OSについては、一斉に更新することで、各CMの各OSの更新を高速化できる。具体的には、SAN用OSについては、1つずつ順番に更新することで、各CMにおけるSAN用OSの一斉起動を避けることができ、CM間の通信の待ち合わせによる処理遅延を軽減できる。このため、SAN用OSの再起動を死活監視用の通信にも間に合わせることができ、該当のCMが利用不可と誤判断されずに済む。また、NAS用OSについては、一斉に更新することで、1つずつ順番に更新するよりも、更新の所要時間を短縮できる。 In this way, the storage device N0 sequentially updates the SAN OSs with relatively short startup times one by one, and updates the NAS OSs with relatively long startup times all at once. The update of each OS can be speeded up. Specifically, by updating the SAN OS one by one in sequence, simultaneous startup of the SAN OS in each CM can be avoided, and processing delay due to waiting for communication between CMs can be reduced. For this reason, the restart of the SAN OS can be made in time for the life and death monitoring communication, and it is not erroneously determined that the corresponding CM cannot be used. Also, the NAS OS can be updated all at once, so that the time required for updating can be shortened compared to updating one by one.
なお、第1の実施の形態の情報処理は、処理部12(あるいは、処理部21b)にプログラムを実行させることで実現できる。また、第2の実施の形態の情報処理は、CM100,100aが備えるプロセッサ(例えば、プロセッサ101)にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体91,94に記録できる。ここで、CM100,100aを含む各CMは、プロセッサとメモリとを備えたコンピュータを含むと考えてもよい。
The information processing according to the first embodiment can be realized by causing the processing unit 12 (or the
例えば、プログラムを記録した記録媒体91,94を配布することで、プログラムを流通させることができる。また、記録媒体91,94に記録されたプログラムを他のコンピュータ(例えば、業務サーバ300,400、あるいは、その他のコンピュータ)に格納しておき、ネットワーク経由でプログラムを配布してもよい。CMに含まれるコンピュータは、例えば、記録媒体91,94に記録されたプログラムまたは他のコンピュータから受信したプログラムを、RAM102やNVRAM103などの記憶装置に格納できる(インストール)。CMのプロセッサは、当該記憶装置からプログラムを読み込んで実行してもよい。
For example, the program can be distributed by distributing the
1 情報処理システム
10 制御装置
11,21a 記憶部
12,21b 処理部
20,30,40 サブシステム
21,22,31,32,41,42 電子装置
x1,x2,x3 第1の種類のOS
y1,y2,y3 第2の種類のOS
DESCRIPTION OF
y1, y2, y3 Second type OS
Claims (5)
前記複数の電子装置におけるオペレーティングシステムの更新状況をそれぞれ記憶する記憶部と、
第1の種類のオペレーティングシステムの更新を、前記記憶部に記憶された前記更新状況に基づいて、1つの電子装置ずつ順番に実行させ、前記複数の電子装置の前記第1の種類のオペレーティングシステムの更新が完了した後に、前記第1の種類のオペレーティングシステムよりも起動時間が長い第2の種類のオペレーティングシステムの更新を、前記複数の電子装置に対して一斉に実行させる処理を行う処理部と、
を有する制御装置。 A control device that controls a plurality of electronic devices capable of executing a plurality of types of operating systems in parallel,
A storage unit for storing an operating system update status in each of the plurality of electronic devices;
Update of the first type of operating system is executed sequentially for each electronic device based on the update status stored in the storage unit, and the first type of operating system of the plurality of electronic devices is updated. A processing unit for performing a process of simultaneously executing updates of the second type operating system having a startup time longer than that of the first type operating system to the plurality of electronic devices after the update is completed;
Control device.
前記記憶部は、前記複数のサブシステムにそれぞれ属する第1の電子装置と第2の電子装置とを示す情報を記憶し、
前記処理部は、前記情報に基づいて、前記複数のサブシステムの各第1の電子装置に対して、前記第1の種類および前記第2の種類のオペレーティングシステムの更新を行わせた後に、前記複数のサブシステムの各第2の電子装置に対して、前記第1の種類および前記第2の種類のオペレーティングシステムの更新を行わせる処理を行う、
請求項1記載の制御装置。 The control device controls a first electronic device and a second electronic device belonging to a plurality of subsystems, respectively.
The storage unit stores information indicating a first electronic device and a second electronic device respectively belonging to the plurality of subsystems;
The processing unit causes the first electronic device of each of the plurality of subsystems to update the first type and the second type of operating system based on the information. Performing a process of updating the first type and the second type of operating system for each second electronic device of the plurality of subsystems;
The control device according to claim 1.
請求項1乃至3の何れか1項に記載の制御装置。 The first type operating system is used for block access to the storage device, and the second type operating system is used for file access to the storage device.
The control device according to any one of claims 1 to 3.
第1の種類のオペレーティングシステムの更新を、1つの電子装置ずつ順番に実行させ、前記複数の電子装置の前記第1の種類のオペレーティングシステムの更新が完了した後に、前記第1の種類のオペレーティングシステムよりも起動時間が長い第2の種類のオペレーティングシステムの更新を、前記複数の電子装置に対して一斉に実行させる処理を行う制御装置と、
を有する情報処理システム。 Multiple electronic devices capable of running multiple types of operating systems in parallel;
The first type of operating system is updated after the first type of operating system is updated one by one in order and the updating of the first type of operating system of the plurality of electronic devices is completed. A control device for performing a process of simultaneously executing updates of the second type operating system having a longer startup time than the plurality of electronic devices;
An information processing system having
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016147629A JP6674101B2 (en) | 2016-07-27 | 2016-07-27 | Control device and information processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016147629A JP6674101B2 (en) | 2016-07-27 | 2016-07-27 | Control device and information processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018018272A true JP2018018272A (en) | 2018-02-01 |
JP6674101B2 JP6674101B2 (en) | 2020-04-01 |
Family
ID=61081470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016147629A Active JP6674101B2 (en) | 2016-07-27 | 2016-07-27 | Control device and information processing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6674101B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022548886A (en) * | 2019-09-17 | 2022-11-22 | マイクロン テクノロジー,インク. | memory system for binding data to memory namespaces |
US11868268B2 (en) | 2019-09-17 | 2024-01-09 | Micron Technology, Inc. | Mapping non-typed memory access to typed memory access |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012181578A (en) * | 2011-02-28 | 2012-09-20 | Fuji Xerox Co Ltd | Update control device and program |
JP2016115253A (en) * | 2014-12-17 | 2016-06-23 | 富士通株式会社 | Information processing device, memory management method and memory management program |
-
2016
- 2016-07-27 JP JP2016147629A patent/JP6674101B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012181578A (en) * | 2011-02-28 | 2012-09-20 | Fuji Xerox Co Ltd | Update control device and program |
JP2016115253A (en) * | 2014-12-17 | 2016-06-23 | 富士通株式会社 | Information processing device, memory management method and memory management program |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022548886A (en) * | 2019-09-17 | 2022-11-22 | マイクロン テクノロジー,インク. | memory system for binding data to memory namespaces |
US11868268B2 (en) | 2019-09-17 | 2024-01-09 | Micron Technology, Inc. | Mapping non-typed memory access to typed memory access |
JP7427081B2 (en) | 2019-09-17 | 2024-02-02 | マイクロン テクノロジー,インク. | Memory system for binding data to memory namespaces |
US11934319B2 (en) | 2019-09-17 | 2024-03-19 | Micron Technology, Inc. | Memory system for binding data to a memory namespace |
Also Published As
Publication number | Publication date |
---|---|
JP6674101B2 (en) | 2020-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101206581B (en) | System and method for guiding using external memory device | |
JP5489601B2 (en) | Method, apparatus, system, and program for dynamically managing physical and virtual multipath I / O | |
US8713362B2 (en) | Obviation of recovery of data store consistency for application I/O errors | |
US9122652B2 (en) | Cascading failover of blade servers in a data center | |
US8473692B2 (en) | Operating system image management | |
US9489274B2 (en) | System and method for performing efficient failover and virtual machine (VM) migration in virtual desktop infrastructure (VDI) | |
US9912535B2 (en) | System and method of performing high availability configuration and validation of virtual desktop infrastructure (VDI) | |
US20120072685A1 (en) | Method and apparatus for backup of virtual machine data | |
US9886284B2 (en) | Identification of bootable devices | |
US20160077996A1 (en) | Fibre Channel Storage Array Having Standby Controller With ALUA Standby Mode for Forwarding SCSI Commands | |
US10162681B2 (en) | Reducing redundant validations for live operating system migration | |
KR20080106065A (en) | Virtual machine system and method for controlling the same | |
US9116861B2 (en) | Cascading failover of blade servers in a data center | |
US20140195698A1 (en) | Non-disruptive configuration of a virtualization cotroller in a data storage system | |
US8832489B2 (en) | System and method for providing failover between controllers in a storage array | |
JP2010257274A (en) | Storage management system and storage management method in virtualization environment | |
JP2011154697A (en) | Method and system for execution of applications in conjunction with raid | |
JP2012018556A (en) | Computer system and control method for system changeover of computer system | |
US20200326956A1 (en) | Computing nodes performing automatic remote boot operations | |
JP6674101B2 (en) | Control device and information processing system | |
US9780960B2 (en) | Event notifications in a shared infrastructure environment | |
JP2013191090A (en) | Backup control program, backup control method and information processing apparatus | |
US8819481B2 (en) | Managing storage providers in a clustered appliance environment | |
US11086615B2 (en) | Virtual appliance upgrades in high-availability (HA) computing clusters | |
US9027019B2 (en) | Storage drive virtualization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190409 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20190416 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20190416 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200217 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6674101 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |