■ゲストOSのリソース設定
ゲストOSを新規作成する際にディスクタイプや容量などを指定することは可能ですが、割り当てるコア数やメモリなどは一旦作成後に編集する必要があります。通常は稼働を始めてから編集するのではなく、新規作成直後に編集すべきです。稼働後に編集するとゲストOSが不安定になることがあるからです。また、CPUやメモリなどの編集は仮想マシンがOffになっている必要があります。
編集を実施する仮想マシンを右クリックして「設定の編集」を選択します。必要に応じてコア数やソケット数、メモリの容量を編集します。
■ESXiのリソースの考え方
ESXiではホストが所有している物理的なCPU/メモリを範囲内で自由に割り当て可能です。但し、物理的な範囲を越えてゲストOSにリソースを割り当てることは奨励されておりません。実際の設定ではシェア/予約/制限の3つのキーワードでリソースに関する設定を行います。
項目 | 説明 |
シェア | 低/標準/高の中から選択します。デフォルトは標準です。 物理的なリソース容量を超えた際の優先順を決定する基準となります。 但し、物理リソースを越えるような運用は奨励されません。 |
予約 | いかなる状況においても予約で設定した値をゲストOSは保証されます。 デフォルトでは設定されておらず、保証はされない状態となっています。 |
制限 | 上限設定。予約以上のリソースを使うことも可能ですが 制限以上のリソースは使えません。デフォルトでは設定されておらず 上限なくリソースを使用可能です。このパラメータはあまり使用されません。 |
実際の設定画面は以下です。編集を実施する仮想マシンを右クリックして「設定の編集」を選択しリソースタブをクリックします。
メモリに関してはホストに搭載されている合計容量を分配していけば良く、CPUに関してはホストに搭載されているコアを分配していけば良い、と考えて良いと思います。例えばクアッドコアのCPUを2つ搭載しているサーバであればコア数は2×4=8で8つのゲストOSを作成可能で す。
但し、負荷の大きいサーバなどがある場合はこの限りではありません。ESXiホストにどれだけのリソースがどれだけあるかはvSphere Clientのサマリタブやリソース割り当てタブの画面から確認可能です。
■vSphere DRS
vSphere DRSとはESXi Serverに負荷が集中したとき、ESXi上の仮想マシンを自動で別のESXiに移動する機能です。他にも仮想マシンを起動する際にDRSクラスタ内のリソースの空きを自動的に判断し負荷の少ないESXiで仮想マシンを選択できる機能もあります。まとめるとvSphere DRSに2つの大きな機能があります。
① リソース使用量の最適化
② 仮想マシンの起動時のホスト選択
これらを自動的に行うか否かによって以下のモードを設定できます。
● 完全自動化 : ①②を自動的に行う
● 一部自動化 : ②を自動的に行う。①は管理者の判断が必要
● 手動 : すべて管理者の判断が必要
一部自動化においてはDRSクラスタ内でリソース配分が最適化される奨励案を提示し、管理者が推奨を承諾すると仮想マシンが移行されます。すべてを管理者の承認の上に実行したい場合は、手動モードを選択することもできます。
また仮想マシンがvSphere DRSでESXiで間を移動するにあたり2つの仮想マシンを同じESXiで稼働させたくない場合(非アフィニティ)や逆に同じESXiで稼働させたい場合(アフィニティ)の設定なども指定することができ柔軟な管理が可能となります。
■リソースプール
リソースプールはCPUおよびメモリリソースを階層的に管理するために論理的に抽象化したものです。スタンドアローンホスト、またはvSphere DRS対応のクラスタで使用します。クラスタ環境でリソースプールを使用する場合は、DRSを有効にした場合のみなので注意してください。
リソースプールを使用する理由は主に以下があります。
- 柔軟な階層構造
- プール間の分離とプール内での共有
- アクセスコントロールと権限委任
- ハードウェアからのリソースの分離
- マルチメディアサービスを実行している仮想マシングループの管理
以下、リソースプールの構成例です。
リソースプールは階層的に構成できます。上の例では技術プールが最上位のリソースプールでありテスト仮想マシンと本番仮想マシンが子リソースプールです。子リソースプールは親リソースプール以上のリソースは使用することができません。子プールを作成すると仮想マシンがパワーオンされているかどうかにかかわらず親プールのリソースが予約されます。
実際の設定例です。下記ではDRSクラスタからリソースプールを作成しています。
リソースプール名とCPU/メモリの予約、制限などの入力を行います。
親リソースプールが作成されます。
ここからさらに子プールを作る場合は親プールを選択して同様の手順で再度リソースプールを作成します。
仮想マシンをリソースプールにドラッグ&ドロップすることでリソースプールを使った仮想マシンのリソース制御が可能となります。