L'interruzione durante un trasloco non dipende quasi mai dalla copia. Dipende dall'aver cambiato il DNS prima che il nuovo server fosse pronto, e da un TTL che nessuno ha abbassato.
Una settimana prima: abbassi il TTL
Il TTL è per quanto tempo il mondo tiene in cache i suoi record DNS. A 86400 una modifica impiega un giorno per raggiungere tutti; a 300, cinque minuti. Lo abbassi un giorno prima: il valore vecchio deve scadere prima che al nuovo si creda.
yourdomain.com. 300 IN A 1.2.3.4
Costruisca il nuovo server mentre il vecchio serve
- Copi i file — rsync, due volte: una per il grosso, una al passaggio per ciò che è cambiato.
- Copi il database — Un dump adesso, un altro al passaggio.
- Punti la sua macchina al nuovo server — Modifichi il suo file hosts. Lei vede il sito nuovo; il mondo vede ancora quello vecchio.
- Provi tutto — Acceda, faccia un ordine, mandi una mail, carichi un file. Ogni percorso che tocca il disco o la posta.
# hosts file
1.2.3.4 yourdomain.com www.yourdomain.com
Il passaggio
- Metta il sito VECCHIO in sola lettura o in manutenzione — Minuti, non ore.
- Sincronizzi le ultime modifiche — Di nuovo rsync, e un dump fresco del database.
- Cambi il record DNS —
- Tenga d'occhio entrambi i server — Il vecchio continua a rispondere mentre le cache scadono. Non lo spenga.
Lasci il vecchio server acceso per almeno 48 ore. Certi resolver ignorano un TTL basso, e chi finisce su un server spento non vede proprio nulla.
I due che fregano tutti
- La posta. I record MX sono separati dal record A. Spostare il sito non sposta la posta, e dimenticarli perde messaggi in silenzio.
- I cron. Non viaggiano insieme ai file. Un backup che smette di girare non si nota finché non serve.
EGPHP migra per lei, gratis, con questi stessi controlli. Se lo fa da solo, scriva prima i passi del passaggio e segua la lista - non la sua memoria, a mezzanotte.
