Cómo saber si un sistema Linux es físico o virtual

VPS

Las tecnologías de virtualización han hecho que los recursos físicos se aprovechen mucho mejor. Multitud de empresas de hosting o en la nube utilizan la virtualización para obtener prestaciones que serían difíciles de conseguir con sistemas físicos o que resultaría más caro, además de suponer algunas ventajas como la de crear VPS (Virtual Private Server) dentro de un servidor físico para obtener mucho servidores independientes para ofrecer a los clientes sistemas independientes y que actúan con total independencia, pudiendo apagar un sistema sin afectar al resto o administrándolos de forma independiente…

Pues bien, estas tecnologías que nos aportan tantos beneficios han evolucionado bastante como para que sea complicado saber si nos estamos manejando en un sistema físico o un sistema virtual. Evidentemente si lo hemos creado nosotros, es sencillo saberlo… no me refería a eso. Pero cuando accedemos a un sistema de forma remota, sin tener demasiado conocimiento sobre éste, nos resultaría imposible saber si es un sistema virtualizado o realmente es un sistema físico. Por eso en este artículo aprenderemos a cómo saberlo…

Muchos administradores gestionan sistemas de forma remota y esto puede suponer un problema, por eso, si tenemos acceso a sistemas con Linux, podremos saber fácilmente si son virtuales o no usando varios métodos que te explico a continuación:

  • Utilizando la herramienta dmidecode, se trata de una herramienta que hace uso de tablas DMI o SMBIOS que aporta información sobre el fabricante, número de serie, modelo, y otros datos de hardware del sistema. Simplemente debemos ejecutar el comando para obtenerla si tenemos dicha herramienta instalada. Por ejemplo, podemos usar la opción  -t para indicar el tipo de información a obtener (consulta el man). Según lo que obtengamos del comando siguiente podremos saber si es un sistema virtual o físico por el fabircante:

sudo dmidecode -s system-manufacturer

  • También podemos usar lshw para obtener información del hardware y en este caso para saber el tipo de sistema:

sudo lshw -class system

  • También es posible usar los logs del sistema para esta utilidad:

sudo dmesg | grep "Hypervisor detected"

Existen más métodos como la utilidad facter, scripts, virt-what, etc.


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *