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:
Configurar depuración de flujo de trabajo y registro de auditoría
Instalar, configurar y ejecutar las tareas previas a la actualización
Al ejecutar la actualización, además de las actividades de actualización de contenido y código, será necesario realizar una migración del repositorio. La migración creará una copia del repositorio en el nuevo formato de Segment TAR. Como resultado, necesitará suficiente espacio en disco para conservar una segunda versión del repositorio, que podría ser mayor.
AEM Se debe realizar una copia de seguridad completa de los datos antes de iniciar 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. AEM Para obtener más información sobre la copia de seguridad y la restauración de una instancia de, consulte Copia de seguridad y restauración.
El proceso de actualización realiza un buen trabajo al mantener y combinar el contenido y las configuraciones existentes desde en /apps
y /libs
rutas en el repositorio. Para ver los cambios realizados en /etc
, incluidas las configuraciones de ContextHub, a menudo es necesario volver a aplicar estos cambios después de la actualización. Mientras que la actualización hará una copia de seguridad de los cambios en los que no pueda combinarse /var
, se recomienda realizar una copia de seguridad manual de estos cambios antes de iniciar la actualización.
AEM Al iniciar el proceso desde el archivo jar, se muestra un quickstart.properties
el archivo se generará en crx-quickstart/conf
. AEM Si solo se ha iniciado con la secuencia de comandos de inicio en el pasado, este archivo no estará presente y la actualización fallará. AEM Asegúrese de comprobar la existencia de este archivo y reinicie el proceso desde el archivo jar si no está presente.
El WorkflowPurgeTask
y com.day.cq.audit.impl.AuditLogMaintenanceTask
Las tareas de requieren configuraciones OSGi independientes y no funcionarán 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. La documentación para configurar las tareas de depuración del flujo de trabajo se encuentra en Administración de instancias de flujo de trabajo y la configuración de tareas de mantenimiento de registros de auditoría se encuentra en AEM Mantenimiento del registro de auditoría en el 6.
AEM Para la depuración de registros de auditoría y flujo de trabajo en CQ 5.6, así como depuración de registros de auditoría en 6.0, consulte Purga de nodos de auditoría y flujo de trabajo.
AEM Debido al nivel de personalización que permite el uso de los recursos, los entornos no suelen adherirse a una forma uniforme de realizar las actualizaciones. Esto hace que la creación de un procedimiento estandarizado para las actualizaciones sea un proceso difícil.
AEM En versiones anteriores, también resultaba difícil para las actualizaciones de la aplicación que se detenían o que no se reanudaban de forma segura. Esto 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 manual o parcialmente. AEM La optimización del mantenimiento previo a la actualización incluida en la versión 6.3 de la versión de permite contar con una forma unificada de déclencheur de estas tareas y de poder inspeccionar sus resultados bajo demanda.
AEM Todas las tareas incluidas en el paso de optimización previo a la actualización son compatibles con todas las versiones a partir de la versión 6.0 de la aplicación de forma independiente.
AEM En la versión 6.3 y posteriores, las tareas de optimización de mantenimiento previas a la actualización se incluyen en el JAR de inicio rápido. AEM Si está actualizando desde una versión anterior de 6, están disponibles a través de paquetes independientes que puede descargar desde el Administrador de paquetes.
Puede encontrar los paquetes en estas ubicaciones:
El PreUpgradeTasksMBean
El componente OSGI 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:
Vaya a la consola web navegando hasta https://serveraddress:serverport/system/console/configMgr
Buscar "preupgradetasks", luego haga clic en el primer componente coincidente. El nombre completo del componente es com.adobe.aem.upgrade.prechecks.mbean.impl.PreUpgradeTasksMBeanImpl
Modifique la lista de tareas de mantenimiento que deben ejecutarse como se muestra a continuación:
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 | Correrá marca y barre. Para almacenes de datos compartidos, elimine este paso y ejecute prepare las instancias de forma manual o correcta antes de ejecutarlas. |
ConsistencyCheckTask |
crx2 | |
WorkflowPurgeTask |
crx2/crx3 | Debe configurar la configuración OSGi de depuración del flujo de trabajo de Granite de Adobe antes de ejecutar. |
GenerateBundlesListFileTask |
crx2/crx3 | |
RevisionCleanupTask |
crx3 | AEM Para las instancias de TarMK en la versión 6.0 a 6.2 de, ejecute manualmente la Limpieza de revisión 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. |
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 o correctamente o preparar la instancia para evitar la eliminación de los elementos a los que hace referencia otra instancia. Esto 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.
El PreUpgradeTasksMBeanImpl
El componente OSGI viene preconfigurado con una lista de etiquetas de comprobación de estado previas a la actualización para ejecutarse cuando el runAllPreUpgradeHealthChecks
método al que se llama:
sistema - la etiqueta utilizada por las comprobaciones de estado de mantenimiento de granite
previo a la actualización : se trata de 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 el signo más (+) y minus (-) botones además de las etiquetas para añadir más etiquetas personalizadas o eliminar las predeterminadas.
Métodos MBean
Se puede acceder a la funcionalidad de bean administrada mediante el Consola JMX.
Puede acceder a los MBeans mediante las siguientes opciones:
Vaya a la consola JMX en https://serveraddress:serverport/system/console/jmx
Buscar por PreUpgradeTasks y haga clic en el resultado
Seleccione cualquier método de la Operaciones y seleccione Invocar en la siguiente ventana.
A continuación se muestra una lista de todos los métodos disponibles que el PreUpgradeTasksMBeanImpl
expone:
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 variable runAllPreUpgradeTasksmaintenance La tarea se está ejecutando. |
getAnyPreUpgradeTaskRunning() |
ACTION_INFO | Comprueba si alguna tarea de mantenimiento anterior a la actualización se está ejecutando actualmente y devuelve una matriz que contiene los nombres de las tareas que se están ejecutando. |
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 anteriores a la actualización y guarda su estado en un archivo denominado El archivo de propiedades se utilizará como condición previa para cualquier actualización futura |
detectUsageOfUnavailableAPI(aemVersion) |
ACCIÓN | Enumera todos los paquetes importados que ya no se cumplirán cuando AEM actualizando a la versión especificada de la. AEM La versión de destino de la aplicación debe ser dado como parámetro. |
Los métodos MBean se pueden invocar mediante:
AEM Este paso solo es necesario si actualiza desde una versión de 5. AEM Se puede omitir por completo para las actualizaciones de versiones anteriores de la versión.
La manera personalizada LoginModules
están configurados para la autenticación a nivel de repositorio; ha cambiado fundamentalmente en Apache Oak.
AEM En versiones de la aplicación que utilizaban la configuración CRX2 se colocaba en la variable repository.xml
AEM , mientras que a partir del 6 de marzo se realiza en el servicio de fábrica de configuración de Apache Felix JAS a través de la consola web.
Por lo tanto, cualquier configuración existente tendrá que deshabilitarse y recrearse para Apache Oak después de la actualización.
Para deshabilitar los módulos personalizados definidos en la configuración JAAS de repository.xml
, debe modificar la configuración para utilizar los valores predeterminados LoginModule
, como en este 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>
Para obtener más información, consulte Autenticación con el módulo de inicio de sesión externo.
Por ejemplo, LoginModule
AEM configuración de en el 6, consulte AEM Configuración de LDAP con 6.
AEM Solo elimine paquetes del directorio crx-quickstart/install DESPUÉS de cerrar la instancia de la. Este será uno de los últimos pasos antes de iniciar el procedimiento de actualización in situ.
Elimine cualquier paquete de servicio, paquete de funciones o revisión que se haya implementado a través de crx-quickstart/install
en el sistema de archivos local. AEM Esto evitará la instalación involuntaria de revisiones antiguas y paquetes de servicio además de la nueva versión de la aplicación una vez que la actualización haya finalizado.
Si utiliza TarMK modo de espera en frío, detenga cualquier instancia de espera en frío. Esto garantizará una forma eficaz de volver a estar en línea en caso de problemas en la actualización. Una vez que la actualización se haya completado correctamente, las instancias de espera fría deberán reconstruirse desde las instancias principales actualizadas.
Deshabilite los trabajos programados de OSGi que se incluyan en el código de la aplicación.
Este paso solo es necesario para instalaciones de TarMK
Si utiliza TarMK, debe ejecutar Offline Revision Cleanup antes de actualizar. Esto hará que el paso de migración del repositorio y las tareas de actualización subsiguientes se ejecuten mucho más rápido y ayudará a garantizar que Limpieza de revisión 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 limpieza de revisión sin conexión.
Este paso solo es necesario para instancias que ejecuten crx3
Después de ejecutar la limpieza de revisión en instancias CRX3, debe ejecutar la recolección de elementos no utilizados 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 residuos del almacén de datos.
AEM Normalmente, la pila subyacente de Apache Oak que utiliza para la persistencia se encargará 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. Son principalmente entornos de alta seguridad en los que la base de datos se ejecuta bajo un usuario con privilegios muy limitados. AEM Si esto sucede, los usuarios seguirán utilizando el esquema antiguo
Para evitar que esto ocurra, debe actualizar el esquema siguiendo el siguiente procedimiento:
AEM Cierre la instancia de la que debe actualizarse.
Actualice el esquema de la base de datos. Consulte la documentación del tipo de base de datos para ver cuál es la herramienta que necesita utilizar para conseguirlo.
Para obtener más información sobre cómo gestiona Oak las actualizaciones de esquema, consulte esta página en el sitio web Apache.
AEM Continúe con la actualización de la versión de.
Esta tarea de mantenimiento previa a la actualización solo es necesaria si:
AEM Existen casos excepcionales en los que los usuarios del servicio pueden terminar en versiones antiguas de los que se les ha etiquetado incorrectamente como usuarios habituales.
Si esto sucede, la actualización falla con un mensaje como este:
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:
Desasociar la instancia del tráfico de producción
Cree una copia de seguridad de los usuarios que causan el problema. Puede hacerlo a través del Administrador de paquetes. Para obtener más información, consulte Cómo trabajar con paquetes.
Elimine los usuarios que causan el problema. A continuación se muestra una lista de los usuarios que pueden pertenecer a esta categoría:
dynamic-media-replication
communities-ugc-writer
communities-utility-reader
communities-user-admin
oauthservice
sling-scripting
Se recomienda archivar los archivos de registro actuales antes de comenzar la actualización. Esto facilitará la supervisión y el análisis de los archivos de registro durante y después de la actualización para identificar y resolver cualquier problema que se pueda producir.