
この記事では、Windows Server 2008 R2 SP1 Hyper-Vでのメモリの操作に関する一連の記事を開きます。 基本的に、SP1にはHyper-Vに関する2つの興味深い革新があります。
- リモートFX-仮想環境ですべての3Dアクセラレーション機能を使用できるため、仮想マシン上で強力なグラフィックアプリケーションとゲームを実行し、シンクライアントからでもリモートで操作できます。
- 動的メモリ-動的にメモリを動的に仮想マシンに割り当てる可能性があるため、ホスト上で仮想マシンの高密度化を実現できます。
このシリーズの記事では(いくつかありますので、ビールの在庫を増やします。)動的記憶について説明します。 同時に、Hyper-Vは最後の記事でのみ動的メモリについて具体的に説明する可能性が高いです:)
サーバー仮想化が最初に発明されたのはなぜですか? 「なぜ仮想化が必要なのか」という記事ですでに述べたように、理由の1つは、統合の強化とハードウェアリソースのより合理的な使用です。 リソースを最大で半分まで使用する個別のタスクごとに個別のサーバーを使用するか、1つの物理サーバーに複数の仮想サーバーの形ですべてを統合し、リソースをほぼ100%使用して大量の鉄を購入する必要をなくすことができます。
それで、私は何について話しているのですか? そして、多くの顧客が何も傷つけずにツリーにアクセスしたいという事実と、科学用語で-できるだけ多くの仮想マシンを同じサーバーに配置し、同時にパフォーマンスを失わないことを望んでいます。 残念ながら、多くの人が最初の段階でミスを犯します-サーバーリソースの要件を決定します。 簡単な例:関連分野で働いている友人に尋ねる-新しいサーバーを注文するときにどれくらいのメモリを消費しますか? そして-特定の質問:
- そして、それがウェブサーバーになる場合は?
-ビジネスアプリケーションを実行する内部Webサーバー?
-1日あたり数百/数千/数万のヒットがある外部Webサーバー? - そして、ファイルサーバーのために?
-たとえば、12人または2人のユーザーの1つの部門の内部「ファイルウォッシュ」ですか?
-数千人の従業員がドキュメントを保管する巨大な企業ファイルサーバーですか? - また、ドメインコントローラーに必要なメモリ量は?
- プリントサーバーの場合
- <サーバーアプリケーションをここに貼り付ける>
質問はさらに指定できるため、「サーバーに必要なメモリ量」という質問に明確に答えることは非常に困難です。 必要なシステムリソースの評価は「サイジング」と呼ばれ、科学全体に成長しました。 ほとんどの場合、リストされている3つのオプションのいずれかに従って動作することは驚くことではありません。
- すべてのサーバーに2(4、8、16、32など)GBのメモリを搭載し、ユーザーが「ブレーキ」について苦情を訴え始めたら-さらに追加する
- OSとアプリケーションの最小システム要件を確認し、25%(50%、100%など)の「マージン」を追加します。このメモリの使用方法に関係なく、ユーザーのみが文句を言わない場合。
- ベンダーの推奨に従ってください。 データシートに、このユーザーのアプリケーションに4人のユーザーが4 GBのメモリが必要であると書かれている場合-4 GBを追加します。 計算とテストは長すぎて面倒です。これには時間も欲望もありません。
もちろん、上記のオプションのいずれかを使用しても、まったく(またはまったく)最適なソリューションは得られません。 明らかに必要以上のメモリを獲得して無駄にお金を使うか、必要以上に少ないパフォーマンスを獲得してパフォーマンスの問題を引き起こします。 もちろん、負荷に応じてメモリを柔軟に割り当て、最も効率的に使用できる場合はさらに興味深いでしょう。
メモリのオーバーコミットメント
私たちはメモリと仮想化について話しているので、このフレーズを言うまでもありません。これはしばしば白熱した議論を引き起こします:メモリのオーバーコミットメント。 ロシア語のITに変換すると、この表現は「物理的に存在するよりも多くのリソース(この場合、メモリ、約著者)を仮想マシンに割り当てること」を意味します。 つまり、おおよそ、物理的にサーバーに2.5 GBしかない場合に、3つの仮想マシンにそれぞれ1 GBのメモリを割り当てることです。 「メモリのオーバーコミットメント」というフレーズ自体が異なる仮想化プラットフォームのサポーター間でこのような激しい戦いを引き起こした主な理由は、Microsoftがそのようなテクノロジーを提供していないことです:サーバーに3 GBのメモリがある場合、これはまさに仮想コンピューターが提供できるものであり、それ以上のものではありません。 これは悪いと考えられているようです。いわゆる売れ過ぎの可能性はなくなります。 売れ過ぎとは何ですか? 主な例は、インターネットサービスプロバイダーです。 「最大8メガビット/秒」の速度でインターネットアクセスを提供します。実際、プロバイダーのアップリンクチャネルが8メガビット倍の数よりもわずかに狭いため、速度はおそらく4〜6メガビット/秒前後で変動します。その加入者。 それにもかかわらず、月の特定の段階、深夜、水星が水瓶座の兆候にあり、インターネットでお気に入りのビデオを見ている人がいない場合、速度は約束の8 Mbpsに達する可能性があります。 ボーレートを下げずに正確に8メガビット/秒を取得したい場合-帯域幅が保証された関税があり、奇妙なことに-まったく異なる価格で。 そのため、Hyper-Vを使用する場合、過剰販売の可能性がないため、各仮想マシンに一定量のRAMが割り当てられますが、ゲストOSをシャットダウンすることでのみ変更できます。
しかし、それでも私たちは技術者であり、ひどい唯物論者であり、したがって、月やその他の生物エネルギーの段階は私たちにとって興味のないものです。 そのため、「メモリオーバーコミットメント」というフレーズの背後に実際にあるものを確認します。
奇妙なことに、明確な意見はありません。これらの言葉で説明できるテクノロジーはすでに3つもあります。 これは:
- ページ共有
- 第2レベルのページング
- 動的メモリバランシング(別名ボーリング)
次の記事では、ページの共有技術について説明します。この技術では、メモリのページを共有する技術と、その使用の長所と短所について詳しく説明します。 ここで読むことができます 。 将来の記事では、Windows Server 2008 R2自体の動的メモリ機能と、それが「メモリのオーバーコミットメント」という用語に適合しない理由について、リストされている他のテクノロジについてお話します。