Jump to content 日本-日本語

製品  >  ソフトウェア  >  HP-UX   >  Knowledge-on-Demand  >  “まるごと仮想化”のここが「ツボ」

連載 “まるごと仮想化”のここが「ツボ」

第1回:パフォーマンスを引き出すCPUリソースの配分設定
HP-UX/Integrityサーバー お問い合せ
コンテンツに進む
連載 “まるごと仮想化”のここが「ツボ」 第1回:パフォーマンスを引き出すCPUリソースの配分設定
HP Integrityサーバー上で仮想化を実現するソフトウェア「HP Integrity VM」がリリースされてから4年が経過した。ご存じのとおり、仮想マシンベースの仮想化技術はここ2、3年で急速にIT業界に広く浸透しており、中小規模の実運用環境を仮想マシン上で構築する事例ももはや珍しくはない。“ミッションクリティカル環境向けの仮想マシン”であるIntegrity VMも、当初は開発環境やテスト環境を中心に導入されていたが、最新バージョンの登場により実運用環境での本格導入が可能になり、実際にも検討され始めている。そこで本稿では、最新バージョンのIntegrity VMが備える機能や能力を改めて紹介し、実運用環境でも十分なパフォーマンスを引き出すための使いこなしのコツを紹介したい。
連載 “まるごと仮想化”のここが「ツボ」 - 第1回 -
“まるごと仮想化”で行こう!
ここがツボ!「エンタイトルメント(使用権)」
2009年5月

ここがツボ!「エンタイトルメント(使用権)」

先ほどの図1の例では、4個の物理CPUに対し、合計8個の仮想CPUを各仮想マシンに割り当てている。当然のことながら、すべての仮想マシンの仮想CPUに100%の処理能力を配分することは不可能だ。そこでIntegrity VMでは、「エンタイトルメント(使用権)」と呼ばれる設定を行うことでCPUリソース配分の振る舞いをあらかじめ決めておくことができる。この「エンタイトルメント(使用権)」の設定を抑えれば、実運用環境に適したCPUリソース配分が可能になる。

「エンタイトルメント(使用権)」の設定では、CPU使用権として「最低保証値」と「最大値」の2つの値を定義できる。例えば、すべての仮想マシンが高負荷状態にある場合でも、「最低保証値」で設定したCPUリソースはかならず確保される。また、リソースに余裕がある時には「最大値」で設定した分までCPUリソースを利用でき、サーバーのCPUリソースを無駄なく使用できるわけだ。

「最低保証値」と「最大値」
図3:「最低保証値」と「最大値」

ただし、「無駄なく」というのだから「最大値」を100%に設定しておけばいいかというと、実運用環境ではそうとばかりも言えない。「最大値」の設定はいわゆるリソースキャッピングを行うことを意味しており、仮想マシンで提供するシステムパフォーマンスの期待値を設定する場合や、制御する場合に役に立つ。

たとえば、仮想マシンを複数の異なる部署にホスティングするような場合を考えてみよう。そのような環境では、サービス開始時には提供する仮想マシンの数が少ないため、ユーザーは非常に快適なレスポンスを感じるだろう。しかし、やがて仮想マシンの数が増えていくにつれて、サービス開始時から利用しているユーザーはパフォーマンスの低下を感じ、クレームをつけることになる。この場合、サービス開始の時点でリソース割り当ての上限を設け、常に一定の性能を保証していれば、このようなクレームは避けることができるわけだ。

さらに、「最大値」の設定は、CPUリソースを非常に多く使う仮想マシンや異常な状態の仮想マシン(たとえば、内部でアプリケーションが暴走している)を封じ込めるためにも役に立つ。実運用環境で仮想マシンを利用する上では必須の機能といえるだろう。ちなみに、CPU使用権の「最大値」の設定はIntegrity VM 4.0から可能になった設定だ。それ以前のバージョンを使っているのであれば是非バージョンアップを検討していただきたい。

仮想CPUとエンタイトルメントの注意点

「最低保証値」と「最大値」といったエンタイトルメントの使い方でもうひとつ注意すべき点は、仮想CPUとの関係である。例えば、以下のような設定を行ったケースを考えよう。

  エンタイトルメント(最低保証値) 仮想CPU数
VM1 25% 4
VM2 100% 1
VM3 100% 1
VM4 100% 1
表1:エンタイトルメントの最低保証値と仮想CPU数の設定例

このうちVM1には、最低保証値=25%、仮想CPU数=4と設定されているため、合計で25%×4=100%、すなわちCPU 1個分のリソースを最低限確保することになる。一方、VM2〜VM4のほうも100%×1=100%と設定されており、それぞれCPU 1個分が保証される設定だ。よって、合計4個の物理CPUを備えるサーバー上でこれらの仮想マシンを稼働させれば、すべての仮想マシンのエンタイトルメントを保証できると思われるかもしれない。

仮想CPUとエンタイトルメントの注意点
図4:仮想CPUとエンタイトルメントの注意点

しかし実際には、この設定ではすべての仮想マシンを起動することができない。なぜなら冒頭でも述べたとおり、Integrity VMの個々の仮想CPUは、それぞれ別々の物理CPUで稼働するからだ。VM1の仮想CPUが4つの物理CPUすべてから25%ずつリソースを確保するため、そのほかの仮想マシンに保証可能なCPUリソースは最大で75%までなのである。CPUリソース配分の厳密な見積もりが不可欠な実運用環境では、こうしたすこし複雑な仮想CPUやエンタイトルメントの概念を正しく理解して使いこなす必要が生じる。

以上、本稿ではIntegrity VMを実運用環境へ導入する際に重要となるノウハウのひとつとして、仮想CPUリソースの配分設定について解説した。開発環境やテスト環境向けの仮想マシン利用ではあまり意識されない、厳密なサーバーリソース管理のコツをつかんでいただけたなら幸いである。

連載記事一覧 戻る 1  |  2

HP-UX 11i Knowledge-on-Demand 仮想化シリーズ 連載記事一覧

Integrity VMでやさしく学ぶ
サーバー仮想化

第1回:Integrity VMって何だ?
第2回:Integrity VMをインストールする
第3回:ストレージとネットワークの仮想化
第4回:VMゲストの作成
第5回:VMゲストへのリソース配分
第6回:Integrity VMの構成管理
第7回:Virtualization ManagerとCapacity Advisorによる統合管理
第8回:Ignite-UXによるネットワーク・インストール・その1
第9回:Ignite-UXによるネットワーク・インストール・その2
第10回:Ignite-UXによるネットワーク・インストール・その3

“まるごと仮想化”のここが「ツボ」

第1回:パフォーマンスを引き出すCPUリソースの配分設定
第2回:3種類の仮想ディスクを使い分ける
第3回:仮想スイッチ構成とメモリ構成のポイント
第4回:Integrity VMのバックアップ手段とAVIOの利用
第5回:オンラインマイグレーション機能の実際
第6回:仮想化環境でのクラスターウェアの使いこなし術


 その他の連載記事


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

お問い合わせ

ご購入前のお問い合わせ


ご購入後のお問い合わせ

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

ショールーム

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