Cómo importar una imagen de SO en el clúster
Cuándo usarlo
Cuando el clúster necesita una nueva imagen de SO o una nueva versión de una imagen ya importada. La importación descarga la imagen desde una fuente de biblioteca registrada y la distribuye entre los pools de almacenamiento. Solo entonces pueden crearse máquinas virtuales a partir de la imagen.
Este procedimiento también se aplica para completar la distribución. Si una importación anterior no distribuyó la imagen a todos los pools, importar de nuevo la misma versión entrega las copias que faltan.
Este procedimiento no se aplica si la imagen de origen está en un formato distinto de
zfs: la importación no acepta esas imágenes. Tampoco se aplica para cambiar
el propietario de la imagen: importar de nuevo no reescribe la pertenencia de la imagen a un VDC (centro
de datos virtual).
Requisitos previos
- El privilegio
Import Golden Imagecon ámbito en el VDC de destino; el rol Cluster master tiene ámbito global; - El privilegio
Sync Image Library: sin él, no puede leer el catálogo de la fuente ni obtener el identificador de la imagen; - El servicio de distribución
vstack-center-image-distributorestá desplegado en el clúster con el vhost obligatorioimgdistr_vhost; sin él, nada puede transferir los bytes durante la importación; - La fuente de la biblioteca está registrada y su identificador se conoce por la lista de fuentes;
- La fuente es accesible para el autor de la llamada: un administrador de VDC puede acceder a una fuente
asignada a su VDC, mientras que una fuente compartida del clúster solo está disponible para el
rol Cluster master. Esta comprobación se realiza antes de leer el catálogo y antes de
la importación, por lo que sin acceso a la fuente la respuesta es
-403, aunque se hayan concedido todos los privilegios necesarios; - El clúster tiene al menos un pool de almacenamiento con propietario;
- Versión de vStack Center: 4.0.0.
Pasos
En la interfaz web, la importación se inicia en la sección «Image library», pestaña «Images». Los pasos siguientes corresponden al rol Cluster master. Un administrador de VDC importa una imagen en su propio VDC mediante una llamada a la API, especificando ese VDC en la solicitud de importación. Las estructuras de solicitud y los detalles completos de las respuestas se encuentran en la referencia de la API.
-
Haga clic en «Add image» y abra la pestaña «Source»: la pestaña «File» todavía no está disponible. Elija una fuente en la lista «Source». El clúster lee solo su
manifest.jsony muestra el «Image showcase» con tarjetas de las imágenes de la fuente. La lectura del catálogo es rápida y no cambia nada en el clúster. -
Seleccione una imagen. Una tarjeta en un formato distinto de
zfsaparece inactiva con el texto «The platform cannot import this format»; una imagen ya importada se marca como «Already in the cluster catalog». El identificador de importación es el campouuidde la entrada del manifiesto: identifica de forma unívoca tanto la imagen como su versión. Una entrada sinuuidno puede importarse; agregue primero el campo al manifiesto de la fuente. -
Haga clic en «Next» y elija los pools: todos están seleccionados de forma predeterminada. Para distribuir la imagen solo a algunos pools, desmarque los demás; las copias restantes pueden entregarse importando de nuevo la misma versión. Haga clic en «Add».
La importación es asíncrona: la notificación «Image import has started» confirma el trabajo, no que la imagen esté lista. La distribución continúa en segundo plano.
La misma importación puede iniciarse desde la pestaña «Sources»: panel de la fuente → tarjeta de la imagen → «Import image» → «Import».
-
Espere a que finalice la distribución. En la columna «Status», la imagen pasa de «Importing» a «Available»; «Partially available» y «Failure» se tratan más abajo. La columna «Availability» muestra cuántos pools contienen una copia, y el panel de la imagen muestra el resultado por pool.
Verifique el resultado
Busque la imagen importada en «Image library» y compruebe dos cosas:
| Qué comprobar | Valor esperado |
|---|---|
| Estado de la imagen | «Available» (active en la API): la imagen se ha distribuido a todos los pools seleccionados |
| Resultado por pool | Una entrada por cada pool del paso 3 |
El estado «Importing» (importing) significa que la distribución todavía está en
curso. Los estados «Partially available» (partial_active) y «Failure» (failed)
se tratan más abajo.
La comprobación final es crear una máquina. La copia de la imagen en el pool seleccionado para
la creación de la VM debe estar activa; de lo contrario, la creación se rechaza con el código -259.
Solución de problemas
La importación realiza un único intento sin reintentos automáticos. Cualquier fallo, ya sea en la
descarga, la suma de comprobación, la distribución o la pérdida del trabajo por parte del servicio de distribución,
establece la imagen en failed y crea una entrada en el registro de seguridad. El administrador
inicia un reintento con la misma operación de importación. Reiniciar el despachador
a mitad de la operación no reintenta una importación incompleta; la marca como fallida.
Un resultado parcial (partial_active) no se revierte: los pools que tienen una copia
la conservan. Consulte el mapa de distribución para ver qué pools no recibieron una copia
y, a continuación, importe de nuevo la misma versión para entregar las copias que faltan.
| Código de error | Significado | Acción |
|---|---|---|
-48005 | El formato de la imagen no es apto para importación; se requiere zfs | Seleccione en el catálogo de la fuente una imagen apta para importación |
-48002 | El catálogo de la fuente no contiene ninguna imagen con este identificador | Vuelva a obtener el catálogo de la fuente: es posible que el manifiesto haya cambiado |
-48003 | La imagen ya se está importando | Espere el resultado de la importación en curso; no es necesario reiniciarla |
-48004 | La imagen se está eliminando | Espere a que finalice la eliminación |
-48006 | La entrada del manifiesto no supera la validación: versión, tamaño mínimo, tamaño, tamaños de sector, suma de comprobación, ruta del archivo, un tipo de SO o de personalización del invitado desconocido, un uuid repetido | Corrija el manifiesto en la fuente |
-48007 | Un pool especificado no existe o el clúster no tiene pools con propietario | Compruebe la lista de pools; verifique que el clúster tenga un pool con propietario |
-48008 | Ya existe en el catálogo una imagen con este identificador con otra fuente u otra versión | El identificador de la imagen es único a nivel global: asigne a la imagen su propio uuid en el manifiesto |
-46002 | No existe ninguna fuente con este identificador | Utilice un identificador vigente de la lista de fuentes |
-46012 | El host de la fuente se resuelve en un rango prohibido | Traslade la biblioteca a una dirección fuera de loopback, enlace local, los rangos privados RFC 1918, CGNAT, la "red cero" y la dirección de difusión |
-46020 | La fuente no está disponible: fallo de red, tiempo de espera agotado o una respuesta distinta de 2xx | Compruebe que la URL de la biblioteca sea accesible desde la red del clúster |
-46021 | manifest.json no puede interpretarse como JSON | Corrija la sintaxis del manifiesto |
-46022 | La versión del esquema del manifiesto es superior a la versión admitida | Actualice el manifiesto a una versión del esquema admitida |
-46023 | El manifiesto no supera la validación del esquema: a una entrada le faltan campos obligatorios | Agregue name, version, format, url_path, size, sha256 |
-49005 | Un administrador de VDC no especificó un VDC: solo el rol Cluster master importa una imagen compartida del clúster | Especifique su VDC en la solicitud de importación |
-49006 | El VDC especificado está fuera del ámbito del autor de la llamada | Especifique un VDC en el que tenga un rol |
-403 | Acceso denegado | Compruebe el acceso a la fuente, el privilegio y la pertenencia: una fuente compartida del clúster solo está disponible para el rol Cluster master; un administrador de VDC necesita una fuente asignada a su VDC; solo el propietario de la imagen o el rol Cluster master pueden importar una nueva versión de una imagen existente |
-503 | El registro de seguridad no aceptó el registro de intención | La importació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 importación; si el error se repite, póngase en contacto con el soporte técnico |
Véase también
- Biblioteca de imágenes de SO: el modelo de la fuente, el catálogo y la distribución entre pools.
- Cómo eliminar una imagen de SO: la operación inversa, con comprobación de dependencias.
- Cómo crear, eliminar y migrar una máquina virtual: creación de una VM a partir de una imagen importada.
Métodos de la API
Las operaciones de la API tratadas en esta página son os-library-list, os-library-sync,
os-image-import y golden-images-list; consulte la
referencia de la API.