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 Dependenciescon ámbito en el VDC de destino para comprobar las dependencias; - El privilegio
Remove OS Imagecon á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.
-
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.
-
Lea el mapa y compruebe cuatro cosas.
Qué comprobar Có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 dependientes Las máquinas que hacen referencia a la imagen: el identificador y el nombre de cada máquina Nodos omitidos Los 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.
-
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
-48012y 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. -
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é comprobar | Valor esperado |
|---|---|
| Etapa de la imagen | removed: la fila del catálogo se ha eliminado |
| Nodos con errores | La lista está vacía |
| Nodos omitidos | La 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 error | Significado | Acción |
|---|---|---|
-48011 | No se ha confirmado la irreversibilidad | Confirme explícitamente que la eliminación es irreversible |
-48012 | La imagen tiene clones ZFS o máquinas dependientes | Obtenga el mapa de dependencias y elimine los objetos dependientes; los nodos no se modifican |
-48009 | No se encontró la imagen: la fila del catálogo no existe o la imagen no es visible para el autor de la llamada | Compruebe el identificador de la imagen; la respuesta es la misma para una imagen restringida ajena, por lo que no se confirma su existencia |
-48004 | Una operación concurrente ya está eliminando la imagen | Espere el resultado de la primera operación |
-48010 | No se pudo consultar a los nodos: el estado del clúster o el transporte no están disponibles | Compruebe el estado del clúster y vuelva a intentarlo |
-403 | Acceso denegado | Compruebe 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 |
-503 | El registro de seguridad no aceptó el registro de intención | La eliminación no se ha iniciado y no ha cambiado nada; restablezca la disponibilidad del registro y vuelva a intentarlo |
-48001 | Error de la base de datos | Vuelva 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
- Biblioteca de imágenes de SO: el modelo del catálogo, la pertenencia de las imágenes y el ámbito de visibilidad.
- Cómo importar una imagen de SO en el clúster: la operación inversa: importar una imagen y distribuirla entre los pools.
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.