仅适用于区域:

仅适用于区域:

我有一组机器,想知道如何确定某台机器是否已虚拟化。有什么命令吗?

答案1

如果 Solaris 在容器/区域/品牌区域中运行,则命令“uname -v”将显示“Generic_Virtual”

答案2

它可能取决于所使用的虚拟化,但如果您使用“Oracle VM for SPARC”(以前称为 LDOM),则“virtinfo”工具(在核心 SUNcsu 包中)可提供您所需的信息。

例如:

user@server1> virtinfo
Domain role: LDoms control I/O service root

user@server2> virtinfo
Domain role: LDoms guest

user@zone > virtinfo

virtinfo只能从全局区域运行

user@M4000 > virtinfo
Virtual machines are not supported

user@x3650 > virtinfo
command not found

请注意,此命令的接口稳定性被归类为“未提交”,并且可能会在下一个次要版本中发生修改。

答案3

仅适用于区域:

堆顶

[ "`/usr/bin/zonename`" = 'global' ] && echo "im global"

在区域中

[ ! "`/usr/bin/zonename`" = 'global' ] && echo "im in a zone"

更通用

如果您想要功能更齐全的东西,像这样(请帮助编辑/反馈/评论其他虚拟机管理程序;是的,目前有很多边缘情况)....

/usr/sbin/prtconf -dv | /usr/bin/egrep -i '(vmw|qemu|xen|hyper-v|openvz|virtualbox|oracle vm|parallels|virtuoso)' >/dev/null

信用:http://compgroups.net/comp.unix.solaris/how-to-detect-if-solaris-is-running-as-a-gu/281238

答案4

Solaris 是否有类似 lspci 或 /proc/cpuinfo 的东西?

以下是其他工具如何解决检测的一些示例:

http://github.com/reductivelabs/facter/blob/master/lib/facter/util/virtual.rb

http://imvirt.svn.sourceforge.net/viewvc/imvirt/trunk/perl/lib/ImVirt/VMD/

相关内容