Per archiviare e ritrovare tutti i messaggi email

Come migrare/ripristinare un’installazione di ASM.

KB51383

Ultimo aggiornamento: 11 September 2015

Disaster recovery & migrazione del database di Archive Server for MDaemon

2.x, 3.x, 4.x

Abstract
Archiviare i messaggi di posta è un ottimo metodo per accelerare i propri affari, ma mentre si lavora con server, file e database, possono sempre accadere dei crash di sistema. E' quindi necessario preparare un piano di ripristino per l'installazione di Archive Server for MDaemon. Questo articolo ha lo scopo di spiegare come migrare/ripristinare un’installazione di ASM.

Per migrare una versione 4.x di ASM si consigli di fare riferimento a questo articolo.

Scenari
Esistono diversi scenari in cui può essere necessario migrare o ripristinare un’installazione di Archive Server for MDaemon.

  1. Ripristino di ASM dopo un crash
 Per ripristinare integralmente il funzionamento di un’installazione di ASM occorrono:

  • Backup del repository, per poter recuperare i messaggi archiviati in precedenza.
  • Backup del database, per poter recuperare le configurazioni effettuate tramite l’interfaccia di amministrazione (domini e utenti da archiviare, regole di non archiviazione…) ed evitare di dover ripetere l’archiviazione.
  • Le caratteristiche della precedente installazione (tipo di Web server, credenziali di accesso al database dell’utenza di ASM, …).
Dalla versione 2.2.0 ASM semplifica la procedura di ripristino permettendo di sovrani-stallare ASM con la stessa versione, agganciando il database esistente; tuttavia le procedure valide per le versioni precedenti possono essere ancora utilizzate.
 

 Versione 2.2.0 o superiori

  • ASM/Database/archivio sulla stessa macchina
    Recuperare i backup del database e della cartella .
    Quindi:
    1. Ripristinare il database di ASM.
    2.  Installare la stessa versione di ASM specificando nella schermata di configurazione del database il nome e le credenziali di accesso utilizzate nella prece-dente installazione.
    3.  Fermare il servizio ASMd.exe.
    4. Sovrascrivere la cartella di backup dell’archivio su quella nuova; se si modifica il percorso del repository rispetto alla posizione originale, bisogna modificare anche la configurazione dello stesso impostata nella console di amministrazione di ASM.
    5. Riavviare ASMd.exe.
    6. Provare l’installazione.

Nota: se l’archivio non si trova nella locazione predefinita, saltare il passo 4.

  • Il database è su un’altra macchina
    Se il database non si trova sulla stessa macchina e non è stato interessato dal crash di ASM:
    1. Installare la stessa versione di ASM specificando nella schermata di configurazione del database il nome e le credenziali di accesso del database remoto.
    2.  Fermare il servizio ASMd.exe.
    3. Sovrascrivere la cartella di backup dell’archivio su quella nuova.
    4.  Riavviare ASMd.exe.
    5. Provare l’installazione.
Nota: se l’archivio non si trova nella locazione predefinita, saltare il passo 3.
 

 Versioni precedenti la 2.2.0
  • ASM/Database/archivio sulla stessa macchina
    Recuperare i backup del database e della cartella .
    Quindi:
    1. Installare da zero ASM (la stessa versione che era installata prima del crash). Usare la stessa cartella di installazione e gli stessi settaggi per il database.
    2. Fermare il servizio ASMd.exe.
    3.  Ripristinare il database ASM utilizzando il backup (la modalità del ripristino dipende dal tipo di database e dalla modalità di backup utilizzati).
    4. Sovrascrivere la cartella di backup dell’archivio su quella nuova; se si modifica il percorso del repository rispetto alla posizione originale, bisogna modificare anche la configurazione dello stesso impostata nella console di amministrazione di ASM.
    5. Riavviare ASMd.exe.
    6. Provare l’installazione.
       
     
  • Il database è su un’altra macchina
    Se il database non si trova sulla stessa macchina e non è stato interessato dal crash di ASM:
    1. Disconnettere il database dal database server (vedere il capitolo “Migrazione del database ASM”):
      a. detach per SQL Server/MSDE
      b. backup del database e successiva cancellazione per MySQL
    2. Installare da zero ASM (la stessa versione che era installata prima del crash). Usare la stessa directory di installazione e gli stessi settaggi per il database.
    3. Fermare il servizio ASMd.exe.
    4. Ripristinare il database ASM utilizzando il backup (la modalità del ripristino dipende dal tipo di database e dalla modalità di backup utilizzati).
    5. Sovrascrivere la cartella di backup dell’archivio su quella nuova.
    6. Riavviare ASMd.exe.
    7. Provare l’installazione.

Nota: se l’archivio non si trova nella locazione predefinita, saltare il passo 4 in entrambe le procedure “a” e “b”.

  1. Spostamento del database da un server a un altro
 Fare riferimento al capitolo “Migrazione del database ASM”.

  1. Aggiornamento da MSDE a SQL Server
 Stessa macchina o macchine differenti:

  • Installare SQL Server.
  • Seguire la procedura descritta nello Scenario 2 (vedere punto precedente) – riguardante la disconnessione del database da MSDE e il suo ripristino su SQL Server. Frequentemente la necessità di questo aggiornamento deriva dal fatto di aver raggiunto il limite dei 2GB di MSDE; se si passa a SQL Server 2005 o SQL Server Express (che ha ancora un limite intrinseco, ma di 4GB) è importante prestare attenzione al fatto che la migrazione deve essere effettuata verso un’istanza 2005, altrimenti la limitazione non sarà superata.
  • Provare l’installazione.
  • Disinstallare MSDE (se non più utilizzato).
     

  1. Migrazione da MSDE a MySQL
 Per questo tipo di migrazione ASM mette a disposizione l’utility SQLServer2MySQL contenuta nella cartella toolsSQL dell’installazione di ASM; occorre procedere in questo modo:

  • Arrestare il servizio di ASM .
  • Creare una copia della regola di Content Filter “ASM_rule” in MDaemon e modificarla per parcheggiare i messaggi in una cartella temporanea.
  • Effettuare un backup del database e del repository di ASM.
  • Disinstallare ASM.
  • Installare il driver ODBC per MySQL e MySQL (fare riferimento alla sezione “Requisiti di sistema” sul sito di Achab per le versioni supportate e per le opzioni di installazione).
  • Effettuare una nuova installazione di ASM usando la stessa versione che si desidera migrare con database MySQL.
  • Arrestare il servizio di ASM.
  • Eseguire la migrazione del database con l’utility SQLServer2MySQL.
  • Verificare che la regola di Content Filter “ASM_rule” sia attiva e faccia riferimento alla cartella enginequeue della nuova installazione.
  • Cancellare o disabilitare la regola di Content Filter temporanea.
  • Copiare i messaggi dalla cartella temporanea alla cartella enginequeue della nuova installazione di ASM.
  • Riavviare il servizio di ASM.
  • Verificare il corretto funzionamento dell’applicazione.
     

  1. Migrazione da SQL Server a MySQL
Questo tipo di operazione è descritto dettaliatamente in questo articolo.

  1. Ripetere l’archiviazione del repository
Questo tipo di operazione è descritto dettagliatamente in questo articolo.

Migrazione del database di ASM

Nella procedura che segue si suppone che il database di ASM si chiami ASM_DB (default dell’installazione). La procedura è diversa a secondo del tipo di database utilizzato (SQL Server/MSDE o MySQL).


Passo 1 – Fermare ASM

Per poter spostare il database di ASM è necessario fermare il motore di ASM .
Mentre il motore è spento, le email saranno posizionate nella cartella “Queue” di ASM e non saranno perse.
Usare Start->Programmi->Archive Server for MDaemon->Stop Engine per fermare ASM, oppure farlo da Pannello di controllo->Servizi.

Assicurarsi che gli utenti non accedano all’interfaccia web di ASM.
Se possibile, fermare il web server o semplicemente sostituire il file /html/index.htm con una pagina “Fuori servizio”.


Passo 2 – Disconnettere il database

SQL Server/MSDE


SQL server 2000/2005 e MSDE 2000 forniscono gli strumenti per la disconnessione-connessione (detach-attach) del database per la migrazione dei DB da una macchina all’altra (o da una cartella all’altra dello stesso server).

Il database può essere disconnesso utilizzando Enterprise Manager di SQL server (se non si è in possesso di questo programma, leggere le “Note per utenti MSDE” alla fine del presente documento):

  • Selezionare nel menu di sinistra il database che deve essere disconnesso quindi, con il tasto destro del mouse selezionare activities->detach database.
  • Selezionare l’opzione “Update statistic prior…”; controllare che non vi siano connessioni attive e che il database sia pronto per essere disconnesso; quindi, premere “OK”.

Alternativamente, nel caso di SQL Server si può effettuare un backup del database da Enterprise Manager di SQL Server.

MySQL

Effettuare un backup del database (copia della cartella dataASM_DB o dump della struttura e dei dati dello schema ASM_DB).


Passo 3 – Spostare i file del database

SQL Server/MSDE


La cartella “Data” di SQL Server (o MSDE) conterrà 2 file:
  • ASM_DB.mdf (dati ASM).
  • ASM_DB_log.ldf (log di transazione).

Nota: se si è installato  ASM+MSDE con express setup, la cartella “Data” si trova in c:program filesMSDEMSSQL$ASMData

Spostare questi file sulla macchina su cui si sposta il database, nella cartella che si preferisce (potrebbe essere la cartella “Data” di SQL server, ma non è indispensabile).

MySQL

Copiare i file di backup o di dump sulla macchina su cui si sposta il database, nella cartella che si preferisce.


Passo 4 – Connettere il database al nuovo server

SQL Server/MSDE


Se si è utilizzato il detach database:
  • Accedere, usando Enterprise Manager al server SQL di destinazione.
  • Selezionare la cartella “Database” dal menu di sinistra e cliccare su di essa con il tasto destro del mouse.
  • Selezionare All Activities->Attach Database.
  • Nel menu “Attach Database”, indicare il percorso del file .mdf (vedere il passo 3).
  • Verificare che entrambi i file .mdf e .ldf vengano mostrati nella griglia centrale.
  • Lasciare il valore proposto per “Attach as” e selezionare come owner del database “sa”.
  • Andare nella sezione Security > Logins dell’Enterprise Manager e creare un nuovo account di accesso.
  • Scegliere un nome diverso dalla login del vecchio server (tipicamente “ASM_USER”), selezionare l’autenticazione di tipo SQL, inserire una password, selezionare dall’elenco dei database il database di ASM, premere “OK” e confermare la password appena inserita.
  • Può darsi che compaia un messaggio di errore sull’impossibilità da parte del nuovo account di accedere al database selezionato e che chiede se si vuole continuare; premere “Sì”. Editare le proprietà dell’account appena creato, andare nel tab accesso database e selezionare dall’elenco il database di ASM.
  • Selezionare nuovamente la cartella “Database”, poi il database di ASM e quindi la voce “Users” editare l’account appena creato e flaggare la voce “db_owner”.SM_DB.mdf (dati ASM).

Se si è utilizzato il backup del database:

  • Creare una login per l’utente ASM_USER.
  • Creare un database ASM_DB vuoto assegnando l’utente ASM_USER come owner.
  • Effettuare il restore del database ASM_DB.
  • Allineare i SID con la stored procedure sp_change_users_logine si è installato  ASM+MSDE con express setup, la cartella “Data” si trova in c:program filesMSDEMSSQL$ASMData.
MySQL

Nel caso di backup, utilizzare l’amministrazione di MySQL per effettuare il restore del database. Qualora con il restore su MySQL non venga ricreato l’utente, è necessario ricreare l’utente di accesso al database manualmente.
Nel caso di dump, ripristinare il database dai file di dump.


Passo 5 – Modificare il DNS ODBC

Il motore di ASM si avvale di una connessione ODBC Data Source Name per accedere al database.
I parametri della connessione ODBC sono specificati nel file /engine/engine.ini (asmd.ini nelle versioni precedenti la 4),  nella sezione ODBC:

 

[odbc]
source=
user=
pass=

La password sita nel file engine.ini può essere criptata usando il programma toolASMCustSupport.exe dalla linea di comando.
Esempio:

c:> ASMCustSupport CRYPT achab
endecoded string (len=28): DEABF60B0C48D10C8F60AFDE

Dopo la modifica di engine.ini, è necessario modificare anche la connessione ODBC usando l’ODBC management tool che si trova nel Pannello di controllo (programmi di amministrazione).

Attenzione: ASM è un’applicazione a 32 bit, anche se è installata su una macchina con sistema operativo a 64 bit. Occorre pertanto creare un’ODBC a 32 bit comunque, anche su una macchina a 64 bit. Il gestore ODB a 32 bit, su una macchina a 64 bit può essere avviato facendo doppio click sul file C:WindowsSysWow64ODBCad32.exe.


Passo 6 – Modificare il file di accesso per l’interfaccia Web

SQL Server/MSDE

Versioni < 4.0


L’applicazione web di ASM utilizza un file “config” differente per accedere al database. Questo file, /database/asm.cfg, può essere ricreato usando il programma  configTool.exe
Procedura:
  • Rinominare “asm.cfg” in “asm.cfg.old”.
  • Aprire una sessione dos.
  • Lanciare configTool.exe /database/asm.cfg.
Apparirà a video un pop-up.
  • Selezionare “Microsoft OLE DB Provider for SQL Server” nel Tab “Provider”, quindi premere “Next”.
  • Selezionare (o digitare) il nome del Server SQL (quello di destinazione).
  • Specificare username e password (gli stessi del passo 5) e assicurarsi di aver selezionato la casella “save password”.
  • Selezionare il proprio database nel menu e provare la connessione.
  • Se la connessione ha successo premere “Ok”, altrimenti verificare i dati inseriti.
Versioni 4 o superiori
 
La connessione della web admin di ASM4 al database è configurata nel file admin/connections.config
 
Questo file è crittato per evitare di esporre la password di connessione.

Il file può essere decrittato solo sulla medesima macchina su cui è stato crittato ed avendo accesso alla utility aspnet_regiis.exe presente nella cartella di installazione del framework .NET (di default C:WINDOWSMicrosoft.NETFrameworkv4.0.30319) (E' compito dell'amministratore di sistema (di Windows) limitare l'accesso a aspnet_regiis (consentendolo al setup di ASM ovviamente)).
 
Un esempio di file di configurazione connections.config non crittato è il seguente
 
  Source=.SQLEXPRESS2008R2;Initial Catalog=ASM_DB_19810;Integrated Security=false;user id=ASM_USER;password=ASM_USER;MultipleActiveResultSets=True;Application Name=EntityFramework"" em="" name="ASXEntities">
providerName="System.Data.EntityClient" />
 
 
I parametri "Data Source", "Initial Catalog", "user id" e "password" devono rispecchiare la configurazione del database usato da ASM.
 
Il cript, effettuato dal setup, avviene chiamando da linea di comando:
 
C:WINDOWSMicrosoft.NETFrameworkv4.0.30319>aspnet_regiis -pef "connectionStrings" "C:ProgrammiBugFreeArchive Server for MDaemonadmin"
 
dove è importante rispettare il case di "connectionStrings" e come ultimo parametro occorre specificare il percorso assoluto della cartella admin.
 
Per decrittare, si lancia da linea di comando:
 
C:WINDOWSMicrosoft.NETFrameworkv4.0.30319>aspnet_regiis -pdf "connectionStrings" "C:ProgrammiBugFreeArchive Server for MDaemonadmin"
 
dove è importante rispettare il case di "connectionStrings" e come ultimo parametro occorre specificare il percorso assoluto della cartella admin.
 
ATTENZIONE: usare un prompt dei comandi lanciato con un utente amministrativo.
 

MySQL

L’applicazione web di ASM utilizza un file “config” differente per accedere al database.
Questo file, /database/asm.ini è un file di testo in chiaro e si può modificare direttamente cambiando i dati di accesso con quelli relativi alla nuova macchina. 


Passo 7 – Aggiornare il registro

ASM salva nel registro alcune informazioni sull’installazione che occorre modificare per mantenere un’installazione pulita (e per lanciare l’aggiornamento senza problemi).

Le chiavi del registro che devono essere aggiornate relativamente al database si trovano in:

Sistemi a 32 bit:

 
HKLMSoftwareAchabBugfreeArchive Server for MDaemonDatabase
o
HKLMSoftwareAchabArchive Server for MDaemonDatabase

Sistemi a 64 bit:
 
HKLMSoftwareSySWow64BugfreArchive Server for MDaemonDatabase

Nota: dbtype = SQL Server anche per MSDE (questo parametro è per usi futuri).

“Hostname” è il nome dell’istanza (es. macchinaasm).
“Password” è criptata come nel DNS ODBC (vedere il passo 5).


Passo 8 – Riavviare ASM

Avviare il motore di ASM (usando Start->Programmi->Archive Server for MDaemon->Start engine o Pannello di controllo->Servizi) e far ripartire il web server.

Verificare che il sistema funzioni correttamente.
  

Spostamento di ASM

Spostamento della sola installazione di ASM e del repository. Il database non viene spostato da dove si trova.

Fare un backup della cartella di ASM e di quella del repository.
Quindi:

  • Migrare MDaemon sul nuovo server.
  • Installare ASM sul nuovo server selezionando, nella schermata di scelta del database, il tipo di database usato in precedenza e poi, inserendo le credenziali che servono per connettersi al database. 
  • Usare la stessa cartella di installazione. 
  • Fermare il servizio ASMd.exe sul nuovo server.

 

Note

Note per gli utenti MSDE

Se SQL Server Enterprise Manager non è disponibile (per esempio se l’utente usa solo MSDE), connessione e disconnessione (attach-detach) possono essere effettuate avvalendosi di un programma gratuito scaricabile dal link:
http://www.asql.biz/DbaMgr/DownLoad2k.shtm

o direttamente dalla linea di comando osql, vedere anche:
http://databasejournal.com/features/mssql/article.php/2224361

Attenzione 

Dopo aver fatto il restore del database sulla nuova macchina, può essere necessario lanciare da query analyzer la stored procedure “sp_change_users_login ‘update_one’, ‘’, ‘’”  per allineare i security ID dei vari oggetti.

New call-to-action