web-dev-qa-db-ja.com

おそらく完全に専用サーバーが本当に仮想的にリソース共有されたマシンであるかどうかを知る方法はありますか?

たとえば、「top」コマンドが0.5未満の低負荷、CPUを報告している場合、サーバーが期待したほどスムーズに応答しないと感じることがあります(Intel(R)Xeon(TM)CPU 2.80GHzクアッドコアを使用しています)。ほぼ完全にアイドル状態です...

インターネット接続に問題があるので、それが自分なのか、サーバー自体なのかはよくわかりません。

サーバーの実際のパフォーマンスを実行して確認できるベンチマークスクリプト(または類似のもの)はありますか?

5
arod

virt-whatスクリプトは、さまざまな種類のハイパーバイザーとコンテナーテクノロジーを識別します。ほとんどの主要なLinuxディストリビューション(apt-get install virt-whatyum install virt-whatなど)用に事前にパッケージ化されており、その出力はシェルスクリプトでの使用に適しています。仮想ゲストの内部から正しく検出を実行します。

検出された仮想化の現在のタイプ:

  • hyperv Microsoft Hyper-V
  • kvm Linuxカーネル仮想マシン(KVM)
  • lxcLinuxコンテナ
  • openvzOpenVZまたはVirtuozzo
  • powervm_lx86 IBM PowerVM Lx86 Linux/x86エミュレーター
  • qemu QEMU(加速なし)
  • umlユーザーモードLinux(UML)
  • virtage Hitachi Virtualization Manager(HVM)Virtage LPAR
  • virtualbox VirtualBox
  • virtualpc Microsoft VirtualPC
  • vmware VMware
  • xen Xen
  • xen-dom0 Xen dom0(特権ドメイン)
  • xen-domU Xen domU(準仮想化ゲストドメイン)
  • xen-hvm Xenゲスト完全仮想化(HVM)

Puppetツールfacterは内部でvirt-whatを使用して、使用中の仮想化のタイプを判別します。したがって、Puppetを使用している場合は、これがすでにインストールされています。

7
Michael Hampton

Linuxでは、使用するハイパーバイザーのタイプに応じて、仮想化の兆候を探すことができますtell-tale。通常、CPUタイプを/proc/cpuinfoで調べることから始めることができます。一部のハイパーバイザーは、「QEMU仮想CPU」などの CPUタイプを報告します。 VZを実行している場合は、リソースの使用状況を報告する/proc/user_beancountersを見つけることができます。 Xenを使用すると、/proc/xenディレクトリが見つかります。

したがって、ある種の仮想化の下で実行されているかどうかを推測することができます。

6
sybreon

Perlスクリプトを実行できる場合(OSによって異なります)、 imvirt と呼ばれるスクリプトがあり、さまざまなシステム情報に基づいてかなりの数を検出できます(/proc/cpuinfodmidecodeなど)-ubuntuを使用しているように聞こえるので、Jaunty、Karmic、Lucidのパッケージがあります。または、 Sourceforge から入手できます。

3
Andrew

ブルーピルウイルスの亜種を検出するためにウイルス対策会社が検討したことがあります。

基本的に、VMがリアルタイムクロックをCPUカウンターと一致させることは非常に困難です。ドライバーをインストールするためのアクセス権がある場合は、システムを中断せずに監視できるはずです。仮想化されたシステムを使用している場合、VMがハイパーバイザーによってスイッチアウトされると(割り込みビットに基づいて不可能と思われる)、クロックがチャンクでドリフトします。

1
Spence

CPUサイクルを盗む を探します。たとえば、これを一番上に置くことができます。 「VMが上位(スチール時間)に高い%stを表示する場合、これは、他の目的に役立つために、CPUサイクルがVMから奪われていることを意味します。 「」

0
dmourati