Si può clonare un server Citrix XenApp?

Quando è necessario erogare un’applicazione mediante una Farm XenApp bilanciata su molti server, la domanda se è possibile clonare un server applicativo viene spontanea e la risposta non è così immediata. Uno dei problemi con cui ci si scontra subito è il remapping del disco C: (normalmente su M:), il cui default viene ripristinato in caso di Sysprep, causando dopo il cloning una serie di errori (evidente quello sulla Citrix Gina) e in generale il mancato avvio del server.

Resta la domanda su quanto sia indispensabile cambiare il SID sulla macchina clonata, non tutti sono d’accordo, e con motivazioni convincenti (anche se pare indispensabile in caso di utilizzo di strumenti di software distribution come SCCM e di software updates come WSUS). E nel caso del provisioning dei desktop in cui tutti i SID sono uguali?

Esistono dei tools (ad esempio l’ottimo lavoro di Pierre Marmignon scaricabile da questo link) che consentono di farlo mediante procedure scriptate ed accessibili in modalità interattiva da interfaccia grafica, così come la stessa casa madre ha realizzato un XenAppPrep che serve allo scopo, tuttavia volevo codificare una procedura semplice per poter clonare una macchina XenApp avendo il massimo controllo possibile dei passaggi.

Grazie all’aiuto dell’amico Francesco, abbiamo messo a punto una procedura step by step che ci ha consentito di realizzare (abbastanza) rapidamente dei cloni di una macchina XenApp a partire da un template VMWare, Windows 2003 in dominio, ecco qui sotto la procedura che sfrutta l’utility Newsid.

Procedura step by step di cloning server virtuale VMWare con XenApp 4.5/5.0 per Windows Server 2003

1. Copiare l’utility NewSID sul server che sarà il modello da clonare

2. Spegnere il server virtuale

3. Clonare il server (meglio se su template)

4. Disabilitare la connessione di rete da vCenter

5. Accendere il server clonato

6. Effettuare il login e disabilitare i seguenti servizi

  • Citrix Health Monitoring and Recovery
  • Citrix Independent Management Architecture
  • Citrix MFCOM Service

7. Resettare la password dell’amministratore locale (o assicurarsi di conoscere quella attuale!!!)

8. Rimuovere server dal Dominio (senza riavviare)

9. Rimuovere la voce WSID nei seguenti file:

  • %PROGRAMFILES%\Citrix\Independent Management Architecture\MF20.dsn
  • %PROGRAMFILES%\Citrix\Independent Management Architecture\RadeOffline.dsn

10. Ripulire cartella %PROGRAMFILES%\Citrix\Citrix Resource Manager\SummaryFiles

11. Cancellare il file WFCName.ini in %SYSTEMDRIVE% (se presente)

12. Modificare il valore UID del file %PROGRAMFILES%\Citrix\System32\CtxSta.config (solitamente viene usato il MAC address, l’importante è inserire un valore non utilizzato da altri server)

13. Cancellare il valore

  • HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\IMA\ServerHost

14. Modificare la chiave del Registry:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\IMA\Logging\HostName con il nome del server

15. Eseguire i seguenti comandi:

  • dsmaint recreatelhc
  • dsmaint recreaterade

16. Cambiare l’IP Address del server (rimuovere il check nelle proprietà della NIC su Registra le connessioni nel DNS) e il nome della macchina (se non l’ha fatto Newsid)

17. Eliminare i profili locali degli utenti del dominio

18. Lanciare il NewSID per cambiare il SID della macchina (potrebbe non funzionare il cambio nome)

19. Riavviare il server

20. Riabilitare la connessione di rete da vCenter

21. Inserire il server in Dominio

22. Riconfigurare in avvio automatico i seguenti servizi:

  • Citrix Health Monitoring and Recovery
  • Citrix Independent Management Architecture
  • Citrix MFCOM Service

23. Riavviare il server

Alla partenza il server sarà già inserito nella farm. E’ una procedura un po’ macchinosa (comunque abbastanza rapida: per fare tutto ci vuole circa un’ora, sempre meglio che reinstallare la macchina da zero) ma serve anche per comprendere quali sono i passaggi da fare e quali sono i valori da modificare per poter fare il cloning di una macchina XenApp.

Spero possa essere utile a qualcuno, ciao alla prossima.

Harald


About this entry