タグ付けされた質問 「virtualization」

仮想化は、システムのレイヤー間の抽象化を可能にするソフトウェアテクノロジーのグループです。これにより、システムの論理レイヤー間の分離が可能になり、分離、柔軟性、および/または一度に複数を実行する機能が提供されます。これは、さまざまな層が本質的に結び付けられているほとんどの従来のシステムとは異なります。

3
KVMとQEMUの違い
私は約読んでいるKVMと、Qemuいつかのために。今のところ、私は彼らが何をするのかを明確に理解しています。 KVMはハードウェア仮想化をサポートし、ゲストオペレーティングシステムにほぼネイティブのパフォーマンスを提供します。一方、QEmuはターゲットオペレーティングシステムをエミュレートします。 私が混乱しているのは、これら2つの座標がどのレベルにあるかです。好む RAMやメモリの共有は誰が管理しますか? 誰がI / O操作をスケジュールしますか?

7
上にある仮想メモリサイズとはどういう意味ですか?
topサーバーのパフォーマンスを監視するために実行していますが、2つのJavaプロセスが最大800MB-1GBの仮想メモリを表示しています。それは悪いことですか? 仮想メモリとはどういう意味ですか? それに、1GBのスワップがあり、使用率が0%であることがわかります。だから私は混乱しています。 Javaプロセス= 1 Tomcatサーバー+自分のJavaデーモンサーバー= Ubuntu 9.10(karmic)


4
XenでTCP accept()のパフォーマンスがそれほど悪いのはなぜですか?
私のサーバーが新しい着信TCP接続を受け入れる速度は、Xenでは本当に悪いです。ベアメタルハードウェアでの同じテストでは、3〜5倍の速度向上が示されています。 なぜXenの下でこれがそんなに悪いのですか? Xenを調整して、新しいTCP接続のパフォーマンスを改善できますか? この種のユースケースにより適した他の仮想化プラットフォームはありますか? バックグラウンド 最近、私は、Xenの下で実行されている社内開発のJavaサーバーのパフォーマンスのボトルネックを調査しています。サーバーはHTTPを話し、単純なTCP接続/要求/応答/切断呼び出しに応答します。 ただし、サーバーに大量のトラフィックを送信している場合でも、1秒あたり最大7000を超えるTCP接続を受け入れることはできません(8コアEC2インスタンス、Xenを実行するc1.xlargeで)。テスト中、サーバーは1つのコア(必ずしもCPU 0ではない)が80%を超えて非常に負荷がかかり、他のコアはほとんどアイドル状態になるという奇妙な動作も示します。これは、問題がカーネル/基礎となる仮想化に関連していると思うようになります。 ベアメタルの非仮想化プラットフォームで同じシナリオをテストすると、TCP accept()レートが35 000 /秒を超えるというテスト結果が得られます。これは、すべてのコアがほぼ完全に飽和しているUbuntuを実行しているCore i5 4コアマシン上で実行されます。私には、そのような数字は正しいと思われます。 再びXenインスタンスで、sysctl.confにあるほとんどすべての設定を有効化/調整してみました。受信パケットステアリングと受信フローステアリングを有効にし、スレッド/プロセスをCPUに固定しますが、明らかなゲインはありません。 仮想化を実行すると、パフォーマンスの低下が予想されます。しかし、この程度に?低速のベアメタルサーバーは、virtよりも優れています。5倍の8コア? これは本当にXenの予想される動作ですか? Xenを調整して、新しいTCP接続のパフォーマンスを改善できますか? この種のユースケースにより適した他の仮想化プラットフォームはありますか? この動作を再現する これをさらに調査して問題を特定すると、netperfパフォーマンステストツールが、私が経験している同様のシナリオをシミュレートできることがわかりました。netperfのTCP_CRRテストを使用して、さまざまなサーバー(仮想化および非仮想化の両方)からさまざまなレポートを収集しました。調査結果に貢献したい、または現在のレポートを調べたい場合は、https://gist.github.com/985475をご覧ください。 この問題が不十分に書かれたソフトウェアによるものではないことをどのように確認できますか? サーバーはベアメタルハードウェアでテストされており、使用可能なすべてのコアをほぼ飽和させます。 キープアライブTCP接続を使用すると、問題はなくなります。 何でこれが大切ですか? で、ESN(私の雇用者)私はのプロジェクトリードしていますBeaconpush、Javaで書かれた彗星/ウェブソケットサーバー。非常にパフォーマンスが高く、最適な条件下で与えられたほぼすべての帯域幅を飽和させることができますが、それでも新しいTCP接続をどれだけ高速にできるかに制限されています。つまり、ユーザーが頻繁に出入りする大きなユーザーチャーンがある場合、多くのTCP接続をセットアップ/ティアダウンする必要があります。接続を可能な限り長く維持するために、この問題を軽減しようとします。しかし、最終的に、accept()のパフォーマンスがコアの回転を妨げているため、それが気に入らないのです。 アップデート1 誰かがこの質問をHacker Newsに投稿しました。そこにはいくつかの質問/回答もあります。しかし、私はこの質問を、私が見つけたときに見つけた情報で最新の状態に保とうとします。 これをテストしたハードウェア/プラットフォーム: インスタンスタイプがc1.xlarge(8コア、7 GB RAM)およびcc1.4xlarge(2x Intel Xeon X5570、23 GB RAM)のEC2。使用されたAMIは、それぞれami-08f40561とami-1cad5275でした。また、誰かが「セキュリティグループ」(すなわち、EC2ファイアウォール)も影響を与える可能性があると指摘しました。しかし、このテストシナリオでは、このような外部要因を排除するためにlocalhostでのみ試しました。私が聞いたもう一つのうわさは、EC2インスタンスが100k PPS以上をプッシュできないことです。 Xenを実行する2つのプライベート仮想化サーバー。1つはテスト前に負荷がゼロでしたが、違いはありませんでした。 Rackspaceのプライベート専用Xenサーバー。ほぼ同じ結果があります。 これらのテストを再実行し、https://gist.github.com/985475でレポートに記入するプロセスを進めています。支援が必要な場合は、数字をお寄せください。それは簡単です! (アクションプランは別の統合された回答に移動されました)

2
コンテナにゲストOSがない場合、DockerでOSベースイメージを使用するのはなぜですか?
Dockerの勉強を始めたばかりですが、非常に混乱していることがあります。DockerのWebサイトで読んだように、コンテナは仮想マシンとは異なります。私が理解したように、コンテナは単なるサンドボックスであり、その内部で隔離されたファイルシステム全体が実行されます。 また、コンテナにゲストOSがインストールされていないことも読みました。代わりに、基盤となるOSカーネルに依存しています。 それはすべて大丈夫です。私が混乱しているのは、オペレーティングシステムにちなんで名付けられたDockerイメージがあるということです。Ubuntu、Debian、Fedora、CentOSなどの画像が表示されます。 私のポイントは、これらの画像は実際には何ですか?Debianイメージに基づいたコンテナの作成と、仮想マシンの作成とDebianのインストールとの違いは何ですか? コンテナにはゲストOSがインストールされていないと思っていましたが、イメージを作成するときは、1つのOSにちなんで名付けられたイメージに基づいています。 また、実行時に見た例ではdocker run ubuntu echo "hello world"、UbuntuでVMをスピンアップし、コマンドを実行させているようecho "hello world"です。 同じ方法で、docker run -it ubuntu /bin/bashUbuntuでVMをスピンアップし、コマンドラインを使用してアクセスしているようです。 とにかく、オペレーティングシステムにちなんで名付けられたこれらのイメージは何ですか?それらのイメージの1つでコンテナを実行し、対応するゲストOSでVMをスピンアップすることはどのように違いますか? カーネルをホストOSと共有するだけで(したがって、ハードウェアを仮想化することなく、基盤となるマシンのハードウェアリソースにアクセスできます)、コンテナ上の異なるシステムのファイルとバイナリを順番に使用するという考えです実行したいアプリケーションをサポートするには?

5
システムがBIOS設定でデフォルトで仮想化を無効にするのはなぜですか?
デフォルト構成でMMUおよびディレクテッドI / O仮想化が有効になっているシステムはまだ見ていません。多くの場合、VMの64ビットサポートなど、必要に応じて再起動してBIOSを有効にする必要があります。 これがオンになっていて、仮想化を使用していない場合に発生する、かなりの種類のプロセッサオーバーヘッドはありますか?そうでない場合、デフォルトでオフになっている理由は何ですか?

6
仮想マシンに安全に使用できるMACアドレスの範囲は?
仮想マシンのMACアドレスを割り当てて、DHCPの予約を構成して、どのホストハイパーバイザーが実行されているか、オペレーティングシステムが実行されているかに関係なく、常に同じIPアドレスを取得できるようにします。 私が知る必要があるのは、いつの日か何らかのデバイスがそのMACで私たちのネットワークに接続されることを恐れずに、どのMACアドレスの範囲を使用できるかということです。 MACアドレスに関するWikipediaの記事を読みましたが、このセクションは、02-XX-XX-XX-XX-XXの形式でアドレスを作成すると、ローカル管理アドレスと見なされることを示しているようです。 これは、ハードウェアメーカーが02で始まるアドレスを使用しないことを意味するので、仮想マシンで02で始まるものを使用しても安全であるはずだと思いますか? 助けてくれてありがとう。

7
仮想マシン内でデータベースを実行することの欠点は何ですか?どうすれば克服できますか?[閉まっている]
仮想マシン内で何かを実行すると、パフォーマンスヒットのいくつかのレベルを持っていますが、どのくらいそれはない、実際にデータベース・システムのパフォーマンスに影響を与えますか? いくつかの興味深いベンチマークでこの学術参考書を見つけましたが、XenとPostgreSQLのみを使用した限定的なテストでした。結論は、VMを使用しても「パフォーマンスに高いコストがかかることはない」ということでした(実際のデータではそうでないと思うかもしれませんが)。 仮想マシン内でのデータベースの実行に関連する技術的、管理的、およびその他の欠点は何ですか? 客観的な事実に裏打ちされた答えを投稿してください、私は投機や他の半宗教的な議論には興味がありません(オタクの情熱は多くの点で良いですが、ここでは役に立ちません)。 とはいえ、 仮想マシンでデータベースを実行すると、どのような問題が発生しますか?(参照を投稿してください) これらの問題は重要ですか? 特定のシナリオでのみ重要ですか? 回避策は何ですか?

10
[丁寧に]どうやって話しているのかわからないソフトウェアベンダーに伝える方法
技術的な質問ではなく、有効な質問です。シナリオ: ESXi 5.5を実行する2 x 8コアXeon E5-2667 CPUと256GB RAMを搭載したHP ProLiant DL380 Gen 8。特定のベンダーのシステム用の8つのVM。テスト用の4つのVM、実稼働用の4つのVM。各環境の4つのサーバーは、Webサーバー、メインアプリサーバー、OLAP DBサーバー、SQL DBサーバーなどの異なる機能を実行します。 テスト環境が実稼働に影響を与えないように構成されたCPU共有。SAN上のすべてのストレージ。 パフォーマンスに関するいくつかの質問がありましたが、ベンダーは、実稼働システムにより多くのメモリとvCPUを提供する必要があると主張しています。ただし、vCenterから既存の割り当てが変更されていないことを明確に確認できます。たとえば、メインアプリケーションサーバーのCPU使用率の月間ビューは約8%で、奇数のスパイクは最大30%です。スパイクは、バックアップソフトウェアの起動と一致する傾向があります。 RAMについても同様の話があります-サーバー全体の最高使用率は約35%です。 そのため、Process Monitor(Microsoft SysInternals)とWiresharkを使用して掘り下げを行ってきましたが、最初のインスタンスでTNSチューニングを行うことをベンダーに推奨しています。ただし、これは重要な点です。 私の質問は、送信したVMwareの統計情報が、RAM / vCPUを追加しても役に立たない十分な証拠であることをどのように認めさせるかです。 --- 2014/12/07更新--- 興味深い週。IT管​​理者は、VMの割り当てを変更する必要があると言っており、現在、ビジネスユーザーからのダウンタイムを待っています。不思議なことに、ビジネスユーザーは、アプリの特定の側面の動作が遅いと言います(私は知りません)が、システムをダウンさせることができると「知らせて」くれます(不平を言う) 、不平を言う!)。 余談ですが、システムの「遅い」側面は、明らかにHTTP(S)要素ではありません。つまり、ほとんどのユーザーが使用する「シンアプリ」です。メインの金融機関が使用する「ファットクライアント」インストールであるように見えますが、明らかに「遅い」です。これは、調査でクライアントとクライアント/サーバーの相互作用を検討していることを意味します。 質問の最初の目的は、「突く」ルートをたどるか、単に変更を加えるかについて支援を求めることであり、現在変更を行っているので、ロングネックの答えを使用して閉じます。 ご意見ありがとうございます。いつものように、serverfaultは単なるフォーラム以上のものです-心理学者のソファのようなものでもあります:-)

9
VirtualBoxで物理マシンから仮想マシンを作成する
所有している物理インストールからVirtualBoxで使用できる仮想マシンを作成する方法はありますか?たとえば、物理コンピューターにWindows XPがインストールされていて、そのコンピューターの仮想バージョンを別のコンピューターにインストールしたい場合。これにより、OS全体を再インストールおよび再構成する必要がなくなるため、時間を大幅に節約できます。 マイクロソフトのライセンスには問題があると思います。しかし、Windowsでは不可能な場合でも、物理的なLinuxマシンを使用してVirtualBoxバージョンを作成することは可能でしょうか?他のデスクトップ仮想化ソフトウェアはこの機能を提供しますか?


2
vSphere教育-RAMが多すぎるVMを構成することのマイナス面は何ですか?
VMwareのメモリ管理は、バランスをとるのが難しいようです。クラスターRAM、リソースプール、VMwareの管理手法(TPS、バルーニング、ホストスワッピング)、ゲスト内RAM使用率、スワッピング、予約、共有、制限には、多くの変数があります。 クライアントが専用のvSphereクラスターリソースを使用している状況にいます。ただし、仮想マシンを物理ハードウェア上にあるかのように構成しています。つまり、これは、標準のVMビルドに4つのvCPUと16GB以上のRAMがあることを意味します。私は小規模(1 vCPU、最小限のRAM)から始め、実際の使用状況をチェックし、必要に応じて調整する学校から来ました。残念ながら、多くのベンダー要件と仮想化に不慣れな人々は、必要以上のリソースを要求しています...この決定の影響を定量化することに興味があります。 「問題」クラスターからのいくつかの例。 リソースプールの概要-ほぼ4:1のオーバーコミットに見えます。大量のバルーンRAMに注意してください。 リソースの割り当て-最悪の場合の割り当て列は、これらのVMが、制約された条件下で構成されたRAMの50%未満にアクセスすることを示しています。 上記のリストのトップVMのリアルタイムメモリ使用率グラフ。4つのvCPUと64GB RAMが割り当てられています。平均9GB未満の使用です。 同じVMの概要 vSphere環境でリソース(特にRAM)をオーバーコミットおよびオーバー構成することのマイナス面は何ですか? VMがより少ないRAMで実行できると仮定すると、仮想マシンを実際に必要とするよりも多くのRAMで構成するためのオーバーヘッドがあると言ってもいいでしょうか? 反論をどうされています。「VMが割り当てられたRAMの16ギガバイトを持っているが、唯一の4ギガバイトを使用している場合、問題は何でしょうか?」?たとえば、VMは物理ハードウェアと同じではないという教育を受ける必要がありますか? RAM使用量を測定するために使用する特定のメトリック。「アクティブ」対時間のピークを追跡しますか?「消費」を見ていますか? 更新:vCenter Operations Managerを使用してこの環境のプロファイルを作成し、上記のクラスター統計の詳細を取得しました。物事は間違いなく過剰にコミットされていますが、実際にはVMは不要なRAMで過剰に構成されているため、実際の(小さな)メモリフットプリントはクラスタ/ホストレベルでメモリ競合を示しません... 私の要点は、OSレベルのキャッシュ用に少しのバッファーを備えたVMを実際に適切なサイズにする必要があるということです。無知やベンダーの「要件」から過剰にコミットすると、ここに示される状況になります。メモリバルーニングは、パフォーマンスへの影響があるため、どの場合でも悪いようです。そのため、適切なサイズ設定でこれを防ぐことができます。 更新2: これらのVMの一部は、次のものでクラッシュし始めています: kernel:BUG: soft lockup - CPU#1 stuck for 71s! VMwareは、これを大量のメモリのオーバーコミットメントの症状として説明しています。質問に答えていると思います。 vCops「特大仮想マシン」レポート... vCopsの「回収可能な廃棄物」グラフ...

2
Xen PV、Xen KVM、HVMの違いは?
プロバイダーはXenでオーバーセルできないため、Xenは通常OpenVZよりも優れていることを知っています。しかし、違いは何ですかXen PV、Xen KVMとHVM(私はこのプロバイダの通過つもりだったスペック 1は、どのような目的や理由のために優れていますか? 編集: Webサイトをホストするだけのエンドユーザーにとって、どちらが良いですか?効率または他の観点から、一方が他方より優れている点はありますか?


12
仮想マシンは基礎となる物理マシンよりも遅いですか?
この質問は非常に一般的ですが、最も具体的には、Ubuntu Enterprise Cloudを実行している仮想マシンが仮想化なしの同じ物理マシンよりも遅いかどうかを知りたいと思っています。いくらですか(1%、5%、10%)? WebサーバーまたはDBサーバー(仮想VS物理)のパフォーマンスの違いを誰かが測定しましたか? 構成に依存する場合、2つのクアッドコアプロセッサ、12 GBのメモリ、および64ビットのubuntuエンタープライズサーバーを実行するSSDディスクの束を想像してみましょう。その上、利用可能なすべてのリソースを使用できる仮想マシンは1つだけです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.