在租用专用服务器时,如何才能确定他/她没有获得VPS或其他虚拟机的变体而不是真正的专用硬件盒?
可以运行哪些检查(假设它是一个Linux机器)来检测这种情况?
首先,物理机器往往比VPS有更多的内存。 问题512MB或更less。 其次,你可以检查几个东西来find一个VPS。 通常你会发现虚拟机具有令人惊讶的基本外观硬件。 像KVM有一个“Cirrus逻辑GD 5446”的显卡。 VMWare曾经有一个RTL8129网卡,因此大部分的操作系统安装介质都有虚拟设备的驱动程序。
(傀儡的一部分) virtual.rb脚本有几个有用的技术来找出你正在运行什么types的机器。
寻找/proc/vz/veinfo
查找/proc/sys/xen , /sys/bus/xen或/proc/xen
在/proc/self/status查找s_context或VxID
lspci并查找VMWare VGA适配器 dmidecode并查找提及的VMWare或Parallels 运行lspci并查找RAM memory: Qumranet, Inc. Virtio memory balloon
没有100%可靠的方法来检测你是否在虚拟机中,就像没有办法检测你是否真的在Matrix中,或者如果你实际上是一个计算机模拟。
但是,如果提供者是个白痴,那么可以从以下便利列表中知道您是在一个虚拟机中:
/proc/sys/xen存在 /proc/vz存在 lspci的输出中查找VMWarevideo卡 /proc/self/status有一个s_context或VxID字段 /sbin/zonename存在 这些不是100%可靠的,因为提供者控制环境并且可以修改系统以不显示这些。 然而,任何人谁是廉价的足以卖给你一个专用的服务器,并给你一个虚拟机可能不够聪明,能够把这个closures。
看看你的机器的MAC地址。 你看到任何特定于VM的OUI吗?
如果你想采取更实际的做法,你可以从别处尝试这个答案。 不幸的是,它确实需要在“客人”系统上的function编译器。
尝试并设置一个VM环境。 如果它在虚拟机内部,它将会失败。