Show Menu
ARGOMENTI×

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 di AEM

Prima di avviare l'aggiornamento, deve essere eseguito il backup completo di AEM. 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 di AEM, consultate 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, viene 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à. Accertatevi di verificare l’esistenza di questo file e riavviate 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, disponibile in Gestione registro di controllo in 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 nodi di controllo.

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

A causa del livello di personalizzazione consentito da AEM, gli ambienti generalmente non soddisfano un metodo uniforme per eseguire gli aggiornamenti. Ciò rende difficile la creazione di una procedura standardizzata per gli aggiornamenti.
Nelle versioni precedenti, era anche difficile per gli aggiornamenti di AEM interrotti o che non erano stati ripristinati 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 semplice 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 per la manutenzione pre-aggiornamento introdotta in AEM 6.3 consente di attivare in modo unificato queste attività e di controllarne i risultati su richiesta.
Tutte le attività incluse nel passaggio di ottimizzazione pre-aggiornamento sono compatibili con tutte le versioni a partire da AEM 6.0.

Come impostare

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. Passate alla console Web accedendo a 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:
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 per la configurazione della rimozione dei flussi di lavoro di Adobe Granite prima di eseguire.
GenerateBundlesListFileTask crx2/crx3
RevisionCleanupTask crx3 Per le istanze TarMK su AEM da 6.0 a 6.2, eseguite manualmente la pulizia delle 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.
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 Risorse di Monitoring Server tramite la console JMX JMX.
Per accedere agli MBeans:
  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 elencate.
runPreUpgradeTask(preUpgradeTaskName) AZIONE Esegue l'attività di manutenzione pre-aggiornamento con il nome specificato come parametro.
isRunAllPreUpgradeTaskRunning() ACTION_INFO Controlla se l' runAllPreUpgradeTasksmaintenance attività è in esecuzione.
getAnyPreUpgradeTaskRunning() ACTION_INFO Controlla se sono in esecuzione 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 di 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 specificata di AEM. La versione AEM di destinazione deve essere specificata come parametro.
I metodi MBean possono essere invocati tramite:
  • Console JMX
  • Qualsiasi applicazione esterna che si connette a JMX
  • cURL

Disattiva moduli di login personalizzati

Questo passaggio è richiesto solo se state effettuando l'aggiornamento da una versione di 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.
Nelle versioni di AEM che utilizzavano la configurazione CRX2, il file veniva inserito 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>

Per ulteriori informazioni, consultate Autenticazione con il modulo di login esterno.
Per un esempio di configurazione in AEM 6, consultate LoginModule Configurazione di LDAP con AEM 6 Configurazione di LDAP con AEM 6 .

Rimuovere Gli Aggiornamenti Dalla Directory /install

Rimuovere i pacchetti dalla directory crx-quickstart/install solo dopo che l'istanza AEM è stata chiusa. 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. Questo impedirà l'installazione involontaria di hotfix e Service Pack precedenti sulla nuova versione di AEM dopo il completamento 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

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 al termine dell'aggiornamento. Per informazioni sull'esecuzione della pulizia revisioni offline, vedere Esecuzione della pulizia revisioni offline.

Esegui raccolta dati Garbage

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'archivio dati.

Se necessario, aggiorna lo schema del database

Solitamente, lo stack Apache Oak sottostante utilizzato da 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 questo caso, AEM continuerà a utilizzare lo schema precedente.
Per evitare che ciò si verifichi, è necessario aggiornare lo schema seguendo la procedura seguente:
  1. Arrestate l’istanza di AEM da aggiornare.
  2. Aggiornare lo schema del database. Consulta la documentazione relativa al tipo di database in uso per vedere quali sono gli strumenti necessari per ottenere questo risultato.
    Per ulteriori informazioni su come Oak gestisce gli aggiornamenti dello schema, consultate questa pagina sul sito Web Apache.
  3. Procedete con l’aggiornamento di AEM.

Eliminare gli utenti che potrebbero ostacolare l'aggiornamento

Questa attività di manutenzione pre-aggiornamento è necessaria solo se:
  • Stai effettuando l'aggiornamento dalle versioni di AEM precedenti a AEM 6.3
  • Durante l'aggiornamento si verificano i seguenti errori.
In alcuni casi eccezionali, gli utenti del servizio potrebbero finire in una versione precedente di AEM 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:
  1. Scollegare l'istanza dal traffico di produzione
  2. Create un backup degli utenti che causano il problema. Puoi farlo tramite Gestione pacchetti. Per ulteriori informazioni, vedere Come utilizzare i pacchetti.
  3. Eliminare gli utenti che causano il problema. Di seguito è riportato un elenco di utenti che potrebbero rientrare in questa categoria:
    1. dynamic-media-replication
    2. communities-ugc-writer
    3. communities-utility-reader
    4. communities-user-admin
    5. oauthservice
    6. sling-scripting

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.