JP2009230596A - サーバ装置のユーザデータ保護方法、サーバ装置及びコンピュータプログラム - Google Patents

サーバ装置のユーザデータ保護方法、サーバ装置及びコンピュータプログラム Download PDF

Info

Publication number
JP2009230596A
JP2009230596A JP2008076950A JP2008076950A JP2009230596A JP 2009230596 A JP2009230596 A JP 2009230596A JP 2008076950 A JP2008076950 A JP 2008076950A JP 2008076950 A JP2008076950 A JP 2008076950A JP 2009230596 A JP2009230596 A JP 2009230596A
Authority
JP
Japan
Prior art keywords
server
address
virtual server
memory
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008076950A
Other languages
English (en)
Inventor
Katsu Tamaki
克 玉木
Akira Kato
加藤  明
Kazuo Horikawa
和雄 堀川
Yoshifumi Takamoto
良史 高本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008076950A priority Critical patent/JP2009230596A/ja
Priority to US12/147,568 priority patent/US20090248950A1/en
Publication of JP2009230596A publication Critical patent/JP2009230596A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】メモリに格納されたユーザデータを保護する方法を提供する。
【解決手段】ユーザデータ保護方法であって、管理サーバには、仮想サーバに割り当てられているメモリのメモリアドレスと仮想化機構に割り当てられているメモリのメモリアドレスとの対応関係が通常時とは異なるアドレス置換えテーブルを有し、イベントが発生、これを検知した場合に、管理サーバは、イベントが発生した仮想サーバを特定し、アドレス置換えテーブルを特定された仮想サーバを備える物理サーバの仮想化機構に送付し、アドレス置換えテーブルに基づいて、仮想サーバのメモリアドレスと仮想化機構のメモリアドレスとの対応関係を変更する。
【選択図】図1

Description

本発明は、仮想化機構上の仮想サーバのユーザデータを保護するための方法、サーバ装置及びコンピュータプログラムに関するものである。
サーバ装置が備えるメモリ装置には、サーバ装置上で稼動するオペレーティング・システム(OS)、アプリケーションプログラム、ユーザデータなどがプログラム実行時に格納される。格納されている情報は主にオペレーティングシステムの情報が格納されるカーネル空間とアプリケーションプログラムやユーザデータが格納されるユーザ空間がある。
また、従来、引用文献1に記載のように、障害解析の情報などを目的としてメモリの情報をディスクへ書き出すメモリダンプが行われている。
特開2002−202901号公報
昨今、メモリ装置の容量の伸びは大きく、多量のプログラムやデータがメモリ装置に格納できるようになってきている。しかし、一方でメモリ装置の大容量化はセキュリティに対する問題を表面化する要因になっている。例えば、従来は顧客情報データベースのような非常に多くの記憶領域が必要なプログラムは、データはディスクへ格納され必要な場合にのみメモリにロードされていたが、メモリ容量の増加により、データベースの情報全てがメモリに格納されるようになった。そのような状況において障害が発生し、障害解析目的でメモリダンプのようなメモリの内容をディスクに出力するプログラムを実行すると、大量のユーザデータをディスク等の外部記憶媒体に格納し、取得データをサポートセンタへネットワーク経由で転送したり、ディスクそのものの郵送を行う。そのため、ネットワーク経由での情報抜き取りや郵送トラブルによるディスクの紛失は、重大な情報漏洩に繋がってしまうという課題がある。
本発明の目的は、メモリに格納されたユーザデータを保護することである。
本発明の一つの特徴は、ユーザデータ保護方法であって、管理サーバには、仮想サーバに割り当てられているメモリのメモリアドレスと仮想化機構に割り当てられているメモリのメモリアドレスとは対応関係が通常時とは異なるアドレス置換えテーブルを有し、
イベントが発生した場合に、仮想サーバから仮想サーバを特定する仮想サーバ識別子情報を管理サーバに送付するステップと、管理サーバは前記イベントを検知するステップと、イベントを検知した場合に、管理サーバは、前記仮想サーバ識別子情報により前記イベントが発生した仮想サーバを特定するステップと、特定された場合は、前記アドレス置換えテーブルを特定された仮想サーバを備える物理サーバの前記仮想化機構に送付するステップと、アドレス置換えテーブルに基づいて、前記仮想サーバのメモリアドレスと仮想化機構のメモリアドレスとの対応関係を変更するステップとを有することを特徴とすることである。
本発明によれば、メモリに格納されたユーザデータのセキュリティを強化することができる。
以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明する。
図1は、本発明が適用された計算機システムの一実施例における論理的なシステム構成を示すシステム構成図である。
本実施例の計算機システムは、ネットワーク115で接続された、物理サーバ112と管理サーバ101を有する。物理サーバ112は仮想化機構110(ハイパバイザ、仮想化プログラムでも実現可能である。本実施例では、仮想化機構として説明する。)と仮想サーバ109を有して構成されており、仮想化機構110ではメモリ管理部111を有する。管理サーバ101は、ユーザ情報管理部102と仮想化機構管理部103と物理サーバ管理テーブル104と仮想サーバ管理テーブル105とワークロード管理テーブル106とユーザ情報管理テーブル107とアドレス置き換えテーブル108とを有している。また、物理サーバ112は複数のディスクボリューム114からなるストレージ装置113を有している。ストレージ装置113は物理サーバ112の内蔵型でも、ファイバーチャネルなどを経由した外部装置でも良い。
管理サーバ101は、ユーザ又は管理者、仮想サーバ上のアプリケーションなどからメモリ内の保護が要求される情報(センシティブ)の保護要求を受取った後、仮想化機構110と連携し、保護が要求される情報が保存されているアドレスを特定し、その情報を保護するための置換えテーブルを作成する機能を有する。また、管理サーバ101は障害を検知する機能を有しており、障害検知後に事前作成したアドレス置換えテーブル108を、仮想化機構110に送付する。
ユーザ情報管理部102は、アプリケーション302からの情報保護要求の受付や受付後の保護すべきアドレスを特定するため、仮想化機構管理部103の呼び出し、アドレス置換えテーブル108の作成などの機能を有する。
物理サーバ管理テーブル104は、CPUやディスク情報、メモリ情報といった、物理サーバ112毎のリソース情報が格納される。
仮想サーバ管理テーブル105は、仮想サーバ109毎の割り当てリソース情報が格納される。
ワークロード管理テーブル106は、管理サーバ101が管理している仮想化機構110毎のCPUの割り当て量や使用率情報を持っている。
ユーザ情報管理テーブル107は、仮想サーバ109毎のメモリ使用範囲やステータス情報が格納されている。
アドレス置換えテーブル108は、保護が要求される情報を置換えるための情報が格納されている。任意のタイミングでアドレス置換えテーブルに登録されているメモリ情報を仮想化機構マップテーブル307に置換えることで保護が要求される情報を守る事ができる。
仮想化機構管理部103は保護が要求される情報のメモリアドレスを特定するために、ユーザ情報管理部102から呼び出され、仮想化機構110を呼び出し、仮想化機構110が仮想化機構アドレスマップテーブル307を利用して保護が要求される情報のメモリアドレスを特定した結果を受け取り、ユーザ情報管理部102に特定したメモリアドレスを返す機能を有する。また仮想化機構管理部103は、障害が発生した際に障害を検知するユーザ情報管理部102から呼び出され、アドレス置換えテーブルの情報を仮想化機構アドレスマップテーブル307に上書きするために、仮想化機構110を呼び出す機能を有する。
本実施例では、アプリケーションが、保護が要求される情報の格納位置情報であるメモリアドレスを管理サーバ101へ伝達し、管理サーバ101と仮想化機構110が連携し格納位置情報からアドレス置換えテーブル108を作成する。
そして、イベントが発生した場合や任意のタイミングで、アドレス置換えテーブル108を仮想化機構110に転送し、メモリのアドレスをアドレス変換テーブルで書き変えることで、データ保護を実現する例を示す。なお、保護が要求される情報の格納位置情報保持とアドレス置換えテーブル108の作成は、OS及び仮想サーバ109にインストールされているOS、仮想化機構110、サーバを構成するハードウェアでもよい。
図2は図1で示した構成の管理サーバ101を詳細化したものである。
管理サーバ101は、メモリ201とプロセッサ202とネットワークインターフェース203とディスクインターフェース204を有している。
管理サーバ101のメモリ201に割り当てられているユーザ情報管理部102は、ユーザ情報取得部205と障害検出部206とユーザ情報保護部207とユーザ認証部208が割り当てられている。仮想化機構管理部103は、アドレス置換え管理部210とメモリアドレス取得部212が割当てられている。
メモリ201に格納されたユーザ情報取得部205、障害検出部206、ユーザ情報保護部207、ユーザ認証部208、アドレス置換え管理部210、メモリアドレス取得部212など各種プログラムをプロセッサ202が実行することで、ユーザ情報取得処理1507、障害検出処理1206、ユーザ情報保護処理1509、ユーザ認証処理、アドレス置換え管理処理1204、メモリアドレス取得処理1508の各処理が行われる。ネットワークインターフェース203は、ネットワーク115に接続され保護が要求される情報の保護要求などが転送される。
ユーザ情報取得処理1507、障害検出処理1206、ユーザ情報保護処理1509、ユーザ認証処理、アドレス置換え管理処理1204、メモリアドレス取得処理1508の各処理は、各プログラムをプロセッサ202で実行することにより実現されるが、これらは、ユーザ情報取得部205、障害検出部206、ユーザ情報保護部207、ユーザ認証部208、アドレス置換え管理部210、メモリアドレス取得部212など、各処理を行う処理部として集積回路化するなどしてハードウェアで実現することもできる。
なお、ユーザ認証部208では、ユーザからのメモリ参照要求時に参照する権限を持ったユーザであるかどうか判断し、参照する権限を持ったユーザである場合には、アドレス置換えテーブル108の参照及び変更を可能とすることができる。
図3は図1で示した構成の物理サーバ112を詳細化したものである。
物理サーバ112は、メモリ201とプロセッサ202とネットワークインターフェース203とディスクインターフェース204を有している。メモリ201内には、仮想サーバ109、仮想化機構110を有している。
仮想サーバ109には、OS301がインストールされ、仮想サーバ109毎に独立に動作することができる。仮想化機構110には、メモリ管理部111、アドレス変換部305、メモリ登録部306、が割り当てられている。仮想化機構110は、仮想サーバ109に対してメモリ201やプロセッサ202等のリソースを分割して割り当てる処理やメモリ管理、仮想サーバ109の実行スケジュールを制御する処理が行われる。
仮想サーバ109は、アプリケーション302とダンプ取得部304が備えられている。さらに、アプリケーション302はユーザ情報伝達部が備えられている。
アドレス変換部305は管理サーバ101などからアドレス変換の要求があった場合に、仮想化機構アドレスマップテーブル307を参照し、アドレスの変換を行い、その結果を管理サーバ101へ伝達する機能を有する。
メモリ登録部306は管理サーバ101などからメモリアドレス登録要求や置換え要求があった場合に、仮想化機構アドレスマップテーブル307の内容を登録、変更、削除する機能を有する。
ユーザ情報伝達部303は情報保護要求があった場合に、OSアドレスマップテーブル307を参照し、保護すべきアドレスを管理サーバ101に伝達する機能を有する。
ダンプ取得部304は障害情報を取得するために、メモリ201の情報をディスクインタフェース204を経由してディスクボリューム114に書き込む機能を有する。
OSアドレスマップテーブル308にはOSが所持している、論理アドレスと物理アドレスの対応情報が格納されている。ここで、物理アドレスとはメモリ201の先頭からの番地を表しており、論理アドレスとは1つの物理アドレスに対して1つの論理アドレスが関連付けされており、不連続な物理メモリ領域をアプリケーションから見て連続に見せかけるためのアドレスである。ソフトウェアは論理アドレスを使用することで、不連続な物理メモリ領域も連続な論理アドレス領域として使用できるため、メモリ201の利用や管理が容易になる。
仮想化機構アドレスマップテーブル307には仮想化機構110が所持している、仮想物理アドレス、論理アドレス、物理アドレスの対応情報が格納されている。ここで、仮想物理アドレスとは仮想化機構上110で動作するOS301の物理アドレスを表しており、仮想化機構110が保持しているメモリの一部として、論理アドレスに対応付けされている。また、前述の理由と同様に、不連続な物理メモリ領域も連続な仮想アドレス領域として使用できるため、論理アドレスと物理アドレスが格納されている。
メモリ201に格納されたアドレス変換部305、メモリ登録部306、ユーザ情報伝達部303、ダンプ取得部など各種プログラムをプロセッサ202が実行することで、アドレス変換処理1702、メモリ登録処理1404、ユーザ情報伝達処理1510、ダンプ取得処理1205の各処理を行う。
アドレス変換処理1702、メモリ登録処理1404、ユーザ情報伝達処理1510、ダンプ取得処理1205の各処理は、各プログラムをプロセッサ202で実行することにより実現するが、これらは、アドレス変換部305、メモリ登録部306、ユーザ情報伝達部303、ダンプ取得部304など、各処理を行う処理部として集積回路化するなどしてハードウェアで実現することもできる。
図4は実施例1における仮想サーバ109のリソース割当て状況を示す概念図である。仮想化機構110は、物理サーバ112内のメモリ201、プロセッサ202、ディスクボリューム114内に設けられた論理ディスク401を各仮想サーバに割当てる。
メモリ201の割当てとは、仮想化機構110の管理下にある、物理サーバ112が有するメモリ201の一部を、仮想サーバ109の専用領域として割当てることを意味する。
プロセッサ202の割当てとは、仮想サーバ109に対して所定の時間だけプロセッサ202を使用して実行するようにスケジュールする事を意味する。
仮想ディスク401の割当てとは、ディスクボリューム114の一部の領域を、仮想サーバ109の専用領域として割当てることを意味する。
メモリ、プロセッサ、論理ディスクは、それぞれ物理サーバの一部分を使用しているが、仮想サーバ109上で稼動するOS301からは一般的なメモリ201、プロセッサ202、論理ディスク401として認識される。
図6は、本発明における実施例1のメモリ201の構成と使用状況の概要を表すメモリマップである。
メモリ201は使用領域リスト601と未使用領域リスト602とユーザ空間603とカーネル空間604から構成されている。カーネル空間604とはOSが所持しているプログラム制御、メモリ管理、ディスク管理など、OSの制御に関するプログラムが格納される領域である。ユーザ空間603とはOSの制御以外のプログラム、アプリケーションプログラム、アプリケーションユーザーデータなどが格納される領域である。
本実施例1では、ユーザ空間603に情報を保護すべきDBデータ情報、保護対象ではないDBプロセス情報、保護対象ではないアプリケーションAプロセス情報が格納され、カーネル空間には前述のOSの制御に関するプログラムの総称としてカーネル情報が格納されている状況を想定している。
本実施例1では、保護すべき情報をDBデータ情報としたが、保護すべき情報として、機密性の高いプログラムのプロセス領域、メールサーバのメール情報領域など、機密性の高い情報が考えられる。
図5は仮想化機構110に割り当てられている仮想サーバ109のOSのメモリアドレスのマッピングを表している。
メモリ201に割り当てられているメモリアドレス505、仮想化機構110に割り当てられている論理アドレス503と物理アドレス504、仮想サーバ109内のOS301に割り当てられている仮想論理アドレス501、仮想物理アドレス502の、仮想論理アドレス501からメモリアドレス505までのメモリマッピングを表している。
仮想論理アドレス501からメモリアドレス505までのメモリマッピングについて仮想論理アドレス501への参照命令を例に説明する。仮想化サーバ109が、仮想論理アドレス501に対して参照命令が出されると、OS301は仮想論理アドレス501を仮想物理アドレス502にアドレス変換する。変換後OS301は仮想物理アドレス502を仮想化機構110へ伝達する。伝達後、仮想化機構110は仮想物理アドレス502を論理アドレス503に変換する。変換後、仮想化機構110は論理アドレス503を物理アドレス504に変換する。変換後、仮想化機構110は物理アドレス504をメモリ201に伝達し、メモリ201は伝達されたメモリアドレス505の値を参照する。
前述の図6における保護すべきDBデータ情報のマッピング状況例を、図5の太枠で表している。仮想サーバ109内のOS301で仮想論理アドレス501を用いてDB情報を参照した場合、仮想論理アドレス、仮想物理アドレス502、論理アドレス503、物理アドレス504、メモリアドレス505へと変換を実施して値を参照する事ができる。
本実施例1では、仮想化機構110内に仮想物理アドレス502、論理アドレス503、物理アドレス504が存在しているが、論理アドレス503が存在せずOSから受取る仮想物理アドレス502を物理アドレス504に変換する方法も考えられる。なお、仮想化機構110は論理アドレス503と物理アドレス504の対応付けに変化が生じることを検知すると、変化後の対応付けを利用してアドレス置換えテーブル108を再作成する。これによって、OS実行中の動的な論理物理対応の変化にも追従できる。
図21は仮想化機構110のメモリアドレスの置換えが行われた後のメモリマップを示している。
前述の図5と同様保護すべきDB情報のマッピング状況を、太枠で表している。管理サーバ101が事前にアドレス変換テーブル108を作成し、仮想化機構110のメモリ登録部306を活用し、メモリマップを変更すると、保護すべき情報の物理アドレス504の参照先が1つのメモリアドレスを参照するように変更される。この参照されるメモリアドレスの値を事前に0やNULL、特定の文字列など任意の情報として意味を持たない値にしておくことで、OS内の仮想論理アドレス501からの参照を防ぐことができる。
そのため、このメモリアドレスの置換えを実施することで、障害発生時のダンプ取得のような、OS内の仮想論理アドレス501を仮想物理アドレス502、メモリアドレス505へと変換し、出力する処理があった場合、保護領域の出力は全て変更後のアドレスに格納されている参照値が返ってくるため、保護すべき情報が出力される事を防ぐことができる。また、変更される値が、0やNULLなどの一定文字列の場合は、圧縮処理などは圧縮率が上がり、ディスク等の外部記憶媒体への出力データサイズが減少するため、ディスク出力時間など短縮する事ができる。これにより、メモリの大容量化によってディスクへの書き込み量が増加してしまう課題や、障害が発生した後にメモリ内容を取得するプログラムであるメモリダンプ処理において、全てのメモリ内容がディスクに出力されないとプログラムが終了せず、システムが再起動に時間がかかってしまうという課題を解決することができるという効果がある。
なお、本実施例では、図21に示すように、保護すべき情報の物理アドレス504の参照先が1つのメモリアドレスを参照するように変更されているが、この実施例のみに限定されず様々な方法が考えられる。
例えば、参照先が図21のように保護すべき情報の物理アドレスのメモリアドレスではなく、保護する必要のない情報の物理アドレスのメモリアドレスを参照する方法、未使用の物理アドレスのメモリアドレスを参照する方法、存在しない物理アドレスのメモリアドレスを参照する方法、及び、参照する物理アドレスのメモリアドレスを乱数でランダムに変更させる等の方法が考えられる。また、本実施例では、置換えるアドレスを物理アドレス504としたが、論理アドレス503、仮想物理アドレス502を変更する方法も考えられる。
つまり、仮想化環境において、保護すべきメモリ情報をアドレス変換テーブル108によりアドレス参照箇所を変更することにより、保護すべきメモリ情報の漏洩を防止できることが本発明の特徴の一つである。
図7は、物理サーバ管理テーブル104の構成を示している。カラム701は、物理サーバ識別子を示す。複数の物理サーバ110が存在する場合は、複数の情報が格納される。
カラム702は、CPU(プロセッサ)のスペックが格納される。カラム703は、物理サーバ112の搭載メモリ容量が格納される。カラム704は、物理サーバに接続されているデバイスに関する情報が格納される。例えば、NIC(Network interface Card)であれば、種類や固有の識別子であるMACアドレス(Media Access Control Address)、HBA(Host Bus Adapter)であれば、WWN(World Wide Name)である。カラム705は、接続ディスクに関する情報が格納される。例えば、ストレージ装置113内のディスクボリューム114内のボリューム識別子や容量が格納される。ここに格納されたディスクボリューム114は、他の物理サーバ112からそれぞれ共有されていても良い。その場合は、各物理サーバ112に対して、同じボリューム識別子が格納される。
図8は、仮想サーバ管理テーブル105の構成を示している。
カラム801は、仮想化機構識別子が格納される。通常、1つの物理サーバ112には一つの仮想化機構110が含まれる。カラム802は、仮想化機構110が稼動している物理サーバ識別子が格納される。カラム803は、仮想サーバ識別子が格納される。仮想サーバ識別子は、仮想化機構110内でユニークな値でも良いし、複数の仮想化機構110に渡ってユニークな値でも構わない。
カラム803に格納されている仮想サーバ識別子は、仮想化機構110上で生成された仮想サーバ109の数だけ登録される。
カラム804は、それぞれの仮想サーバ109に割り当てられたリソースが格納される。例えば、CPUの割り当て状態、メモリ容量、NICの情報、仮想ディスク識別子などである。
カラム805は、各仮想サーバ109のステータスを示している。例えば、稼動中や非稼動などの情報である。稼動している仮想サーバ109を把握することで、物理サーバ全体の負荷を得やすくなる。
図9は、ワークロード管理テーブル106の構成を示している。
カラム901は、仮想化機構識別子が格納される。カラム902は、稼動物理サーバ識別子が格納される。ここで稼動物理サーバ識別子とは、カラム901で示した仮想化機構識別子の仮想化機構110が稼動している物理サーバ112の識別子である。一つの物理サーバ112上で複数の仮想化機構110が稼動している場合は、稼動物理サーバ識別子902に対して、複数の仮想化機構識別子901が格納される。
カラム903は、仮想サーバ識別子が格納される。仮想化機構識別子901によって生成され、ワークロードの制御を行う仮想サーバ109の識別子が格納される。仮想化機構識別子901で生成された全ての仮想サーバ109が格納されても良いし、ワークロードの制御を行う仮想サーバ109の識別子だけでも良い。
カラム904は、CPU割当て量が格納される。CPU割当て量は、仮想サーバ109に対して割当てるCPUの量である。CPU割当て量が大きいほど仮想サーバ109の処理性能は向上する。なお、CPU割当て量の単位はユーザが任意に指定できる。例えば、仮想化機構110毎に全体を100%として、仮想サーバ109毎に割当て率として値を格納しても良い。また、仮想化機構110が有する性能の全てを仮想サーバ109に割当てる必要はない。仮想サーバ109の急な負荷増大に備えて、未使用のCPUを残しておいても良い。
カラム905は、物理CPU使用率が格納される。物理CPU使用率とは、物理サーバ識別子902が有するCPU202の全処理量を100%とした時の使用率である。物理CPU使用率は、仮想化機構110が各仮想サーバ109のCPU利用率をスケジューリングした時間から算出しても良いし、仮想サーバ109上で仮想サーバ109自身の使用率を採取しCPU割り当て量904と掛け合わせて算出しても良い。物理CPU利用率905によって、稼動物理サーバ識別子902が示す物理サーバ112の負荷を知ることができる。
図10はユーザ情報管理テーブル107の構成を示している。ユーザ情報管理テーブル107は管理する物理サーバ112ごとに作成する。
カラム1001は仮想サーバ識別子が格納されている。カラム1002には、仮想サーバ109にインストールされているOS301が所持している、OSアドレスマップテーブル308の仮想物理アドレス502と同じ内容の仮想物理アドレスが格納されている。カラム1003には、前述カラム1002に格納されている仮想物理アドレスに対応する、論理アドレスが格納されている。カラム1004には、前述カラム1003に格納されている論理アドレスに対応する、物理アドレスが格納されている。
カラム1005にはステータスが格納されている。ステータスとはメモリの状態や補足情報を表すもので、値としてはメモリ未使用、センシティブ、ノンセンシティブなどが想定される。メモリ未使用とは、仮想化機構110が仮想サーバ109にまだ割当されていないメモリのことを表す。センシティブとは、保護したい情報であることを表し、さらに優先度や用途付加することでメモリの使用状況を詳細に表す。ノンセンシティブとは、保護を必要としてない情報であることを表し、さらに優先度や用途付加することでメモリの使用状況を詳細に表す。このステータスがあることで、メモリ使用率の把握と保護すべき情報か保護すべきでない情報かの区別をつける事が可能となる。
実施例1では、ユーザ情報管理テーブル107を使用することなく、メモリの置換えを実施しているが、本テーブルを活用することで詳細な情報保護やワークロードを活用した情報取得を実施することが可能となる。例えば、ステータス情報にメモリの用途を割り当てておき、障害を検知した際、障害部位に応じて関連したメモリの領域を取る取らないといった情報取得の決定することで、効率よく障害情報を取得することが可能となる。さらに、優先順位を指定しておき、優先順位が高い障害情報はワークロード高とし早期に情報取得し、高くないものは他のシステムに影響を与えないようワークロードを下げて情報を取得することで、情報取得の柔軟性が向上する。
図11はアドレス置換えテーブルの構成を示している。
カラム1101は仮想化機構識別子が格納される。カラム1102は稼動物理サーバ識別子が格納される。カラム1103は仮想サーバ識別子が格納される。カラム1104は物理アドレスが格納される。ここで格納される物理アドレスとは、保護すべき情報が格納されている、仮想サーバにインストールされているOSの仮想論理アドレス501に対応する物理アドレス504を表している。
カラム1105は置換え物理アドレスが格納される。ここで格納される置換え物理アドレスとは、物理アドレス置換え後に参照させる物理アドレスを表す。例としては、予め物理アドレスのFFFFに値0を入れておき、置換え物理アドレスとしてFFFFを格納する。格納後、前述のカラム1104で登録された物理アドレスを置換え物理アドレスに置換えることによって物理アドレスがFFFFとなるため、アドレスの参照値が0となり、保護したい情報を見せなくすることが可能となる。
本実施例1では、ユーザ情報伝達部とアドレス置換え管理部の処理によって、置換えテーブルを事前に作成しておき、作成した情報を元にメモリ置換えを実施する。これにより、保護したい情報の参照先を変えることで、情報保護が可能となる。
また、本実施例1ではアドレス置換えテーブル108を作成、所持し、任意のタイミングでアドレス置換えテーブル108に登録されているメモリ情報をメモリに置換えることで保護が要求される情報の保護を実現しているが、CPUの機能を追加することでアドレス置換えテーブル108を作成、所持しなくとも情報保護を実現可能である。例えば現在、物理メモリは4KByteといった固定長で仕切られているが、仕切りと仕切りの間に保護領域かを識別するための特殊なフラグを有効、無効に設定できるとする。この場合にCPUは保護すべき情報の領域確保命令を受取ると、確保した領域の物理アドレスに対してページ単位でフラグを有効にしていく。そして、普段はフラグを参照することなくデータの読み書きをする。情報保護が必要になった場合は、CPUはフラグを参照し、フラグが有効の場合はCPUがそのページの参照結果として意味のないデータを返すといった方法である。
図22は仮想化機構アドレスマップテーブル307の構成を示している。
カラム2201は、仮想サーバ識別子を表している。カラム2202は仮想物理アドレスを表している。ここで格納される仮想物理アドレスとは、仮想サーバ109にインストールされているOS301の仮想物理アドレス502を表す。仮想化機構アドレスマップテーブル307の仮想物理アドレス502は、仮想化機構110が、仮想サーバ109にインストールされているOSからの仮想物理アドレスを受取り格納される。
カラム2203は論理アドレスを表している。ここで格納される論理アドレスとは、カラム2202に登録されている仮想物理アドレスに対して、仮想物理アドレスを仮想化機構110のメモリマップに対応させた際のアドレスを表す。
カラム2204は物理アドレスを表している。ここで格納される物理アドレスとは、カラム2203の論理アドレスに対応する物理アドレスを表す。
本実施例1では、仮想化機構110は仮想サーバ109にインストールされているOSから、仮想物理アドレスを受取り、仮想化機構110がアドレス変換し、仮想化機構アドレスマップテーブル307が作成済である状況を想定している。
図23はOSアドレスマップテーブル308の構成を示している。
カラム2301は仮想論理アドレスが格納されている。ここで格納される仮想論理アドレスとは、仮想サーバ109にインストールされているOSの仮想論理アドレスを表す。OSから見ると、仮想論理アドレスは通常の論理アドレスとして認識される。
カラム2302は仮想物理アドレスが格納されている。ここで格納される仮想物理アドレスとは、カラム2301に登録されている仮想論理アドレスに対応する仮想物理アドレスを表す。OSから見ると、仮想物理アドレスは通常の物理アドレスとして認識される。
本実施例1では、仮想サーバにインストールされているOSに、OSアドレスマップテーブル308が作成済である状況を想定している。なお、OSアドレスマップテーブル308は仮想論理アドレスから仮想物理アドレスの対応付けを管理している表である。
図12は障害検出部206の処理部分に該当する障害検出処理1206のフローを示す。障害検出処理1206は障害を検知し、アドレス置換えテーブル108によってメモリを置き換える命令を出す。障害検出処理1206は対象となる仮想サーバ109にインストールされているOSの障害を監視する(ステップ1201)。具体例としては、障害が発生した際にOSから呼び出される障害情報取得ルーチンのアドレスを入手し、障害情報取得ルーチンが呼び出されてアドレスが参照されたら、仮想化機構がトラップをかけて仮想サーバのOSの制御を奪う。障害検出処理1206はアドレス置換えテーブル108によってメモリアドレス変換などの処理が終了すると、ダンプ取得処理1205などの障害情報を取得するルーチンに制御を戻す。
障害を検知しない場合はステップ1201に移行し、検知した場合はステップ1203に移行する(ステップ1202)。障害検出後、検知した仮想サーバ109を特定する(ステップ1203)。具体例としては、仮想サーバ109が事前に仮想サーバID、IPアドレス、MACアドレスなどOSごとに一意に定まる仮想サーバ識別子情報をテーブルとして保持しておく。特定したいタイミングで仮想サーバ109から仮想サーバID、IPアドレス、MACアドレスなどの仮想サーバ識別子情報を受取り、予め作成しておいたテーブルと仮想サーバ識別子情報が一致するものを検索することで仮想サーバを特定する。
特定した仮想サーバ109のメモリアドレスをアドレス置換えテーブル108によって上書きするため、アドレス置換え管理処理1204を呼び出す(ステップ1204)。アドレス置換え管理処理1204から制御が戻ってきたら、メモリアドレス505が上書きされたのを確認し、ダンプ取得処理1205を呼び出しダンプを取得する(ステップ1205)。
図13はアドレス置換え管理部210の処理部分に該当するアドレス置換え管理処理1204のフローを示す。
本フローは障害検出処理1206から呼び出され、呼び出し前に特定された仮想サーバ識別子に対して、アドレス置換えテーブル108によってメモリを置換えるための処理を行う。
アドレス置換え管理処理1204は呼び出されると、呼び出し時にパラメータとして渡された仮想サーバ識別子を確認する。そして、パラメータとして渡された仮想サーバ識別子とアドレス置換えテーブル108の仮想サーバ識別子1103が一致するものを確認し、一致する仮想サーバ識別子1103の物理アドレス1102、置換えアドレス1103を確認する(ステップ1301)。
メモリを置換えるため、確認した仮想サーバ識別子1101と物理アドレス1102と置換えアドレス1103をパラメータとして、該当する物理サーバ上で動作する仮想化機構のメモリ登録部306の処理であるメモリ登録処理1404を呼び出す(ステップ1302)。
メモリ登録処理1404から制御が戻ってきたら、正常終了したことを確認する(ステップ1303)。確認後、置換えた仮想サーバ識別子のアドレス置換えテーブルエントリを削除する(ステップ1304)。
図14はメモリ登録部306の処理部分に該当するメモリ登録処理1404フローを示す。
本フローは、アドレス置換え管理処理1204から呼び出され、パラメータとして渡された、置換えアドレス1103の仮想サーバ識別子、物理アドレス1102、置換えアドレス1103を元にアドレス置換え処理を行う。
メモリ登録処理1404は呼び出されると、呼び出し時にパラメータとして渡された仮想サーバ識別子1101、物理アドレス1102、置換えアドレス1103を確認する(ステップ1401)。確認後、パラメータとして渡された仮想サーバ識別子1101と仮想化機構アドレスマップテーブル307の仮想サーバ識別子が一致するエントリを確認する(1402)。エントリ確認後一致した仮想サーバ識別子のエントリに対して、パラメータとして渡された物理アドレス1102と仮想化機構アドレスマップテーブルの物理アドレスが一致するエントリを確認し、一致したらパラメータとして渡された置換えアドレス1105を上書きする(ステップ1402)。
図15はユーザ情報伝達部303の処理部分に該当するユーザ情報伝達処理1510のフローを示す。本フローはメモリアドレス変換に必要な、アドレス置換えテーブル108の作成処理を行う。
ユーザ情報伝達処理1510はメモリ領域の確保後またはメモリ領域の開放前に、保護すべき情報の仮想物理アドレス情報をパラメータとしてユーザまたはアプリケーションから呼び出されることを想定している。
ここで渡される保護すべき情報の仮想物理アドレス情報の取得例としては、仮想サーバ109にインストールされたOS301が所持している、OSアドレスマップテーブル308の仮想論理アドレス2301の先頭アドレスと大きさを表す。一般的にメモリ領域の確保はメモリ確保命令と共に大きさを指定し、OSから実行結果として確保した仮想論理アドレス2301の先頭アドレスが返される。
ユーザ情報伝達処理1510は呼びだされると、メモリ確保要求かを判断し、確保要求の場合はステップ1504に制御を移し、確保要求でない場合はステップ1502に制御を移す(ステップ1501)。
メモリ確保要求だった場合、確保要求されたアドレスがセンシティブな情報かどうか判定し、センシティブだった場合はステップ1506に制御が移り、センシティブでない場合は制御を終了する(ステップ1504)。
メモリ確保要求かつセンシティブだった場合、OSから取得するOSアドレスマップテーブル308の仮想論理アドレス2301と確保した領域の仮想論理アドレスが一致するエントリを確認し、仮想論理アドレス2301に対応付けされている仮想物理アドレス2302を特定する(ステップ1506)。
仮想物理アドレス2302特定後、ネットワーク115を経由して、特定した仮想物理アドレス2302をパラメータとしてユーザ情報取得処理1507を呼び出す。ユーザ情報取得処理1507はユーザ情報伝達処理1510を呼び出した仮想サーバ109を特定する(ステップ1507)。
仮想サーバ109特定後、仮想物理アドレス502に対応する論理アドレス503と物理アドレス504を特定するため、ステップ1507で特定した仮想サーバ109とステップ1507で渡された仮想物理アドレス502をパラメータとしてメモリアドレス取得部212を呼び出す(ステップ1508)。
メモリアドレス取得処理1508の処理が終了したら、ユーザ情報保護処理1509を呼び出し、アドレス置換えテーブル108の該当する仮想サーバ識別子1103の物理アドレス1104、置換え物理アドレス1105を更新する (ステップ1509)。
ステップ1501での判定が確保要求でなかった場合、開放要求かを判定し、開放要求だった場合はステップ1503に制御を移し、開放要求でない場合は制御を終了する(ステップ1502)。
開放要求だった場合は、センシティブ情報かどうかを判定し、センシティブ情報だった場合はステップ1505に制御を移し、センシティブ情報でない場合は、制御を終了する(ステップ1503)。
開放要求かつセンシティブ情報だった場合、開放されたメモリの仮想論理アドレスから仮想物理アドレスを特定し制御をステップ1507に移す。(ステップ1505)。
本実施例1ではメモリ確保、メモリ開放後にユーザ情報伝達部を呼んでいるが、保護すべき情報の仮想物理アドレス情報が特定できているのであれば、ユーザ情報伝達部はどのタイミングで呼んでも良い。
また、本実施例1でのユーザ情報伝達部が呼ばれるケースとして、インメモリDBなどのユーザデータが格納されるユーザ領域やプロセス領域、機密性の高いプログラムのプロセス領域、メールサーバのメール情報領域など、機密性の高い情報がメモリにロードされる場合が考えられる。
図16はユーザ情報取得部の処理部分に該当するユーザ情報取得処理1507のフローを示す。本フローでは、仮想サーバ管理テーブル105の仮想サーバ識別情報801とパラメータとして受取った仮想サーバ識別情報を利用して、情報保護要求を出した仮想サーバを特定する。
ユーザ情報取得処理1507はユーザ情報伝達処理1510からの要求を受ける(ステップ1601)。仮想サーバ管理テーブル105の仮想サーバ識別情報806とパラメータとして受取った仮想サーバ識別情報が一致する仮想サーバ105を確認し、仮想サーバ105を特定する(ステップ1602)。ステップ1602で特定した仮想サーバ105を呼び出し元に返す(ステップ1603)
図17はメモリアドレス取得部212の処理部分に該当するメモリアドレス取得処理1508のフローを示す。
本フローでは、パラメータとして受取った仮想サーバ識別子803と仮想物理アドレス2302の情報を元に、仮想化機構110内のアドレス変換部305を呼び出し、論理アドレスと物理アドレスを特定する。
メモリアドレス取得処理1508はパラメータとして受取った、情報保護要求を出した仮想サーバ識別子803と仮想物理アドレス2302を確認する(ステップ1701)。仮想物理アドレス2302に対応する論理アドレス2203と物理アドレス2204を特定するため、要求を出した仮想サーバ識別子803と仮想物理アドレス2302をパラメータとして、アドレス変換部305を呼び出す(ステップ1702)。アドレス変換部305の処理が終了すると、アドレス変換部305で取得した、論理アドレス2203と物理アドレス2204を確認する(ステップ1703)。
ステップ1703で確認した論理アドレス2203と物理アドレス2204を呼び出し元に返す(ステップ1704)
図18はアドレス変換部305の処理部分に該当するメモリアドレス変換処理1702のフローを示す。
本フローでは、メモリアドレス取得処理1508に呼び出され、パラメータとして受取った仮想サーバ識別子803と仮想物理アドレス2302の情報と、仮想化機構アドレスマップテーブル307の情報を元に論理アドレス2203と物理アドレス2204を特定する。
アドレス変換処理1702はパラメータとして渡された、仮想サーバ識別子803と仮想物理アドレス2302を確認する(ステップ1801)。
ステップ1801で確認した仮想物理アドレス2302に一致する論理アドレスを確認する(ステップ1802)。ステップ1802で確認した論理アドレスに一致する物理アドレスを確認する(ステップ1803)。ステップ1802、1803で確認した結果を呼び出し元に返す。(ステップ1804)
図19はユーザ情報保護部207の処理部分に該当するユーザ情報保護処理1509のフローを示す。
ユーザ情報保護処理1509では、ユーザ情報伝達処理1510から呼び出され、パラメータとして受取った、仮想サーバ識別子803と物理アドレス2204を用いてアドレス置換え108テーブルを作成、または削除する。
ユーザ情報保護処理1509はパラメータとして渡された、仮想サーバ識別子803と物理アドレス2204を確認する(ステップ1904)。
このアドレス置換えテーブル108の作成のステップがメモリ確保要求か判定し、確保要求だった場合はステップ1903に制御を移し、確保要求でない場合はステップ1902に制御を移す(ステップ1901)。
確保要求だった場合、アドレス置換えテーブル108へエントリを追加するため、仮想サーバ識別子803、物理アドレス2204、置換え後の物理アドレス1103を登録する(ステップ1903)。
確保要求でなかった場合は、アドレス置換えテーブル108のエントリを削除するため、パラメータとして受取った仮想サーバ識別子803と物理アドレス2204と置換え後の物理アドレス1103がアドレス置換えテーブル108のエントリと一致するものを削除する(ステップ1902)
図20はダンプ取得部304の処理部分に該当するダンプ取得処理1205のフローを示す。
ダンプ取得処理1205は、OS301が一般的に所持している機能を利用する。
ダンプ取得処理1205は呼ばれると、OS301が所持しているアドレスマップテーブル308の全ての論理アドレス2301と論理アドレス2301に対応する物理アドレス2302と物理アドレス2302に対応するメモリアドレス505の値をディスクに出力する(ステップ2001)。
なお、上記では、障害が発生した仮想サーバ109は、ダンプ取得処理1205がダンプを取得し終わった後に、障害が発生した仮想サーバ109を再起動するが、他の方法も考えられる。障害が発生した仮想サーバ109の再起動をさらに高速にするために、ダンプ取得部1205の終了を待たずに再起動する方法である。仮想サーバ109には、図6に示すようにメモリ201内のユーザ領域603とカーネル空間604が割り当てられている。ダンプ取得部1205は、この内のユーザ空間603やカーネル空間604のデータを選択的にダンプするが、このユーザ空間603やカーネル空間604を残したまま、仮想サーバ109を再起動することでダンプ取得部1205と仮想サーバ109の再起動を並列に実行することができるようになる。具体的には、当該仮想サーバ109が稼動する仮想化機構110が保有するメモリ201内に、少なくともユーザ領域603とカーネル空間604を割り当てることが出来る空きメモリがあれば、その領域を当該仮想サーバ109の新たなメモリ領域として割り当てる。空きメモリが存在するかどうかは、仮想サーバ管理テーブル106の割当リソース804のメモリの値について、当該仮想化機構801上で稼動している全ての仮想サーバ109の合計値を求める。この値と、当該仮想化機構110が稼動する物理サーバ101が有するメモリの容量703とを比較することで求めることができる。これにより、当該仮想サーバは新たに割り当てられたメモリ領域を用いて再起動することができるとともに、ダンプ取得部1205を並列に実行することができるようになる。一方、当該仮想サーバ109に新たなメモリ領域を割り当てられなかった場合は、当該仮想サーバを他の物理サーバ101で実行する方法も考えられる。物理サーバ管理テーブル104と仮想サーバ管理テーブル105から、当該仮想サーバを割り当てることができるリソースが存在するかどうかを検索し、空きリソースが存在する物理サーバ101で稼動する仮想化機構110に、当該仮想サーバ109の割当リソース804の情報を転送し、仮想サーバを生成することで実現することができる。これにより、当該仮想サーバ109の実行範囲を広げることができるため、ダンプ取得部1205と並行して実行できるシーンを増すことができるようになる。
実施例1においては、仮想サーバ109の障害時のダンプ時のユーザデータ保護について述べたが、他のシーンにおけるユーザデータ保護も考えられる。障害時のダンプだけでなく、仮想サーバ109の一時停止時や、仮想サーバ109が他の物理サーバ101へ移動するケースが考えられる。仮想サーバ109の一時停止とは、仮想サーバ109を停止し、仮想サーバ109に割り当てられたユーザ空間603やカーネル空間604、あるいは仮想サーバ109のプロセッサ202の制御情報、ネットワークインターフェース203やディスクインターフェース204の制御情報などを、ディスクボリューム114などに保存しておき、仮想サーバの起動時には保存された情報をリストアすることで、起動を高速化することができる仮想化機構110の機能の一つである。仮想サーバ109の物理サーバ101間の移動とは、仮想サーバ109に割り当てられたユーザ空間603やカーネル空間604、あるいは仮想サーバ109のプロセッサ202の制御情報、ネットワークインターフェース203やディスクインターフェース204の制御情報などを、ネットワークを介して他の物理サーバ101に転送し、転送先の物理サーバ上で転送されたデータや情報に基づき仮想サーバを再構築することで、物理サーバ101間で仮想サーバ109を転送する機能である。こういったケースでは、ユーザデータが物理サーバ101から外部に送出されるため、ディスクインターフェースやネットワークを流れるデータを監視することによってユーザデータが漏洩する可能性がある。こういった場合に、管理サーバ101のユーザ情報管理部102は、仮想サーバ109の一時停止時要求や、物理サーバ101間の移動要求を検知し、仮想化機構110に対して当該データを暗号化する指示を出すことで、ディスクボリューム114へ格納されたデータや、ネットワークを流れるデータは暗号化されるため、漏洩を防止することができるようになる。
なお、本願発明は、障害時、仮想サーバの一時停止、仮想サーバの移動のみならず、メンテナンス等情報漏洩が起きる可能性があるイベントが生じた場合にも有効であることはいうまでもない。
また、本願発明はコンピュータプログラムにより実現されると考えられる。
さらに、本願発明は、仮想化環境におけるメモリの保護方法について述べたが仮想化環境に限定されないことはいうまでもない。
仮想化環境でない、メモリアドレスによりメモリが対応付けられている通常のコンピュータ環境においても、障害等のイベントが生じた場合に、ダンプ処理前にメモリアドレスの対応関係を予め定められたテーブルにより変更させることにより、メモリ内の保護が要求される情報を保護することができる。
本発明の全体構成を示す。 管理サーバの構成図を示す。 物理サーバの構成図を示す。 仮想化機構が仮想サーバに対して、リソースを割り当てている図を示す。 本発明におけるメモリマッピングを表す。 メモリの構成図を表す。 物理サーバ管理テーブルを示す。 仮想サーバ管理テーブルを示す。 ワークロード管理テーブルを示す。 ユーザ情報管理テーブルを示す。 アドレス置換えテーブルを示す。 障害検出処理のフローチャートを示す。 アドレス置換え管理処理のフローチャートを示す。 メモリ登録処理のフローチャートを示す。 ユーザ情報伝達処理のフローチャートを示す。 ユーザ情報取得処理のフローチャートを示す。 メモリアドレス取得処理のフローチャートを示す。 アドレス置換え処理のフローチャートを示す。 ユーザ情報保護処理のフローチャートを示す。 ダンプ取得処理のフローチャートを示す。 メモリアドレス変更の概要を表す。 仮想化機構アドレスマップテーブルを示す。 OSアドレスマップテーブルを示す。
符号の説明
101 管理サーバ
102 ユーザ情報管理部
103 仮想化機構管理部
104 物理サーバ管理テーブル
105 仮想サーバ管理テーブル
106 ワークロード管理テーブル
107 ユーザ情報管理テーブル
108 アドレス置換えテーブル
109 仮想サーバ
111 メモリ管理部
205 ユーザ情報取得部
206 障害検出部
207 ユーザ情報保護部
208 ユーザ認証部
210 アドレス置換え管理部
212 メモリアドレス取得部
303 ユーザ情報伝達部
307 仮想化機構アドレスマップテーブル
308 OSアドレスマップテーブル
601 使用領域リスト
602 未使用領域リスト
501 仮想論理アドレス
502 仮想物理アドレス
503 論理アドレス
504 物理アドレス
505 メモリアドレス

Claims (15)

  1. 管理サーバと、少なくとも一つの仮想サーバと仮想化機構とを備える物理サーバとを有するサーバ装置のユーザデータ保護方法であって、
    前記管理サーバには、前記仮想サーバに割り当てられているメモリのメモリアドレスと前記仮想化機構に割り当てられているメモリのメモリアドレスとは対応関係が異なるアドレス置換えテーブルを有し、
    前記仮想サーバでイベントが発生した場合に、仮想サーバから仮想サーバを特定する仮想サーバ識別子情報を管理サーバに送付するステップと、
    前記管理サーバは、前記イベントを検知するステップと、
    前記イベントを検知した場合に、前記管理サーバは、前記仮想サーバ識別子情報により前記イベントが発生した仮想サーバを特定するステップと、
    特定された場合は、前記アドレス置換えテーブルを特定された仮想サーバを備える物理サーバの前記仮想化機構に送付するステップと、
    前記アドレス置換えテーブルに基づいて、前記特定された仮想サーバのメモリアドレスと前記仮想化機構のメモリアドレスとの対応関係を変更するステップとを有することを特徴とするサーバ装置のユーザデータ保護方法。
  2. 請求項1において
    前記アドレス置換えテーブルは、前記仮想サーバのメモリアドレスと前記仮想化機構の一つのメモリアドレスとを対応付けたテーブル、前記仮想サーバのメモリアドレスを前記仮想化機構が未使用のメモリアドレスに変更するように対応付けたテーブル、前記仮想サーバのメモリアドレスを存在しないメモリアドレスに変更するように対応付けたテーブル、又は、前記仮想サーバのメモリアドレスと前記仮想化機構のメモリアドレスとの対応関係を乱数でランダムに変更させて対応付けたテーブルであることを特徴とするサーバ装置のユーザデータ保護方法。
  3. 請求項1において、
    前記変更後の仮想化機構のメモリアドレスに対応する情報は、0、NULL、又は、特定の文字列であることを特徴とするサーバ装置のユーザデータ保護方法。
  4. 請求項1において、
    前記イベントは障害であることを特徴とするサーバ装置のユーザデータ保護方法。
  5. 請求項1において、
    前記管理サーバは、ユーザ認証部を有し、
    前記ユーザ認証部は、ユーザからメモリ参照要求があった場合に権限を持ったユーザであるかを判断し、
    権限を持ったユーザである場合には、前記アドレス置換えテーブルの参照及び変更を可能とすることを特徴とするサーバ装置のユーザデータ保護方法。
  6. 請求項1において、
    前記仮想サーバのメモリアドレスと前記仮想化機構のメモリアドレスとの対応関係を変更とは、
    仮想化機構のメモリの論理アドレスと、仮想化機構のメモリの物理アドレスの対応関係を変更することを特徴とするサーバ装置のユーザデータ保護方法。
  7. 請求項1において、
    前記イベントとは、前記仮想サーバの一時停止、又は、前記仮想サーバの異なる物理サーバへの移動であることを特徴とするサーバ装置のユーザデータ保護方法。
  8. 請求項7において、
    前記物理サーバに対応するディスクボリュームに蓄積されたデータを暗号化することを特徴とするサーバ装置のユーザデータ保護方法。
  9. 請求項1において、
    前記管理サーバは前記仮想サーバ毎に前記メモリの用途を区別する情報を保持し、前記用途に基づいて、前記仮想サーバのメモリアドレスと前記仮想化機構のメモリアドレスとの対応関係を変更するかどうかを判断することを特徴とするサーバ装置のユーザデータ保護方法。
  10. 請求項9において、
    前記メモリの用途はそれぞれ優先度が設けられ、
    前記管理サーバは、前記仮想サーバのダンプ取得時に前記優先度に応じて前記仮想化機構に対して前記仮想サーバのCPUの割当量を変更することを特徴とするユーザデータ保護方法。
  11. 請求項1において、
    前記仮想サーバに割り当てられているメモリはインメモリDBの常駐領域であることを特徴とするユーザデータ保護方法。
  12. 管理サーバと、少なくとも一つの仮想サーバと仮想化機構とを備える物理サーバとを有するサーバ装置であって、
    前記管理サーバには、前記仮想サーバに割り当てられているメモリのメモリアドレスと前記仮想化機構に割り当てられているメモリのメモリアドレスとは対応関係が通常時とは異なるアドレス置換えテーブルを有し、
    イベントが発生した場合に、仮想サーバから仮想サーバを特定する仮想サーバ識別子情報を管理サーバに送付し、
    前記管理サーバは前記イベントを検知し、
    前記イベントを検知した場合に、前記管理サーバは、前記仮想サーバ識別子情報により前記イベントが発生した仮想サーバを特定し、
    特定された場合は、前記アドレス置換えテーブルを特定された仮想サーバを備える物理サーバの前記仮想化機構に送付し、
    前記アドレス置換えテーブルに基づいて、前記仮想サーバのメモリアドレスと前記仮想化機構のメモリアドレスとの対応関係を変更することを特徴とするサーバ装置。
  13. 請求項12において
    前記アドレス置換えテーブルは、前記仮想サーバのメモリアドレスと前記仮想化機構の一つのメモリアドレスとを対応付けたテーブル、前記仮想サーバのメモリアドレスを前記仮想化機構が未使用のメモリアドレスに変更するように対応付けたテーブル、前記仮想サーバのメモリアドレスを存在しないメモリアドレスに変更するように対応付けたテーブル、又は、前記仮想サーバのメモリアドレスと前記仮想化機構のメモリアドレスとの対応関係を乱数でランダムに変更させて対応付けたテーブルであることを特徴とするサーバ装置。
  14. 請求項12において、
    前記変更後の仮想化機構のメモリアドレスに対応する情報は、0、NULL、又は、特定の文字列であることを特徴とするサーバ装置。
  15. コンピュータに、管理サーバと、少なくとも一つの仮想サーバと仮想化機構とを備える物理サーバとを有するサーバ装置を機能させるコンピュータプログラムであって、
    前記管理サーバには、前記仮想サーバに割り当てられているメモリのメモリアドレスと前記仮想化機構に割り当てられているメモリのメモリアドレスとは対応関係が通常時とは異なるアドレス置換えテーブルを有し、
    イベントが発生した場合に、仮想サーバから仮想サーバを特定する仮想サーバ識別子情報を管理サーバに送付するステップと、
    前記管理サーバは前記イベントを検知するステップと、
    前記イベントを検知した場合に、前記管理サーバは、前記仮想サーバ識別子情報により前記イベントが発生した仮想サーバを特定するステップと、
    特定された場合は、前記アドレス置換えテーブルを特定された仮想サーバを備える物理サーバの前記仮想化機構に送付するステップと、
    前記アドレス置換えテーブルに基づいて、前記仮想サーバのメモリアドレスと前記仮想化機構のメモリアドレスとの対応関係を変更するステップとをそれぞれ実行するコンピュータプログラム。
JP2008076950A 2008-03-25 2008-03-25 サーバ装置のユーザデータ保護方法、サーバ装置及びコンピュータプログラム Pending JP2009230596A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008076950A JP2009230596A (ja) 2008-03-25 2008-03-25 サーバ装置のユーザデータ保護方法、サーバ装置及びコンピュータプログラム
US12/147,568 US20090248950A1 (en) 2008-03-25 2008-06-27 User data protection method in server apparatus, server apparatus and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008076950A JP2009230596A (ja) 2008-03-25 2008-03-25 サーバ装置のユーザデータ保護方法、サーバ装置及びコンピュータプログラム

Publications (1)

Publication Number Publication Date
JP2009230596A true JP2009230596A (ja) 2009-10-08

Family

ID=41118853

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008076950A Pending JP2009230596A (ja) 2008-03-25 2008-03-25 サーバ装置のユーザデータ保護方法、サーバ装置及びコンピュータプログラム

Country Status (2)

Country Link
US (1) US20090248950A1 (ja)
JP (1) JP2009230596A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013534001A (ja) * 2010-06-28 2013-08-29 インテル・コーポレーション 仮想化を用いた動画コンテンツの保護
US9146818B2 (en) 2011-11-28 2015-09-29 Fujitsu Limited Memory degeneracy method and information processing device
JP2018013859A (ja) * 2016-07-19 2018-01-25 富士通株式会社 情報処理装置、情報処理方法、およびプログラム
JP2018120297A (ja) * 2017-01-23 2018-08-02 富士通株式会社 情報処理装置、情報処理装置の制御方法及び情報処理装置の制御プログラム
JP2019091430A (ja) * 2017-11-10 2019-06-13 インテル・コーポレーション セキュアなパブリッククラウドのための暗号メモリオーナーシップテーブル

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8694618B2 (en) 2011-04-13 2014-04-08 Microsoft Corporation Maximizing data transfer through multiple network devices
US8627412B2 (en) * 2011-04-14 2014-01-07 Microsoft Corporation Transparent database connection reconnect
WO2013051136A1 (ja) * 2011-10-06 2013-04-11 株式会社日立製作所 仮想サーバ処理制御方法、システムおよび仮想サーバ処理制御管理サーバ
US9323662B2 (en) * 2012-12-31 2016-04-26 SanDisk Technologies, Inc. Flash memory using virtual physical addresses
KR20180041898A (ko) * 2016-10-17 2018-04-25 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63291141A (ja) * 1987-05-22 1988-11-29 Fujitsu Ltd 記憶情報参照管理方式
JPH07210429A (ja) * 1994-01-11 1995-08-11 Hitachi Ltd ダンプ取得方法および制御装置および情報処理システム
JP2002202901A (ja) * 2000-12-15 2002-07-19 Microsoft Corp フルダンプファイルからのミニダンプファイルの作成
JP2002215433A (ja) * 2001-01-19 2002-08-02 Mitsubishi Electric Corp メモリダンプ装置
JP2005122334A (ja) * 2003-10-15 2005-05-12 Hitachi Ltd メモリダンプ方法、メモリダンプ用プログラム及び仮想計算機システム
JP2006293853A (ja) * 2005-04-13 2006-10-26 Ntt Docomo Inc 秘密情報保護システム、ダンプイメージ管理サーバ及び秘密情報保護方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63291141A (ja) * 1987-05-22 1988-11-29 Fujitsu Ltd 記憶情報参照管理方式
JPH07210429A (ja) * 1994-01-11 1995-08-11 Hitachi Ltd ダンプ取得方法および制御装置および情報処理システム
JP2002202901A (ja) * 2000-12-15 2002-07-19 Microsoft Corp フルダンプファイルからのミニダンプファイルの作成
JP2002215433A (ja) * 2001-01-19 2002-08-02 Mitsubishi Electric Corp メモリダンプ装置
JP2005122334A (ja) * 2003-10-15 2005-05-12 Hitachi Ltd メモリダンプ方法、メモリダンプ用プログラム及び仮想計算機システム
JP2006293853A (ja) * 2005-04-13 2006-10-26 Ntt Docomo Inc 秘密情報保護システム、ダンプイメージ管理サーバ及び秘密情報保護方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013534001A (ja) * 2010-06-28 2013-08-29 インテル・コーポレーション 仮想化を用いた動画コンテンツの保護
US9146818B2 (en) 2011-11-28 2015-09-29 Fujitsu Limited Memory degeneracy method and information processing device
JP2018013859A (ja) * 2016-07-19 2018-01-25 富士通株式会社 情報処理装置、情報処理方法、およびプログラム
JP2018120297A (ja) * 2017-01-23 2018-08-02 富士通株式会社 情報処理装置、情報処理装置の制御方法及び情報処理装置の制御プログラム
JP2019091430A (ja) * 2017-11-10 2019-06-13 インテル・コーポレーション セキュアなパブリッククラウドのための暗号メモリオーナーシップテーブル
JP7158985B2 (ja) 2017-11-10 2022-10-24 インテル・コーポレーション セキュアなパブリッククラウドのための暗号メモリオーナーシップテーブル
JP7428770B2 (ja) 2017-11-10 2024-02-06 インテル・コーポレーション コンピュータプログラム、コンピュータ可読記憶媒体及び装置

Also Published As

Publication number Publication date
US20090248950A1 (en) 2009-10-01

Similar Documents

Publication Publication Date Title
JP2009230596A (ja) サーバ装置のユーザデータ保護方法、サーバ装置及びコンピュータプログラム
CN108701048B (zh) 数据加载方法及装置
JP5510556B2 (ja) 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム
JP3882930B2 (ja) 共用リソースを使用するための仮想計算機の管理
US7895394B2 (en) Storage system
US7844810B2 (en) Computer system and booting method therefor and server used for streaming on-demand a remaining part of a boot-up main memory image that includes an operating system
US9081612B2 (en) Virtual machine control method and virtual machine
WO2017022002A1 (ja) ストレージ装置、ストレージシステム、ストレージシステムの制御方法
WO2015169145A1 (zh) 内存管理方法和设备
CN110941481A (zh) 资源调度方法、装置及系统
US8850156B2 (en) Method and system for managing virtual machine storage space and physical host
CN107924289B (zh) 计算机系统和访问控制方法
CN107710160B (zh) 计算机和存储区域管理方法
KR101323858B1 (ko) 가상화 시스템에서 메모리 접근을 제어하는 장치 및 방법
US10235282B2 (en) Computer system, computer, and method to manage allocation of virtual and physical memory areas
JP2007066265A (ja) 計算機装置及び仮想マシン提供方法
GB2473136A (en) Allocating resources to partitions in a data processing system at start up according to a configuration profile
CN110806911B (zh) 一种云桌面管控方法、装置及系统
JPWO2017145272A1 (ja) データ移行方法及び計算機システム
CN107832097B (zh) 数据加载方法及装置
US9684525B2 (en) Apparatus for configuring operating system and method therefor
US20080005494A1 (en) Supporting flash access in a partitioned platform
US20060059323A1 (en) Physical memory control using memory classes
US9176781B2 (en) Virtual machine system, memory management method, memory management program, recording medium, and integrated circuit
CN115618409A (zh) 数据库云服务生成方法、装置、设备及可读存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100622

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110125