Attività di manutenzione pre-aggiornamento

Prima di iniziare l'aggiornamento, è importante seguire queste attività di manutenzione per assicurarsi che il sistema sia pronto e possa essere ripristinato in caso di problemi:

Spazio su disco sufficiente

Quando si esegue l'aggiornamento, oltre alle attività di aggiornamento del contenuto e del codice, sarà necessario eseguire una migrazione dell'archivio. La migrazione creerà una copia del repository nel nuovo formato Segment Tar. Di conseguenza, sarà necessario spazio su disco sufficiente per mantenere una seconda versione, potenzialmente più grande, del repository.

Backup Completo AEM

AEM deve essere eseguito il backup completo prima di avviare l'aggiornamento. Accertatevi di eseguire il backup dell'archivio, dell'installazione dell'applicazione, del datastore e delle istanze Mongo, se applicabili. Per ulteriori informazioni sul backup e il ripristino di un'istanza AEM, vedere Backup e ripristino.

Backup delle modifiche a /etc

Il processo di aggiornamento consente di mantenere e unire i contenuti e le configurazioni esistenti sotto i percorsi /apps e /libs nella directory archivio. Per le modifiche apportate al /etc percorso, comprese le configurazioni Context Hub, spesso è necessario riapplicare queste modifiche dopo l'aggiornamento. Anche se l'aggiornamento effettuerà una copia di backup di tutte le modifiche che non possono essere unite in /var, è consigliabile eseguire il backup manuale di tali modifiche prima di avviare l'aggiornamento.

Genera il file quickstart.properties

Quando si avvia AEM dal file jar, verrà generato un quickstart.properties file in crx-quickstart/conf. Se AEM è stato avviato solo con lo script start in passato, questo file non sarà presente e l'aggiornamento non riuscirà. Verificare l'esistenza di questo file e riavviare AEM dal file jar, se non è presente.

Configurare lo scorrimento del flusso di lavoro e del registro di controllo

Le WorkflowPurgeTask operazioni e com.day.cq.audit.impl.AuditLogMaintenanceTask le configurazioni OSGi sono specifiche e non funzionano senza di esse. Se durante l'esecuzione di un'attività precedente all'aggiornamento non riesce, è probabile che la causa principale sia la mancanza di configurazioni. Di conseguenza, se non desiderate eseguirle, accertatevi di aggiungere configurazioni OSGi per queste attività o di rimuoverle completamente dall'elenco delle attività di ottimizzazione pre-aggiornamento. La documentazione relativa alla configurazione delle attività di eliminazione del flusso di lavoro è disponibile in Amministrazione delle istanze del flusso di lavoro e nella configurazione delle attività di manutenzione del registro di controllo, all'indirizzo Gestione del registro di controllo nel AEM 6.

Per l’eliminazione del flusso di lavoro e del registro di controllo in CQ 5.6 e per l’eliminazione del registro di controllo in AEM 6.0, consultate Eliminare il flusso di lavoro e i nodidi controllo.

Installare, configurare ed eseguire le attività di pre-aggiornamento

A causa del livello di personalizzazione AEM consente, gli ambienti generalmente non aderiscono a un modo uniforme di eseguire gli aggiornamenti. Ciò rende difficile la creazione di una procedura standardizzata per gli aggiornamenti.

Nelle versioni precedenti, era anche difficile per AEM aggiornamenti che erano stati interrotti o che non erano stati ripresi in modo sicuro. Ciò causava situazioni in cui era necessario riavviare la procedura di aggiornamento completo o in cui venivano eseguiti aggiornamenti difettosi senza attivare alcun avviso.

Per risolvere questi problemi, Adobe ha aggiunto diversi miglioramenti al processo di aggiornamento, rendendolo più flessibile e facile da usare. Le attività di manutenzione pre-aggiornamento che prima dovevano essere eseguite manualmente vengono ottimizzate e automatizzate. Inoltre, sono stati aggiunti rapporti post-aggiornamento in modo che il processo possa essere esaminato completamente nella speranza che tutti i problemi siano trovati più facilmente.

Le attività di manutenzione pre-aggiornamento sono attualmente distribuite su varie interfacce, che vengono eseguite manualmente o parzialmente. L'ottimizzazione della manutenzione pre-aggiornamento introdotta nella AEM 6.3 consente di attivare in modo unificato tali attività e di controllarne i risultati su richiesta.

Tutte le attività incluse nella fase di ottimizzazione pre-aggiornamento sono compatibili con tutte le versioni a partire da AEM 6.0.

How to Set It Up

In AEM 6.3 e versioni successive, le attività di ottimizzazione per la manutenzione pre-aggiornamento sono incluse nel Jar di avvio rapido. Se state effettuando l'aggiornamento da una versione precedente di AEM 6, questi vengono resi disponibili tramite pacchetti separati che potete scaricare da Gestione pacchetti.

Potete trovare i pacchetti nelle seguenti posizioni:

How to Use It

Il componente PreUpgradeTasksMBean OSGI è preconfigurato con un elenco di attività di manutenzione pre-aggiornamento che possono essere eseguite tutte contemporaneamente. È possibile configurare le attività seguendo la procedura seguente:

  1. Vai alla console Web sfogliando https://serveraddress:serverport/system/console/configMgr

  2. Cercate "preupgradetask", quindi fate clic sul primo componente corrispondente. Il nome completo del componente è com.adobe.aem.upgrade.prechecks.mbean.impl.PreUpgradeTasksMBeanImpl

  3. Modificate l'elenco delle attività di manutenzione da eseguire come illustrato di seguito:

    1487758925984

L'elenco delle attività varia a seconda della modalità di esecuzione utilizzata per avviare l'istanza. Di seguito è riportata una descrizione della modalità di esecuzione per cui ogni attività di manutenzione è progettata.

Attività Modalità esecuzione Note
TarIndexMergeTask crx2
DataStoreGarbageCollectionTask crx2 Viene eseguito mark and sweep. Per gli archivi dati condivisi, rimuovete questo passaggio ed eseguite
manualmente o in modo corretto le istanze prima dell'esecuzione.
ConsistencyCheckTask crx2
WorkflowPurgeTask crx2/crx3 È necessario configurare l'OSGi Adobe di configurazione della rimozione del flusso di lavoro Granite prima di eseguire.
GenerateBundlesListFileTask crx2/crx3
RevisionCleanupTask crx3 Per le istanze TarMK su AEM da 6.0 a 6.2, eseguite manualmente la funzione di pulizia revisioni offline.
com.day.cq.audit.impl.AuditLogMaintenanceTask crx3 È necessario configurare la configurazione OSGi dell'utilità di pianificazione della rimozione del registro di controllo prima di eseguire.
ATTENZIONE

DataStoreGarbageCollectionTask sta chiamando un'operazione di Garbage Collection di datastore con la fase mark e sweep, se utilizzata. Per le distribuzioni che utilizzano un datastore condiviso, assicurarsi di riconfigurarlo o di preparare l'istanza in modo da evitare l'eliminazione degli elementi a cui fa riferimento un'altra istanza. Questa operazione potrebbe richiedere l'esecuzione manuale della fase di contrassegno su tutte le istanze prima di attivare l'attività di pre-aggiornamento.

Configurazione predefinita dei controlli di stato pre-aggiornamento

Il componente PreUpgradeTasksMBeanImpl OSGI è preconfigurato con un elenco di tag di controllo dello stato pre-aggiornamento da eseguire quando viene chiamato il runAllPreUpgradeHealthChecks metodo:

  • system - il tag utilizzato dai controlli di integrità della manutenzione granitica

  • pre-aggiornamento : si tratta di un tag personalizzato che può essere aggiunto a tutti i controlli di integrità che è possibile impostare per l'esecuzione prima di un aggiornamento

L'elenco è modificabile. È possibile utilizzare i pulsanti più (+) e meno (-) oltre ai tag per aggiungere altri tag personalizzati o rimuovere quelli predefiniti.

Metodi MBean

È possibile accedere alla funzionalità dei fagioli gestiti tramite la console JMX.

È possibile accedere agli MBeans tramite:

  1. Passate alla console JMX all'indirizzo https://serveraddress:serverport/system/console/jmx

  2. Cercare PreUpgradeTasks e fare clic sul risultato

  3. Selezionare un metodo dalla sezione Operazioni e selezionare Richiama nella finestra seguente.

Di seguito è riportato un elenco di tutti i metodi disponibili PreUpgradeTasksMBeanImpl esposti:

Nome metodo Tipo Descrizione
getAvailablePreUpgradeTasksNames() INFO Visualizza l'elenco dei nomi delle attività di manutenzione pre-aggiornamento disponibili.
getAvailablePreUpgradeHealthChecksTagNames() INFO Visualizza l'elenco dei nomi dei tag dei controlli di integrità pre-aggiornamento.
runAllPreUpgradeTasks() AZIONE Esegue tutte le attività di manutenzione pre-aggiornamento nell'elenco.
runPreUpgradeTask(preUpgradeTaskName) AZIONE Esegue l'attività di manutenzione pre-aggiornamento con il nome specificato come parametro.
isRunAllPreUpgradeTaskRunning() ACTION_INFO Controlla se l' runAllPreUpgradeTasksmaintenance attività è attualmente in esecuzione.
getAnyPreUpgradeTaskRunning() ACTION_INFO Controlla se è in esecuzione un'attività di manutenzione pre-aggiornamento e restituisce
un array contenente i nomi delle attività in esecuzione.
getPreUpgradeTaskLastRunTime(preUpgradeTaskName) AZIONE Visualizza il tempo di esecuzione esatto dell'attività di manutenzione pre-aggiornamento con il nome specificato come parametro.
getPreUpgradeTaskLastRunState(preUpgradeTaskName) AZIONE Visualizza l'ultimo stato di esecuzione dell'attività di manutenzione pre-aggiornamento con il nome specificato come parametro.
runAllPreUpgradeHealthChecks(shutDownOnSuccess) AZIONE

Esegue tutti i controlli di integrità pre-aggiornamento e ne salva lo stato in un file denominato preUpgradeHCStatus.properties che si trova nel percorso principale di sling. Se il shutDownOnSuccess parametro è impostato su true, l'istanza AEM verrà chiusa, ma solo se tutti i controlli di integrità pre-aggiornamento hanno uno stato OK.

Il file delle proprietà verrà utilizzato come prerequisito per qualsiasi aggiornamento
futuro e il processo di aggiornamento verrà interrotto se l'esecuzione del controllo
dello stato di pre-aggiornamento non riesce. Se si desidera ignorare il risultato dei controlli di stato pre-aggiornamento
e avviare comunque l'aggiornamento, è possibile eliminare il file.

detectUsageOfUnavailableAPI(aemVersion) AZIONE Elenca tutti i pacchetti importati che non saranno più soddisfatti quando
si esegue l'aggiornamento alla versione AEM specificata. La versione AEM di destinazione deve essere
specificata come parametro.
Nota

I metodi MBean possono essere invocati tramite:

  • Console JMX
  • Qualsiasi applicazione esterna che si connette a JMX
  • cURL

Disattiva moduli di login personalizzati

Nota

Questo passaggio è richiesto solo se si sta effettuando l'aggiornamento da una versione AEM 5. Può essere ignorato completamente per gli aggiornamenti da versioni precedenti di AEM 6.

Il modo in cui LoginModules vengono configurate le impostazioni personalizzate per l'autenticazione a livello di repository è sostanzialmente cambiato in Apache Oak.

AEM versioni che utilizzavano la configurazione CRX2 venivano inserite nel repository.xml file, mentre da AEM 6 in poi viene eseguito nel servizio Apache Felix JAAS Configuration Factory tramite la console Web.

Pertanto, tutte le configurazioni esistenti dovranno essere disattivate e ricreate per Apache Oak dopo l'aggiornamento.

Per disabilitare i moduli personalizzati definiti nella configurazione JAAS di repository.xml, è necessario modificare la configurazione per utilizzare i moduli predefiniti LoginModule, come in questo esempio:

<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>
Nota

Per ulteriori informazioni, consultate Autenticazione con il modulodi login esterno.

Per un esempio di LoginModule configurazione in AEM 6, consultate Configurazione di LDAP con AEM 6.

Rimuovere Gli Aggiornamenti Dalla Directory /install

Nota

Rimuovere i pacchetti dalla directory crx-quickstart/install solo dopo aver chiuso l'istanza AEM. Questo sarà uno degli ultimi passi prima di avviare la procedura di aggiornamento locale.

Rimuovere tutti i Service Pack, i feature pack o gli hotfix distribuiti tramite la crx-quickstart/install directory del file system locale. Ciò impedirà l'installazione involontaria di hotfix e Service Pack precedenti sulla nuova versione AEM al termine dell'aggiornamento.

Interrompi eventuali istanze in standby a freddo

Se si utilizza TarMK in standby a freddo, arrestare eventuali istanze in standby a freddo. Questi garantiranno un modo efficiente per tornare online in caso di problemi nell'aggiornamento. Una volta completato l'aggiornamento, le istanze in standby freddo dovranno essere ricreate dalle istanze primarie aggiornate.

Disattiva processi pianificati personalizzati

Disattiva tutti i processi pianificati OSGi inclusi nel codice dell’applicazione.

Esegui pulizia revisione offline

Nota

Questo passaggio è necessario solo per le installazioni TarMK

Se si utilizza TarMK, è necessario eseguire la pulizia revisioni offline prima di eseguire l'aggiornamento. In questo modo la fase di migrazione dell'archivio e le successive attività di aggiornamento verranno eseguite molto più rapidamente e sarà possibile garantire la corretta esecuzione della funzione di pulizia delle revisioni online dopo il completamento dell'aggiornamento. Per informazioni sull'esecuzione della pulizia delle revisioni offline, vedere Esecuzione della puliziadelle revisioni offline.

Esegui raccolta dati Garbage

Nota

Questo passaggio è necessario solo per le istanze che eseguono crx3

Dopo aver eseguito la pulizia revisioni sulle istanze CRX3, è necessario eseguire la raccolta dei dati per rimuovere eventuali blob senza riferimenti nell'archivio dati. Per istruzioni, consultate la documentazione sulla raccolta di oggetti inattivi nell'archiviodati.

Eliminare gli utenti che potrebbero ostacolare l'aggiornamento

Nota

Questa attività di manutenzione pre-aggiornamento è necessaria solo se:

  • È in corso l'aggiornamento da AEM versioni precedenti a AEM 6.3
  • Durante l'aggiornamento si verificano gli errori indicati di seguito.

In alcuni casi eccezionali, gli utenti del servizio potrebbero finire in versioni AEM precedenti con tag non corretti come utenti normali.

In questo caso, l'aggiornamento non riuscirà con un messaggio come questo:

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.

Per risolvere questo problema, accertatevi di effettuare le seguenti operazioni:

Per risolvere questo problema, accertatevi di effettuare le seguenti operazioni:

  • Scollegare l'istanza dal traffico di produzione
  • Create un backup degli utenti che causano il problema. Puoi farlo tramite Gestione pacchetti. Per ulteriori informazioni, vedere Come utilizzare i pacchetti.
  • Eliminare gli utenti che causano il problema. Di seguito è riportato un elenco di utenti che potrebbero rientrare in questa categoria:
    • Dynamic-media-replica
    • community-ugc-writer
    • community-utilità-reader
    • community-user-admin
    • oauthservice
    • sling-scripting

Se necessario, aggiorna lo schema del database

Solitamente, lo stack Apache Oak sottostante utilizzato AEM per la persistenza si occuperà di aggiornare lo schema del database, se necessario.

Tuttavia, potrebbero verificarsi casi in cui lo schema non può essere aggiornato automaticamente. Si tratta per lo più di ambienti ad alta protezione in cui il database viene eseguito sotto un utente con privilegi molto limitati. In tal caso, AEM continuare a utilizzare lo schema precedente.

Per evitare che ciò si verifichi, è necessario aggiornare lo schema seguendo la procedura seguente:

  1. Chiudere l'istanza AEM che deve essere aggiornata.

  2. Aggiornare lo schema del database. Consulta la documentazione relativa al tipo di database in uso per vedere quali sono gli strumenti da utilizzare per ottenere questo risultato.

    Per ulteriori informazioni sulla gestione degli aggiornamenti dello schema da parte di Oak, consultate questa pagina sul sito WebApache.

  3. Procedete con AEM di aggiornamento.

Ruota file di registro

È consigliabile archiviare i file di registro correnti prima di avviare l'aggiornamento. In questo modo sarà più semplice monitorare e analizzare i file di registro durante e dopo l'aggiornamento per identificare e risolvere eventuali problemi che possono verificarsi.

In questa pagina