Come migrare il DataStore

Domanda

A causa di vari motivi (ad esempio, il consolidamento dell'infrastruttura), potrebbe avere senso migrare i dati binari esistenti memorizzati in un DataStore [1] in un altro. Come si può effettuare una migrazione di questo tipo?

Risposta, Risoluzione

Attualmente, non esiste uno strumento disponibile che esegue una migrazione di questo tipo di DataStore. Tuttavia, con l'aiuto di un'istanza CRX temporanea montata via WebDAV [2], questo si può ottenere facilmente. L'esempio seguente mostra come migrare i file binari da un FileDataStore a un DbDataStore.

Attenzione: questa procedura dovrebbe essere testata e convalidata su un'istanza di prova prima di essere applicata a un'istanza di produzione!

Prepara un'istanza CRX temporanea

Il primo passo è quello di impostare una seconda istanza CRX temporanea vuota con un datastore basato su DB (DbDataStore) configurato:

  • copia il crx-xxx-quickstart.jar e license.properties in una posizione temporanea, ad esempio /tmp/crx_dbdatastore
  • esegui il comando di estrazione: java -jar crx-xxx-quickstart.jar -unpack
  • una volta terminato, vai alla directory decompattata crx-quickstart/server/webapps
  • estrai il CRX-webapp nella directory crx-explorer_crx: unzip -d crx-explorer_crx crx-explorer_crx.war
  • elimina crx-explorer_crx.war
  • modifica archivio.xml

La configurazione del DataStore deve essere adattata per utilizzare l'implementazione di DbDataStore, ad es:

<DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore"> <param name="url" value="jdbc:h2:~/test" /> <param name="user" value="sa" /> <param name="password" value="sa" /> <param name="databaseType" value="h2" /> <param name="driver" value="org.h2.Driver" <param name="maxConnections" value="3"/> <param name="copyWhenReading" value="true"/> <param name="tablePrefix" value=""/> <param name="schemaObjectPrefix" value=""/> <param name="minRecordLength" value="4096"/> </DataStore> 

Una volta fatto questo:

  • copia la libreria contenente il driver specifico del database su crx-explorer_crx/WEB-INF/lib
  • rinomina la directory crx-explorer_crx in crx-explorer_crx.war
  • avvia questa istanza di CRX

Durante l'installazione, CRX creerà un certo numero di file binari nell'archivio che dovrebbero essere memorizzati nel database configurato. Verifica che questo funzioni correttamente.

Monta l'istanza CRX temporanea con WebDAV

Il passaggio successivo è montare l'istanza CRX temporanea tramite WebDAV [2] sul server che ospita l'istanza CRX corrente. In questo esempio, viene utilizzato il punto di montaggio WebDAV /tmp/crxwebdav.

Copia i file da FS ad un'istanza temporanea tramite WebDAV

Il FileDataStore persiste i file binari automaticamente in <crx_home>/crx-quickstart/repository/shared/repository/datastore, usando l'hash del contenuto di un file come nome del file. Copiare questo nel CRX temporaneo con DbDataStore configurato creerà gli stessi binari con gli stessi codici hash, quindi può essere riutilizzato in un passo successivo.
Copia tutti i file e le cartelle in modo ricorsivo nel punto di montaggio di WebDAV:

cd <crx_home> cp -Rv crx-quickstart/repository/shared/repository/datastore /tmp/crxwebdav 

A seconda della quantità di contenuto binario, questo può richiedere del tempo. Non appena l'operazione di copia ricorsiva è terminata, è possibile smontare e interrompere anche l'istanza CRX temporanea.

Riconfigura DataStore di CRX

Il passaggio successivo è quello di modificare l'attuale configurazione del DataStore dell'istanza di CRX (repository.xml) per usare la stessa configurazione del DbDataStore come istanza temporanea. Una volta fatto questo, avvia l'istanza CRX e verifica che i binari siano disponibili come prima.

Pulizia

Una volta verificata la procedura di migrazione di cui sopra, è possibile eliminare quanto segue:

  • FileDataStore: crx-quickstart/repository/shared/repository/datastore
  • istanza CRX temporanea

Prodotti interessati:

CRX1.3.x, CRX1.4.x, CRX2.x

[1] DataStore
[2] Come accedere all'archivio via WebDAV

 Adobe

Ottieni supporto in modo più facile e veloce

Nuovo utente?

Adobe MAX 2024

Adobe MAX
La conferenza sulla creatività

14-16 ottobre Miami Beach e online

Adobe MAX

La conferenza sulla creatività

14-16 ottobre Miami Beach e online

Adobe MAX 2024

Adobe MAX
La conferenza sulla creatività

14-16 ottobre Miami Beach e online

Adobe MAX

La conferenza sulla creatività

14-16 ottobre Miami Beach e online