ごだいぶろぐ 絶対大丈夫じゃないSEのぼやき

頭が封印解除しているシステムエンジニアのブログです。カードキャプターさくら クリアカード編の感想記事を定期更新中

ESXiのリソース「シェア機能」を分かりやすく説明してみる

スポンサーリンク

f:id:godaiyu:20160607201902j:plain

エンジニアの皆さまお疲れ様です。

五代です。

 

VMware社のハイパーバイザ・ESXiのリソース設定にて、気になったことがあったので備忘がてらに書きます。

 

ESXiの仮想マシンにはこんな機能がある

ESXi上の仮想マシンには、CPUやメモリ等のリソースを「予約」する機能・「制限」する機能・「シェア」する機能が備わっている。最初の2つの機能は読んで字の如く、仮想マシンが使用するリソースをユーザが明示的に確保させるものである。

 

通常、仮想マシン達は、下記図の様に仮想ホストのリソースを各々が必要な時に使用し、不要な時は互いに譲り合っている。※あくまでイメージで!

f:id:godaiyu:20160607210836p:plain

 

そのため、特定の仮想マシンに優先的にリソースを振りたい!とか、この仮想マシンはこれ以上のリソースを使ってほしくないなー…という時に「予約」と「制限」の機能で仮想マシンのリソースを任意に設定してあげる訳ですねー。

f:id:godaiyu:20160607212037p:plain

 

じゃあこの一番上の「シェア」ってなんなのよ、仮想マシンってもともとリソースをシェア(共有)しとるやんけ、と思ったところで調査したのでメモ。

 

シェア機能ってなんすか

結論から言うと、他の仮想マシンと共有するリソースの比率である。

 

下記図の枠で括った箇所が「シェア値」と呼ばれるもので、仮想マシン作成時に設定したソケット数およびコア数に1000(定数)をかけたものが表示される。

f:id:godaiyu:20160607213138p:plain

例) ソケット数:1、コア数:4 の仮想マシンの場合

(シェア値) = 1 × 4 × 1000 = 4000

 

このシェア値が各仮想マシンに振られており、この比率がそのまま各仮想マシンのリソース使用量の比率となる。以下は、仮想ホストサーバCPU:6GHz×1、各仮想マシンのCPU:3GHz×1で、1つのコアを2つの仮想マシンのCPUで共有しているイメージである。

f:id:godaiyu:20160607215607p:plain

 シェア値が高ければ高いほど、設定した仮想マシンには多くリソースが振られる訳ですね。ちなみにシェア値の設定には、「標準」以外にも「低」・「高」・「カスタム」が選択でき、「高」「標準」「低」のシェア値の割合は4:2:1となります。カスタムは任意値。

 

例) ソケット数:1、コア数:4 の仮想マシンの場合

「高」設定:シェア値 = 8000

「標準」設定:シェア値 = 4000

 「低」設定:シェア値 = 2000

 

 

 

うーん、気になって調べてみたけど、どういう時に使うんだろこれ…2台の仮想マシンだけで考えたけど、実際もっと仮想マシンがある環境(数十台)とかだと設計だけで頭がパンクしそうだし、「割合」で設定するシェア機能より「実値」で設定する予約機能の方が使える気がする…。

 

「こういう機会に使うんだぞルーキー」というコメントがあればぜひお願いします。