Il 19/gen/2014 19:33 "Matteo Ragni" <nirvana1289@xxxxxxxxx> ha scritto: >> >> Giusto per fare i precisini-ini-ini perchè in pratica sappiamo tutti e tre che quello di Matteo non è il modo con cui si opera ma probabilmente è dettato dal solo fatto che nuovo e vecchio server sono lo stesso a meno di hd/usb. > > > Ovvero come bisognerebbe fare? (mi preparo alla 5 versione) > Installi il server da zero e trasferisci i servizi senza fare nessun dump delle partizioni. Dipende ovviamente da quanti e quali servizi hai a bordo e per il mysql io ho usato i due link che ho inviato. Anche perché ci sono casi in cui il dump delle partizioni non é una pratica ragionevole (macchine fisicamente non raggiungibili). In genere per clonare un server usi la lista dei pacchetti e le configurazioni in /etc a parte quelle di rete e rsa/ca specifiche dell'altro server. Poi seguono le parti proprietarie, dati a cominciare da quelli che cambiano solo per dev/sysop deployment e poi db. Ma é una regola del pollice e le eccezioni ci sono. Appena un servizio funziona con dati aggiornati fai la direzione del front end su quello invece che sul vecchio. Ad esempio il web funziona ma usa il db del server precedente (salvo casi in cui per questione di prestazioni il db e app devono comunicare via IPC). Un servizio alla volta migri oppure ci fai un cluster di due server. Ma non é sempre ragionevole fare cluster per migrare infatti anche nelle farm/cluster con molti server le persistenze le gestiscono a livello di load balancing e non di cluster. Anzi direi che per come si fanno oggi le applicazione la HA non é salvare la sessione: se un server cade gli utenti che si erano collegati a quello dovranno riautenticarsi, il cestino della spesa si può salvare nei cookie non con il session-id solamente ma anche una lista di codici merceologici di backup in caso di sessione persa. Ma questi sono dettagli ma giusto per dire che anche per come funziona un'applicazione si fa la migrazione:perdere il cestino é grave mentre la riautenticazione é tollerata. In realtà a parte aggiungere un server in una farm la migrazione richiede sempre un stop temporaneo del servizio, il bello é trovare il modo di ridurlo al minimo accettabile senza trovarsi con due db disallineati ma entrambi in production, per esempio. Nel tuo caso direi (fatta la debita preparazione) un mysqldump con opzione transazione pipe ssh mysql sull'altro server; mysql stop sul primo; application config reload per istruirla a usare il db sul nuovo server. Poi migri l'applicazione (che potrebbe essere anche solo applicazione stop sul primo; ssh applicazione start sul secondo). Tutto quanto salvo errori, omissioni e tastiera android del mobile permettendo. Così se ho scritto una boiata e non rileggo poi responsabilizzo il T9 e Lele si imbestialisce come un lupo mannaro ;-)