私たちは小さな会社からいくつかのソフトウェアを購入しました。それはWindows32ビットビデオコンテンツワークフローマネージャーであり、彼らによっていくつかのカスタマイズが行われています。
このコードをVMWareESXi 4.1u2 VM on W2K3EE-32-bit(それがサポートされているものです)で実行することで、1年以上正常に動作しています。
その後、1か月ほど前にコードを更新し、vCPUの1つが定期的に100%でペギングし、2番目のvCPUがかなりアイドル状態(5〜7%)になっているのを確認し始めました。そのため、コードのスレッドが不適切であると想定し、それ。
彼らは今、彼らのコードがVMで機能しない、18か月ほどこの要件について知っている、そして私たちにV2Pを望んでいると言って私たちに戻ってきました。彼らは、VM内で実行した場合にのみこの問題が発生すると言います。数時間以内に予定されているシニアプログラマーと話し合うために電話をかけました。
幸いなことに、これを実行できるフィジカルがいくつかあります。少し時間がかかりますが、実行可能です。
ただし、私の質問は、これを考えるとVMはハードウェアに直接触れず、非常に最新のホスト上にあり、実際には要件が非常に低い(2 x vCPU、4GB、20GBブートvdisk、100GBデータ)ということです。 vdisk、単一のvNIC、その他何もありません)VMで実行すると、問題が発生する可能性がありますか?
明らかに私は彼らと一緒にこれを強く追求していますが、他の誰かが通常のアプリケーションを見つけたのではないかと思っただけです。それはどういうわけかVM内で誤動作しますが、物理的には動作しません。
このベンダーやソフトウェアパッケージについて話すことはできませんが、私は大規模な(多国籍)ベンダーで働いていました。そこでは、販売されたソフトウェアの1つにVMwareでの実行時に非常に具体的な既知の問題がありました。
この場合、1つの問題によってソフトウェアがデッドロックし、もう1つの問題によってデータが破損する可能性があります。そのため、仮想環境でソフトウェアを実行しないようにお客様にアドバイスしました。いくつかはまだしました、そして私が知っていたすべての場合において、彼らは問題の一方または両方に遭遇しました。
そのため、まれですが、VMwareで期待したとおりにソフトウェアが動作しない場合があります。
問題を直接解決するわけではないことはわかっていますが、VMWareが必ずしも完璧なシステムであるとは限らないことを示しています。
脚注:この場合、ベンダーはVMwareと協力して解決策(一部のコード修正、一部のVMWare構成の変更)を見つけることができ、VMWareでソフトウェアを実行する方法に関するいくつかの(非常に具体的な)ガイダンスがあります。
ESXv5とMonster VM制限(32vCPU 1TB RAM))では、VM)で問題が発生するアプリケーションの数が減少しています。私が使用したアプリケーションのほとんどは経験豊富な人は次のいずれかです:-線形であるために時間に依存している(リアルタイムプロセスまたは線形時間を必要とするアプリ...これは通常調整可能です)-多くのハードウェア割り込みまたはコンテキスト切り替えを引き起こすアプリ
ほとんどの場合、vmwareの担当者にそれらの人と話をするように依頼できるはずです。 vmwareには、物事を機能させることに専念するチームがまだ存在すると思います(初期の頃は、このためのサポートラボがありました)。
解決策として、VMのCPU使用率が高い(ただし、ホストには十分なCPUリソースが空いている)という同様の問題がありました。NehalemCPUを搭載したサーバーに移行することで問題を修正しました。 EVCのCPU互換性レベルの変更(DRS/HAを備えたクラスターがある場合)
VMware ESX + Debian 6 + OpenLDAP 2.4.xで同様の問題が発生しました(OpenLDAPの正確なバージョンがapt-gettableである場合は...)。
日常の操作では問題なく動作しますが、400 000程度のエントリを含む大きなLDIFファイルのインポートなどは非常に遅くなります(物理サーバーの場合よりも50〜100倍遅くなります)。また、長時間の大量ベンチマークでは、すべてが数ミリ秒の応答時間でスムーズに進行しますが、500〜25 000(!)ミリ秒の範囲の奇妙なピークが発生する場合があります。
物理サーバーでは、これらの問題を再現できません。はい、私は約3週間かけて問題を特定し、オペレーティングシステムのパラメーターからslapd値、BerkeleyDB値まであらゆる種類のパラメーターを調整しました...何も役に立ちませんでした。