SSD Nodes Learn Hosting plans →
Guías Matt ConnorPor Matt Connor

¿Qué es un VPS? Explicación sencilla y clara

Un VPS es un servidor privado creado con máquinas virtuales o contenedores sobre hardware compartido. Conozca qué permite el acceso root y cuáles son sus límites.

¿Qué es un VPS?

Un VPS (servidor privado virtual) es una parte de un equipo físico ubicado en un centro de datos que se alquila como si fuera una máquina completa propia. El software de ese equipo lo divide en varios servidores independientes y usted recibe uno de ellos: su propia cantidad de memoria, su propio espacio en disco, una dirección IP y acceso de administrador para instalar software dentro de los límites del plan. Funciona continuamente y los planes con servicios públicos responden en una dirección de Internet.

Las tres palabras describen el producto. Servidor es un equipo que permanece encendido y responde a solicitudes a través de la red. Virtual significa que lo crea el software. Su servidor es una partición de un equipo físico más grande. Privado significa que esa partición es exclusivamente suya. Sus archivos y programas en ejecución son invisibles para quien alquila la partición contigua.

Si nunca ha tenido acceso root a ningún sistema, esta última parte es la más importante. Un VPS le proporciona acceso de administrador a su entorno de servidor. Lo que ya está configurado y lo que puede cambiar depende de la imagen, la tecnología de virtualización y el plan.

Qué divide el hipervisor y qué comparte

En un VPS basado en una máquina virtual, el programa que realiza la división se llama hipervisor. Se ejecuta en la máquina física, que se denomina host. A cada cliente le asigna un conjunto de hardware simulado: un procesador, un bloque de memoria, un disco y una tarjeta de red. Se instala un sistema operativo en ese hardware simulado y arranca como si fuera propietario de un equipo real. Ese sistema invitado es su VPS. KVM (máquina virtual basada en el kernel), Xen, VMware ESXi y Microsoft Hyper-V realizan esta función. Los VPS basados en contenedores, como OpenVZ, usan en cambio una capa de virtualización en el kernel del sistema operativo del host, sin un kernel invitado independiente.

La memoria y el disco se dividen por espacio. El procesador se divide por tiempo. Esta diferencia explica la mayoría de las sorpresas que aparecen después. La memoria asignada no es automáticamente una reserva de RAM física: KVM admite sobreasignación de memoria y el host puede intercambiar la memoria del sistema invitado. Su disco es un archivo o un volumen lógico en el almacenamiento del host y sigue siendo suyo hasta que lo elimine. Sus núcleos virtuales son colas que acceden a los núcleos físicos del host, y el hipervisor programa qué sistema invitado se ejecuta a continuación.

Un comando identifica la virtualización que puede detectar.

systemd-detect-virt
uname -r

systemd-detect-virt muestra kvm en un VPS KVM. Esto significa que un hipervisor completo ha arrancado un kernel que sólo le pertenece a usted. Muestra lxc o openvz con esas tecnologías de contenedores. En ese caso, su servidor es un área aislada dentro del sistema operativo del propio host y comparte el kernel con otros contenedores del equipo; container-other significa que detectó otro entorno de contenedores. Muestra none cuando no detecta ninguna virtualización. Esta diferencia tiene consecuencias reales, porque un kernel compartido es un kernel que no puede cambiar. En un contenedor con kernel compartido, el host controla la carga de módulos. Por tanto, una función del kernel como el módulo VPN de WireGuard requiere compatibilidad del host. En un contenedor con kernel compartido, uname -r normalmente muestra la versión del kernel del host, pero los tiempos de ejecución de contenedores varían: gVisor ejecuta contenedores sin compartir el kernel del host y su ejemplo oficial muestra 5.15.0-gvisor. En un servidor KVM, el mismo comando muestra un kernel instalado dentro de su propio sistema invitado, y puede actualizarlo o sustituirlo como lo haría en cualquier otra máquina.

¿Qué significa «virtual» en este contexto?

Como el servidor está compuesto por software, para aprovisionarlo no es necesario que alguien instale una máquina física nueva. No se instala hardware físico para usted. El servidor se crea a partir de una imagen de plantilla, por lo que una reconstrucción restaura un Ubuntu limpio, pero también elimina el contenido existente del disco. La mayoría de los paneles de los proveedores también permiten crear una instantánea del disco antes de intentar algo arriesgado, cambiar el tamaño del plan con un reinicio y trasladar la máquina virtual a otro hardware cuando sea necesario realizar tareas de mantenimiento en el host subyacente.

El precio se explica por el mismo motivo: muchos clientes pagan al mismo tiempo por una sola máquina física. Por eso un VPS tiene el precio que tiene en comparación con alquilar un servidor completo.

El coste está directamente relacionado con la ventaja. El hardware subyacente se comparte, por lo que un vecino con mucha carga también puede afectarle. La sección siguiente, sobre los límites, incluye el comando que permite medirlo.

¿Qué significa «privado» en este contexto?

Privado significa aislamiento, y conviene concretar hasta qué punto. Tiene su propio sistema de archivos raíz, sus propias cuentas de usuario y su propia lista de procesos. Un VPS basado en una máquina virtual también tiene su propio kernel, mientras que un contenedor OpenVZ comparte el kernel del host. Otro cliente del mismo host no puede enumerar sus procesos ni leer sus archivos, porque su guest no tiene acceso a su memoria ni a su disco virtual. Las máquinas virtuales ejecutan sistemas operativos independientes, mientras que los contenedores que comparten el kernel aíslan a sus usuarios y programas dentro de un mismo sistema operativo. Sin embargo, la privacidad termina en el propio host: quien administra el hipervisor puede leer la memoria de su guest cuando quiera. Para cerrar ese último acceso se necesita el hardware de memoria cifrada descrito en computación confidencial en un VPS.

El hosting compartido funciona de otra forma. Tiene un directorio en una máquina que sirve cientos de sitios web de otros clientes, un panel de control y el software que el proveedor haya decidido instalar. Allí no existe apt install, porque instalar un paquete modifica toda la máquina y usted no puede modificarla. El hosting compartido frente a un VPS analiza esta diferencia en detalle. En una frase: el hosting compartido le alquila una cuenta y un VPS le alquila un ordenador.

Una ficha técnica de un VPS, línea por línea

Cada VPS se ofrece como una lista breve de cifras. A continuación se muestra un plan de gama media a modo de ejemplo. Estas cifras son ilustrativas; no constituyen una oferta ni un estudio de mercado fechado.

GráficoAn illustrative mid-range VPS plan
Los datos de este gráfico
[
  {
    "plan": "Example mid-range VPS",
    "vcpu_cores": 4,
    "ram_gb": 16,
    "nvme_gb": 160,
    "bandwidth_tb": 8,
    "ipv4_addresses": 1
  }
]

Esa línea contiene toda la información del producto. Léala de izquierda a derecha.

4 vCPU. Una vCPU (unidad central de procesamiento virtual) es un procesador virtual que el hipervisor planifica sobre los procesadores del host. Salvo que el plan indique que son dedicadas, representan una parte de esos hilos y no una reserva. Dentro del servidor, nproc normalmente muestra 4. Cuenta los procesadores disponibles para el proceso actual; la afinidad de CPU y las cuotas de CPU de cgroup compatibles pueden reducir ese valor, mientras que OMP_NUM_THREADS y OMP_THREAD_LIMIT establecen sus valores mínimo y máximo devueltos, respectivamente, y nproc --all cuenta todos los procesadores instalados. lscpu muestra un nombre de modelo que puede corresponder a la CPU real del host o a un modelo QEMU genérico, según la configuración del host.

16 GB de RAM. El plan especifica una asignación o un límite de memoria, pero eso por sí solo no garantiza que haya RAM física reservada en el host. free -h informa de la memoria utilizable en unidades binarias y excluye el kernel y las regiones de memoria reservadas. Por tanto, compare las unidades GB o GiB del proveedor antes de valorar la diferencia. La memoria adicional por encima de la asignación depende del plan y de la configuración de virtualización.

160 GB de NVMe. NVMe (non-volatile memory express) describe cómo se conecta la unidad dentro del host y es mucho más rápido que las unidades SSD SATA de los planes antiguos. Su parte aparece como un disco virtual, normalmente /dev/vda en KVM. df -h / informa del sistema de archivos raíz en unidades binarias, por lo que el tamaño mostrado difiere del de un disco anunciado en GB decimales. También excluye el espacio utilizado por otras particiones y por los metadatos del sistema de archivos. El espacio disponible es aún menor porque ext4 reserva de forma predeterminada el 5 por ciento del sistema de archivos para root. Qué significa realmente el SSD de un VPS con SSD y cómo verificar el disco que le vendieron explican estos puntos con más detalle.

8 TB de transferencia. Es la cantidad de datos transferidos al mes, normalmente sólo en sentido saliente. Es un volumen, y la velocidad del puerto es una cifra independiente especificada por el plan. Si supera el límite, el proveedor puede cobrarle un importe adicional o limitar la velocidad. Lea esa condición antes de alojar vídeo. sudo apt install vnstat le proporciona su propio contador mediante vnstat -m, desde el día en que lo instala.

1 dirección IPv4. La dirección es suya mientras alquile el servidor. Puede asociar un dominio a ella y aceptar tráfico en los puertos permitidos por su firewall y por la política de red del proveedor. La configuración de DNS inverso también depende del proveedor. Algunos planes muy baratos colocan a muchos clientes detrás de una dirección compartida. Esto se denomina NAT VPS. En ese caso, ip -4 addr show informa de una dirección privada como 10.0.0.5 y los puertos entrantes están limitados.

Cuatro comandos confirman lo que ha recibido.

nproc
free -h
df -h /
ip -4 addr show

Si alguno de esos datos no coincide con la ficha técnica por una diferencia superior al redondeo descrito anteriormente, conviene abrir un ticket de soporte antes de instalar nada en la máquina.

Qué significa el acceso root en la práctica

Root es la cuenta de administración de Linux y su ID de usuario es 0. Ejecute id -u y verá 0 cuando sea root. Root puede instalar paquetes para todo el sistema, abrir puertos inferiores a 1024 (de forma predeterminada, el kernel los reserva para root o para procesos con CAP_NET_BIND_SERVICE, por lo que un proceso que no sea root pero tenga esa capacidad puede asociarse al puerto 80 sin reducir net.ipv4.ip_unprivileged_port_start), leer y editar archivos del sistema y destruir el sistema con un comando ejecutado sin cuidado; la carga de módulos y el reemplazo del kernel requieren controlar el kernel, algo que los contenedores con kernel compartido no proporcionan. Nadie deshace esas acciones por usted.

La diferencia práctica es breve. En un alojamiento compartido, abre un ticket de soporte para solicitar un programa. En un VPS, escribe esto.

sudo apt update
sudo apt install -y nginx
systemctl status nginx

En una imagen de Ubuntu que usa systemd, systemctl status nginx debería mostrar active (running) después de la instalación, y la dirección IP del servidor en un navegador debería mostrar la página predeterminada de nginx si el puerto 80 es accesible. Si el estado muestra failed, ejecute journalctl -u nginx -n 50 y lea las últimas líneas, porque el servicio registra por qué rechazó el arranque. Las causas habituales son un error tipográfico en un archivo de configuración o que otro programa ya esté escuchando en el puerto 80.

Root también es todo su límite de seguridad, y el acceso llega mediante el método de inicio de sesión configurado para el servidor, como una clave SSH o una contraseña. La primera sesión en un servidor nuevo no es el momento de instalar aplicaciones. Cree un usuario normal, cambie el inicio de sesión a una clave SSH y coloque un firewall delante de los puertos. Los primeros diez minutos en un VPS nuevo es esa lista de comprobación en orden, Conceptos básicos de las claves SSH explica el inicio de sesión, Conceptos básicos del firewall ufw explica los puertos y Usuarios con privilegios mínimos explica con qué usuario deberían ejecutarse después los servicios. Supervise los registros del servicio SSH con journalctl -u ssh -f para detectar intentos de inicio de sesión.

¿Cuáles son los límites de un VPS?

El procesador es compartido y puede medir ese uso compartido. El tiempo de steal es el porcentaje de tiempo durante el que su CPU virtual estaba lista para ejecutarse, pero no recibió tiempo de CPU porque el hipervisor asignó el núcleo físico a otro guest.

vmstat 1 5

La columna st muestra el tiempo de steal. En hosts compartidos pueden producirse picos breves de steal. Una cifra estable de dos dígitos mientras sus propios procesos están inactivos suele indicar que el host está sobredimensionado, y ningún ajuste dentro de su servidor lo solucionará, porque la espera se produce fuera de su servidor. Hostinger distingue entre el steal de CPU y su sistema de créditos de CPU; su política de créditos de CPU restaura la capacidad completa cuando disminuye el uso y los créditos se recuperan hasta el umbral de recuperación. Consulte la política de CPU de su plan antes de culpar a los vecinos. Medir correctamente el rendimiento de un VPS muestra cómo demostrarlo antes de plantearlo al proveedor. KVM y Xen notifican el steal en los guests. En los contenedores, el valor notificado depende de cómo se expongan las estadísticas de CPU y no es una medida fiable de la limitación de CPU del contenedor.

La memoria es fija y el límite es abrupto. Cuando se agota la memoria y la recuperación no puede liberar suficiente, el killer OOM (out of memory) del kernel elige un proceso y lo termina con SIGKILL.

sudo dmesg -T | grep -i "out of memory"

Una línea explica una interrupción que, de otro modo, parece un misterio:

Out of memory: Killed process 2412 (mysqld) total-vm:2183104kB, anon-rss:1897224kB, file-rss:0kB

El registro de la propia aplicación normalmente no dice nada, porque SIGKILL no da al proceso ninguna oportunidad de escribir información. Busque el motivo en el registro del kernel; el acceso de un contenedor a ese registro depende de la configuración del host. Compruebe si hay swap configurada antes de añadir un archivo de swap y revise las reglas del host cuando use un VPS con contenedores.

El disco es rápido y está compartido. El almacenamiento NVMe del host es rápido, pero su parte compite con la de todos los demás guests por las operaciones de entrada y salida. Una prueba de rendimiento realizada en una hora de poca actividad no garantiza el mismo resultado en esa máquina durante el pico de carga.

No puede acceder al hardware. No puede conectar dispositivos. No puede usar un dispositivo USB, una tarjeta de captura ni una tarjeta gráfica, salvo que el plan la asigne mediante passthrough de forma explícita. Eso corresponde a un producto distinto: un VPS con GPU.

Sólo hay una instancia. Un VPS es una sola máquina. Un fallo del host puede dejar su servidor fuera de servicio; que el proveedor lo migre o lo reinicie en otro lugar depende del servicio, y el failover de la aplicación todavía debe configurarse. Las copias de seguridad son responsabilidad suya, por lo que las copias de seguridad de un VPS con restic debe formar parte de la lista de configuración. Una instantánea del proveedor resulta práctica, pero su protección depende de dónde se almacene y de cómo se conserve; mantenga también una copia de seguridad independiente.

El soporte termina en el hipervisor. En un plan no gestionado, el proveedor mantiene en buen estado el hardware, la red y la capa de virtualización. Todo lo que está por encima del sistema operativo es responsabilidad suya, incluidas las actualizaciones de seguridad. Hosting gestionado y no gestionado explica esa diferencia, y actualizaciones desatendidas en Ubuntu es lo mínimo útil que debe activar.

Cómo se compara un VPS con los conceptos con los que suele confundirse

Una máquina virtual es un invitado con hardware virtual y su propio kernel del sistema operativo. Un VPS es un producto de servidor alquilado que se implementa como máquina virtual o como contenedor, normalmente con una dirección pública y una red ya conectada. Una VPC (nube privada virtual) es una red privada dentro de una nube más grande, y los servidores se encuentran dentro de ella. Por tanto, responde a una pregunta completamente distinta. VPS frente a VM y VPC diferencia correctamente los tres términos.

Un servidor dedicado es toda la máquina física reservada para usted, sin invitados de otros clientes que compartan sus recursos. Puede instalar un hipervisor por su cuenta. Es una opción cuando el steal time o la contención del disco son realmente el principal cuello de botella. VPS frente a un servidor dedicado enumera los criterios de decisión.

Una VPN (red privada virtual) comparte dos letras con VPS y nada más. Una VPN es un túnel cifrado entre máquinas. Un VPS es una máquina, y uno de sus usos habituales es ejecutar su propia VPN. Ahí empieza la confusión. VPS frente a VPN aclara la diferencia entre ambos términos.

El hardware propio, o un hipervisor como Proxmox instalado en una máquina doméstica, le proporciona control del hardware y una conexión residencial que muchos servicios tratan con desconfianza. También le proporciona el propio host. Por eso, un invitado puede ejecutar su propio hipervisor después de habilitar la virtualización anidada en Proxmox, siempre que el VPS alquilado también la admita explícitamente. Proxmox frente a un VPS compara la capacidad, el ruido y la disponibilidad con una cuota mensual.

¿Qué ejecuta la gente en un VPS?

La respuesta honesta es: software compatible con el sistema operativo, la arquitectura, los recursos y las reglas del proveedor del VPS. Las opciones habituales son un sitio web con su base de datos, una VPN privada, un servidor de juegos, un monitor de estado, un servidor de correo, una biblioteca multimedia o un agente de programación que sigue trabajando mientras el portátil está cerrado. El correo requiere comprobar primero la política del proveedor: por ejemplo, DigitalOcean bloquea de forma predeterminada los puertos SMTP 25, 465 y 587 en los Droplets. Los servicios de red escuchan en puertos, así que qué es un puerto en Linux es el siguiente concepto que conviene aprender, y qué se puede hacer con un VPS contiene una lista más completa con el coste de recursos de cada opción.

FAQ

¿Un VPS es lo mismo que una máquina virtual?

Un VPS es un servidor que una empresa le alquila, con un sistema operativo, normalmente una dirección IP pública y un precio asociado. Puede ser una máquina virtual con su propio kernel o un contenedor, como un VPS OpenVZ, que comparte el kernel del host. Los términos abarcan conceptos distintos: «máquina virtual» describe cualquier sistema invitado que se ejecuta en un hipervisor, incluso uno en su propio portátil, mientras que «VPS» describe el producto que se contrata. Una VPC es algo diferente: una red privada dentro de un proveedor cloud, no un servidor.

¿Necesito saber Linux para usar un VPS?

Necesita unos conocimientos básicos, y puede aprender el resto sobre la marcha. El conjunto inicial incluye conectarse con ssh, desplazarse por el sistema con cd y ls, editar un archivo con nano, instalar software con apt y leer registros con journalctl. Un VPS no gestionado presupone que usted se ocupará de las actualizaciones y del firewall. Si esto supera lo que desea administrar, compare el precio y las responsabilidades de un plan gestionado o de un panel de control.

¿Por qué mi VPS muestra menos RAM de la indicada en el plan?

Linux informa de la memoria utilizable, mientras que el plan anuncia la memoria asignada. La imagen del kernel y varias regiones de memoria reservadas se descuentan antes de calcular el total de free -h. Además, sus unidades binarias difieren de los GB decimales, así que compruebe qué unidades usa el proveedor. Compare la asignación, las unidades y la memoria reservada antes de valorar la diferencia. Una falta de memoria sin explicación justifica abrir un ticket de soporte.

¿Qué es el tiempo de espera por apropiación y debería preocuparme?

El tiempo de espera por apropiación es el porcentaje de tiempo durante el que la CPU virtual estaba preparada para ejecutarse, pero tuvo que esperar porque el hipervisor asignó el núcleo físico a otro sistema invitado. La columna st de vmstat 1 lo muestra. En hardware compartido pueden producirse picos breves de este tiempo. Una cifra sostenida de dos dígitos mientras su propia carga es baja suele indicar que el host físico está sobreasignado. La solución es usar otro host u otro plan, porque nada dentro de su servidor controla el planificador del host. Los límites de uso de CPU también reducen el rendimiento. La recuperación sigue la política del proveedor, incluida la reconstrucción de créditos de CPU cuando sea necesario.

¿Puedo ejecutar más de un servicio en un solo VPS?

Sí. Ese es el objetivo de tener root: la máquina es de propósito general y los servicios pueden coexistir mientras quepan en la memoria y cada uno escuche en su propio puerto. La memoria suele ser el primer límite que encontrará, y la velocidad del disco, el segundo. El correo es la excepción problemática, porque la entrega depende de la reputación de su dirección IP y de la política SMTP del proveedor, además del propio servidor de correo.

¿Te resultó útil este artículo?