仮想化について語る - カーネルとIO

仮想化について語る - カーネルとIO

[[211645]]

序文

時間は流れる水のように、あっという間に過ぎていきます。自分が仮想環境にいるのか、現実環境にいるのかわからないことがあります。すべてはカーネルの認識にすぎません。 。 。

異なる経験、それを実現するいくつかの異なる方法があります。 。 。またナリに来ましたね。 。 。

仮想化の分類

仮想シーンは実際には現実と同じです。 。 。 。

仮想化シナリオでは、仮想マシンは仮想化環境で実行されていることを認識する場合があります。この場合、タイプ 1 仮想化であるカーネルを変更する必要があります。たとえば、VMware ESX および ESXI は、上位レベルの仮想マシンに提供されるハイパーバイザーを通じてハードウェアを直接管理します。このとき、仮想マシンが使用するカーネル呼び出し方式は、従来のシステムコールではなくハイパーコールとなります。これは、他の仮想化テクノロジよりもはるかに効率的です (仮想マシンは、ハイパーバイザー呼び出しを開始するためにカーネルを変更する必要があります)。

タイプ 2 仮想化では、ホスト マシンがハードウェア上で実行され、その中でユーザー空間プログラムが実行されて上位レベルの仮想マシンの管理が提供されます。これは VMM (仮想マシン モニター) またはハイパーバイザーと呼ばれることもあります。仮想マシンが関連する命令を呼び出すと、ホスト マシンに要求が送信され、その要求は VMM によってキャプチャされ、外部ハードウェア命令が実行される、または呼び出されます。これにより、すべての命令を少なくとも 1 回は変換する必要があるため、効率が大幅に低下します (仮想マシンはさまざまなオペレーティング システムを実行できます)。

実際のところ、企業に入るときに、アウトソーシングを選択するのか、しないのか。アウトソーシングを使用する場合、それは実際には仮想化の一種です。誰もがアウトソーシングしていることを明確に認識しているため、アウトソーシング会社のインターフェイスに直接電話をかけてサービスを提供します。これは非常に効率的かもしれませんが、ハードウェア環境は明らかに劣悪です。 。 。 。それが良いことかどうかは分かりませんが(笑)。 。 。 。

アウトソーシングする前は、誰もが仮想空間に住み、すべての CPU リソース、すべての物理メモリを使用し、すべてのハードウェアを操作できると考えていました。実際には。 。 。 。どれだけのリソースが使用できるかは不明です。おそらく私たちは仮想化されたシナリオの中で生きているだけなのでしょう。 。 。夢の中の夢。 。 。

メモリ仮想化

仮想化シナリオでは、CPU とメモリは実際には切り離せません。基本的に、どの物理マシンの CPU が使用されても、そのメモリは必然的に使用されます。なぜ?

CPU ハードウェアには、2 つのメイン チップが実装されています。 1 つは MMU (メモリ管理ユニット) で、主にメモリの管理に使用され、実際には線形アドレスから物理アドレスへの変換を行います。プロセスでは、使用されるリニア アドレス、つまり各プロセスが参照できるメモリ アドレスは、実際には物理アドレス全体であり、その一部はカーネルの使用のために分割され、残りはプロセスによって使用されるメモリ空間です。プロセスが変数を使用するたびに、これらの変数の値がメモリに保存されるため、CPU でアドレスを見つけて、MMU を介して物理アドレスを見つける必要があります。 CPU の速度はメモリの速度よりもはるかに速いため、この速度に合わせるために別のチップ、つまり TLB があります。これは主に、線形アドレスから物理アドレスへの変換の物理的な結果をキャッシュするために使用されます。そのため、アドレスが見つかるたびに、最初に TLB が見つかります。そうでない場合は、MMU を介して変換され、物理メモリが検出されます。

CPUの物理構造には、第1レベルキャッシュ、第2レベルキャッシュ、第3レベルキャッシュがあります。通常、第 3 レベル キャッシュは各 CPU で共有されるため、リソースの占有が発生する可能性があり、SMP アーキテクチャから NUMA アーキテクチャに変換され、非均一なメモリ アクセスが発生します。主な目的はパフォーマンスを向上させることです。 CPU を使用する場合、別の物理マシン上のメモリ アドレスを見つけてデータを読み取ることは不可能です。速度とパフォーマンスを向上させるために、CPU と MEM は基本的に同じ物理マシン上でバインドされて使用されます。

オーバーセリングの概念は、CPU が仮想であり、メモリも仮想であるということです。実際、VCPU は仮想 CPU であり、実際には物理マシン上のプロセスです。実際、仮想 CPU の数は物理コアの数を超えることがありますが、パフォーマンスとサーバーへの負荷、つまり CPU の平均負荷に応じて、一般的な過剰比率は 1.5 です。メモリも仮想的で、一部のクラスライブラリはプロセスごと、あるいは仮想マシンごとに使用されるため、物理メモリを超えることもありますが。 。 。比率はないようです。

シミュレーション シナリオでは、一般的な手順は、仮想マシンの仮想メモリを仮想マシンの物理メモリに変換し、それをホスト マシンの仮想メモリに変換してから、実際の物理メモリを見つけることです。 2 回の変換が必要となり、仮想マシンが複数ある場合、基本的に各仮想マシンの TLB を接続できないため、パフォーマンスが大幅に低下します。

そのため、ハードウェア レベルでは、どの仮想マシンの線形アドレスから物理アドレスへの変換を示すフィールドを TLB に追加するタグ付き TLB などのハードウェア支援仮想化テクノロジが提供されます。例えば、MMU メモリユニット管理機能が提供され、仮想アドレスが物理マシンの仮想アドレスに直接変換されるため、仮想マシンの物理アドレスに変換するステップが省略され、パフォーマンスが大幅に向上します。

ハードウェアでサポートされるメモリ仮想化 (AMD ネスト ページ テーブル [NPT] および Intel 拡張ページ テーブル [EPT])

I/O仮想化

I/O デバイスは一般にドライバーとデバイス自体に分かれており、ドライバーはカーネル内で実行されます。仮想マシンのシナリオでは、プロセスが外部 IO デバイスをスケジュールする必要がある場合、プロセスは最初に仮想マシンのドライバーを呼び出して仮想マシンのハードウェアを駆動し、次に物理マシンの vmm によってキャプチャされ、次に物理マシンのドライバーを呼び出し、最後に実際に物理デバイスを呼び出します。つまり、2つのステップに分かれています。

IO デバイスの仮想化シナリオでは、シミュレーション、つまりソフトウェア シミュレーションを使用する方法があります。 Linux ではすべてがファイルであるため、呼び出し用に多数のファイルが提供されます。

1 つは準仮想化を使用することですが、これにもハードウェア サポートが必要です。つまり、仮想マシン ドライバーは物理マシン ドライバーを直接呼び出してハードウェアを駆動するため、仮想マシン ドライバーが仮想マシンのデバイスを呼び出す手順が省略されます。

1 つ目は IO 透過伝送技術です。これは主に、一部のネットワーク カード デバイスまたはハード ディスク デバイスを仮想マシンに直接バインドして使用し、基本的に物理ハードウェアのパフォーマンスを実現するために使用されます。ただし、これらのハードウェアの管理は、依然としてハイパーバイザーによって管理される必要があります。

ハードウェアサポートデバイスおよび I/O 仮想化 (Intel VT-d、AMD IOMMU)

要約する

仮想化の登場は、CPU、メモリ、I/O などの物理ホストのリソースをより有効に活用するためです。

<<:  仮想化技術の徹底解読について語る(第1部)

>>:  CAの幹部:アジャイルコンセプトは市場で広く受け入れられており、スケールアジリティが話題となっている

推薦する

Hostus-Atlanta/4コア/1gメモリ/VPSの簡単なレビュー

Hostus の VPS の簡単なレビューです。HostCat の Web サイト zhujimao...

2012 年上半期の Baidu SEO イベントの概要

みなさんこんにちは。私は陳紅然です。 2012 年上半期、Baidu は SEO 分野で一連の動きを...

共同購入サイトをO2Oに転換することに対するベンチャーキャピタルの熱意はもはやなく、両者の二極化はより深刻になっている。

チ・ヨウレイ共同購入サイトの二極化はますます深刻化している。一方では資本に優遇され続けているが、他方...

企業がWeChatマーケティングを展開する方法の簡単な分析

最近はいろいろなことに振り回されて、頭がちょっと足りないです。11月のキャンパス就職フェアもかなり忙...

オンラインチケット検索エンジン「SeatGeek」が黒字化を達成、しかし国内企業は依然として課題に直面

2009年に設立されたオンラインチケット検索の新興企業、シートギークは8月に初の黒字を達成したと発表...

教育、観光、ゲーム業界向けの広告のヒント!

6 月が電子商取引の広告主にとってカーニバルであるならば、夏休みの 7 月と 8 月は、教育・トレー...

NodeServ – 年間 30 ドル / 500g DDOS 保護 / 256M メモリ / 50G ハードディスク / 500G トラフィック

NodeServ.com は、DDOS 保護を備えた VPS の提供を開始したと発表しました。ネット...

ステーション B の最下層 UP マスター向けサバイバル ガイド

モチャの死を聞いたリーリーは、モチャを知らなかったにもかかわらず、泣き崩れた。モチャの経験は悲しい。...

SEO 分類: ホワイトハット SEO、ブラックハット SEO、グレーハット SEO の包括的な理解

月給5,000~50,000のこれらのプロジェクトはあなたの将来です前回の記事では、SEOの定義を紹...

Linodeについてはどうですか? [年] Linode UKクラウドサーバーの実際のテスト、データが答えを教えてくれます

Linode の英国クラウド サーバーはどうですか? Linode の現在のパフォーマンスはどうです...

知らないかもしれないKubernetesのヒント13選

確立されたエコシステムを備えた Kubernetes は、コンテナ化されたアプリケーションの管理、ス...

Googleは難しい決断を下した:提携を解消し、サービスに注力する

Google はパートナー ネットワークを閉鎖し、他の CPA 広告 (アクション単価、広告の効果に...

2018年雲奇大会で「新杭州物語」が発表され、アリババクラウドが「杭州ソリューション」を世界に輸出

9月19日、2018年杭州雲奇大会で杭州シティブレイン2.0が正式にリリースされました。管轄区域は2...

特別オファー: weloveservers - $19/年 4 コア/1g メモリ/30g ハードディスク/1T トラフィック

WLS (weloveservers) がウェブサイトをリニューアルした後、2 回目のプロモーション...