Nothing Special   »   [go: up one dir, main page]

JP5092046B1 - 情報処理装置およびプログラム - Google Patents

情報処理装置およびプログラム Download PDF

Info

Publication number
JP5092046B1
JP5092046B1 JP2011167510A JP2011167510A JP5092046B1 JP 5092046 B1 JP5092046 B1 JP 5092046B1 JP 2011167510 A JP2011167510 A JP 2011167510A JP 2011167510 A JP2011167510 A JP 2011167510A JP 5092046 B1 JP5092046 B1 JP 5092046B1
Authority
JP
Japan
Prior art keywords
disk
virtual disk
virtual
data
cache
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.)
Active
Application number
JP2011167510A
Other languages
English (en)
Other versions
JP2013030128A (ja
Inventor
達弥 黒住
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2011167510A priority Critical patent/JP5092046B1/ja
Priority to US13/416,278 priority patent/US20130031548A1/en
Application granted granted Critical
Publication of JP5092046B1 publication Critical patent/JP5092046B1/ja
Publication of JP2013030128A publication Critical patent/JP2013030128A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】必要とする記憶領域を最小限に抑えつつ、マスタイメージから複数の個別イメージを作成する作業の高速化を図ること等を実現する情報処理装置を提供する。
【解決手段】情報処理装置は、第1の仮想ディスク管理手段と、第2の仮想ディスク管理手段と、第3の仮想ディスク管理手段とを具備する。第1の仮想ディスク管理手段は、マスタイメージを格納する第1の仮想ディスクを管理する。第2の仮想ディスク管理手段は、前記第1の仮想ディスクから個別情報を削除した初期化マスタイメージを格納する第2の仮想ディスクを前記第1の仮想ディスクとの差分ディスクとして作成して管理する。第3の仮想ディスク管理手段は、前記第2の仮想ディスクに個別情報を付加した個別イメージを格納する第3の仮想ディスクを前記第2の仮想ディスクとの差分ディスクとして作成して管理する。
【選択図】図3

Description

本発明の実施形態は、例えば、複数のクライアントのソフトウェア環境をサーバで統一的に管理するネットワークシステムに適用される情報処理装置に関する。
近年、多くの企業で業務のIT(information technology)化が図られており、このような企業では、社員は、例えば会社から貸与されるPC(personal computer)を使って作業を行っている。また、これらのPCを相互に接続してデータを含むリソースの共有化を図るために、オフィスにLAN(local area network)を敷設することも広く行われている。
一方、社員が業務に使用するPCを介して企業の機密情報が漏洩するといった問題も散見されている。このようなことから、オフィスで業務に使用されるPCに関するセキュリティ強化が強く求められている。
例えば、シンクライアントは、CPU(central processing unit)と主メモリとの他は、通信デバイスと、ユーザインタフェース用のキーボードやディスプレイデバイス等とのみを備えるコンピュータであり、オペレーティングシステムを含む各種プログラムおよび各種データは、ネットワークを介して接続されるサーバ(シンクライアントサーバ)によって管理される。即ち、ユーザが使用するシンクライアント側においてデータが保存されることがないので、情報の漏洩を防止でき、セキュリティの強化を図ることが実現される。また、シンクライアントで利用可能なプログラムがサーバで管理されるプログラムに限定されるので、コンピュータの(業務以外の)目的外利用も防止できる。ユーザが使用するプログラムをサーバで管理する方式としては、リッチクライアントも適用可能である。
シンクライアントには、いくつかの実装方式が存在するが、その中の1つを例に説明すると、シンクライアントサーバは、ソフトウェアによって作り出される、オペレーティングシステムを含む各種プログラムを動作させるための仮想的なハードウェア環境である仮想マシンを複数構築し、各仮想マシンに各々シンクライアントを割り当てる。そして、シンクライアントサーバは、各仮想マシン上で動作するオペレーティングシステムを含む各種プログラムによって作成される表示画面用の画像データを、対応するシンクライアントに送信する。これにより、シンクライアント側において、当該表示画面がユーザに提示されることになる。また、シンクライアントサーバは、シンクライアントから受信した入力データを、対応する仮想マシン上で動作するオペレーティングシステムを含む各種プログラムに引き渡す。
例えば(各部員が共通のプログラム群を利用して作業を行う)ある部署にn台のシンクライアントを設置する場合、通常、シンクライアントサーバは、(オペレーティングシステムを含む)当該共通のプログラム群がインストールされたディスクのイメージデータをマスタとして管理する。そして、シンクライアントサーバは、このマスタを基にして、例えばオペレーティングシステム等が保有する個別情報を各シンクライアント(または各ユーザ)向けにカスタマイズしたイメージデータをn個作成する。当該部署に設置するn台のシンクライアントが各々割り当てられた(シンクライアントサーバ上に構築される)n個の仮想マシン上では、カスタマイズ後のイメージデータが各々用いられて、オペレーティングシステムを含む各種プログラムが起動する。
例えば、シンクライアントサーバにおける、マスタを基にした、各シンクライアント向けにカスタマイズした複数のイメージデータの作成時には、大量のデータアクセスが発生する。一方で、このようなデータアクセスの効率化を図るための仕組みについては、これまでも種々提案されている。
特開2008−192020号公報 特開2008−102578号公報 特表2005−519408号公報
ところで、先に例示したシンクライアントサーバは、マスタとして管理するイメージデータを作成する場合、例えば、そのイメージデータの作成用に仮想マシンを構築し、当該仮想マシン上でオペレーティングシステムを含む各種プログラムのインストールを実行する。このインストールの実行時、例えばマシン名やID(Identification data)等、管理者用の個別情報が入力されるので、オペレーティングシステムを含む各種プログラムが当該管理者用の個別情報を保有することになる。そこで、シンクライアントサーバは、通常、このインストールの実行時に作成されたイメージデータをそのままマスタとして管理するのではなく、オペレーティングシステムを含む各種プログラムが保有する管理者用の個別情報を削除(初期化)したイメージデータをマスタとして管理する(マスタイメージ)。これにより、当該マスタイメージに各シンクライアント(または各ユーザ)用の個別情報を付加するだけで、各シンクライアント用のイメージデータ(個別イメージ)を作成することが可能となる。
しかしながら、そうすると、例えばオペレーションシステムを含む各種プログラムをバージョンアップする必要が生じた場合や、プログラムの追加、変更、削除などを行う必要が生じた場合、逆に、マスタイメージからこれらの作業のためだけの(オペレーティングシステムを含む各種プログラムが管理者用の個別情報を保有する)個別イメージを再作成することが必要となってしまう。そうかといって、インストールの実行時に作成されたイメージデータと、このイメージデータからオペレーティングシステムを含む各種プログラムが保有する個別情報を削除したイメージデータとの2つをそのままマスタとして管理することは、単純計算で2倍の記憶領域が必要となる等、現実的ではない。
また、これまでのデータアクセスの効率化手法においては、物理ディスクドライバやファイルシステムドライバなどが持つ一般的なキャッシュだけを利用する。このような一般的なキャッシュは、物理ディスク全体をキャッシュの対象とするので、例えばマスタイメージ以外へのアクセスを伴う他の処理が並行して実行されている場合などは、マスタイメージから複数の個別イメージを作成する処理において発生するデータアクセスのキャッシュヒット率は著しく低下する。そのため、このようなマスタイメージへのアクセスを含む特定の処理を高速化するための新たなキャッシュシステムの構築が求められる。
本発明は、必要とする記憶領域を最小限に抑えつつ、マスタイメージから複数の個別イメージを作成する作業の高速化を図ること等を実現する情報処理装置およびプログラムを提供することを目的とする。
実施形態によれば、情報処理装置は、仮想ディスク管理手段を具備する。仮想ディスク管理手段は、オペレーティングシステムを含む各種プログラムがインストールされた第1のディスクの第1のイメージデータを格納する第1の仮想ディスクと、前記第1のイメージデータから前記オペレーティングシステムを含む各種プログラムが保有する個別情報を削除した第2のイメージデータを格納する第2のディスクを前記第1の仮想ディスクとの組合せによって構成するための仮想ディスクであって、前記第1のディスクと前記第2のディスクとの第1の差分を格納する第2の仮想ディスクと、前記第2のイメージデータに前記オペレーティングシステムを含む各種プログラムに保有させるべき個別情報を付加した第3のイメージデータを格納する第3のディスクを前記第1の仮想ディスクおよび前記第2の仮想ディスクとの組合せによって構成するための仮想ディスクであって、前記第2のディスクと前記第3のディスクとの第2の差分を格納する第3の仮想ディスクとを管理する。
実施形態の情報処理装置が適用されるネットワークシステムの一構成例を示す図。 実施形態の情報処理装置のシステム構成を概略的に示す図。 実施形態の情報処理装置の仮想マシンシステムに関する機能ブロックを示す第1の図。 実施形態の情報処理装置上で実行されるマスタイメージの展開の全体の流れを示すフローチャート。 実施形態の情報処理装置の仮想マシンシステムに関する機能ブロックを示す第2の図。 実施形態の情報処理装置の仮想マシンシステムに関する機能ブロックを示す第3の図。
以下、実施の形態について図面を参照して説明する。
図1は、本実施形態の情報処理装置(管理サーバ1)が適用されるネットワークシステムの一構成例を示す図である。このネットワークシステムは、例えば企業が業務用に構築するネットワークシステムであって、各社員(ユーザ)は、クライアント2を用いて作業を行う。クライアント2のソフトウェア環境は、LAN3を介して接続される管理サーバ1によって統一的に管理されている。より具体的には、ユーザが作業に用いるオペレーティングシステムを含む各種プログラムがインストールされたディスクのイメージデータが管理サーバ1によって管理され、各クライアント2は、当該管理サーバ1によって管理されるイメージデータを使って動作する。
各クライアント2が管理サーバ1によって管理されるイメージデータを使って動作する態様としては、大きく分けて、次の2つが存在する。
(1)シンクライアント
管理サーバ1は、各クライアント2毎に仮想マシンを自装置上に構築し、自身が管理するイメージデータを使って、各仮想マシン上でオペレーティングシステムを含む各種プログラムを起動する。仮想マシンは、ソフトウェアによって作り出される、オペレーティングシステムを含む各種プログラムを動作させるための仮想的なハードウェア環境である。管理サーバは、各仮想マシン上で動作するオペレーティングシステムを含む各種プログラムによって作成される表示画面用の画像データを、対応するクライアント2に送信すると共に、当該クライアント2から受信した入力データを、対応する仮想マシン上で動作するオペレーティングシステムを含む各種プログラムに引き渡す。クライアント2は、管理サーバから受信した画像データをディスプレイデバイスに表示する機能と、キーボード等からの入力データを管理サーバ1に送信する機能とのみを備える。
(2)リッチクライアント
管理サーバ1は、各クライアント2に対して、自身が管理するイメージデータを配信する。各クライアント2は、管理サーバ1から受け取ったイメージデータを例えばHDD(Hard disc drive)等に格納する。各クライアント2には、例えばHDD等を備える一般的なPCをシンクライアント化するためのソフトウェアである仮想化エンジン(仮想マシンモニタ)がインストールされている。仮想化エンジンは、常駐プログラムとして設定されており、クライアント2が電源オンされてオペレーティングシステム(ハイパーバイザ)が起動されると、これに伴い、当該ハイパーバイザの制御下で自動的に起動する。仮想化エンジンは、起動されると、クライアント2上に仮想マシンを構築し、例えばHDD等に格納したイメージデータを使って、構築した仮想マシン上で(イメージデータに含まれる)オペレーティングシステム(ゲストOS)を含む各種プログラムを起動する。
仮想化エンジンは、仮想マシン上で動作するゲストOSを含む各種プログラムによって作成される表示画面用の画像データを、ハイパーバイザに引き渡し、当該画像データをクライアント2のディスプレイデバイスに表示することを要求すると共に、ハイパーバイザから受け取った(クライアント2のキーボード等を介して入力された)入力データを、仮想マシン上で動作するゲストOSを含む各種プログラムに引き渡す。この仮想化エンジンの働きにより、各クライアント2のソフトウェア環境を管理サーバ1で統一的に管理することが実現される。
また、仮想マシン上で動作する各種プログラムで使用されるユーザデータは、管理サーバ1(または図示しないファイルサーバ)上で管理されており、仮想化エンジンは、仮想マシン上で動作する各種プログラムがユーザデータのリード要求を発生させると、そのユーザデータをLAN3経由で管理サーバ1(または図示しないファイルサーバ)から取得し、一方、ライト要求を発生させた場合には、そのユーザデータをLAN3経由で管理サーバ1(または図示しないファイルサーバ)に送信する。即ち、ユーザデータがクライアント2内に保存されることがないので、企業の機密情報が漏洩することを防止できる。
なお、この(2)の態様は、クライアント2側におけるデータの保存禁止を目的とするのではなく、大量のクライアント2を運用するコストの削減を目的として採用し得る。例えば、あるプログラムをバージョンアップする場合、クライアント2毎に当該バージョンアップ作業を行わずとも、マスタのイメージデータに対して当該バージョンアップ作業を一括して行うことを可能とすることで、コストの削減を実現できる。このコストの削減を主たる目的とする場合には、仮想化エンジンは、仮想マシン上で動作する各種プログラムで使用されるユーザデータを管理サーバ1(または図示しないファイルサーバ)上で管理するための機能を必ずしも備える必要はない。
ところで、管理サーバ1は、各クライアント2に共通のイメージデータをマスタとして管理する。このマスタたるイメージデータ(マスタイメージ)は、例えば当該マスタイメージの作成用に仮想マシンを構築し、この仮想マシン上でゲストOSを含む各種プログラムのインストールを実行することによって作成される。このインストールの実行時、例えばマシン名やID等、管理者用の個別情報が入力されるので、ゲストOSを含む各種プログラムが当該管理者用の個別情報を保有することになる。そこで、当該ゲストOSを含む各種プログラムが保有する個別情報を削除(初期化)するカスタマイズがマスタイメージに対して施される。各クライアント2用のイメージデータ(個別イメージ)は、初期化されたマスタイメージに各クライアント2用の個別情報を付加するカスタマイズを施すことによって作成される。
上記(1),(2)のいずれの態様においても、管理サーバ1は、以上のように作成される個別イメージを各クライアント2毎に作成する必要がある。本実施形態の管理サーバ1は、必要とする記憶領域を最小限に抑えつつ、マスタイメージから複数の個別イメージを作成する作業の高速化を図ること等を実現する仕組みを備えたものであり、以下、この点について詳述する。なお、以下では、1つのマスタイメージを基にした複数の個別イメージの作成を「マスタイメージの展開」と称することがある。
図2は、本実施形態の情報処理装置(管理サーバ1)のシステム構成を概略的に示す図である。図2に示すように、管理サーバ1は、CPU11、主メモリ12、外部記憶装置13、入力装置14、表示装置15および通信装置16を具備している。
CPU11は、オペレーティングシステム(OS)100を含む各種プログラムを外部記憶装置13から主メモリ12にロードして実行する。各種プログラムの中には、後述する仮想マシンシステム構築ユーティリティ110が含まれている。主メモリ12は、管理サーバ1の主記憶を担うメモリデバイスであり、一方、外部記憶装置は、主メモリ12の補助装置としての役割を担うメモリデバイスである。
また、入力装置14は、管理サーバ1が提供するユーザインタフェースのインプットを担うデバイスであり、一方、表示装置15は、管理サーバ1が提供するユーザインタフェースのアウトプットを担うデバイスである。そして、通信装置16は、LAN3を介したクライアント2との通信を実行する。
ここで、図1および図2と共に、図3を併せて参照して、管理サーバ1上で動作する仮想マシンシステム構築ユーティリティ110によって構築される仮想マシンシステムの概要について説明する。なお、ここでは、本ネットワークシステムが、いわゆるシンクライアントシステムとして構築されるものと想定する(上記(1)の態様)。図3は、管理サーバ1の仮想マシンシステムに関する機能ブロックを示す図である。
図2に示したように、仮想マシンシステム構築ユーティリティ110は、仮想マシン作成モジュール111、仮想ディスク管理モジュール112、ディスクキャッシュ作成モジュール113、シンクライアント機能モジュール114および仮想ディスク配信モジュール115を有している。
仮想マシン作成モジュール111は、オペレーティングシステムを含む各種プログラムを動作させるための仮想的なハードウェア環境である仮想マシン140を管理サーバ1内に作り出すためのモジュールである。仮想マシン作成モジュール111は、複数の仮想マシン140を管理サーバ1内に作成することができる。図3中、仮想マシン[0]140は、後述するマスタディスク121の作成時に作成される仮想マシンである。一方、仮想マシン[n:n=1,2,3,…]140は、クライアント[n]2毎に作成される仮想マシンである。
仮想ディスク管理モジュール112は、第1に、仮想マシン作成モジュール111によって作成された仮想マシン[0]140を使って、マスタディスク121を作成し、当該作成したマスタディスク121を管理するためのモジュールである。仮想ディスク管理モジュール112は、クライアント2のユーザが使用するゲストOSを含む各種プログラムのインストールを仮想マシン[0]140上で実行することによってマスタディスク121を作成する。即ち、マスタディスク121は、クライアント2のユーザが使用するゲストOSを含む各種プログラムがインストールされたディスクのイメージデータである。マスタディスク121は、仮想ディスクとして作成される。仮想ディスク方式は、物理ディスク(外部記憶装置13である例えばHDD)上の一部の領域を仮想的に1つのディスクとして扱う方式であり、仮想ディスク管理モジュール112は、この仮想ディスク方式をサポートする。
この仮想マシン作成モジュール111による(仮想マシン[0]140上での)インストール実行時、管理者は、マシン名やID等の個別情報を入力する。この個別情報は、ゲストOSを含む各種プログラムによって保有され、従って、マスタディスク121内に含まれることになる(図中の”ID:0”)。そこで、管理者は、マスタディスク121内に含まれる個別情報を削除(初期化)する作業を実施する。仮想ディスク管理モジュール112は、第2に、マスタディスク121に含まれる個別情報を削除(初期化)した初期化マスタディスク122を作成し、当該作成した初期化マスタディスク122を管理するためのモジュールである。仮想ディスク管理モジュール112によって作成される初期化マスタディスク122には、実体的には、個別情報が含まれるマスタディスク121と当該個別情報を削除したマスタディスク121との間の差分、具体的には、マスタディスク121内の個別情報が書き込まれた領域を初期値に書き戻すためのパッチデータのみが格納される。つまり、ここでは、仮想ディスク管理モジュール112がサポートする仮想ディスク方式が、差分ディスク機能を有することを前提としている。差分の単位は、ファイル単位またはセクタ単位のいずれも適用可能である。
換言すると、マスタディスク121と初期化マスタディスク122とは、親ディスクと子ディスクとの関係にあり、初期化マスタディスク122は、マスタディスク121との組み合わせによって1つの仮想ディスクを構成する。より具体的には、マスタディスク121内に含まれる個別情報を削除(初期化:図中の”ID:未設定”)したものに相当する仮想ディスクを構成する。
また、仮想ディスク管理モジュール112は、第3に、初期化マスタディスク122に各クライアント2(または各ユーザ)用の個別情報(図中の”ID:n”)を付加した各クライアント2用の個別ディスク123をそれぞれ作成し、当該作成した個別ディスク123それぞれを管理するためのモジュールである。仮想ディスク管理モジュール112によって作成される個別ディスク123それぞれにも、実体的には、個別情報が付加される前の初期化マスタディスク122と個別情報が付加された後の初期化マスタディスク122との間の差分、具体的には、初期化マスタディスク122内の所定の領域に個別情報を書き込むためのパッチデータのみが格納される。従って、マスタディスク121、初期化マスタディスク122および個別ディスク123は、親ディスク、子ディスクおよび孫ディスクの関係にあり、個別ディスク123は、マスタディスク121および初期化マスタディスク122との組み合わせによって1つの仮想ディスクを構成する。
なお、ここでは、仮想ディスク管理モジュール112が、マスタディスク121、初期化マスタディスク122、個別ディスク123のすべてを管理する例を示すが、マスタディスク121、初期化マスタディスク122、個別ディスク123のそれぞれに対し、管理用のモジュールを個別に設けるようにしてもよい。
図4は、本実施形態の管理サーバ1上で実行されるマスタイメージの展開の全体の流れを示すフローチャートである。
まず、仮想ディスク管理モジュール112が、物理ディスク上に親ディスク用の領域を確保することによって、親ディスクを作成する(ブロックA1)。続いて、仮想ディスク管理モジュール112は、仮想マシン作成モジュール111に作成させた仮想マシン[0]140を使って、親ディスクに対して、ゲストOSやアプリケーションプログラムのインストールおよび設定などを行い、マスタイメージを作成する(ブロックA2)。
次に、仮想ディスク管理モジュール112は、物理ディスク上に子ディスク用の領域を確保することによって、子ディスクを作成する(ブロックA3)。続いて、仮想ディスク管理モジュール112は、マスタイメージの初期化を実施し、その結果を子ディスクに書き込む(ブロックA4)。
最後に、仮想ディスク管理モジュール112は、物理ディスク上に孫ディスク用の領域をクライアント2毎に確保することによって、複数の孫ディスクを作成する(ブロックA5)。そして、仮想ディスク管理モジュール112は、マスタイメージの個別化をクライアント2毎に実施し、その結果を各孫ディスクに書き込む(ブロックA6)。
なお、仮想ディスク管理モジュール112によって作成・管理される個別ディスク123は、上記(1)の態様の場合、仮想マシン作成モジュール111によって作成された仮想マシン[n]140に各々割り当てられ、仮想マシン[n]140上で(個別ディスク[n]123に含まれる)ゲストOSを含む各種プログラムがそれぞれ起動される。シンクライアント機能モジュール114は、仮想マシン[n]140上で動作するゲストOSを含む各種プログラムが作成した表示画面用の画像データをクライアント[n]2に送信すると共に、クライアント[n]2から受け取った入力データを仮想マシン[n]140上で動作するゲストOSを含む各種プログラムに引き渡す処理を実行するモジュールである。即ち、シンクライアント機能モジュール114は、管理サーバ1をシンクライアントサーバとして動作させるためのモジュールである。一方、上記(2)の態様の場合には、クライアント[n]2に対して、仮想ディスク管理モジュール112によって管理される個別ディスク[n]123が配信される。個別ディスク[n]123の配信は、具体的には、マスタディスク121+初期化マスタディスク122+個別ディスク[n]123の配信となる。仮想ディスク配信モジュール115は、当該クライアント2に対する個別ディスク123の配信を司るモジュールである。
このように、本実施形態の管理サーバ1では、差分ディスク機能を有する仮想ディスク方式をサポートする仮想ディスク管理モジュール112によって、親ディスクとしてマスタディスク121、子ディスクとして初期化マスタディスク122、孫ディスクとして個別ディスク[n]123がそれぞれ管理される。
子ディスクである初期化マスタディスク122は、親ディスクであるマスタディスク121との差分のみを格納し、孫ディスクである個別ディスク[n]123は、子ディスクである初期化マスタディスク122との差分のみを格納する。よって、ソフトウェア環境を統一的に管理すべきクライアント2の数が増加しても、各クライアント2について、初期化マスタディスク122との差分、つまり初期化マスタディスク122に付加すべき個別情報を個別ディスク123として管理するだけで良い。即ち、本実施形態の管理サーバ1は、差分ディスク機能を有する仮想ディスク方式を適用し、マスタディスク121、初期化マスタディスク122および個別ディスク123といった3段階の差分ディスク構成とすることによって、ディスク効率を高めることを可能とし、必要とする記憶領域を最小限に抑えることを実現する。これにより、コストダウンも達成されることになる。
また、ゲストOSを含む各種プログラムが管理者用の個別情報を保有するマスタディスク121を親ディスクとして管理することにより、例えばゲストOSを含む各種プログラムのバージョンアップや、プログラムの追加、変更、削除などといったメンテナンス作業が必要となった場合、このマスタディスク121を使って、仮想マシン[0]140上で当該メンテナンス作業を可及的速やかに着手することが可能となる。つまり、通常はマスタとして管理される初期化マスタディスク122から当該メンテナンス作業用の個別イメージを再作成することを不要とし、作業効率を高めることで、更なるコストダウンを達成することができる。
なお、ここでは、マスタディスク121、初期化マスタディスク122および個別ディスク123といった3段階の差分ディスク構成とする例を説明したが、未初期化のマスタイメージを親ディスクとして管理せず、初期化した結果を親ディスクに書き込み、この初期化済みディスクを親ディスク、個別化した結果を書き込んだ個別ディスクを子ディスクとする2段階の差分ディスク構成としても良い。
次に、本実施形態の管理サーバ1が、マスタイメージへのアクセスを含む特定の処理を高速化するために構築するキャッシュシステムについて説明する。
前述したように、個別ディスク123は、マスタディスク121および初期化マスタディスク122との組み合わせによって1つの仮想ディスクを構成する。よって、ここで想定する上記(1)の態様においては、仮想マシン[n]140それぞれから、共通の親ディスクであるマスタディスク121または共通の子ディスクである初期化マスタディスクからのデータの読み出しが発生する。そこで、本実施形態の管理サーバ1は、図3に示したように、マスタディスク121からのデータの読み出し時または初期化マスタディスク122からのデータの読み出し時(図3のx1)、当該マスタディスク121から読み出されたデータを格納するためのキャッシュ130aと、当該初期化マスタディスク122から読み出されたデータを格納するためのキャッシュ130bとを主メモリ12上に作成する仕組みを備える。ディスクキャッシュ作成モジュール113は、このキャッシュ130aおよびキャッシュ130bの作成を司るモジュールである。
ある1つの仮想マシン[n]140がマスタディスク121または初期化マスタディスク122から読み出したデータが、キャッシュ130aまたはキャッシュ130bに保存されていたならば、(例えば仮想マシン[n]140上でのゲストOSを含む各種プログラムの起動時などにおける)その他の仮想マシン[n]140は、マスタディスク121または初期化マスタディスク122から高速にデータを読み出すことが可能である。
物理ディスクドライバやファイルシステムドライバなどが持つ一般的なキャッシュが、物理ディスク(外部記憶装置13である例えばHDD)全体をキャッシュの対象としているのに対して、このキャッシュ130a,キャッシュ130bは、仮想ディスクであるマスタディスク121(親ディスク),初期化マスタディスク122(子ディスク)用に確保される物理ディスク上の一部の領域だけをキャッシュの対象としているため、マスタディスク121または初期化マスタディスク122からのデータの読み出しに関するキャッシュのヒット率は極めて高い。従って、(マスタディスク121用のキャッシュ130aと初期化マスタディスク122用のキャッシュ130bとを主メモリ12上に作成する仕組みを備えることにより)仮想マシン[n]140による仮想ディスクの読み出しを高速化することを実現する。
また、初期化マスタディスク122用のキャッシュ130bは、仮想マシン[n]140により読み出されたデータを格納するだけではなく、図5に示すように、初期化マスタディスク122への書き込みデータ(図5のx2)を格納することに用いることも有効である。具体的には、マスタディスク121の初期化時、つまり初期化マスタディスク122の作成時に、仮想ディスク管理モジュール112は、初期化マスタディスク122に書き込むデータをキャッシュ130bに保存する。
例えばゲストOSを含む各種プログラムのバージョンアップや、プログラムの追加、変更、削除などといったメンテナンス作業が発生し、すべての個別ディスク123を再作成する必要が生じたような場合、仮想ディスク管理モジュール112は、初期化マスタディスク122を用いたマスタイメージの個別化をクライアント2毎に実行することで、新たな個別ディスク123を作成することになる。この場合、1つ目の個別ディスク123を作成する際、つまり最初に初期化マスタディスク122からのデータの読み出しを実行する際においても、キャッシュ130bからデータを読み出せるので、さらに読み出しの高速化を図ることができる。なお、仮想ディスク管理モジュール112による初期化マスタディスク122の作成時に、マスタディスク121からのデータの読み出しが行われて、その読み出しデータがキャッシュ130aに格納されるので、1つ目の個別ディスク123を作成する際におけるマスタディスク121からのデータの読み出しも、キャッシュ130aを用いて実行することができる。
また、ディスクキャッシュ作成モジュール113は、仮想ディスク管理モジュール112による初期化マスタディスク122の作成時または個別ディスク123の作成時にのみ、キャッシュ130a,キャッシュ130bを主メモリ上に作成するようにしても良い。つまり、アクセスされるデータについて局所性が顕著に現れると推定される場合のみキャッシュ130a,キャッシュ130bを作成することにより、主メモリ12の使用量を適切に抑制することを実現する。
次に、図6を参照して、本ネットワークシステムが、上記(2)の態様を想定する場合について考える。この場合、前述したように、仮想ディスク配信モジュール115によって、各クライアント2に対する個別ディスク123の配信が実行される。また、前述したように、個別ディスク123は、マスタディスク121および初期化マスタディスク122との組み合わせによって1つの仮想ディスクを構成するので、仮想ディスク配信モジュール115は、マスタディスク121、初期化マスタディスク122および個別ディスク123を各クライアント2に配信することになる。
つまり、この仮想ディスク配信モジュール115によるクライアント2に対する個別ディスク123の配信時(図6のx4)にも、個別ディスク123からのデータの読み出しに加えて、各個別ディスク123に共通のマスタディスク121および初期化マスタディスク122からのデータの読み出しが多数発生する(図6のx3)。よって、マスタディスク121用のキャッシュ130aと初期化マスタディスク122用のキャッシュ130bとを主メモリ12上に作成することで、当該マスタディスク121および初期化マスタディスク122からのデータの読み出しを高速化することができる。また、ディスクキャッシュ作成モジュール113は、主メモリ12の使用量を適切に抑制するために、この仮想ディスク配信モジュール115によるクライアント2に対する個別ディスク123の配信時にのみ、キャッシュ130a,キャッシュ130bを主メモリ上に作成するようにしても良い。
以上のように、本実施形態の管理サーバ1は、第1に、差分ディスク機能を有する仮想ディスク方式を適用し、マスタディスク121、初期化マスタディスク122および個別ディスク123といった3段階の差分ディスク構成とし、第2に、マスタディスク121および初期化マスタディスク122のそれぞれに専用のキャッシュ130aおよびキャッシュ130bを主メモリ12上に作成する仕組みを持つことにより、必要とする記憶領域を最小限に抑えつつ、マスタイメージから複数の個別イメージを作成する作業の高速化を図ること等を実現する。
なお、本実施形態の動作制御処理は、ソフトウェア(プログラム)によって実現することができるので、このソフトウェアを格納したコンピュータ読み取り可能な記憶媒体を通じてこのソフトウェアを通常のコンピュータにインストールして実行することにより、本実施形態と同様の効果を容易に実現することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…管理サーバ、2…クライアント、3…LAN、11…CPU、12…主メモリ、13…外部記憶装置、14…入力装置、15…表示装置、16…通信装置、100…オペレーティングシステム、110…仮想マシンシステム構築ユーティリティ、111…仮想マシン作成モジュール、112…仮想ディスク管理モジュール、113…ディスクキャッシュ作成モジュール、114…シンクライアント機能モジュール、115…仮想ディスク配信モジュール、121…マスタディスク、122…初期化マスタディスク、123…個別ディスク、130a,130b…キャッシュ、140…仮想マシン。

Claims (12)

  1. オペレーティングシステムを含む各種プログラムがインストールされた第1のディスクの第1のイメージデータを格納する第1の仮想ディスクと、
    前記第1のイメージデータから前記オペレーティングシステムを含む各種プログラムが保有する個別情報を削除した第2のイメージデータを格納する第2のディスクを前記第1の仮想ディスクとの組合せによって構成するための仮想ディスクであって、前記第1のディスクと前記第2のディスクとの第1の差分を格納する第2の仮想ディスクと、
    前記第2のイメージデータに前記オペレーティングシステムを含む各種プログラムに保有させるべき個別情報を付加した第3のイメージデータを格納する第3のディスクを前記第1の仮想ディスクおよび前記第2の仮想ディスクとの組合せによって構成するための仮想ディスクであって、前記第2のディスクと前記第3のディスクとの第2の差分を格納する第3の仮想ディスクと、
    を管理する仮想ディスク管理手段を具備する情報処理装置。
  2. 前記第1の仮想ディスクのデータおよび前記第2の仮想ディスクのデータの少なくとも一方を格納するキャッシュ領域を主メモリ上に確保するキャッシュ作成手段をさらに具備する請求項1に記載の情報処理装置。
  3. 前記第2の仮想ディスクが格納する前記第1の差分は、前記オペレーティングシステムを含む各種プログラムが保有する個別情報を削除するために前記オペレーティングシステムを含む各種プログラムがインストールされたディスクに書き込まれるデータであり、
    前記仮想ディスク管理手段は、前記第2のディスクの作成時に、前記第2の仮想ディスクのデータを前記キャッシュ領域に格納する、
    請求項2に記載の情報処理装置。
  4. 前記キャッシュ作成手段は、前記仮想ディスク管理手段による前記第2のディスクの作成時または前記第3のディスクの作成時に、前記キャッシュ領域を前記主メモリ上に確保する請求項2または3に記載の情報処理装置。
  5. 前記第3のディスクを構成するための前記第1の仮想ディスク、前記第2の仮想ディスクおよび前記第3の仮想ディスクを、ネットワークを介して接続される他の情報処理装置に配信する仮想ディスク配信手段をさらに具備する請求項2に記載の情報処理装置。
  6. 前記キャッシュ作成手段は、前記仮想ディスク配信手段による前記第1の仮想ディスク、前記第2の仮想ディスクおよび前記第3の仮想ディスクの配信時に、前記キャッシュ領域を前記主メモリ上に確保する請求項5に記載の情報処理装置。
  7. コンピュータを、
    オペレーティングシステムを含む各種プログラムがインストールされた第1のディスクの第1のイメージデータを格納する第1の仮想ディスクと、
    前記第1のイメージデータから前記オペレーティングシステムを含む各種プログラムが保有する個別情報を削除した第2のイメージデータを格納する第2のディスクを前記第1の仮想ディスクとの組合せによって構成するための仮想ディスクであって、前記第1のディスクと前記第2のディスクとの第1の差分を格納する第2の仮想ディスクと、
    前記第2のイメージデータに前記オペレーティングシステムを含む各種プログラムに保有させるべき個別情報を付加した第3のイメージデータを格納する第3のディスクを前記第1の仮想ディスクおよび前記第2の仮想ディスクとの組合せによって構成するための仮想ディスクであって、前記第2のディスクと前記第3のディスクとの第2の差分を格納する第3の仮想ディスクと、
    を管理する仮想ディスク管理手段として機能させるプログラム。
  8. 前記コンピュータを、前記第1の仮想ディスクのデータまたは前記第2の仮想ディスクのデータの少なくとも一方を格納するキャッシュ領域を主メモリ上に確保するキャッシュ作成手段としてさらに機能させる請求項7に記載のプログラム。
  9. 前記第2の仮想ディスクが格納する前記第1の差分は、前記オペレーティングシステムを含む各種プログラムが保有する個別情報を削除するために前記オペレーティングシステムを含む各種プログラムがインストールされたディスクに書き込まれるデータであり、
    前記仮想ディスク管理手段は、前記第2のディスクの作成時に、前記第2の仮想ディスクのデータを前記キャッシュ領域に格納する、
    請求項8に記載のプログラム。
  10. 前記キャッシュ作成手段は、前記仮想ディスク管理手段による前記第2のディスクの作成時または前記第3のディスクの作成時に、前記キャッシュ領域を前記主メモリ上に確保する請求項8または9に記載のプログラム。
  11. 前記コンピュータを、前記第3のディスクを構成するための前記第1の仮想ディスク、前記第2の仮想ディスクおよび前記第3の仮想ディスクを、ネットワークを介して接続される他のコンピュータに配信する仮想ディスク配信手段としてさらに機能させる請求項8に記載のプログラム。
  12. 前記キャッシュ作成手段は、前記仮想ディスク配信手段による前記第1の仮想ディスク、前記第2の仮想ディスクおよび前記第3の仮想ディスクの配信時に、前記キャッシュ領域を前記主メモリ上に作成する請求項11に記載のプログラム。
JP2011167510A 2011-07-29 2011-07-29 情報処理装置およびプログラム Active JP5092046B1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011167510A JP5092046B1 (ja) 2011-07-29 2011-07-29 情報処理装置およびプログラム
US13/416,278 US20130031548A1 (en) 2011-07-29 2012-03-09 Information processing apparatus and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011167510A JP5092046B1 (ja) 2011-07-29 2011-07-29 情報処理装置およびプログラム

Publications (2)

Publication Number Publication Date
JP5092046B1 true JP5092046B1 (ja) 2012-12-05
JP2013030128A JP2013030128A (ja) 2013-02-07

Family

ID=47469453

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011167510A Active JP5092046B1 (ja) 2011-07-29 2011-07-29 情報処理装置およびプログラム

Country Status (2)

Country Link
US (1) US20130031548A1 (ja)
JP (1) JP5092046B1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9098322B2 (en) * 2013-03-15 2015-08-04 Bmc Software, Inc. Managing a server template
US10242185B1 (en) * 2014-03-21 2019-03-26 Fireeye, Inc. Dynamic guest image creation and rollback
US9723560B2 (en) 2014-05-22 2017-08-01 Qualcomm Incorporated Multi-stage amplifier with RC network
US11061705B2 (en) 2015-03-16 2021-07-13 Bmc Software, Inc. Maintaining virtual machine templates
CN107885622B (zh) * 2016-09-30 2021-03-09 伊姆西Ip控股有限责任公司 处理虚拟数据移动器(vdm)故障备援情况
CN108572889B (zh) * 2018-03-12 2019-10-18 新华三云计算技术有限公司 一种系统还原方法及装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002049485A (ja) * 2000-08-04 2002-02-15 Hitachi Ltd ソフトウェア配布システム
US8209680B1 (en) * 2003-04-11 2012-06-26 Vmware, Inc. System and method for disk imaging on diverse computers
JP4545529B2 (ja) * 2004-08-27 2010-09-15 株式会社日立製作所 スナップショットの作成方法及びプログラム並びにストレージシステム
JP4833541B2 (ja) * 2004-12-08 2011-12-07 株式会社日立製作所 デプロイ方法、プログラム及びサーバシステム
JP2006350781A (ja) * 2005-06-17 2006-12-28 Hitachi Ltd システムディスクイメージの配布方法及び計算機システム
US7784049B1 (en) * 2006-01-03 2010-08-24 Emc Corporation System and method for providing a plurality of virtual computing environments that efficiently use data in the virtual environments
JP4741371B2 (ja) * 2006-01-05 2011-08-03 株式会社日立製作所 システム、サーバ装置及びスナップショットの形式変換方法
US8539137B1 (en) * 2006-06-09 2013-09-17 Parallels IP Holdings GmbH System and method for management of virtual execution environment disk storage
US8677352B2 (en) * 2007-10-31 2014-03-18 Vmware, Inc. Interchangeable guest and host execution environments
WO2009081527A1 (ja) * 2007-12-26 2009-07-02 Nec Corporation 情報処理装置、仮想計算機構成方法、並びに、プログラムを記録したコンピュータ読み取り可能な記録媒体
US8327096B2 (en) * 2008-12-31 2012-12-04 International Business Machines Corporation Method and system for efficient image customization for mass deployment
JP5525740B2 (ja) * 2009-03-25 2014-06-18 株式会社日立システムズ 仮想アプライアンスサーバ管理方法及びシステム
JP2010231661A (ja) * 2009-03-27 2010-10-14 Nec Corp 仮想マシンシステム、仮想マシンシステムの動作方法、及び仮想マシンシステムの動作プログラム
US8117168B1 (en) * 2009-03-31 2012-02-14 Symantec Corporation Methods and systems for creating and managing backups using virtual disks
US8413141B2 (en) * 2009-04-23 2013-04-02 International Business Machines Corporation Copying segments of virtual resource definition to create and deploy a virtual resource on a physical resource
JP5434529B2 (ja) * 2009-11-30 2014-03-05 富士通株式会社 イメージファイル管理装置、イメージファイル管理プログラム、イメージファイル配信方法、情報処理装置及び展開プログラム

Also Published As

Publication number Publication date
JP2013030128A (ja) 2013-02-07
US20130031548A1 (en) 2013-01-31

Similar Documents

Publication Publication Date Title
US10803193B2 (en) Multi-tenant authorization framework in a data management and storage cluster
JP5496254B2 (ja) マシンから仮想マシンへの変換
US8086808B2 (en) Method and system for migration between physical and virtual systems
US11243707B2 (en) Method and system for implementing virtual machine images
JP5092046B1 (ja) 情報処理装置およびプログラム
US9952782B1 (en) Method and system for accessing data between different virtual disk formats in a virtualization environment
US8386757B1 (en) Managed desktop system
US20100257326A1 (en) Method and apparatus for logical volume management for virtual machine environment
US8839242B2 (en) Virtual computer management method and virtual computer management system
US9971783B2 (en) Data de-duplication for disk image files
CN102193807A (zh) 一种镜像文件升级的方法、服务器及计算机网络系统
WO2009150122A1 (en) Systems and methods for virtualizing storage for wpar clients using node port id virtuali zation
CN110806911B (zh) 一种云桌面管控方法、装置及系统
US8954435B2 (en) Method and system for reclaiming storage on a shared storage device or independent of the mount state of a file system
JP5606476B2 (ja) クライアント管理システム、クライアント管理方法及びプログラム
US8140810B2 (en) Storage management command control in virtualized environment
US7996631B1 (en) System and method for accessing storage devices attached to a stateless client
JP5670369B2 (ja) 情報処理装置、イメージファイル管理方法およびプログラム
US12026062B2 (en) Provider-agnostic management of backup data stored on a cloud-based object storage
US10826795B2 (en) Architecture for implementing service level management for a virtualization environment
US20130007736A1 (en) Information processing apparatus, method of processing information and storage medium
JP5180399B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP5100883B2 (ja) 計算機および計算機の制御方法
Bettany et al. Understanding windows file systems

Legal Events

Date Code Title Description
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: 20120821

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120914

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150921

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 5092046

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150921

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313114

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350