JP2011170528A - 分散型情報処理システム及び分散ストレージシステム - Google Patents

分散型情報処理システム及び分散ストレージシステム Download PDF

Info

Publication number
JP2011170528A
JP2011170528A JP2010032565A JP2010032565A JP2011170528A JP 2011170528 A JP2011170528 A JP 2011170528A JP 2010032565 A JP2010032565 A JP 2010032565A JP 2010032565 A JP2010032565 A JP 2010032565A JP 2011170528 A JP2011170528 A JP 2011170528A
Authority
JP
Japan
Prior art keywords
virtual machine
switching
nodes
software
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
Application number
JP2010032565A
Other languages
English (en)
Other versions
JP5728812B2 (ja
Inventor
Takeshi Kurita
武 栗田
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2010032565A priority Critical patent/JP5728812B2/ja
Publication of JP2011170528A publication Critical patent/JP2011170528A/ja
Application granted granted Critical
Publication of JP5728812B2 publication Critical patent/JP5728812B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】業務処理の実行を停止することなく、ソフトウェアのインストールやアップグレードを行う。
【解決手段】ハイパーバイザ型の仮想マシンモニターVMM130と、VMM上に業務を行う仮想マシン(VM)110と、インストールまたはアップグレードを行う仮想マシン(VM)120とを備える。VM120はVM110の複製である。VM120は、自己に対して新規のソフトウェアを、例えばインストールした後、VM110上の動的に更新されるデータ格納場所の情報が保存されているindexテーブル114を段階的に自己に移行し、完全に移行した段階でVM110からVM120へ処理を切り替える。各ノードでインストール前(即ち旧バージョン)で動作するVM110は、他のノードのVMと通信し、切り替え先のインストール後の新バージョンについて全ノードで合意し、全ノード一斉に新バージョンに切り替える。
【選択図】図1

Description

本発明は分散型情報処理システム及び分散ストレージシステムに係り、特に、業務処理を停止することなく、ソフトウェアのインストール及びアップグレードを行うことができる分散型情報処理システム及び分散ストレージシステムに関する。
従来、分散型情報処理システムは、複数のノードを備えるが、実際の業務の遂行に際しては、該複数のノードの各々に対して、処理プログラム(以下、単に「ソフトウェア」と呼称する)を、新バージョンのソフトウェア等へ切替える処理、即ち、ソフトウェアの更新処理を行う必要が生じる。一般に、分散型情報処理システムにおける上記のソフトウェア更新処理は、動的に行うことができるように構成されていることが好ましい。
通常、一般的な分散型情報処理システムの各ノードに対応した仮想マシンの種類には、ハイパーバイザ型の仮想マシンモニター(以下、「VMM」と略称する)と、このVMM上で業務処理を行う仮想マシン(以下、「VM1」と略称する)と、インストールまたはアップグレードを行う仮想マシン(以下、「VM2」と略称する)とが有る。
また、分散型情報処理システムが、ソフトウェアを新バージョンの処理ソフトウェアに切り替える際には、新バージョンのソフトウェアのインストール後、若しくはソフトウェアのアップグレード後のバージョン(新バージョンとなる)について、全ノードで合意し、全ノード一斉に新バージョンのソフトウェアに切り替える必要が有り、この点が、本発明に際しての1つの課題であった。
また、分散型情報処理システムは、システム内において旧バージョンで動作するノードと新バージョンで動作するノードとが混在する状況でも業務処理を継続できることが好ましく、この点も、本発明に際しての1つの課題であった。
さらに、分散型情報処理システムは、インストールまたはアップグレードに失敗した場合には、インストールまたはアップグレードする前の状態に復元できることが必要であり、この点も、本発明に際しての1つの課題であった。
なお、この分野の公知技術として、特許文献1には、第1および第2のゲストオペレーティングシステムが、各仮想マシン310A、310B中で稼動する仮想化技術を使用して、クライアント202と通信を行うために、オンラインサービス312Aが依拠する同じハードウェア302上で、更新済みサービス312Bをテストすることができる技術が開示されており、前記の両サービスは同時に実行されることが好ましいとしている。
また、特許文献2には、汎用サーバシステムにおいて動作するソフトウェアを更新する際、サービスを停止させず、関連するサーバに対して同時に更新、更新解除を可能とする技術が開示されている。
また、特許文献3には、バージョンアップ後にオンライン稼働を開始した新バージョンモジュールの障害発生時に、旧バージョンモジュールへの復旧を容易に実現する技術が開示されている。
また、特許文献4には、現ファームウェアの処理プロセスPPR0からの応答通知を受けた現ファームウェアの監視プロセスMPR0が、即座に新ファームウェアの処理プロセスPPR1 に対して処理の同期点再開要求を行い、新ファームウェアへの切替(即ち、バージョンアップを実現する技術が開示されている。
さらに、特許文献5には、1つの共通アプリケーションプログラム又はアプリケーションコード50及びその実行可能バージョン(場合によっては修正のある)は、複数のコンピュータ又はマシンM1、M2...Mn全体で同時に又は並行して実行する技術を開示している。この技術では、本質的には、修正された構造は、個々のマシンの各々上で同一のメモリ構造及びコンテンツを複製することになる。
特開2006−107500号公報 特開2006−268172号公報 特開平9−62626号公報 特開平11−7382号公報 特表2009−512030号公報
ところで、分散型情報処理システムに課せられている1つの課題は、前述のとおり、ソフトウェアのインストール及びアップグレードである。一般的に、全てのノードのソフトウェアを一斉にインストールまたはアップグレードする場合には、システムで稼働中の業務処理の実行を停止させ、全てのノードの処理を停止させた後、各ノードにソフトウェアを適用する必要が有り、また、適用するソフトウェアによっては、各ノードの再起動が必要になる場合が有る。
しかしながら、上記背景技術で述べた従来の分散型情報処理システムにあっては、複数の独立したノードとストレージとの対で構成される分散ストレージシステムでは、クライアントからの書き込みが完了した後も、各ノード間でデータを交換しているため、全てのノードを停止させるには、このようなデータ交換処理の実行が終了するまで待機しなければならないといった問題点が有った。
また、一部のノードの業務を停止させてからソフトウェアを適用し、適用が完了したら業務を開始し、他のノードのソフトウェアの適用を順次行う方法を適用するには、該適用の過程で、異なるバージョンのノードが混在した状態になるといった問題点があった。
即ち、異なるバージョン同士では、データ構造や通信プロトコルが異なっている場合が多く、このような場合、新バージョンでは、旧バージョンとの違いを意識することは可能ではあっても、旧バージョンは、新バージョンの一部機能については未知であったために、新バージョンとの違いを解消するための互換機能を組み込んでおくことは困難であり、このため、新バージョンと旧バージョンとが混在する場合には、ノード間でデータを正しくやり取りできず、最悪の場合、システム内のデータを破壊してしまうといった問題点が有った。
さらに、ソフトウェアをインストールまたはアップグレードする処理の失敗や更新プログラムのバグなどで、ソフトウェアを更新する前に戻す場合、これまでの更新処理で変更した部分を一つ一つ復元していくなどの煩雑な作業が発生するといった問題点が有った。
本発明は、
(1) 同一ハードウェア上に業務を行う仮想マシンとインストール・アップグレードを行う仮想マシンを同時に動作させることと、
(2) インストールまたはアップグレードが完了すると、業務を行う仮想マシンを切り替えることと、
(3) その後、システム内の他のノードと連携し、動作する新しいバージョンについて合意し、全てのノードで一斉に切り替えることと、
(4) 動的ソフトエア更新方法としては、前記(1)〜(3)の構成要件において、アップグレードを取り消す現象や要求が発生した場合、仮想マシンを切り替える前であれば業務を行う仮想マシンだけを残してインストール及びアップグレードを行う仮想マシンを削除し、仮想マシンを切り替えた後であればインストールまたはアップグレードを行った仮想マシンと、業務を行っていた仮想マシンとでindexテーブルの複製を行うことと、
を主たる構成要件としている。
なお、本発明との関連箇所として、前述の特許文献1及び特許文献5には、前記の構成要件(1)が開示され、前述の特許文献4には前記の構成要件(2)が開示されている。しかしながら、上記特許文献には、いずれも前記の構成要件(3)は開示していない。ここで、構成要件(3)は、本発明の、「業務を停止することなくソフトウェアのインストールまたはアップグレードを行う」という課題を解決するために必須の要素である。
さらに、特許文献1〜5のいずれにおいても、前記の構成要件(4)は開示していないが、構成要件(4)は、本発明の、ソフトウェアを更新前に戻すことができるようにする」という課題を解決するために必須の構成要件である。
本発明は、上記課題を解決するための分散型情報処理システム及び分散ストレージシステムを提供することを目的としている。
上記課題を解決するために、本発明に係る分散型情報処理システムは、共通のネットワークに接続された複数のノードの各々に適用される分散型情報処理システムであって、ハイパーバイザ型の仮想マシンモニター(以下、「VMM」と呼称する)と、前記VMM上で業務を行う第1の仮想マシン(以下、「VM1」と呼称する)と、前記VM1の少なくとも一部の構成要素と同じ構成要素を有してインストールまたはアップグレードを行う仮想マシン(以下、「VM2」と呼称する)と、を備え、前記VM2は、新バージョンのソフトウェアへの切り替えを行うに際して、前記新バージョンのソフトウェアをインストール処理するか、若しくは既存のソフトウェアをアップグレード処理した後、VM1上の動的に更新されるデータの格納場所の情報が保存されているindexテーブルの情報を、自己が備えるindexテーブルへ段階的に移行し、前記移行が完了した時点で、処理の制御を、前記VM1から前記VM2へ切り替えて実行することを特徴とする。
また、本発明に係る分散ストレージシステムは、共通のネットワークで接続された複数のノードと、該ノードに接続されたストレージとを備え、かつ前記複数のノードの全ての構成を請求項1乃至6のいずれか1項に記載の分散型情報処理システムの構成としたことを特徴とする。
本発明によれば、同一ハードウェア上で、業務処理を行う仮想マシンと、インストール及びアップグレードを行う仮想マシンとを同時に動作させ、インストールまたはアップグレードが完了すると、業務を行う仮想マシンに切り替えると共に、システム内の他のノードと連携し、動作する新しいバージョンについて合意し、全てのノードで一斉に切り替えるように構成したので、業務処理の実行を停止することなく、ソフトウェアのインストールやアップグレードを行うことができる効果が有る。
本発明の実施形態に係る分散型情報処理システムの全体構成を示す構成図である。 本発明の実施形態に係る分散型情報処理システムが適用される分散ストレージシステムの1構成例を示す構成図である。 図2に示すシステムの、ストレージ付近の構成を示す構成図である。 図2,3に示すシステムの、VMM100(単一ノード)におけるVM切り替え動作の概要を示す説明図(1/2)である。 図2,3に示すシステムの、VMM100(単一ノード)におけるVM切り替え動作の概要を示す説明図(2/2)である。 図2,3に示すシステムの、VMM100(単一ノード)におけるVM切り替え動作の詳細を示す説明図(1/2)である。 図2,3に示すシステムの、VMM100(単一ノード)におけるVM切り替え動作の詳細を示す説明図(2/2)である。 図2,3に示すシステムの、全てのノードにおけるバージョン切り替え動作を示す説明図(1/2)である。 図2,3に示すシステムの、全てのノードにおけるバージョン切り替え動作を示す説明図(2/2)である。 本発明の実施形態に係る分散型情報処理システムが適用される分散ストレージシステムの他の1構成例を示す構成図である。
本発明の分散型情報処理システムは、システム上の複数のノードに対して、業務を停止することなく、全ノードのソフトウェアを更新する処理(即ち、動的ソフトウェア更新処理)を行う。
分散システム上の各ノードは、ハイパーバイザ型の仮想マシンモニター(VMM)と、VMM上に業務を行う仮想マシン(VM1)と、インストールまたはアップグレードを行う仮想マシン(VM2)とを備える。ここで、VM2はVM1の複製であり、VM2は自己に対して新規のソフトウェアをインストールするか、または既存のソフトウェアをアップグレードし、この処理の完了後、VM1上の動的に更新されるデータ格納場所の情報が保存されているテーブル(以下、「indexテーブル」と称する)を段階的にVM2へ移行し、完全に移行した段階でVM1からVM2へ処理を切り替える。
また、各ノードでインストール前またはアップグレード前のバージョン(即ち旧バージョン)で動作するVM2が、他のノードのVM2と通信し、切り替え先のインストール後またはアップグレード後のバージョン(即ち新バージョン)について全ノードで合意し、全ノード一斉に新バージョンに切り替える。
以上の処理により、分散システム上で稼働中の業務を停止させることなく、全ノードを旧バージョンから新バージョンに切り替えられるようにしている。
また、システム内において旧バージョンで動作するノードと、新バージョンで動作するノードとが混在する状況でも業務を継続することができるようにしている。
さらに、万一、前記のインストールまたはアップグレードに失敗した場合、VM1からVM2への切り替え前であれば、VM1からVM2への切り替えをしなければ、インストールまたはアップグレードする前の状態に戻すことを可能にし、また、VM1からVM2への切り替え後であれば、前述の、VM1からVM2への切り替えを逆に行うことでindexテーブルの最新化を行い、VM2からVM1への切り替えをすることによってインストールまたはアップグレードする前の状態に戻すことを可能にしている。
以下、本発明の分散型情報処理システム及び分散ストレージシステムの実施形態について、図面を参照して詳細に説明する。
図1は、本発明の実施形態に係る分散型情報処理システムの全体構成を示す構成図である。
同図において、本実施形態の分散型情報処理システムは、ハードウェア140上で動作し、ハイパーバイザ型の仮想マシンモニターであるVMM130上で稼働する、業務担当の仮想マシンのVM100と、データを記憶するストレージ200と、を備えて構成される。
VM100は、仮想マシンであるVM110及びVM120と、VM110とVM120間で共有される共有ボリューム132と、ネットワークをVM110からVM120へ切り替えるネットワーク切り替え部131と、を備える。
VM110は、データ分割部111と、データ保存部112と、後述するindexテーブル114をVM120へ複製する複製部113と、スナップショットの索引を保持するindexテーブル114と、変更監視部115と、VM切り替え部116と、変更管理テーブル117と、キー生成部11dと、を備える。
VM120は、データ分割部121と、データ保存部122と、複製部123と、indexテーブル124と、変更監視部125と、VM切り替え部126と、変更管理テーブル127と、旧バージョン動作部128と、VM切り替え完了通知通信部129と、新旧バージョン切り替え部12aと、完了通知テーブル12bと、バージョン情報1テーブル12cと、を備える。
複製部113は、スナップショット取得部113aと、スナップショット送信部113bと、更新データ取得部113cと、更新データ送信部113dと、複製完了通知送信部113eと、スナップショット適用部113fと、スナップショット受信部113gと、更新データ適用部113hと、更新データ受信部113iと、複製完了通知受信部113jと、を備える。
複製部123は、スナップショット取得部123aと、スナップショット送信部123bと、更新データ取得部123cと、更新データ送信部123dと、複製完了通知送信部123eと、スナップショット適用部123fと、スナップショット受信部123gと、更新データ適用部123hと、更新データ受信部123iと、複製完了通知受信部123jと、を備える。
以下、本発明の実施形態に係る分散型情報処理システムの機能を、主な構成要素の機能に基づいて説明する。
まず、複製部113及び複製部123の機能を、各構成要素の機能に基づいて説明する。
スナップショット取得部113aは、特定の時点でのスナップショットを取得する。 スナップショット送信部113bは、スナップショット取得部113aによって取得したスナップショットをVM120へ送信する。
スナップショット受信部123gは、スナップショット送信部113bによって送信されたスナップショットをVM120において受信する。
スナップショット適用部123fは、スナップショット受信部123gによって取得したスナップショットをVM120のindexテーブル124に適用する。
更新データ取得部113cは、VM110のindexテーブル114のスナップショットを取得し、VM120のindexテーブル124に適用したことを確認すると、変更監視部115に対して、indexテーブル114の更新部分情報を記録する変更管理テーブル117を参照して更新部分情報と更新データを取得するように指示し、返ってきた更新部分情報と更新データとを、更新データ送信部113dを用いてVM120へ送信する。
更新データ送信部113dは、更新データ取得部113cによって取得した更新部分情報と更新データとを、VM120へ送信する。
更新データ受信部123iは、更新データ送信部113dによって送信された更新部分情報と更新データとを、VM120において受信する。
更新データ適用部123hは、更新データ受信部123iによって取得した更新部分情報と更新データをVM120のindexテーブル124に適用する。
複製完了通知送信部113eは、変更監視部115によって新たな更新部分が存在しないことを確認すると、VM120に対して、indexテーブル114の複製が完了したことを通知する。
複製完了通知受信部123jは、複製完了通知送信部113eによって送信された通知を受け取ると、VM切り替え部126に対して、indexテーブル124の複製が完了したことを通知する。
VM切り替え部126は、VMM130に対して、業務を行っているVM110のネットワークをVM120へ、共有ボリューム132の接続をVM110からVM120へ、それぞれ切り替えるべきことを指示し、ネットワークと共有ボリューム132の切り替えが完了するとVM切り替え完了通知通信部129へ通知する。
変更監視部115は、スナップショット取得部113aによってindexテーブル114のスナップショットを取得した時点から、indexテーブル114の変更を監視する。
VM切り替え部126は、複製完了通知受信部123jからのindexテーブル114複製完了の通知を受けて、VMM130に対してVMの切り替えを指示し、共有ボリューム132の接続をVM110からVM120へ切り替え、旧バージョン動作部128の動作を開始させる。
ネットワーク切り替え部131は、VM120のVM切り替え部126からのVM切り替え指示を受け、業務中のデータを受信していたネットワークをVM110からVM120へ切り替える。
旧バージョン動作部128は、VM110からVM120へ切り替えた直後において、VM切り替えが完了していないノードが存在したときのために、VM120上で旧バージョンと同様の動作をするものである。これにより、旧バージョンの動作をするノードと新バージョンの動作をするノードとが混在して実行される状態を無くしている。
VM切り替え完了通知通信部129は、自身のノードにおいて、VM切り替え部126からVM切り替え完了の通知を受けたとき、システム内の全ノードに対してVM切り替え完了を通知する。また、他のノードからのVM切り替え完了通知を完了通知テーブル12bに記録し、完了通知テーブル12bから全ノードのVM切り替えが完了しているか否かを判断し、全てのノードのVM切り替えが完了していれば、旧バージョンから新バージョンへの切り替え処理を開始する。
新旧バージョン切り替え部12aは、VM切り替え完了通知通信部129から、全てのノードのVM切り替えが完了したことを通知されると、例えば一般的な既知の合意アルゴリズム(2相コミットなど)によって、全ノードで切り替え先となる新バージョンについて合意する。全ノードで合意ができた時点で、各々のノードは、旧バージョンの動作から新バージョンの動作へと処理動作を切り替える。但し、切り替えが完了した各ノードは、切り替え前で旧バージョンで動作注のノードに対するデータの送信は保留し、この保留の対象ノードが新バージョンへの切り替えが通知された時点で、保留していたデータの送信を開始する。
(動作の説明)
図2は、本発明の実施形態に係る分散型情報処理システムが適用される分散ストレージシステムの1構成例を示す構成図である。
図3は、図2に示す分散ストレージシステム(本発明に係る分散ストレージシステム)の、ストレージ付近の構成を示す構成図である。
ノード1〜nの各々は、単一ノードであり、VMM100(図1)の構成を備える。
また、ノード1〜nの各々は、広域ネットワーク10000に通信可能に接続されており、さらに、ノード1〜nは、それぞれノードの符号にストレージ番号が対応するストレージ1〜nと接続されている(この1〜nはストレージ番号)。このストレージ1〜nの各々には、ストレージ200(図1)が適用されるものとする。
以下では、図1に示す分散型情報処理システムの構成において、特にノードi(iは1〜n)の構成要素を示す場合は、図1に示す構成要素の符号の前にノード番号を附すものとする。例えば、ノード1の複製部113は、複製部1113と記載する。但し、特に特定のノードを指定した既述ではなく、ノード全体に対して適用される既述の場合は、前記のノード番号の記載は省略する。
以下、図1を参照しながら、図2,3に示す構成図を用いて、本実施形態に係る分散型情報処理システムの動作を説明する。
図3に示すように、例えば、VMM1100(ノード1)のOS1110内には、キー生成部111d、データ分割部1111、データ保存部1112、indexテーブル1114を備え、後述するようなデータ書き込み処理を行う。データが書き込まれると、キー生成部111dによってデータのキーが作成され、indexテーブル1114に登録される。続いてデータ分割部1111によってデータが分割され、その分割されたデータをデータ保存部1112が各ノード100のストレージ200へ保存し、その保存した場所をindexテーブルn114に保存する。他のノード(2〜n)についても上記のノード1と同様である。
図4,5は、図2,3に示すシステムの、VMM100(単一ノード)におけるVM切り替え動作の概要を示す説明図である。
図4,5に示すように、各ノードにハイパーバイザ型の仮想マシンモニター(VMM100)が充当されており、その上に業務を行う仮想マシン(VM110)が配されている。ソフトウェアのインストールまたはアップグレード時、ソフトウェアを適用するための仮想マシン(VM120)をVM110のOSイメージの複製として新たに作成する。
VM120にソフトウェアを適用した後、VM110上の設定情報とindexテーブル114を共有ボリューム132経由でVM120に引き継ぎ、業務で実行中のネットワークをVM110からVM120へ切り替え、業務を行うVMを切り替える。この切り替え直後は、更新後のバージョンでは動作せず、更新前のバージョンで動作することになる。全てのノードのソフトウェアのインストール若しくはアップグレードが完了した後、新バージョンによる動作に切り替える。
図6,7は、図2,3に示すシステムの、VMM100(単一ノード)におけるVM切り替え動作の詳細を示す説明図である。
図6,7に示すように、VM110からVM120を複製後、VM120においてインストールまたはアップグレード処理中のとき、VM110では業務の処理と並行して、indexテーブル114複製処理や変更監視処理の起動や変更管理テーブル117の生成などの業務の引継ぎの準備を開始する。
VM120のインストール処理の完了を契機に、スナップショット取得部113aはVM110上のindexテーブル114のスナップショット(その時点におけるindexテーブルのデータ)を取得し、取得したスナップショットをスナップショット送信部113bによってVM120へ送信し、送信されたスナップショットをスナップショット受信部123gによって受信し、受信したスナップショットをスナップショット適用部123fによってVM120上のindexテーブル124に反映する。
VM110上のindexテーブル114のスナップショットを取得したことを契機に変更監視部115は、indexテーブル114の変更箇所の記録を開始する。
また、VM120のindexテーブル124に対するVM110のindexテーブル114のスナップショット適用完了を契機に、更新データ取得部113cは、変更監視部115に変更箇所を問い合わせ、indexテーブル114の変更箇所情報と変更データを取得し、取得した変更箇所情報と変更データを更新データ送信部113dによってVM120へ送信し、送信された変更箇所情報と変更データを更新データ受信部123iによって受信し、受信した変更箇所情報と変更データを更新データ適用部123hによってVM120上のindexテーブル124に反映する。
業務を行っているときは、VM110のindexテーブル114が頻繁に変化するので、上記の手段によって更新データを随時VM120のindexテーブル124に適用する。この操作を繰り返し、VM110の更新データが無くなった時点で、変更監視部115が、複製完了通知送信部113eに対して複製完了通知を送り、複製完了通知送信部113eは、VM120に対してindexテーブル114の複製完了通知を送信する。VM120の複製完了通知受信部123jは、複製完了通知を受信するとVM切り替え部126にindexテーブル114複製完了を通知する。
VM切り替え部126は、複製完了通知受信部123jからindexテーブル114の複製完了の通知を受け取ると、VMM130のネットワーク切り替え部131に対してVM110での業務で使用中のネットワークをVM120へ切り替えるように指示し、VMM130に共有ボリューム132の接続をVM110からVM120へ切り替えるように指示する。ネットワーク切り替え部131からネットワーク切り替え完了の通知を受け取ると、VM切り替え完了通知通信部129へVMの切り替えが完了したことを通知する。
ネットワーク切り替え部131は、VM切り替え部からの指示により、業務で接続中のVM110のネットワークをVM120へ切り替える。ネットワークの切り替えが完了すると、VM切り替え部126にネットワークの切り替えが完了したことを通知する。
図8,9は、図2,3に示すシステムの、全てのノードにおけるバージョン切り替え動作を示す説明図である。
旧バージョン動作部128は、ネットワークが切り替わると同時に動作を開始し、まだインストールが完了していないノードと同様の処理を行う。この処理によって、異なるバージョンが混在しても問題なく業務を継続できる。
VM切り替え完了通知通信部129は、VM切り替え部126からVMの切り替えの完了が通知されると、完了通知テーブル12bを生成し、全てのノードに対して自身のノードのVMの切り替えが完了したことを通知する。他のノードからのVM切り替え完了通知を受信すると完了通知テーブル12bに対応するノードに完了と記録する。
各ノードのVM切り替え完了通知部129は、完了通知テーブル12bを参照し、システム内の全てのノードがVMの切り替えを完了していることを判断すると、新旧バージョン切り替え部12aに全ノードのVMが切り替わったことを通知する。
新旧バージョン切り替え部12aは、各ノードのバージョンを管理しているバージョン情報テーブル12cと一般的な合意アルゴリズム(2相コミットなど)を使用し、各ノードで切り替える新しいバージョンについての合意を行う。この合意の処理は、最初に任意のノードを調停者とし、調停者のノード120がVM切り替えバージョン情報と切り替え可能メッセージを、全てのノード(1120〜n120)へ送付する。
送付されたバージョン情報を受け取ったノード(1120〜n120)は、自己の切り替え先のバージョン情報と一致しているか否かを判断し、正しければOKを示す情報を調停者のノード120へ返信する。調停者のノード120は、全てのノード(1120〜n120)から、前記OK示す情報が返信されたことを確認すると、全てのノード(1120〜n120)に対して新しいバージョンへの動作の切り替えを指示し、調停者のノード120も新しいバージョンへの動作に切り替える。各ノードでは、この切り替えが完了すると、全てのノードへ、新しいバージョンへの切り替えが完了したことを通知し、この通知を受け取った各ノードは、バージョン情報テーブル12cに、対応するノードと、前記新しいバージョンのバージョン情報とを記録する。各ノードの切り替えるタイミングは異なるため、新バージョンで動作するノードと旧バージョンで動作するノードが混在した状態になる。そのため、バージョン情報テーブル12cを参照し、切り替えが完了していないノードへのデータの送信を保留し、切り替えが完了した時点でデータの送信を再開させる。
図10は、本発明の実施形態に係る分散型情報処理システムが適用される分散ストレージシステムの他の1構成例を示す構成図である。
図10に示す構成のシステムでは、プログラムのバグや通信の遅延などにより、インストールまたはアップグレードの処理に失敗した場合、あるいはインストールまたはアップグレードの処理を取り消す場合に、全ノードへインストールまたはアップグレードの処理の取り消しを通知し、VM120への切り替えが済んでいないノードについてはVM120への切り替え処理を停止し、VM110での業務の処理を継続させ、VM120への切り替えが済んでいるノードについてはVM120のindexテーブル124をVM110へ複製し、VM110で業務の処理を継続させる。これにより、システムを、インストールまたはアップグレードする前の状態に復元できる。
特定のノードで、インストールまたはアップグレードを取り消す現象や要求が発生した場合、当該ノードから全ノードへインストールまたはアップグレードの処理の取り消しを通知する。
インストールまたはアップグレードの処理の取り消し通知を受信したVM120への切り替えが済んでいないノードは、VM120への切り替え処理を停止し、VM110での業務の処理を継続させ、VM120を消滅させる。
インストールまたはアップグレードの処理の取り消し通知を受信したVM120への切り替えが済んでいるノードは、VM120のindexテーブル124をVM110へ複製するため、図7においてVM110とVM120を入れ替えて成るシステム(即ち、図10に示す構成のシステム)にて、段階的にindexテーブル124を複製する。
スナップショット取得部123aは、VM120上のindexテーブル124のスナップショットを取得し、取得したスナップショットをスナップショット送信部123bによってVM110へ送信し、送信されたスナップショットをスナップショット受信部113gによって受信し、受信したスナップショットをスナップショット適用部113fによってVM110上のindexテーブル114に反映する。
変更監視部125は、VM120上のindexテーブル124のスナップショットを取得したことを契機にindexテーブル124の変更箇所の記録を開始する。
更新データ取得部123cは、VM110のindexテーブル114に対するVM120のindexテーブル124のスナップショット適用完了を契機に変更監視部125に変更箇所を問い合わせ、indexテーブル124の変更箇所情報と変更データとを取得し、該取得した変更箇所情報と変更データとを更新データ送信部123dを介してVM110へ送信する。
更新データ受信部113iは、該送信された変更箇所情報と変更データとを受信し、該受信した変更箇所情報と変更データとを更新データ適用部113hによってVM110上のindexテーブル114に反映する。
業務を行っている最中では、VM120のindexテーブル114が頻繁に変化するので、上記の手段によって更新データを随時VM110のindexテーブル114に適用する。この操作を繰り返し、VM120の更新データが無くなった時点で、変更監視部125が、複製完了通知送信部123eに対して複製完了通知を送り、複製完了通知送信部123eは、VM110に対してindexテーブル124の複製完了通知を送信する。
VM110の複製完了通知受信部113jは、この複製完了通知を受信すると、VM切り替え部116に対してindexテーブル複製完了を通知する。
VM切り替え部116は、複製完了通知受信部113jからindexテーブル124の複製完了の通知を受け取ると、VMM130のネットワーク切り替え部131に対してVM120での業務で使用中のネットワークをVM110へ切り替えるように指示し、VMM130に共有ボリューム132の接続をVM120からVM110へ切り替えるように指示する。また、ネットワーク切り替え部131から、ネットワーク切り替え完了の通知を受け取る。
ネットワーク切り替え部131は、VM切り替え部116からの指示により、業務で接続中のVM120のネットワークを、VM110との接続に切り替える。このネットワークの切り替えが完了すると、ネットワーク切り替え部131は、VM切り替え部116にネットワークの切り替えが完了したことを通知する。
本実施形態に係る分散型情報処理システムによれば、同一ハードウェア上に業務を行う仮想マシンとインストール及びアップグレードを行う仮想マシンとを同時に動作させ、インストールまたはアップグレードが完了すると、業務を行う仮想マシンを切り替えて、システム内の他のノードと連携し、動作する新しいバージョンについて合意し、全てのノードで一斉に切り替えるように構成したので、業務を停止することなくソフトウェアのインストール及びアップグレードができる効果が有る。
また、インストールまたはアップグレードが完了した仮想マシンは、最初に旧バージョンで動作させることと、全てのノードで、旧バージョンでの動作から新バージョンでの動作に切り替えることに合意された後、各ノードで動作するバージョンを切り替える際には、新バージョンでの動作に切り替えたノードは、旧バージョンで動作するノードに送信するデータを保留し、旧バージョンで動作するノードから新バージョンに切り替わったことを通知された時点でデータの送信を再開するように構成したので、システム内において旧バージョンで動作するノードと新バージョンで動作するノードとが混在する状況にあっても、業務を継続することができる効果が有る。
さらに、仮想マシンを切り替える前であれば、業務を行う仮想マシンだけを残して、インストール及びアップグレードを行う仮想マシンの方を削除すればよく、仮想マシンを切り替えた後であれば、インストールまたはアップグレードを行った仮想マシンと、業務を行っていた仮想マシンとでindexテーブルの複製を行うように構成したので、ソフトウェアを更新前に戻すことができる効果が有る。
上述の各装置は内部に、コンピュータシステムを有している。そして、上述した各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
本発明に係る分散型情報処理システムは、分散型情報処理システム及び該システムを適用した分散ストレージシステムの構築に適用可能であり、特に、業務処理を停止することなく、ソフトウェアのインストール及びアップグレードを行うことができる分散型情報処理システム及び該システムを適用した分散ストレージシステムの構築に好適である。
1〜n ノード
110,120 VM(仮想マシン)
111,121 データ分割部
112,122 データ保存部
113,123 複製部
114,124 indexテーブル
115,125 変更監視部
116,126 VM切り替え部
117,127 変更管理テーブル
11d キー生成部
128 旧バージョン動作部
129 VM切り替え完了通知通信部
130 VMM(仮想マシンモニター)
131 ネットワーク切り替え部
132 共有ボリューム

Claims (7)

  1. 共通のネットワークに接続された複数のノードの各々に適用される分散型情報処理システムであって、
    ハイパーバイザ型の仮想マシンモニターと、前記仮想マシンモニター上で業務を行う第1の仮想マシンと、前記第1の仮想マシンの少なくとも一部の構成要素と同じ構成要素を有してインストールまたはアップグレードを行う第2の仮想マシンと、を備え、
    前記第2の仮想マシンは、新バージョンのソフトウェアへの切り替えを行うに際して、前記新バージョンのソフトウェアをインストール処理するか、若しくは既存のソフトウェアをアップグレード処理した後、前記第1の仮想マシン上の動的に更新されるデータの格納場所の情報が保存されているindexテーブルの情報を、自己が備えるindexテーブルへ段階的に移行し、前記移行が完了した時点で、処理の制御を、前記第1の仮想マシンから前記第2の仮想マシンへ切り替えて実行することを特徴とする分散型情報処理システム。
  2. 前記第2の仮想マシンは、自己が実行する新バージョンのソフトウェアへの切り替えを行うに際して、前記のインストール処理またはアップグレード処理を実行する前から存在した旧バージョンのソフトウェアを使用して前記他のノードに属する他の第2の仮想マシンと通信し、前記他のノードが全て第1の仮想マシンから第2の仮想マシンへの切り替えを完了したことを確認すると共に前記新バージョンのソフトウェアについての前記複数の全ノードの合意を取得した後に、自己が実行するプログラムを、前記新バージョンのソフトウェアに切り替えることを特徴とする請求項1に記載の分散型情報処理システム。
  3. 前記第2の仮想マシンは、他の前記ノードの1つから、新バージョンのソフトウェアへの切り替え通知を受けたときに、前記他のノードが全て第1の仮想マシンから第2の仮想マシンへの切り替えを完了したことを確認すると共に前記新バージョンのソフトウェアについての前記複数の全ノードの合意を取得した後に、自己が実行するプログラムを、前記新バージョンのソフトウェアに切り替えることを特徴とする請求項1または請求項2記載の分散型情報処理システム。
  4. 前記第2の仮想マシンは、前記新バージョンのソフトウェアへの切り替えが完了した後、前記複数のノードのうち、旧バージョンで動作中のノードに対するデータの送信を一旦保留し、前記旧バージョンで動作中のノードから前記新バージョンのソフトウェアへの切り替え完了通知を受信した時点で、前記データの送信を再開する事を特徴とする請求項2または請求項3記載の分散型情報処理システム。
  5. 前記のインストール処理またはアップグレード処理が失敗した場合、前記他のノードの全てに該失敗の事実を通知すると共に、該失敗となった時点が、前記自己が実行する処理の前記第1の仮想マシンから前記第2の仮想マシンへの切り替え前であれば、前記第1の仮想マシンから前記第2の仮想マシンへの切り替えを中止し、また、該失敗となった時点が、前記自己が実行する処理の前記第1の仮想マシンから前記第2の仮想マシンへの切り替え後であれば、前記第1の仮想マシンから前記第2の仮想マシンへの切り替え処理を逆に行うことで前記indexテーブルの最新化を行うと共に前記第2の仮想マシンから第1の仮想マシンへの切り替えを行うことにより、自己の状態を前記インストール処理または前記アップグレード処理を行う前の状態に戻すことを特徴とする請求項1乃至3のいずれか1項に記載の分散型情報処理システム。
  6. 前記他のノードの1つから送信されたインストール処理またはアップグレード処理の失敗通知を受信した時点で、該受信時点が、前記自己が実行する処理の前記第1の仮想マシンから前記第2の仮想マシンへの切り替え前であれば、前記第1の仮想マシンから前記第2の仮想マシンへの切り替えを中止し、また、該失敗となった時点が、前記自己が実行する処理の前記第1の仮想マシンから前記第2の仮想マシンへの切り替え後であれば、前記第1の仮想マシンから前記第2の仮想マシンへの切り替え処理を逆に行うことで前記indexテーブルの最新化を行うと共に前記第2の仮想マシンから前記第1の仮想マシンへの切り替えを行うことにより、自己の状態を前記インストール処理または前記アップグレード処理を行う前の状態に戻すことを特徴とする請求項1乃至3のいずれか1項に記載の分散型情報処理システム。
  7. 共通のネットワークで接続された複数のノードと、該ノードに接続されたストレージとを備え、かつ前記複数のノードの全ての構成を請求項1乃至6のいずれか1項に記載の分散型情報処理システムの構成としたことを特徴とする分散ストレージシステム。
JP2010032565A 2010-02-17 2010-02-17 分散型情報処理システム及び分散ストレージシステム Active JP5728812B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010032565A JP5728812B2 (ja) 2010-02-17 2010-02-17 分散型情報処理システム及び分散ストレージシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010032565A JP5728812B2 (ja) 2010-02-17 2010-02-17 分散型情報処理システム及び分散ストレージシステム

Publications (2)

Publication Number Publication Date
JP2011170528A true JP2011170528A (ja) 2011-09-01
JP5728812B2 JP5728812B2 (ja) 2015-06-03

Family

ID=44684609

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010032565A Active JP5728812B2 (ja) 2010-02-17 2010-02-17 分散型情報処理システム及び分散ストレージシステム

Country Status (1)

Country Link
JP (1) JP5728812B2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015520468A (ja) * 2012-06-21 2015-07-16 マイクロソフト コーポレーション クライアント・インタフェースを実行中のハンドシェークによる自動アップデート
WO2015146355A1 (ja) * 2014-03-28 2015-10-01 株式会社Nttドコモ 更新管理システムおよび更新管理方法
KR20160050637A (ko) * 2014-10-30 2016-05-11 에스케이텔레콤 주식회사 가상화 정보 처리 장치의 소프트웨어 업그레이드 방법
JPWO2016125554A1 (ja) * 2015-02-03 2017-11-09 日本電気株式会社 仮想ネットワークシステム、仮想ネットワーク制御方法、仮想ネットワーク機能データベース、統合制御装置、制御装置およびその制御方法と制御プログラム
JP2018032940A (ja) * 2016-08-23 2018-03-01 日本電気株式会社 仮想マシン制御装置とその制御方法、及び、管理装置とその制御方法
JPWO2017179537A1 (ja) * 2016-04-15 2019-02-21 日本電気株式会社 ソフトウェア更新制御装置、ソフトウェア更新制御システム、ソフトウェア更新制御方法、及び、ソフトウェア更新制御プログラムが格納された記録媒体
CN109450676A (zh) * 2018-10-29 2019-03-08 锐捷网络股份有限公司 一种交换机升级方法及装置、电子设备、计算机可读介质
JP2019164531A (ja) * 2018-03-19 2019-09-26 株式会社リコー 情報処理システム、情報処理方法および情報処理プログラム
JP7380635B2 (ja) 2021-04-09 2023-11-15 横河電機株式会社 プログラム修正支援装置及びプログラム修正支援方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1027092A (ja) * 1996-07-12 1998-01-27 Oki Electric Ind Co Ltd ソフトウェアの管理方法
JP2002507022A (ja) * 1998-03-12 2002-03-05 テレフオンアクチーボラゲツト エル エム エリクソン(パブル) ソフトウェア更新のための状態コピー方法
JP2002328813A (ja) * 2001-04-27 2002-11-15 Hitachi Ltd プログラム修正方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1027092A (ja) * 1996-07-12 1998-01-27 Oki Electric Ind Co Ltd ソフトウェアの管理方法
JP2002507022A (ja) * 1998-03-12 2002-03-05 テレフオンアクチーボラゲツト エル エム エリクソン(パブル) ソフトウェア更新のための状態コピー方法
JP2002328813A (ja) * 2001-04-27 2002-11-15 Hitachi Ltd プログラム修正方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015520468A (ja) * 2012-06-21 2015-07-16 マイクロソフト コーポレーション クライアント・インタフェースを実行中のハンドシェークによる自動アップデート
WO2015146355A1 (ja) * 2014-03-28 2015-10-01 株式会社Nttドコモ 更新管理システムおよび更新管理方法
JP6026705B2 (ja) * 2014-03-28 2016-11-16 株式会社Nttドコモ 更新管理システムおよび更新管理方法
JPWO2015146355A1 (ja) * 2014-03-28 2017-04-13 株式会社Nttドコモ 更新管理システムおよび更新管理方法
KR20160050637A (ko) * 2014-10-30 2016-05-11 에스케이텔레콤 주식회사 가상화 정보 처리 장치의 소프트웨어 업그레이드 방법
KR102079701B1 (ko) 2014-10-30 2020-02-20 에스케이텔레콤 주식회사 가상화 정보 처리 장치의 소프트웨어 업그레이드 방법
JPWO2016125554A1 (ja) * 2015-02-03 2017-11-09 日本電気株式会社 仮想ネットワークシステム、仮想ネットワーク制御方法、仮想ネットワーク機能データベース、統合制御装置、制御装置およびその制御方法と制御プログラム
US11665061B2 (en) 2015-02-03 2023-05-30 Nec Corporation Virtual network system, virtual network control method, virtual network function database, orchestration apparatus, control apparatus, and control method and control program of control apparatus
US11106454B2 (en) 2016-04-15 2021-08-31 Nec Corporation Software update control device, software update control method, and recording medium having software update control program stored thereon
JPWO2017179537A1 (ja) * 2016-04-15 2019-02-21 日本電気株式会社 ソフトウェア更新制御装置、ソフトウェア更新制御システム、ソフトウェア更新制御方法、及び、ソフトウェア更新制御プログラムが格納された記録媒体
JP2018032940A (ja) * 2016-08-23 2018-03-01 日本電気株式会社 仮想マシン制御装置とその制御方法、及び、管理装置とその制御方法
JP7013978B2 (ja) 2018-03-19 2022-02-01 株式会社リコー 情報処理システム、情報処理方法および情報処理プログラム
JP2019164531A (ja) * 2018-03-19 2019-09-26 株式会社リコー 情報処理システム、情報処理方法および情報処理プログラム
CN109450676B (zh) * 2018-10-29 2022-04-26 锐捷网络股份有限公司 一种交换机升级方法及装置、电子设备、计算机可读介质
CN109450676A (zh) * 2018-10-29 2019-03-08 锐捷网络股份有限公司 一种交换机升级方法及装置、电子设备、计算机可读介质
JP7380635B2 (ja) 2021-04-09 2023-11-15 横河電機株式会社 プログラム修正支援装置及びプログラム修正支援方法

Also Published As

Publication number Publication date
JP5728812B2 (ja) 2015-06-03

Similar Documents

Publication Publication Date Title
JP5728812B2 (ja) 分散型情報処理システム及び分散ストレージシステム
US10140115B2 (en) Applying update to snapshots of virtual machine
CN107111533B (zh) 虚拟机集群备份
JP5021721B2 (ja) 仮想マシンのホストレベルのアプリケーション整合バックアップの作成
US8458392B2 (en) Upgrading a guest operating system of an active virtual machine
JP5026509B2 (ja) マシンから仮想マシンへの変換
JP5724477B2 (ja) 移行プログラム、情報処理装置、移行方法、及び情報処理システム
US7689859B2 (en) Backup system and method
JP2008293358A (ja) 分散処理プログラム、分散処理方法、分散処理装置、および分散処理システム
JP6072352B2 (ja) ディスク配信システム
US20130254765A1 (en) Patch applying method for virtual machine, storage system adopting patch applying method, and computer system
JP2008084029A (ja) 仮想マシン管理システム
JP2010257429A (ja) 計算機
US20100049823A1 (en) Initial copyless remote copy
WO2016106756A1 (zh) 一种容灾方法、系统和装置
JP2015075898A (ja) 処理再開方法、処理再開プログラムおよび情報処理システム
JP5284604B2 (ja) 過渡状態情報を格納するための方法、システムおよびコンピュータ・プログラム
JP2011248742A (ja) ストレージ管理システム、及び管理計算機、並びにプログラム
JP6146092B2 (ja) 仮想化システム、仮想サーバ、仮想マシン制御方法、及び仮想マシン制御プログラム
JP6467298B2 (ja) サーバ運用作業履歴管理装置、システム、方法、およびプログラム
WO2020158432A1 (ja) バックアップリストア方法及びバックアップリストア装置
JP6426591B2 (ja) 管理システム、管理方法、および管理プログラム
JP2008217533A (ja) ソフトウェア管理装置およびソフトウェア管理プログラム
JP2009251673A (ja) 情報処理装置、osのアップデート時間短縮方法およびプログラム
JP2013242779A (ja) Os切り替えシステム及びos切り替え方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140311

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140512

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20141021

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150115

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20150122

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: 20150310

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150323

R150 Certificate of patent or registration of utility model

Ref document number: 5728812

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150