我有 Linux、AIX、SunOs 和 HP-UX 机器,我想检测机器是否是虚拟机。到目前为止,我发现本文它帮助我在 Linux 上获取了以下信息:
dmesg | grep -i virtual //On Linux Machines
但我还需要命令艾克斯,惠普&太阳光。有什么帮助吗?
答案1
尝试http://people.redhat.com/~rjones/virt-what/。如果我错了请纠正我,但我认为 Red Hat 在他们的 Satellite 中使用它来检测和分组虚拟化系统。
答案2
“虚拟”的定义太宽泛了。如果我们假设对于 AIX,您指的是任何作为 LPAR(或微分区,或 IBM 选择的任何其他术语)的 AIX 映像,那么您可以使用uname -L
,例如,
nonlpar# umame -L
-1 NULL
lparhost# uname -L
5 lparhost
如果您指的是 WPAR,那么您可以使用uname -W
,结果 0 表示您不在 WPAR 中,任何大于 0 的结果都是 WPAR。
如果您的意思是,AIX 实例是否依赖于 VIO 服务器,那么除了查看设备并确定它们是否通过 VIO 服务器呈现之外,没有可靠的机制来了解这一点。
值得记住的是,对于运行 AIX 的 pSeries 硬件来说,如今几乎所有东西都是 LPAR,因此本质上是虚拟的,即使它是唯一使用该硬件的操作系统实例。
答案3
在 HP-UX 中,有不同级别的虚拟化和不同的命令来了解您的系统是否已虚拟化。
Integrity 虚拟机客户机
如果您在 IVM Guest 中执行以下命令,您将获得:
# hpvminfo hpvminfo: Running inside an HPVM guest.
如果在没有“IVM Guest”的情况下执行以下命令,您将获得:
# hpvminfo hpvminfo: Running inside an HPVM host.
或 # hpvminfo sh: hpvminfo:未找到。
HP 虚拟分区
如果在 vpar 中执行以下命令,您将获得:
# hpvminfo hpvminfo: Running inside an HPVM guest. # vparstatus -w The current virtual partition is <VPAR NAME>.
如果在 NO vpar 中执行以下命令,您将获得:
# vparstatus sh: vparstatus: not found.
答案4
对于 x86 虚拟机,只需运行一个调用检测 x86 虚拟机的官方机制。我会提供一些例子,但我什么都想不起来。我使用自己的工具。 托马斯·里斯克imvirt
根据其文档,它很有前景,但我还没有使用过它,也没有看过源代码。
这是否也适用于您的 SunOS 机器取决于它是 x86 Solaris 还是确实SunOS。☺ 检测虚拟机的存在涉及特定于处理器指令集架构的内容,而不是操作系统的内容。因此,“我有 AIX 和 HP/UX 机器。”不如“我有 PowerPC 和 Itanium 机器。”有用。