A veces cuando se está intentando resolver algún problema de rendimiento y/o sobrecarga, resulta un detalle importante a la hora de analizar el problema, es entender si se trata de un servidor dedicado o de un servidor virtual, a simple vista debería ser fácil saberlo, el dueño debería saber que contrato, sin embargo, muchas veces simplemente contrata el servicio sin saber los detalles o simplemente el proveedor no es claro y vende un Cloud como si fuera un dedicado y de todos modos aunque el cliente este seguro siempre es mejor verificar que trabajar sobre una falsa suposición.
¿Por qué es importante saber si es un dedicado o un servidor virtual?
Básicamente, porque el rendimiento de ambos es diferente, el dedicado siempre será más rápido a igual cantidad de recursos, porque tiene acceso directo y exclusivo al hardware, mientras que si es un servidor virtual todo el hardware es emulado y perdiendo rendimiento, más que nada porque comparte recursos con otros VPS vecinos.
Por eso siempre al analizar rendimiento, siempre se debe tener en cuenta si es un servidor virtual que a igual cantidad de recursos siempre va a ser comparativamente más lento que su equivalente en un dedicado, a igual cantidad de recursos se refiere a igual cantidad de memoria RAM e igual cantidad de núcleos de procesador entre otras cosas.
Un servidor virtual se puede ver afectado el rendimiento seriamente debido al uso de CPU, uso de la red y demanda de lectura/escritura de los VPS vecinos, es habitual que un servidor VPS funcione lento no por la carga de trabajo propia, sino por la de sus vecinos, de hecho muchas veces la carga de CPU y/o carga de disco mostrada en un VPS no es solo la propia, debdo a es posible que sea de un VPS vecino que al compartir hardware e hipervisor puede ser mostrada como propia, situación que no sucede con un dedicado y es algo para tener en cuenta.
Para determinar si un sistema CentOS está corriendo en una máquina virtual en la nube o en un servidor dedicado, se puede utilizar varias herramientas y comandos que ayudarán a identificar el entorno de hardware. Aquí te dejo algunos métodos:
Comando lshw o dmidecode
Estos comandos muestran detalles sobre el hardware del sistema, si el servidor es una máquina virtual, se podría ver referencias a proveedores de virtualización como “VMware”, “Xen” o KVM en la salida de estos comandos.
Ejemplo con dmidecode:
sudo dmidecode -s system-manufacturer
Esto mostrará el fabricante del sistema, s ves nombres como “VMware, Inc.” o “Xen” o KVM, probablemente es una máquina virtual mientras que si muestra un fabricante de hardware es mas probable que se trate de un servidor dedicado físico y no virtual.
Comando virt-what
virt-what es un script que puede ayudar a determinar si el sistema se está ejecutando en un entorno virtualizado, si el comando devuelve una salida, se tratara de una máquina virtual; si no devuelve nada, es probable que se trate de un hardware físico.
Instalación y uso:
sudo yum install virt-what sudo virt-what
Revisar los dispositivos de disco
A menudo, las máquinas virtuales usan controladores de disco que pueden indicar virtualización, para ver los nombres es posible usar los comandos como lsblk o lsscsi para ver los dispositivos de almacenamiento conectados:
lsblk
Discos con nombres como /dev/vda pueden indicar discos virtuales típicos de entornos como KVM/QEMU, mientras que sda o hda puede ser indicio de un servidor físico.
Verificación de interfaces de red
Al igual que con los discos, las interfaces de red pueden dar pistas, nombres como eth0 o enp5s0 o similar son comunes en hardware físico, mientras que nombres como ens32 o virbr0 pueden indicar una interfaz virtual, ejemplo:
ip a
Comprobar si es un SSD o un HDD en un dedicado
En el caso de tratarse de un dedicado, un punto que no está relacionado ha si es un VPS o dedicado, aunque realmente es importante tener en cuenta si se está intentando verificar tipo de hardware por temas de rendimiento, es saber el tipo de disco, si se trata de un SSD o HDD ¿Quién usa HDD hoy día? La respuesta es sencilla: “los servidores económicos”, muchas veces los clientes escogen HDD por capacidad y por precio sin saber las diferencias de rendimiento con respecto al SSD y por eso conviene asegurarse el tipo de hardware.
Lo primero es obtener la ruta de los discos, con alguno de los siguentes comandos es posible conocer los nombres de los dispositivos:
fdisk -l df blkid lsscsi
Una vez conocidio el nombre, supóngase sda, se ejecuta:
cat /sys/block/sda/queue/rotational
Si la salida es 1 entonces es un HDD Si la salida es 0 entonces es un SDD
Conclusión
Cada uno de estos métodos puede proporcionarte pistas sobre si estás trabajando en una máquina virtual en la nube o en un servidor dedicado, sin embargo, para un diagnóstico más preciso, combinar varios de estos métodos suele ser la mejor estrategia cuando se quiere saber de forma rápida, sin embargo, como último recurso siempre es buena idea consultar con el soporte del proveedor aunque la respuesta puede demorar dependiendo del proveedor.
Administrador de Sistemas, Programador, Docente y ahora resulta que también Blogger (peor es ser tictoker). Más de 20 años de experiencia en computación atendiendo nabos y resolviendo problemas, los cuales si no fuera por estos nabos, no habrían ocurrido en primer lugar. Escribo más que nada sobre tecnología y herramientas en general, además de algunos artículos con opiniones tan subjetivas como irrelevantes, así que si no te gustan, mejor madura y superalo.