Este documento ha sido traducido utilizando tecnología de traducción automática. Si bien nos esforzamos por proporcionar traducciones precisas, no ofrecemos garantías sobre la integridad, precisión o confiabilidad del contenido traducido. En caso de discrepancia, la versión original en inglés prevalecerá y constituirá el texto autorizado.

Migrando a SUSE Storage

Se recomienda crear una copia de seguridad del sistema Longhorn antes de realizar la actualización. Esto asegura que todos los recursos críticos, como volúmenes y backing images, estén respaldados y puedan ser restaurados en caso de que surjan problemas.

Requisitos previos

Herramientas

Autenticación

Migrando Longhorn desplegado a través de Helm a SUSE Storage

Si tu instalación existente de Longhorn fue desplegada a través de Helm, puedes verificarlo ejecutando helm list --all-namespaces. Por defecto, el lanzamiento de Helm utilizado para instalar Longhorn se llama longhorn, pero también puede ser un nombre personalizado definido por el usuario.

A continuación, opcionalmente crea un archivo values.yaml con cualquier configuración personalizada que desees aplicar durante la actualización.

Procede con la actualización a SUSE Storage utilizando el gráfico SUSE Storage:

helm upgrade longhorn oci://dp.apps.rancher.io/charts/suse-storage \
    --namespace longhorn-system \
    --version <version> \ # Replace with the version you would like to upgrade to
    --set global.imagePullSecrets=<PULL_IMAGE_SECRET>

Opcionalmente, si tienes un archivo values.yaml con configuraciones personalizadas, inclúyelo con la bandera -f:

helm upgrade longhorn oci://dp.apps.rancher.io/charts/suse-storage \
    --namespace longhorn-system \
    --version <version> \ # Replace with the version you would like to upgrade to
    --set global.imagePullSecrets=<PULL_IMAGE_SECRET> \
    -f values.yaml

Migrando Longhorn desplegado a través del Mercado de Aplicaciones de Rancher a SUSE Storage

Si tu instalación existente de Longhorn fue desplegada a través del Mercado de Aplicaciones de Rancher, verás dos lanzamientos de Helm asociados con Longhorn al ejecutar helm list --all-namespaces | grep longhorn.

El siguiente ejemplo es migrar Longhorn v1.10.1 instalado a través de gráficos de Rancher a SUSE Storage v1.10.1.

$ helm list --all-namespaces | grep longhorn
longhorn                                             longhorn-system        1           2025-11-12 02:58:40.877484249 +0000 UTC    deployed    108.2.0+up1.10.1                                                                                   v1.10.1
longhorn-crd                                         longhorn-system        1           2025-11-12 02:58:38.192579711 +0000 UTC    deployed    longhorn-crd-108.2.0+up1.10.1                                                                               v1.10.1

Para migrar la instalación existente de Rancher Longhorn a SUSE Storage, necesitas eliminar el lanzamiento de Helm longhorn-crd sin eliminar los CRDs, y luego actualizar el lanzamiento de Helm longhorn siguiendo los pasos a continuación.

Eliminar el lanzamiento de Helm longhorn-crd mientras se mantienen los CRDs

Para eliminar el lanzamiento de Helm longhorn-crd de tu sistema mientras aseguras que los CRDs de Longhorn se conserven, sigue estos pasos:

  1. Verifica la versión actual de tu lanzamiento de Helm longhorn-crd:

    helm list --all-namespaces | grep longhorn-crd

    La salida muestra los detalles de tu lanzamiento longhorn-crd, por ejemplo:

    longhorn-crd                                         longhorn-system        1           2025-11-12 02:58:38.192579711 +0000 UTC    deployed    longhorn-crd-108.2.0+up1.10.1+up1.11.0                                                                               v1.10.1

    En este ejemplo, la versión del lanzamiento es 108.2.0+up1.10.1.

  2. Clona el repositorio rancher/charts que contiene la versión específica del gráfico longhorn-crd que coincide con tu lanzamiento actual (por ejemplo, 108.2.0+up1.10.1 para Longhorn v1.10.1):

    git clone https://github.com/rancher/charts.git

    Navega al directorio correspondiente a la versión de tu gráfico longhorn-crd dentro del repositorio clonado.

    O, puedes ejecutar este guion para el gráfico longhorn-crd.

    Después de ejecutar el comando bash ./download-longhorn-crd-chart.sh 108.2.0+up1.10.1, el gráfico longhorn-crd se descarga en el directorio local 108.2.0+up1.10.1. Luego, abre 108.2.0+up1.10.1/Chart.yaml para verificar que la versión del gráfico coincida con 108.2.0+up1.10.1.

  3. Parchea manualmente la anotación helm.sh/resource-policy: keep en cada definición de recurso personalizada (CRD) en templates/crds.yaml dentro del gráfico longhorn-crd que clonaste. Esto asegura que Helm no elimine los CRDs cuando se desinstale el lanzamiento. Alternativamente, puedes usar el script para parchear automáticamente la anotación:

    bash ./patch-resource-policy-annotation.sh 108.2.0+up1.10.1/templates/crds.yaml

    Para verificar que los CRDs han sido parcheados correctamente, ejecuta:

    vimdiff /tmp/crds.yaml.original 108.2.0+up1.10.1/templates/crds.yaml
  4. Actualiza el lanzamiento de Helm longhorn-crd utilizando el gráfico parcheado localmente:

    helm upgrade longhorn-crd -n longhorn-system ./108.2.0+up1.10.1
  5. Desinstala el lanzamiento de Helm longhorn-crd de tu sistema. Debido al parche aplicado, los CRDs permanecen intactos.

    helm uninstall longhorn-crd --namespace longhorn-system

    Puedes ver que los CRDs se mantienen mientras desinstalas el lanzamiento de Helm longhorn-crd.

    $ helm uninstall longhorn-crd --namespace longhorn-system
    These resources were kept due to the resource policy:
    [CustomResourceDefinition] backingimagedatasources.longhorn.io
    [CustomResourceDefinition] backingimagemanagers.longhorn.io
    [CustomResourceDefinition] nodes.longhorn.io
    [CustomResourceDefinition] orphans.longhorn.io
    [CustomResourceDefinition] recurringjobs.longhorn.io
    [CustomResourceDefinition] replicas.longhorn.io
    [CustomResourceDefinition] settings.longhorn.io
    [CustomResourceDefinition] sharemanagers.longhorn.io
    [CustomResourceDefinition] snapshots.longhorn.io
    [CustomResourceDefinition] supportbundles.longhorn.io
    [CustomResourceDefinition] systembackups.longhorn.io
    [CustomResourceDefinition] systemrestores.longhorn.io
    [CustomResourceDefinition] backingimages.longhorn.io
    [CustomResourceDefinition] volumeattachments.longhorn.io
    [CustomResourceDefinition] volumes.longhorn.io
    [CustomResourceDefinition] backupbackingimages.longhorn.io
    [CustomResourceDefinition] backups.longhorn.io
    [CustomResourceDefinition] backuptargets.longhorn.io
    [CustomResourceDefinition] backupvolumes.longhorn.io
    [CustomResourceDefinition] engineimages.longhorn.io
    [CustomResourceDefinition] engines.longhorn.io
    [CustomResourceDefinition] instancemanagers.longhorn.io

Reemplaza longhorn-crd con longhorn en los CRDs de Longhorn

Después de asegurarte de que el lanzamiento de Helm longhorn-crd está desinstalado, pero se han conservado los CRDs, necesitas actualizar las etiquetas de propiedad en los CRDs de Longhorn existentes para el gráfico principal de Helm longhorn. Aplica el guion de shell para realizar el reemplazo.

Actualiza la versión a SUSE Storage

Una vez que se hayan preparado los CRDs, puedes proceder a actualizar la versión de tu instalación de Longhorn a SUSE Storage:

helm upgrade longhorn oci://dp.apps.rancher.io/charts/suse-storage \
    --namespace longhorn-system \
    --version <version> \ # Replace with the version you would like to upgrade to
    --set global.imagePullSecrets=<PULL_IMAGE_SECRET>

Opcionalmente, si tienes un archivo values.yaml con configuraciones personalizadas, inclúyelo con la bandera -f:

helm upgrade longhorn oci://dp.apps.rancher.io/charts/suse-storage \
    --namespace longhorn-system \
    --version <version> \ # Replace with the version you would like to upgrade to
    --set global.imagePullSecrets=<PULL_IMAGE_SECRET> \
    -f values.yaml