Saltar al contenido principal

Cómo eliminar una imagen de SO

Cuándo usarlo​

Cuando una imagen de SO ya no es necesaria y sus copias deben eliminarse de todos los pools del clúster. La operación es irreversible y requiere una confirmación explícita: la imagen solo puede restaurarse importándola de nuevo desde la fuente de la biblioteca.

La eliminación consta de dos pasos: una comprobación de dependencias de solo lectura y, a continuación, la eliminación propiamente dicha. El primer paso es seguro y puede repetirse tantas veces como sea necesario: no cambia nada en los nodos ni en el catálogo.

Este procedimiento no se aplica si solo necesita restringir una imagen para un VDC: la eliminación borra la imagen completa de todos los pools del clúster. Tampoco se aplica para retirar una versión: las versiones de una imagen no pueden direccionarse como objetos independientes del catálogo; la imagen se elimina mediante su identificador.

Requisitos previos​

  • El privilegio View Image Dependencies con ámbito en el VDC de destino para comprobar las dependencias;
  • El privilegio Remove OS Image con ámbito en el VDC de destino para la eliminación propiamente dicha; se trata de un derecho independiente, y la pertenencia a concesiones de visibilidad no lo otorga;
  • La pertenencia de la imagen: un administrador de VDC solo puede eliminar imágenes que pertenecen a su VDC. No puede eliminar una imagen compartida del clúster ni una imagen que simplemente se ha hecho visible para su VDC; esa eliminación la realiza el rol Cluster master;
  • Los nodos del clúster son accesibles: un nodo no disponible no puede eliminar su copia, y la eliminación tendrá un resultado parcial;
  • Versión de vStack Center: 4.0.0.

Pasos​

En la interfaz web, la eliminación se inicia en la sección «Image library», pestaña «Images»: «Delete image» en el panel de la imagen o «Delete» en el menú de la fila y, a continuación, «Delete» en el cuadro de diálogo «Delete image?»; esta es la confirmación explícita de la irreversibilidad. La interfaz no ejecuta una comprobación previa por separado. Si la imagen tiene dependencias, el cuadro de diálogo «The image cannot be deleted» enumera «Virtual machines from this image», «Clones on nodes» y el número de nodos omitidos. Un resultado parcial abre «The image has been removed partially» con los grupos «Removed from», «Failed on» y «Skipped», y un botón «Retry». Un administrador de VDC no puede eliminar una imagen compartida del clúster ni la imagen de otro VDC: el botón aparece inactivo con la indicación «The image belongs to another virtual data center».

Los pasos siguientes indican el orden de las operaciones a través de la API del clúster; las estructuras de solicitud y los detalles completos de las respuestas se encuentran en la referencia de la API.

  1. Obtenga el mapa de dependencias de la imagen. La comprobación consulta todos los nodos en línea y busca simultáneamente las máquinas que hacen referencia a la imagen. El resultado llega cuando finaliza la consulta.

  2. Lea el mapa y compruebe cuatro cosas.

    Qué comprobarCómo interpretarlo
    Indicador agregado de dependencias"Presente" significa que la eliminación se bloqueará
    Mapa de clones"Nodo → pool → clones": el dataset hijo está a la izquierda y su instantánea padre (origin) a la derecha. Una indicación de que la imagen está ausente en un par significa "no hay copia de la imagen en este pool"; no es una dependencia ni un fallo
    Máquinas dependientesLas máquinas que hacen referencia a la imagen: el identificador y el nombre de cada máquina
    Nodos omitidosLos nodos que no pudieron consultarse: la comprobación está incompleta

    Una lista no vacía de nodos omitidos significa que algunos clones pueden no haberse detectado. Espere a que el nodo vuelva y obtenga el mapa de nuevo.

  3. Elimine las dependencias. Mientras la imagen tenga al menos un clon ZFS o una máquina dependiente, la eliminación se rechaza con el código -48012 y los nodos no se modifican. Resuelva las máquinas dependientes del mapa. Otra imagen del catálogo también puede ser un elemento retenedor: el mapa también la nombra, y esa imagen solo puede eliminarse después de su elemento retenedor.

  4. Elimine la imagen. Confirme explícitamente que la operación es irreversible: sin confirmación, la eliminación se rechaza. Antes de la eliminación, vStack Center vuelve a comprobar las dependencias para protegerse de una condición de carrera en la que aparezca un nuevo clon de la imagen entre la comprobación y la eliminación.

    El resultado es definitivo: llega después de que respondan los nodos en línea y contiene de inmediato el resultado: la etapa de la imagen, los nodos de los que se eliminó la copia, los nodos con errores y los nodos omitidos.

Verifique el resultado​

La eliminación completa se identifica mediante tres aspectos del resultado:

Qué comprobarValor esperado
Etapa de la imagenremoved: la fila del catálogo se ha eliminado
Nodos con erroresLa lista está vacía
Nodos omitidosLa lista está vacía

A continuación, la imagen desaparece del catálogo del clúster. Verifique que su fila ya no esté en el catálogo de imágenes.

Solución de problemas​

Algunos nodos no eliminaron sus copias​

La eliminación devuelve un resultado correcto, pero con la etapa partial_active: algunos nodos no eliminaron sus copias. El resultado enumera los nodos con errores y el motivo de cada uno, como un dataset ocupado.

Los nodos correctos no se revierten y la fila del catálogo se conserva. Resuelva la causa y vuelva a intentar la eliminación: elimina el resto de forma idempotente. Una lista no vacía de nodos omitidos significa lo mismo: la eliminación de las copias restantes no está confirmada porque un nodo no respondió.

El servicio se reinició durante la eliminación​

Ninguna imagen queda bloqueada tras un reinicio. La eliminación completa se registra en el registro de seguridad estrictamente antes de que la fila de la imagen desaparezca del catálogo, por lo que las eliminaciones confirmadas se completan al iniciar, mientras que las no confirmadas se establecen en partial_active. Volver a intentar la eliminación completa la operación.

Errores por código​

Código de errorSignificadoAcción
-48011No se ha confirmado la irreversibilidadConfirme explícitamente que la eliminación es irreversible
-48012La imagen tiene clones ZFS o máquinas dependientesObtenga el mapa de dependencias y elimine los objetos dependientes; los nodos no se modifican
-48009No se encontró la imagen: la fila del catálogo no existe o la imagen no es visible para el autor de la llamadaCompruebe el identificador de la imagen; la respuesta es la misma para una imagen restringida ajena, por lo que no se confirma su existencia
-48004Una operación concurrente ya está eliminando la imagenEspere el resultado de la primera operación
-48010No se pudo consultar a los nodos: el estado del clúster o el transporte no están disponiblesCompruebe el estado del clúster y vuelva a intentarlo
-403Acceso denegadoCompruebe el privilegio de eliminación y la pertenencia: solo el rol Cluster master puede eliminar una imagen compartida, una imagen ajena o una imagen que se ha hecho visible mediante una concesión
-503El registro de seguridad no aceptó el registro de intenciónLa eliminación no se ha iniciado y no ha cambiado nada; restablezca la disponibilidad del registro y vuelva a intentarlo
-48001Error de la base de datosVuelva a intentar la eliminación; si el error se repite, póngase en contacto con el soporte técnico

Un identificador de imagen no válido o ausente, así como la falta de confirmación, se rechazan durante el análisis de la solicitud, antes de realizar cualquier acción sobre el catálogo o los nodos.

Véase también​

Métodos de la API​

Las operaciones de la API tratadas en esta página son golden-image-clones, golden-image-remove y golden-images-list; consulte la referencia de la API.