Durante la vida útil de una instancia de máquina virtual (VM) o de Bare Metal, la máquina anfitrión en la que se ejecuta tu instancia puede experimentar varios eventos de host. Un evento de host puede incluir el mantenimiento normal de la infraestructura de Compute Engine o, en casos excepcionales, un error de host. Puedes configurar la política de mantenimiento del host para elegir cómo responden tus instancias de procesamiento durante un evento de host o después de él.
De forma predeterminada, la mayoría de las instancias están configuradas para la migración en vivo durante los eventos de host. Para todas las series de máquinas, excepto Z3, puedes anular este comportamiento y configurar explícitamente las instancias para que finalicen y, de forma opcional, se reinicien. Las instancias creadas con ciertos tipos de máquinas o configuraciones no admiten la migración en vivo, como las siguientes:
- Instancias H4D
- Instancias Z3 con más de 18,000 GiB de SSD Titanium conectada
- Instancias Z4D y Z4M con más de 42,000 GiB de SSD Titanium conectada
- Instancias que tienen una interfaz de red Cloud RDMA
- Instancias de Bare Metal
- Instancias con GPUs conectadas
Estas instancias finalizan durante los eventos de host. Para obtener más información, consulta Comportamientos de mantenimiento y reinicio.
Tipos de eventos de host
Existen tres tipos de eventos de host, que se describen con más detalle en las siguientes secciones:
Si tu instancia deja de responder, también se puede activar un reinicio o una finalización de la instancia.
Eventos de mantenimiento
Un evento de mantenimiento es cuando Compute Engine debe realizar una actividad de mantenimiento o reparación que requiere que las VMs se muevan fuera del servidor host. Si habilitas la política de mantenimiento del host de migración en vivo para un tipo de instancia compatible, Compute Engine mueve la instancia a un host nuevo y se produce una interrupción mínima en tu aplicación.
Compute Engine también aplica algunas actualizaciones de hipervisor y redes básicas en segundo plano sin interrupciones, ya que retiene la instancia en el mismo host.
El comportamiento de la instancia durante un evento de mantenimiento puede variar según los usuarios de la instancia y el tipo de máquina.
Para las VMs de usuario único, la frecuencia aproximada de los eventos de mantenimiento del host planificados es de cada 4 a 6 semanas. La compatibilidad con la migración en vivo depende de la política de mantenimiento del host para la VM de usuario único.
Puedes encontrar información sobre el comportamiento de mantenimiento de cada tipo de máquina en la página de la familia de máquinas correspondiente, de la siguiente manera:
- Serie C:
- C2 y C2D: Familia de máquinas optimizadas para procesamiento
- C4N: Familia de máquinas optimizadas para redes
- Todas las demás series C: Familia de máquinas de uso general
- Series E, N y T: Familia de máquinas de uso general
- Serie H: Familia de máquinas optimizadas para procesamiento
- Series M y X: Familia de máquinas con optimización de memoria
- Serie Z: Familia de máquinas optimizadas para el almacenamiento
Para las familias de máquinas optimizadas para aceleradores, consulta las siguientes páginas:
- GPUs: Controla eventos de mantenimiento del host de GPU.
- TPUs: Prepárate para los eventos de mantenimiento en la documentación de Cloud TPU.
Mantenimiento de emergencia
Un evento de mantenimiento de emergencia ocurre cuando Compute Engine detecta una falla inminente del host o algún otro problema de hardware que requiere mantenimiento urgente. Para estos eventos, Compute Engine programa el evento de mantenimiento y crea una notificación. Por lo general, los eventos de mantenimiento de emergencia tienen un período de notificación más corto que los eventos de mantenimiento estándar.
Por lo general, un evento de mantenimiento de emergencia proporciona un aviso anticipado de 7 a 14 días. Según la gravedad del problema, el período de notificación puede ser más corto. Revisa la notificación de mantenimiento para obtener información sobre la funcionalidad admitida, como iniciar el mantenimiento en el momento que elijas. Si no se realiza ninguna acción o si no es posible iniciar el mantenimiento de forma manual, Compute Engine lo inicia automáticamente cuando finaliza el período de notificación.
Si hay un evento de mantenimiento planificado pendiente cuando Compute Engine emite una notificación de mantenimiento de emergencia, el evento de mantenimiento de emergencia reemplaza al evento de mantenimiento planificado.
Puedes verificar el motivo del mantenimiento de emergencia en el campo maintenanceReasons de los metadatos de la instancia. Este campo contiene un valor que representa la categoría de falla.
Errores del host
Un error de host (compute.instances.hostError) significa que hubo un problema de hardware
o software en la máquina física o en la infraestructura del centro de datos que aloja
tu instancia de procesamiento que causó la falla. Un error de host que implica una falla total
de hardware o, también, otros problemas de hardware podría evitar la
migración en vivo de la instancia.
Si la instancia está configurada para reiniciarse de manera automática, que es la
configuración predeterminada, Compute Engine reinicia la instancia, por lo general, dentro de los tres minutos posteriores a la
detección del error. Según el problema, el reinicio puede tardar hasta 5.5 minutos.
Después de que una instancia de procesamiento encuentra un error de host o informas que su host está defectuoso, el host de la instancia requiere mantenimiento de emergencia no planificado. De forma predeterminada, Compute Engine proporciona algunas horas de aviso anticipado cuando programa este tipo de mantenimiento.
En ocasiones, una instancia de procesamiento puede dejar de responder antes de que se señale un error de host. Puedes reducir el tiempo que Compute Engine espera para reiniciar o finalizar la instancia si configuras el tiempo de espera de recuperación de errores del host. Para obtener más información, consulta Establece la política para una instancia existente.
Las fallas físicas de hardware y software pueden ocurrir de forma ocasional, pero son casos poco frecuentes. Para proteger tus aplicaciones y servicios de estos eventos del sistema que pueden ser disruptivos, revisa los siguientes recursos:
- Diseña sistemas sólidos
- Patrones de apps escalables y resilientes
- Crea grupos de instancias administrados
Google también ofrece servicios administrados como App Engine y el entorno flexible de App Engine.
Descripción general de la política de mantenimiento del host
La política de mantenimiento del host de una instancia determina su comportamiento durante los siguientes eventos de host:
- Evento de mantenimiento
- Evento de mantenimiento de emergencia
- Evento de error de host o instancia que no responde
Puedes configurar las instancias para que se sigan ejecutando durante el mantenimiento del host, mientras que Compute Engine las migra en vivo a otro host, o puedes optar por detener las instancias.
Puedes cambiar la política de mantenimiento del host de una instancia si configuras los siguientes parámetros:
- Comportamiento de mantenimiento: Indica si la instancia se migra en vivo o se detiene cuando ocurre un evento de mantenimiento.
- Comportamiento de reinicio: Indica si Compute Engine reinicia o finaliza la instancia si esta falla, experimenta un error de host o deja de responder.
- Tiempo de detección de error del host: Es la cantidad máxima de tiempo que Compute Engine espera para reiniciar o finalizar una instancia después de detectar que la instancia no responde.
- Tiempo de recuperación de SSD local: Es la cantidad máxima de tiempo que Compute Engine dedica al estado
REPAIRINGpara recuperar los datos en los discos SSD locales después de detectar un error de host o durante un evento de mantenimiento que requiere la finalización de la instancia. Los datos del SSD local se pierden si transcurre el tiempo especificado sin una recuperación correcta.
Es posible actualizar la política de mantenimiento del host de una instancia en cualquier momento con el objetivo de controlar cómo quieres que se comporten tus instancias.
Comportamientos de mantenimiento y reinicio
Cuando ocurre un evento de host, la instancia de procesamiento puede usar la migración en vivo o finalizarse. Si se finaliza una instancia, puedes optar por reiniciarla tú mismo o hacer que Compute Engine la reinicie automáticamente.
Es posible que las siguientes series de máquinas no admitan la migración en vivo y, en cambio requieran la finalización durante los eventos de host:
- Las instancias basadas en los siguientes tipos de máquinas finalizan y se reinician en el lugar:
- Las instancias de Bare Metal finalizan y se reinician, lo que significa que podrían reiniciarse en un host diferente. Para obtener más detalles, consulta la documentación de "Experiencia de mantenimiento" para la serie de máquinas. Por ejemplo, para los tipos de máquinas de Bare Metal C3, consulta Experiencia de mantenimiento para instancias C3.
- Instancias de Confidential VMs excepto los tipos de máquinas N2D con plataformas de CPU AMD EPYC Milan que ejecutan SEV de AMD.
- Instancias con GPUs
- Instancias con TPUs
Migración en vivo
De forma predeterminada, la mayoría de los tipos de instancias están configurados para la migración en vivo, excepto los tipos de instancias mencionados en la sección anterior.
Durante la migración en vivo, Compute Engine migra automáticamente tu instancia lejos de un evento de mantenimiento de infraestructura, y la instancia permanece en ejecución durante la migración. Es posible que la instancia experimente un período breve de disminución del rendimiento, pero, en general, la mayoría de las instancias no deberían tener un rendimiento notablemente diferente. Esto resulta ideal para las instancias que requieren un tiempo de actividad constante y pueden tolerar un corto período de disminución del rendimiento.
Cuando Compute Engine migra tu instancia, informa un evento del sistema que se publica en la lista de operaciones de zona y en los registros de eventos del sistema. Puedes revisar este evento si visualizas las operaciones de Compute Engine para una zona específica. Los eventos de migración en vivo tienen el siguiente tipo de operación:
compute.instances.migrateOnHostMaintenance
Finalizar y reiniciar
Si no deseas que tu instancia realice una migración en vivo o si tu tipo de instancia
no admite la migración en vivo, puedes permitir
Google Cloud que se detenga la instancia cuando ocurra un evento de host. Con esta configuración, si ocurre un evento de host, Compute Engine envía una señal de apagado suave para cerrar la instancia.
Luego, espera 60 segundos para que la instancia se apague de forma correcta y establece el estado de la instancia en TERMINATED. Si la instancia no se cierra de forma correcta en 60 segundos, se finaliza de forma forzosa.
Esta opción es ideal si tus instancias exigen un rendimiento máximo y constante, y si tu aplicación general está diseñada para controlar fallas o reinicios de instancias.
Cuando Compute Engine detiene una instancia debido a un evento de host, informa un evento del sistema que se publica en la lista de operaciones de zona y en los registros de eventos del sistema. Puedes revisar este evento si visualizas las operaciones de Compute Engine para una zona específica. Los eventos de finalización de instancias tienen el siguiente tipo de operación:
compute.instances.terminateOnHostMaintenance
Reinicio automático
Si tu instancia está configurada para detenerse cuando hay un evento de mantenimiento, o si esta falla debido a un problema subyacente en el hardware, Compute Engine puede reiniciarla de forma automática. La instancia se reinicia en el mismo servidor host o se mueve a otro servidor en la misma zona que no participa en el evento de mantenimiento.
De forma predeterminada, Compute Engine intenta recuperar las instancias con discos SSD locales conectados durante una hora. Si se alcanza el límite de tiempo, Compute Engine intenta reiniciar la instancia en un servidor host diferente en la misma zona. Las instancias Z4D, Z4M, Z3, X4 y H4D tienen diferentes tiempos de espera predeterminados. Estos tipos de instancias se reinician en el mismo servidor host después de la finalización de la instancia.
Para configurar el reinicio automático, establece el campo automaticRestart de la política de mantenimiento del host en true. Este parámetro de configuración no se aplica si la instancia se desconecta debido a una interrupción zonal o mediante una operación manual, como una llamada a sudo shutdown en el SO invitado.
Cuando Compute Engine reinicia tu instancia de forma automática, informa un evento del sistema que se publica en la lista de operaciones de zona. Puedes revisar este evento si visualizas las operaciones de Compute Engine para una zona específica. Los eventos de reinicio automático tienen el siguiente tipo de operación:
compute.instances.automaticRestart
Persistencia en disco después de la finalización de la instancia
Debido a que Persistent Disk y Hyperdisk son almacenamiento conectado a la red, cuando se reinicia la instancia, Compute Engine vuelve a conectar el disco de arranque y cualquier disco secundario a la instancia. Los datos en esos discos se mantienen durante la migración en vivo y los reinicios de la instancia.
Compute Engine conserva los datos en los discos SSD locales después de un evento de host cuando es posible. Sin embargo, Compute Engine no garantiza la persistencia de los datos en las SSD locales.Los discos SSD locales se conservan en los siguientes casos:
- Reinicias el sistema operativo (SO) invitado.
- Configuras la instancia para la migración en vivo y la instancia pasa por un evento de mantenimiento del host.
- Se produce un error de host y Compute Engine vuelve a conectar la instancia a los discos SSD locales dentro del límite de tiempo de espera.
- Eliges conservar los datos de las SSD locales cuando detienes o suspendes la instancia (vista previa).
- Una instancia de procesamiento con discos SSD locales conectados que solo admite la finalización y el reinicio automático pasa por un evento de mantenimiento. La instancia se reinicia en el lugar, lo que conserva los datos de las SSD locales, en lugar de migrar a un host nuevo.
Los discos SSD locales no se conservan en los siguientes casos:
- Cierras el sistema operativo invitado y fuerzas la detención de la instancia.
- Creas una VM Spot o VM interrumpible, y la VM pasa por el proceso de interrupción.
- Configuras la instancia para que se detenga en eventos de mantenimiento de host en lugar de usar la migración en vivo, y la instancia pasa por un evento de mantenimiento de host.
- Configuras un disco SSD local de forma incorrecta y se vuelve inalcanzable.
- Inhabilitas la facturación del proyecto, lo que detendrá la instancia.
- Si
automaticRestartno está configurado en tu instancia. - Se produce un error de host y Compute Engine no puede volver a conectar los discos a la instancia antes de que venza el tiempo de espera. En este caso, la instancia se reinicia sin recuperar los discos SSD locales. Cuando se reinicia la instancia, Compute Engine conecta discos SSD locales en blanco a la instancia reiniciada. Debes formatear y activar estos discos antes de que la instancia pueda usarlos. Los datos de los discos SSD locales originales son irrecuperables.
Google Cloud usa un enfoque de mejor esfuerzo para mantener intactos los datos de las SSD locales. Sin embargo, hay casos en los que los datos no se pueden recuperar, como un tiempo de espera. Para obtener más información sobre cuándo se conservan los discos SSD locales, consulta Persistencia de datos de SSD locales.
Tiempo de espera de recuperación de SSD locales
Cuando una instancia con discos SSD locales conectados ingresa al estado
REPAIRING, Compute Engine intenta recuperar o conservar los datos de las SSD locales.
La instancia y los discos SSD locales no están disponibles durante este tiempo.
Una instancia ingresa al estado REPAIRING e inicia la cuenta regresiva del tiempo de espera de recuperación de SSD locales en los siguientes casos:
- Se produce un error de host.
- Se realiza un mantenimiento programado en una instancia que admite la persistencia de datos de SSD locales después de la finalización, y la instancia está configurada para detenerse en el mantenimiento del host (
onHostMaintenanceestablecido enTERMINATE) y reiniciarse automáticamente (automaticRestartestablecido entrue). Durante el mantenimiento, Compute Engine conserva los datos reiniciando la instancia en el mismo host o migrando la instancia y sus datos de SSD locales a otro host mientras está detenida.
Puedes controlar cuánto tiempo dedica Compute Engine a intentar recuperar o conservar los datos con la configuración localSsdRecoveryTimeout de la política de host.
De forma predeterminada, Compute Engine dedica 1 hora a recuperar los datos, pero los valores válidos para este parámetro de configuración están entre 0 y 168, en incrementos de 1 hora. Los siguientes tipos de máquinas tienen valores predeterminados diferentes:
- Tipos de máquinas de VM Z4D, Z4M y Z3: El valor predeterminado es 6, lo que significa que estas instancias intentan recuperar los datos de las SSD locales durante 6 horas en el estado
REPAIRINGantes de alcanzar el límite de tiempo de espera. - Bare Metal Z4M y Bare Metal Z3: El valor predeterminado es de 168 horas (7 días).
Si estableces el tiempo de espera de recuperación de SSD locales en 0, Compute Engine no intentará recuperar ningún disco SSD local conectado. La instancia se reinicia lo antes posible y los datos de las SSD locales son irrecuperables. Usa esta configuración si reanudar la carga de trabajo es más importante que recuperar los datos de la SSD local.
Si el tiempo de espera de recuperación no está establecido en 0, pero se alcanza el límite de tiempo antes de que se recuperen los datos de las SSD locales, Compute Engine reiniciará la instancia sin el disco SSD local. Compute Engine conecta discos SSD locales en blanco a la instancia reiniciada. Debes formatear y activar estos discos antes de que la instancia pueda usarlos.
Si estableces el tiempo de espera de recuperación de SSD locales en el valor máximo de 168, la instancia permanece en el estado REPAIRING durante un máximo de 7 días mientras Compute Engine intenta recuperar los discos SSD locales.
No se te cobra por la instancia mientras está en el estado REPAIRING,
como se describe en Ciclo de vida de la instancia de VM.
Detén la recuperación de discos SSD locales
Puedes interrumpir el proceso de recuperación de discos SSD locales antes de que Compute Engine alcance el límite de tiempo de espera de recuperación. Para ello, usa el comando gcloud compute instances stop con la marca --discard-local-ssd=True.
Este comando detiene el proceso de recuperación, detiene la instancia de procesamiento y descarta los datos de las SSD locales. Luego, puedes reiniciar la instancia. Consulta Detén una instancia con SSD local para obtener más información.
Para establecer el tiempo de espera de recuperación de SSD locales, consulta Establece la política de mantenimiento del host de la instancia.
Programación del mantenimiento
Google Cloud proporciona funciones que permiten un control más estricto sobre el mantenimiento.
Si usas ciertas familias de máquinas, puedes especificar las preferencias de mantenimiento y recibir notificaciones de los próximos eventos de mantenimiento a través de Cloud Logging, el servidor de metadatos de la instancia, el comando compute instances describe de gcloud CLI o el método instances.describe de REST. Cuando recibes una
notificación,
tienes un período durante el cual puedes iniciar el mantenimiento programado
en el momento que elijas. Si no activas el mantenimiento programado, el evento de mantenimiento se produce al final del período de notificación, que es la hora programada que aparece en la notificación.
Puedes usar estas funciones junto con la política de mantenimiento del host para personalizar un programa de mantenimiento que se adapte a tu carga de trabajo.
¿Qué sigue?
- Obtén más información sobre la migración en vivo.
- Obtén más información sobre la configuración de la política de mantenimiento del host de la instancia.
- Obtén más información sobre cómo recibir avisos de migración en vivo.
- Obtén más información sobre cómo simular el mantenimiento del host.
- Obtén más información sobre cómo controlar los eventos de mantenimiento del host de GPU.
- Obtén más información sobre la migración en vivo de VM de usuario único de forma manual.