web-dev-qa-db-ja.com

専用を借りるが、VPSを取得する。検出する方法は?

専用サーバーをレンタルする場合、真の専用ハードウェアボックスではなく、VPSやその他の仮想マシンのバリアントを取得していないことをどのように確認できますか?

そのようなケースを検出するために(Linuxボックスであると仮定して)どのチェックを実行できますか?

13
mr-euro

まず、物理マシンはVPSよりも多くのメモリを搭載する傾向があります。質問512MB以下。次に、VPSを見つけるためにいくつかのことを確認できます。一般に、仮想マシンには驚くほど基本的な外観のハードウェアが含まれています。 Like KVMには「CirrusLogicGd5446」グラフィックカードがあります。VMWareにはRTL8129ネットワークカードがあります。これは、ほとんどのOSインストールメディアに仮想デバイス用のドライバがあるためです。

facter (Puppetの一部) virtual.rb スクリプトには、実行しているマシンのタイプを見つけるための便利なテクニックがいくつかあります。

OpenVZ

/proc/vz/veinfoを探します

Xen

/proc/sys/xen/sys/bus/xen、または/proc/xenのいずれかを探します

vserver

s_context/proc/self/statusまたはVxIDを探します

VMWareまたはParallels

  • lspciを実行し、VMWareVGAアダプターを探します
  • dmidecodeを実行し、VMWareまたはParallelsの言及を探します

KVM

Lspciを実行し、RAM memory: Qumranet, Inc. Virtio memory balloonを探します

23
David Pashley

実際にマトリックスにいるのか、実際にコンピューターシミュレーションになっているのかを検出する方法がないのと同じように、VMにいることを100%信頼できる方法で検出することはできません。

ただし、プロバイダーがばかである場合は、次の便利なリストからVM)にいることがわかります。

  • Xen:/proc/sys/xen存在する
  • OpenVZ/Virtuozzo:/proc/vz存在する
  • VMWare:lspciの出力でVMWareビデオカードを探します
  • Linux VServer:/proc/self/status 持っています s_contextまたはVxIDフィールド
  • Solarisゾーン:/sbin/zonename存在する

プロバイダーが環境を制御し、これらを表示しないようにシステムを変更できるため、これらは100%信頼できるわけではありません。ただし、専用サーバーを販売してVM)を提供するほど安価な人は、おそらくこれを実現できるほど賢くはありません。

23
womble

マシンのMACアドレスを確認してください。 VM固有のOUI はありますか?

3
Gerald Combs

より実践的なアプローチを取りたい場合は、 elsewhere からこの回答を試すことができます。残念ながら、「ゲスト」システムには機能的なコンパイラが必要です。

0
Avery Payne