Tareas de mantenimiento previas a la actualización pre-upgrade-maintenance-tasks

Antes de comenzar la actualización, es importante realizar estas tareas de mantenimiento para asegurarse de que el sistema está listo y se puede revertir en caso de que se produzcan problemas:

Garantizar suficiente espacio en disco ensure-sufficient-disk-space

Al ejecutar la actualización, además de las actividades de actualización de contenido y código, se debe realizar una migración del repositorio. La migración crea una copia del repositorio en el nuevo formato de Segment TAR. Como resultado, necesita suficiente espacio en disco para conservar una segunda versión, potencialmente más grande, del repositorio.

Copia de seguridad completa de AEM fully-back-up-aem

Se debe realizar una copia de seguridad completa de AEM antes de comenzar la actualización. Asegúrese de realizar una copia de seguridad del repositorio, la instalación de la aplicación, el almacén de datos y las instancias de Mongo si corresponde. Para obtener más información sobre cómo hacer copias de seguridad y restaurar una instancia de AEM, consulte Copia de seguridad y restauración.

Realizar copia de seguridad de cambios en /etc backup-changes-etc

El proceso de actualización hace un buen trabajo al mantener y combinar el contenido y las configuraciones existentes de las rutas de acceso /apps y /libs en el repositorio. Para los cambios realizados en la ruta de acceso /etc, incluidas las configuraciones de Context Hub, a menudo es necesario volver a aplicar estos cambios después de la actualización. Mientras la actualización realiza una copia de seguridad de los cambios que no se pueden combinar en /var, Adobe recomienda realizar manualmente la copia de seguridad de estos cambios antes de comenzar la actualización.

Generar el archivo quickstart.properties generate-quickstart-properties

Al iniciar AEM desde el archivo jar, se genera un archivo quickstart.properties en crx-quickstart/conf. Si AEM solo se ha iniciado con la secuencia de comandos de inicio en el pasado, este archivo no está presente y la actualización falla. Asegúrese de comprobar la existencia de este archivo y reinicie AEM desde el archivo jar si no está presente.

Configurar depuración de flujo de trabajo y registro de auditoría configure-wf-audit-purging

Las tareas WorkflowPurgeTask y com.day.cq.audit.impl.AuditLogMaintenanceTask requieren configuraciones OSGi independientes y no pueden funcionar sin ellas. Si fallan durante la ejecución de la tarea previa a la actualización, la razón más probable es que falten configuraciones. Por lo tanto, asegúrese de agregar configuraciones de OSGi para estas tareas o eliminarlas por completo de la lista de tareas de optimización previas a la actualización si no desea ejecutarlas. Encontrará documentación para configurar las tareas de depuración del flujo de trabajo en Administrar instancias del flujo de trabajo y la configuración de las tareas de mantenimiento del registro de auditoría en Mantenimiento del registro de auditoría en AEM 6.

Instalar, configurar y ejecutar las tareas previas a la actualización install-configure-run-pre-upgrade-tasks

Debido al nivel de personalización que AEM permite, los entornos generalmente no se adhieren a una manera uniforme de realizar actualizaciones. Como tal, hace que la creación de un procedimiento estandarizado para las actualizaciones sea un proceso difícil.

En versiones anteriores, también era difícil para las actualizaciones de AEM que se detenían o que no se reanudaban de forma segura. Este problema llevaba a situaciones en las que era necesario reiniciar el procedimiento de actualización completo o en las que se realizaban actualizaciones defectuosas sin activar ninguna advertencia.

Para solucionar estos problemas, Adobe ha añadido varias mejoras al proceso de actualización, lo que lo hace más resistente y fácil de usar. Las tareas de mantenimiento previas a la actualización que antes se tenían que realizar manualmente se están optimizando y automatizando. Además, se han agregado informes posteriores a la actualización para que el proceso pueda analizarse a fondo con la esperanza de que cualquier problema se encuentre con mayor facilidad.

Las tareas de mantenimiento previas a la actualización se distribuyen actualmente entre varias interfaces que se realizan parcial o totalmente de forma manual. La optimización del mantenimiento previo a la actualización introducida en AEM 6.3 permite crear un déclencheur unificado de estas tareas y poder inspeccionar sus resultados bajo demanda.

Todas las tareas incluidas en el paso de optimización previo a la actualización son compatibles con todas las versiones a partir de AEM 6.0.

Cómo configurarlo. how-to-set-it-up

En AEM 6.3 y versiones posteriores, las tareas de optimización de mantenimiento previas a la actualización se incluyen en el JAR de inicio rápido.

Cómo se usa how-to-use-it

El componente OSGI PreUpgradeTasksMBean viene preconfigurado con una lista de tareas de mantenimiento previas a la actualización que se pueden ejecutar todas a la vez. Puede configurar las tareas siguiendo el siguiente procedimiento:

  1. Vaya a la consola web explorando https://serveraddress:serverport/system/console/configMgr

  2. Busque "preupgradetasks" y, a continuación, haga clic en el primer componente que coincida. El nombre completo del componente es com.adobe.aem.upgrade.prechecks.mbean.impl.PreUpgradeTasksMBeanImpl

  3. Modifique la lista de tareas de mantenimiento que deben ejecutarse como se muestra a continuación:

    1487758925984

La lista de tareas difiere según el modo de ejecución que se esté utilizando para iniciar la instancia. A continuación se describe el modo de ejecución para el que está diseñada cada tarea de mantenimiento.

Tarea
Modo de ejecución
Notas
TarIndexMergeTask
crx2
DataStoreGarbageCollectionTask
crx2
Marca y barre. Para los almacenes de datos compartidos, quite este paso y ejecute
manual o correctamente para preparar las instancias antes de ejecutarlas.
ConsistencyCheckTask
crx2
WorkflowPurgeTask
crx2/crx3
Debe configurar la configuración OSGi de depuración del flujo de trabajo de Adobe Granite antes de ejecutar.
GenerateBundlesListFileTask
crx2/crx3
RevisionCleanupTask
crx3
Para instancias de TarMK en AEM 6.0 a 6.2, ejecute manualmente Revision Cleanup sin conexión en su lugar.
com.day.cq.audit.impl.AuditLogMaintenanceTask
crx3
Debe configurar el programador de purga de registros de auditoría OSGi antes de ejecutar.
CAUTION
El DataStoreGarbageCollectionTask llama a una operación de recolección de elementos no utilizados del almacén de datos con la fase de marcado y barrido si se utiliza. Para las implementaciones que utilizan un almacén de datos compartido, asegúrese de volver a configurarlo correctamente o preparar la instancia para evitar la eliminación de los elementos a los que hace referencia otra instancia. Este proceso puede requerir la ejecución manual de la fase de marcado en todas las instancias antes de activar esta tarea previa a la actualización.

Configuración predeterminada de las comprobaciones de estado previas a la actualización default-configuration-of-the-pre-upgrade-health-checks

El componente OSGI PreUpgradeTasksMBeanImpl viene preconfigurado con una lista de etiquetas de comprobación de estado previas a la actualización para ejecutarse cuando se llame al método runAllPreUpgradeHealthChecks:

  • system: la etiqueta utilizada por las comprobaciones de estado de mantenimiento de granite

  • actualización previa: una etiqueta personalizada que se podría agregar a todas las comprobaciones de estado que se pueden configurar para que se ejecuten antes de una actualización

La lista es editable. Puede usar los botones más (+) y menos (-) además de las etiquetas para agregar más etiquetas personalizadas o quitar las predeterminadas.

Métodos MBean

Se puede acceder a la funcionalidad de bean administrada mediante la consola JMX.

Puede acceder a los MBeans mediante las siguientes opciones:

  1. Ir a la consola JMX en https://serveraddress:serverport/system/console/jmx

  2. Busque PreUpgradeTasks y haga clic en el resultado

  3. Seleccione cualquier método de la sección Operations y seleccione Invoke en la siguiente ventana.

A continuación se muestra una lista de todos los métodos disponibles que expone PreUpgradeTasksMBeanImpl:

Nombre del método
Tipo
Descripción
getAvailablePreUpgradeTasksNames()
INFORMACIÓN
Muestra la lista de nombres de tareas de mantenimiento previas a la actualización disponibles.
getAvailablePreUpgradeHealthChecksTagNames()
INFORMACIÓN
Muestra la lista de nombres de etiquetas de comprobaciones de estado previas a la actualización.
runAllPreUpgradeTasks()
ACCIÓN
Ejecuta todas las tareas de mantenimiento previas a la actualización de la lista.
runPreUpgradeTask(preUpgradeTaskName)
ACCIÓN
Ejecuta la tarea de mantenimiento previa a la actualización con el nombre dado como parámetro.
isRunAllPreUpgradeTaskRunning()
ACTION_INFO
Comprueba si la tarea runAllPreUpgradeTasksmaintenance se está ejecutando.
getAnyPreUpgradeTaskRunning()
ACTION_INFO
Comprueba si se está ejecutando alguna tarea de mantenimiento anterior a la actualización y
devuelve una matriz que contiene los nombres de las tareas en ejecución.
getPreUpgradeTaskLastRunTime(preUpgradeTaskName)
ACCIÓN
Muestra el tiempo de ejecución exacto de la tarea de mantenimiento anterior a la actualización con el nombre dado como parámetro.
getPreUpgradeTaskLastRunState(preUpgradeTaskName)
ACCIÓN
Muestra el último estado de ejecución de la tarea de mantenimiento previa a la actualización con el nombre dado como parámetro.
runAllPreUpgradeHealthChecks(shutDownOnSuccess)
ACCIÓN

Ejecuta todas las comprobaciones de estado previas a la actualización y guarda su estado en un archivo denominado preUpgradeHCStatus.properties que se encuentra en la ruta de acceso principal de sling. Si el parámetro shutDownOnSuccess está establecido en true, la instancia de AEM se cerrará, pero solo si todas las comprobaciones de estado anteriores a la actualización tienen el estado OK.

El archivo de propiedades se usa como condición previa para cualquier actualización futura
y el proceso de actualización se detiene si la ejecución de la comprobación de estado previa a la actualización
falla. Si desea omitir el resultado de las comprobaciones de estado de
anteriores a la actualización e iniciar la actualización de todos modos, puede eliminar el archivo.

detectUsageOfUnavailableAPI(aemVersion)
ACCIÓN
Enumera todos los paquetes importados que ya no se cumplen al
actualizar a la versión de AEM especificada. La versión de AEM de destino debe ser
dada como parámetro.
NOTE
Los métodos MBean se pueden invocar mediante:
  • La consola JMX
  • Cualquier aplicación externa que se conecte a JMX
  • cURL

Deshabilitar módulos de inicio de sesión personalizados disable-custom-login-modules

NOTE
Este paso solo es necesario si actualiza desde una versión de AEM 5. Se puede omitir por completo para las actualizaciones de versiones anteriores de AEM 6.

La forma en que se configuraron los LoginModules personalizados para la autenticación en el nivel de repositorio ha cambiado fundamentalmente en Apache Oak.

En las versiones de AEM que utilizaban la configuración de CRX2 se colocaba en el archivo repository.xml, mientras que a partir de AEM 6 se realiza en el servicio Apache Felix JAAS Configuration Factory a través de la consola web.

Por lo tanto, cualquier configuración existente tendrá que deshabilitarse y volver a crearse para Apache Oak después de la actualización.

Para deshabilitar los módulos personalizados definidos en la configuración de JAAS de repository.xml, debe editar la configuración para utilizar el valor predeterminado LoginModule, como en el siguiente ejemplo:

<Security >
             ....
          <!--
                 Use LoginModule authenticating against repository itself
                 -->
                 <LoginModule class = "com.day.crx.core.CRXLoginModule" >
                     <param name = "anonymousId" value = "anonymous" />
                     <param name = "adminId" value ="admin" />
                     <param name = "disableNTLMAuth" value = "true" />
                     <param name = "tokenExpiration" value = "43200000" />
                     <!-- param name="trust_credentials_attribute" value="d5b9167e95dad6e7d3b5d6fa8df48af8"/
                -->
                 </LoginModule >
         </ Security>
NOTE
Para obtener más información, consulte Autenticación con el módulo de inicio de sesión externo.
Para ver un ejemplo de la configuración de LoginModule en AEM 6, consulte Configuración de LDAP con AEM 6.

Quitar Actualizaciones Del Directorio /install remove-updates-install-directory

NOTE
Solo elimine paquetes del directorio crx-quickstart/install DESPUÉS de cerrar la instancia de AEM. Este paso es uno de los últimos antes de iniciar el procedimiento de actualización in situ.

Quite los Service Packs, paquetes de características o revisiones que se hayan implementado a través del directorio crx-quickstart/install en el sistema de archivos local. Al hacerlo, se evita la instalación involuntaria de revisiones y Service Packs antiguos además de la nueva versión de AEM una vez completada la actualización.

Detener Cualquier Instancia De Espera En Frío stop-tarmk-coldstandby-instance

Si utiliza TarMK modo de espera en frío, detenga cualquier instancia de espera en frío. Al hacerlo, se garantiza una forma eficaz de volver a estar en línea si hay problemas en la actualización. Una vez que la actualización se haya completado correctamente, las instancias de espera en frío deben volver a crearse a partir de las instancias principales actualizadas.

Deshabilitar trabajos programados personalizados disable-custom-scheduled-jobs

Deshabilite los trabajos programados de OSGi que se incluyan en el código de la aplicación.

Ejecutar limpieza de revisión sin conexión execute-offline-revision-cleanup

NOTE
Este paso solo es necesario para instalaciones de TarMK

Si utiliza TarMK, debe ejecutar Offline Revision Cleanup antes de actualizar. Al hacerlo, el paso de migración del repositorio y las tareas de actualización subsiguientes se ejecutan mucho más rápido y ayuda a garantizar que Limpieza de revisiones en línea se pueda ejecutar correctamente una vez completada la actualización. Para obtener información sobre cómo ejecutar la limpieza de revisión sin conexión, consulte Realización de la limpieza de revisión sin conexión.

Ejecutar recolección de basura del almacén de datos execute-datastore-garbage-collection

NOTE
Este paso solo es necesario para instancias que ejecuten crx3

Después de ejecutar la limpieza de revisión en instancias de CRX3, debe ejecutar la recolección de basura del almacén de datos para eliminar los blobs a los que no se hace referencia en el almacén de datos. Para obtener instrucciones, consulte la documentación de Recopilación de elementos no utilizados del almacén de datos.

Actualizar el esquema de base de datos si es necesario upgrade-the-database-schema-if-needed

Normalmente, la pila de Apache Oak subyacente que AEM utiliza para la persistencia se encarga de actualizar el esquema de la base de datos, si es necesario.

Sin embargo, pueden surgir casos en los que el esquema no se pueda actualizar automáticamente. Estos casos son principalmente entornos de alta seguridad en los que la base de datos se está ejecutando bajo un usuario con privilegios limitados. Si se produce una situación de este tipo, AEM sigue utilizando el esquema antiguo.

Para evitar que se produzca un escenario de este tipo, actualice el esquema haciendo lo siguiente:

  1. Cierre la instancia de AEM que debe actualizarse.

  2. Actualice el esquema de la base de datos. Consulte la documentación del tipo de base de datos para ver qué herramientas son necesarias para lograr el resultado.

    Para obtener más información sobre cómo administra Oak las actualizaciones de esquema, consulte esta página en el sitio web de Apache.

  3. Continúe con la actualización de AEM.

Eliminar usuarios que puedan obstaculizar la actualización delete-users-that-might-hinder-the-upgrade

NOTE
Esta tarea de mantenimiento previa a la actualización solo es necesaria si:
  • Está actualizando desde versiones de AEM anteriores a AEM 6.3
  • Durante la actualización, se produce cualquiera de los errores que se mencionan a continuación.

Existen casos excepcionales en los que los usuarios del servicio pueden terminar en una versión anterior de AEM etiquetados incorrectamente como usuarios habituales.

Si se produce una situación de este tipo, la actualización falla con un mensaje como el siguiente:

ERROR [Apache Sling Repository Startup Thread] com.adobe.granite.repository.impl.SlingRepositoryManager Exception in a SlingRepositoryInitializer, SlingRepository service registration aborted
java.lang.RuntimeException: Unable to create service user [communities-utility-reader]:java.lang.RuntimeException: Existing user communities-utility-reader is not a service user.

Para solucionar este problema, asegúrese de hacer lo siguiente:

  1. Desasociar la instancia del tráfico de producción

  2. Cree una copia de seguridad de uno o más usuarios que causan el problema. Puede realizar esta tarea mediante el Administrador de paquetes. Para obtener más información, vea Cómo trabajar con paquetes.

  3. Elimine uno o varios usuarios que causan el problema. A continuación se muestra una lista de los usuarios que pueden pertenecer a esta categoría:

    1. dynamic-media-replication
    2. communities-ugc-writer
    3. communities-utility-reader
    4. communities-user-admin
    5. oauthservice
    6. sling-scripting

Rotar archivos de registro rotate-log-files

Adobe recomienda archivar los archivos de registro actuales antes de comenzar la actualización. Al hacerlo, resulta más fácil supervisar y analizar los archivos de registro durante y después de la actualización para identificar y resolver los problemas que se puedan producir.

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2