X-Git-Url: http://git.annexia.org/?p=virt-what.git;a=blobdiff_plain;f=virt-what.pod;h=2bce5c8114fa176bf2e953b19b49e7c596e38a4e;hp=2e4a8b325b501bc4c9dc1318bc45d930989d766e;hb=b64df398779db07d008781c96685878795bcfd67;hpb=36529e78a60a1c4097e7fe8fa4f3971f8581d864 diff --git a/virt-what.pod b/virt-what.pod index 2e4a8b3..2bce5c8 100644 --- a/virt-what.pod +++ b/virt-what.pod @@ -25,20 +25,72 @@ don't know about or cannot detect. =over 4 +=item B + +=item B + +This is a cloud computing service based on Alibaba Cloud. + +Status: contributed by Weisson. + +=item B + +Amazon Web Services. + +Note that virt-what will print this fact for baremetal AWS instances, +which you might not consider to be true virtualization. In this case +other facts (eg. C or C) would I be present. + +Status: contributed by Qi Guo, Vitaly Kuznetsov, confirmed by RWMJ. + +=item B + +This is a bhyve (FreeBSD hypervisor) guest. + +Status: contributed by Leonardo Brondani Schenkel. + +=item B + +This is a Docker container. + +Status: confirmed by Charles Nguyen + +=item B + +This is running on Google Cloud Platform / Google Compute Engine. + +Status: not confirmed + =item B -This is Hyper-V. +This is Microsoft Hyper-V hypervisor. + +Status: confirmed by RWMJ + +=item B + +This is an IBM POWER KVM guest. + +Status: contributed by Adrian Likins. + +=item B -Status: from MSDN description, not tested. +=item B + +This is an IBM POWER LPAR (hardware partition) in either shared +or dedicated mode. + +Status: contributed by Adrian Likins. =item B -This is an IBM SystemZ (or other S/390) mainframe. Additional -facts listed below may also be printed. +This is an IBM SystemZ (or other S/390) hardware partitioning system. +Additional facts listed below may also be printed. =item B -This is Linux running directly on a IBM SystemZ mainframe. +This is Linux running directly on a IBM SystemZ hardware partitioning +system. This is expected to be a highly unusual configuration - if you see this result you should treat it with suspicion. @@ -47,25 +99,101 @@ Status: not confirmed =item B -This is Linux running directly on an LPAR on an IBM SystemZ mainframe. +This is Linux running directly on an LPAR on an IBM SystemZ +hardware partitioning system. -Status: not confirmed +Status: confirmed by Thomas Huth =item B -This is a z/VM guest running in an LPAR on an IBM SystemZ mainframe. +This is a z/VM guest running in an LPAR on an IBM SystemZ +hardware partitioning system. Status: confirmed by RWMJ using a Fedora guest running in z/VM +=item B + +This is a KVM guest running on an IBM System Z hardware system. + +Status: contributed by Thomas Huth + +=item B + +The guest appears to be running on an Linux SPARC system with +Oracle VM Server for SPARC (Logical Domains) support. + +Status: contributed by Darren Kenny + +=item B + +The is the Oracle VM Server for SPARC (Logical Domains) control domain. + +Status: contributed by Darren Kenny + +=item B + +The is the Oracle VM Server for SPARC (Logical Domains) guest domain. + +Status: contributed by Darren Kenny + +=item B + +The is the Oracle VM Server for SPARC (Logical Domains) I/O domain. + +Status: contributed by Darren Kenny + +=item B + +The is the Oracle VM Server for SPARC (Logical Domains) Root domain. + +Status: contributed by Darren Kenny + =item B +This is printed for backwards compatibility with older virt-what which +could not distinguish between a Linux VServer container guest and +host. + +=item B + This process is running in a Linux VServer container. Status: contributed by Barış Metin +=item B + +This process is running as the Linux VServer host (VxID 0). + +Status: contributed by Barış Metin and Elan Ruusamäe + +=item B + +This process is running in a Linux LXC container. + +Status: contributed by Marc Fournier + =item B -This is KVM. +This guest is running on the KVM hypervisor using hardware +acceleration. + +Note that if the hypervisor is using software acceleration +you should I see this, but should see the C fact +instead. + +Status: confirmed by RWMJ. + +=item B + +This guest is running on the KVM hypervisor using hardware +acceleration, and the userspace component of the hypervisor +is lkvm (a.k.a kvmtool). + +Status: contributed by Andrew Jones + +=item B + +The guest is running inside Nutanix Acropolis Hypervisor (AHV). Status: confirmed by RWMJ. @@ -76,30 +204,73 @@ container. Status: contributed by Evgeniy Sokolov +=item B + +The guest is running on an oVirt node. +(See also C below). + +Status: contributed by RWMJ, not confirmed + +=item B + +The guest is running inside Parallels Virtual Platform +(Parallels Desktop, Parallels Server). + +Status: contributed by Justin Clift + +=item B + +This is a Podman container. + +Status: contributed by Jordan Webb + =item B The guest is running inside IBM PowerVM Lx86 Linux/x86 emulator. -Status: data supplied by Jeffrey Scheel, not confirmed +Status: data originally supplied by Jeffrey Scheel, confirmed by +Yufang Zhang and RWMJ =item B -This is QEMU using software emulation. +This is QEMU hypervisor using software emulation. Note that for KVM (hardware accelerated) guests you should I see this. Status: confirmed by RWMJ. +=item B + +The guest is running on a Red Hat Enterprise Virtualization (RHEV) node. + +Status: confirmed by RWMJ + +=item B + +The guest is running on the Red Hat hypervisor. + +Status: confirmed by RWMJ + =item B This is a User-Mode Linux (UML) guest. Status: contributed by Laurent Léonard +=item B + +Some sort of virtualization appears to be present, but we are not sure +what it is. In some very rare corner cases where we know that +virtualization is hard to detect, we will try a timing attack to see +if certain machine instructions are running much more slowly than they +should be, which would indicate virtualization. In this case, the +generic fact C is printed. + =item B -This is Hitachi Virtualization Manager (HVM) Virtage logical partitioning. +This is Hitachi Virtualization Manager (HVM) Virtage +hardware partitioning system. Status: data supplied by Bhavna Sarathy, not confirmed @@ -115,15 +286,21 @@ The guest appears to be running on Microsoft VirtualPC. Status: not confirmed +=item B + +This is a vmm (OpenBSD hypervisor) guest. + +Status: contributed by Jasper Lievisse Adriaanse. + =item B -The guest appears to be running on VMware. +The guest appears to be running on VMware hypervisor. Status: confirmed by RWMJ =item B -The guest appears to be running on Xen. +The guest appears to be running on Xen hypervisor. Status: confirmed by RWMJ @@ -147,6 +324,40 @@ Status: confirmed by RWMJ =back +=head1 EXIT STATUS + +Programs that use or wrap C should check that the exit +status is 0 before they attempt to parse the output of the command. + +A non-zero exit status indicates some error, for example, an +unrecognized command line argument. If the exit status is non-zero +then the output "facts" (if any were printed) cannot be guaranteed and +should be ignored. + +The exit status does I have anything to do with whether the +program is running on baremetal or under virtualization, nor with +whether C managed detection "correctly" (which is basically +unknowable given the large variety of virtualization systems out there +and that some systems deliberately emulate others). + +=head1 RUNNING VIRT-WHAT FROM OTHER PROGRAMS + +C is designed so that you can easily run it from +other programs or wrap it up in a library. + +Your program should check the exit status (see the section above). + +Some programming languages (notably Python: issue 1652) erroneously +mask the C signal and do not restore it when executing +subprocesses. C is a shell script and some shell commands +do not work correctly when you do this. You may see warnings from +C similar to this: + + echo: write error: Broken pipe + +The solution is to set the C signal handler back to C +before running C. + =head1 IMPORTANT NOTE Most of the time, using this program is the I thing to do. @@ -169,6 +380,13 @@ tool. You might include this information in status and monitoring programs. +=item System tuning (sometimes) + +You might use this program to tune an operating system so it runs +better as a virtual machine of a particular hypervisor. However if +installing paravirtualized drivers, it's better to check for the +specific features your drivers need (eg. for the presence of PCI devices). + =back =head1 SEE ALSO @@ -187,7 +405,7 @@ Richard W.M. Jones =head1 COPYRIGHT -(C) Copyright 2008-2011 Red Hat Inc., +(C) Copyright 2008-2015 Red Hat Inc., L This program is free software; you can redistribute it and/or modify