IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

Hyper-V の部屋

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes 

第10回 Hyper-Vが持つリソースの制御機能 (小塚大介) 2013年11月

 Hyper-Vは大規模環境にも対応できるハイパーバイザーですが、実際にたくさんの仮想マシンを作って運用していると、1つの仮想マシンが大量のリソースを消費してしまって、他の仮想マシンの動作に影響してしまうこともあります。これはHyper-Vに限らず仮想化システムでは想定しておかなければいけない事象です。この事象は開発環境やテスト環境で発生するのであればある程度許容できますが、本番環境だとユーザーからクレームが上がってしまうかもしれません。
 今回はこのような事象を解消するためにHyper-Vが持つリソースの制御機能について取り上げます。一部、過去のコラムと重複する部分がありますが、クラウドサービスにおけるSLA(サービスレベルの契約)にとって重要な要素であるため、ご容赦ください。なお、今回扱う制御機能にQoS(サービスのクオリティ設定)という言葉を使うことがあります。ストレージQoS、ネットワークQoSという言葉が出てきたら、本コラムの事を思い出してください。

仮想プロセッサのリソース制御

 仮想プロセッサ(CPU) は仮想マシンに割り当てる仮想プロセッサの数で大まかなリソースの制御はできますが、さらに細かく、仮想マシンの予約、限度をパーセンテージで指定することが可能で、相対的な重みを指定することでCPUリソースを割り当てる優先度を指定することができます。優先度の高い仮想マシンには大きな値を割り当ててください。

fig01

メモリのリソース制御

 動的メモリを利用して仮想マシンの集約率を向上させた場合、すべての仮想マシンがメモリの上限まで使用すると、トータルではメモリが足りなくなってしまいます。
 ですので、動的メモリを利用する際は仮想マシンの最小RAMと最大RAM、仮想マシン立ち上げ時のスタートアップRAMの値を明示的に指定することをお勧めします。特に最大RAMはデフォルトで1048576MBととても大きな値になっていますので、不意に仮想マシンがメモリを大量消費することを避けるためにも最大RAMの値を指定しましょう。
 また、メモリの重みの値を設定することで、トータルのメモリが不足する場合にメモリを割り当てる優先度を指定することができます。

fig02

ストレージのリソース制御

 仮想マシンを複数実行した際にボトルネックになりやすいのはストレージです。一つの仮想マシンが大量のI/O処理を実行した場合は他の仮想マシンのパフォーマンスへ影響する場合があります。そうした状況を避けるために各仮想ディスクではIOPSの最小と最大の値を指定することができます。
 夜間のバックアップなど、一つの仮想マシンが大量にIO処理を行ってほかの仮想マシンに影響が出た場合はIOPSの設定を変更してください。

fig03

ネットワークのリソース制御

 ネットワークについても仮想NICごとに帯域制御が可能です。
 帯域幅の最小と最大をMbps単位で指定することができます。
 1つの仮想マシンが大量の通信を行って他の仮想マシンの動作に影響が出る場合はこの設定を変更してください。

fig04

 このようにHyper-Vでは仮想マシンの主要なリソースを制御することが可能ですので、仮想マシン間のリソースのバランスをとることが可能です。このリソース制御の機能により本番環境でのトラブルを解消することもできますし、意図的にリソースの上限を低くすることでリソース不足時のアプリケーション動作テストを行うこともできます。ぜひリソース制御機能を使いこなしてHyper-Vのパフォーマンスを引き出してください!

 


 

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes