Jump to content 日本-日本語

製品  >  ソフトウェア  >  HP- UX Developer Edge

サーバ仮想化の“先駆者”HPが世に問う
新技術「HP Integrity VM」・後編

HP-UX/Integrityサーバー お問い合せ
コンテンツに進む
サーバ仮想化の“先駆者”HPが世に問う新技術「HP Integrity VM」・後編
Integrity VMでは、CPUやメモリ、ストレージ、ネットワーク、管理コンソールといったサーバ・リソースを仮想化し、用途や目的に応じて各VMに柔軟に配分することができる。つまり、開発・テスト環境のコンソリデーションには格好のソリューションと言える。例えば開発やテスト作業のピーク時には豊富なサーバ・リソースを配分し、カットオーバー後にはVMを閉じておくといった使い方が可能になるのである。また“ファイルコピー感覚”でVMの複製や移設が可能なため、ミドルウェアやアプリケーションがインストール済みのVMをコピーし、検証用環境を瞬時に用意することもできる。ここでは、Integrity VMの仮想化メカニズムとそのメリットを紹介する。
サーバ仮想化の“先駆者”HPが世に問う新技術「HP Integrity VM」・後編
Integrity VMによるCPUリソースの仮想化
仮想スイッチによるネットワーク仮想化
2005年12月
テクニカルライター 吉川和巳

Integrity VMによるCPUリソースの仮想化

Integrity VMでは、以下の各リソースを仮想化し、それぞれの仮想マシン(VM)に配分できる。
   
  • CPU
  • メモリ
  • ストレージ
  • ネットワーク
  • MP(管理コンソール)
  これらのうち、まずはIntegrity VMにおけるCPUリソースの仮想化メカニズムについて説明しよう。
   
  図1:Integrity VMによるCPUリソースの仮想化
図1:Integrity VMによるCPUリソースの仮想化
   
 

図1は、Integrity VMにおけるCPUリソースの仮想化を表した図である。この例では、4個のCPUを搭載したIntegrityサーバ上で、3つのVMを運用している。ここで、それぞれのVMに配分されている「仮想CPU」に注目していただきたい。仮想CPUとは、「それぞれのVMが利用可能な最大CPU数」を表している。よって図1の例では、左端のVM1は1個分、VM2は3個分、そしてVM3 は4個分までのCPU処理能力を受け取ることができる。VM内部で並列処理可能なスレッド数も、仮想CPU数に比例することになる。

ちなみに1つのVMには、サーバの物理CPU数を超える仮想CPU数を割り当てることはできない。そのため、もし2-wayサーバでIntegrity VMを利用する場合は、各VMに配分できる仮想CPU数は最大2個までとなる。また、多数のCPUを搭載するサーバであっても、仮想CPU数は、現在のところ4個までに制限されている。

さて図1の例では、4個の物理CPUに対し、合計8個の仮想CPUを各VMに割り当てている。当然のことながら、すべてのVMの仮想CPUに100%の処理能力を配分することは不可能だ。そこでIntegrity VMでは、「エンタイトルメント(entitlement)」と呼ばれる設定を行うことで、高負荷時のCPUリソース配分をあらかじめ決めておくことができる(図2)。

   
  図2:仮想CPUのエンタイトルメント設定の例
図2:仮想CPUのエンタイトルメント設定の例
 
図2の例では、エンタイトルメントが以下のように設定されている。
   
 
表:エンタイトルメントによって配分されるCPU処理能力
 

エンタイトルメント

最小

最大

VM1 仮想CPU 1個×10% 10% 100%
VM2 仮想CPU 3個×10% 30% 300%
VM3 1パーティション 360% 400%
 
エンタイトルメントは、「各VMに最低限保証されるCPU処理能力」を表している。つまり、すべてのVMが高負荷状態にある場合でも、エンタイトルメントで設定したCPU使用率はかならず確保される。例えば上記例では、たとえVM2やVM3の内部で高負荷のアプリケーションが動作していても、VM1はつねに10%のCPUリソースを利用できる。またVM2やVM3の負荷が低い場合は、その剰余分を利用して、最大100%(仮想CPU 1個分)の処理能力がVM1に動的に配分される仕組みだ。ちなみに、エンタイトルメントの最小値は5%であるため、CPU 1個あたり最大20のVMを作成することができる。

こうしたIntegrity VMにおけるCPUリソースのきめ細かな配分は、HPが1997年から提供しているリソース・パーティション技術PRM(Process Resource Manager)のFSS(Fair Share Scheduler)によって実現されている。FSSは、HP-UXカーネルに組み込まれた専用のスケジューラーであり、個々のプロセスのCPU利用率を%単位で厳密に履行する。こうした実績豊富なテクノロジーによって実装されている点も、Integrity VMの優位性のひとつと言えるだろう。

メモリリソースの割り当て

Integrity VMにおけるメモリリソースは、CPUリソースとは異なり固定的に割り当てられる。各VMの作成時に必要なメモリ容量を設定しておくことで、VM起動時にその分の物理メモリ領域が確保される。また、領域サイズを変更するにはVMの再起動が必要だ。

物理メモリ容量としては、個々のVMに割り当てたメモリ容量の合計に加え、ホストOSとなるHP-UXが必要とするメモリ、そしてIntegrity VMのオーバーヘッド分を合計した容量を用意しておく必要がある。

ディスク I/Oの仮想化

つづいては、Integrity VMにおけるディスク I/Oの仮想化メカニズムを説明しよう。Integrity VMでは、個々のVMに「仮想ディスク」と呼ばれる仮想的なSCSIディスクを割り当てることが可能だ。この仮想ディスクは、以下のいずれかの物理ストレージに対応付けできる。
   
  • 物理ディスクやSAN(論理ユニット)
  • 論理ボリューム
  • ファイル
 

これらのうち、もっともパフォーマンスが高いのは、物理ディスクやSANの論理ユニットをそのまま仮想ディスクとして用いる方法だ。ただしこの場合、割り当ての粒度が数10〜数100GBと大きくなってしまううえ、VMのコピーや移動がやりにくくなるというデメリットがある。一方、HP-UXの論理ボリュームやファイルを仮想ディスクとして用いることもできる。この場合、パフォーマンスのオーバーヘッドが上昇するものの、割り当ての粒度を細かくでき、VMのポータビリティも向上する。例えば仮想ディスクをファイルに割り当てた場合は、仮想的なIntegrityサーバが1台まるごと1つの巨大ファイルに収まるかたちとなる。つまり、このファイルをコピーするだけで「サーバの移設」が可能となる。

Integrity VMでは、ディスクの他にもDVDドライブの仮想化にも対応している。「仮想DVD」に対して物理DVDを対応付けられるほか、ISOディスク・イメージを記録したファイルに対応付けることもできる。よって、例えばアプリケーション・インストール用DVDをISOイメージファイルとして保管しておけば、同ファイルを仮想DVDとしてマウントし、アプリケーションのインストール作業を行える。何枚ものDVDメディアを手作業で交換するような手間もかからない。

ちなみに、2006年にはIntegrity VMにおいて「Direct I/O」と呼ばれるモードがサポートされる予定だ。Direct I/Oでは、ストレージ・デバイスを特定のVMに直結することで、ネーティブのI/Oパフォーマンスに近い性能が実現するという。

トップへ   次のページへ

本ページの内容は執筆時の情報に基づいており、異なる場合があります。

お問い合わせ

ご購入前のお問い合わせ


ご購入後のお問い合わせ

HPEサポートセンター
製品の標準保証でご利用いただける無償のサービスです。

ショールーム

ショールーム 導入をご検討のお客様へ
業務アプリケーションの継続・標準化・開発性とシステム担当者様、システム開発者様が抱える悩み・疑問に対する解決策実体験して頂けます。
印刷用画面へ
プライバシー ご利用条件・免責事項