Mover un servidor en producción sin romperlo
La mayoría de las migraciones fallan en la transición, no en la copia. Copiar bytes es un problema resuelto. Lo que sigue es cómo se hace el resto, qué no cuesta nada y dónde nos detenemos.
La ventana de migración gratuita
Una migración por instancia dentro de los primeros 14 días. Después, es tiempo de ingeniero facturable, presupuestado antes de empezar.
Cada cuenta nueva recibe ayuda de migración sin cargo durante 14 días desde la primera factura pagada. Eso cubre tantas instancias como haya pedido, hasta 2 horas de tiempo de ingeniero cada una, que en la práctica es mucho más de lo que casi nadie usa.
La ventana existe porque la alternativa es que usted pierda un fin de semana y concluya que cambiar de proveedor no merece la pena. Hacerlo bien nos cuesta menos que perder la cuenta en el segundo mes.
Los parques de servidores grandes reciben un plan en lugar de un cronómetro. Díganos cuántas instancias, qué ejecutan y dónde están ahora, y le enviaremos una secuencia escrita con un punto de reversión en cada paso.
El reembolso de 7 días corre en paralelo. Migre el día uno, decida el día seis que la latencia no era lo que necesitaba, y la moneda vuelve al activo con el que pagó.
Lo que haremos y lo que no haremos
El acceso funciona en un solo sentido. Usted añade una clave que generamos para el trabajo a la máquina de origen, nosotros la usamos y la elimina una vez completado el corte. La clave es específica de cada migración y nunca sale de la estación de trabajo del operador. Cuando su proveedor actual no lo permita, una copia a nivel de bloque enviada desde su lado a un destino en espera es el plan alternativo.
No necesitamos la contraseña de su panel de control en el proveedor anterior y la rechazaremos si se ofrece. Nadie aquí quiere la capacidad de actuar como usted en otro lugar, y un ingeniero que posee una credencial de cliente es un pasivo sin ventaja alguna.
Haremos
Copiar sistemas de archivos o dispositivos de bloque completos, preparar la instancia de destino, ajustar el kernel y los discos receptores, ejecutar las sincronizaciones delta, acompañarle en la transición y mantener el ticket hasta que el DNS se haya asentado.
No haremos
Depurar su aplicación, reescribir su configuración para una distribución más nueva, mover una licencia ligada al hardware de otro, ni aceptar una contraseña. El acceso se realiza mediante una clave temporal que usted revoca después.
Preferimos no hacer
Mover una base de datos copiando sus archivos mientras está en ejecución. Eso funciona hasta que no funciona, y el fallo aparece semanas después como una corrupción silenciosa. Use una réplica y una promoción en su lugar.
Nivel de archivos o nivel de bloques
Dos formas de mover los bytes. La correcta depende principalmente de si desea que el mismo sistema operativo lo espere al otro lado.
| Consideración | Nivel de archivos, rsync | Nivel de bloques, dd sobre SSH |
|---|---|---|
| Qué se mueve | Archivos, permisos, atributos extendidos | Todo el dispositivo, byte a byte |
| Tiempo de inactividad | Minutos, una sincronización delta final | Horas o una ventana programada |
| Con qué arranca | Una imagen actual que usted elija | Exactamente lo que tenía, incluida la basura |
| Cambiar de distribución | Perfectamente, ese es el objetivo | No es posible |
| Riesgo del gestor de arranque | Ninguno, el destino ya arranca | Real, y la consola es como lo soluciona |
| Discos dispersos grandes | Se maneja bien | Copia espacio vacío a menos que lo planifique |
| Cuándo elegirlo | Casi siempre | Máquinas heredadas que nadie se atreve a reconstruir |
Existe una tercera opción y a menudo es la más rápida: no migrar en absoluto. Levante el servicio limpio desde su gestión de configuración, restaure un volcado de base de datos y deseche la máquina antigua. Donde su infraestructura sea reproducible, esto es un trabajo de dos horas sin ningún paso de copia.
La secuencia
Siete pasos, en este orden. Omitir el quinto es como se termina sirviendo desde dos máquinas a la vez y notándolo solo el lunes.
- 01
Pida el destino y deje que se estabilice
Del mismo tamaño o mayor, en la ciudad que realmente quiera. Ejecute su monitoreo contra él mientras esté vacío durante un día y confirme que la latencia y las cifras de disco coincidan con lo que afirmaba la página del plan.
- 02
Baje el TTL primero
Reduzca el registro a 300 segundos al menos 48 horas antes del corte, para que el valor antiguo haya expirado en todas partes cuando necesite cambiarlo. Este paso no sirve de nada si ocurre tarde.
- 03
Haga la copia en frío
El grueso de los datos, movido mientras todo sigue activo en la máquina antigua. Tarda lo que tarde y nada lo espera.
- 04
Levante los servicios en el destino
Mismas versiones, misma configuración, sin recibir tráfico aún. Las bases de datos se restauran aquí, desde un volcado en lugar de una copia de archivos.
- 05
Pruebe el destino por dirección
Anule el nombre de host localmente con una entrada de hosts y use el sitio correctamente durante una hora. Inicie sesión, escriba algo, suba algo, envíe un correo si envía correos.
- 06
Congele, sincronización delta final, cambio
Detenga las escrituras en el origen, ejecute la última sincronización, verifique una suma de comprobación en algo que importe, y luego cambie el registro. El periodo de congelación suele ser de menos de cinco minutos.
- 07
Conserve el origen durante una semana
Encendido, sin servir nada, y aún así pagado. Es el seguro más barato que comprarás jamás, y lo único que olvidaste copiar siempre sale a la luz al cuarto día.
DNS, y pruebas antes de comprometerte
Un corte es un cambio de DNS, y un cambio de DNS nunca es instantáneo diga lo que diga el TTL. Algunos resolvers redondean, algunas redes corporativas guardan en caché durante un día, y un pequeño número de clientes fija una dirección durante la vida de un proceso. Planifica servir desde ambas máquinas durante 24 horas.
Ejecutar ambas es más fácil de lo que parece cuando la aplicación es sin estado. Cuando no lo es, haz que la máquina antigua sea de solo lectura en el momento del cambio en lugar de apagarla, para que un cliente obsoleto obtenga un fallo evidente en lugar de escribir en una base de datos que nadie volverá a leer.
Antes de tocar el DNS
Una entrada de hosts que apunte a la nueva dirección es la única prueba honesta que existe. Certificados, redirecciones, URLs absolutas y direcciones codificadas se rompen aquí, delante de ti, en lugar de delante de tus usuarios.
Certificados primero
Emite en el destino antes del corte usando un desafío DNS, para que algo válido ya esté en su lugar cuando llegue la primera petición. Un desafío HTTP no puede funcionar hasta que el tráfico ya se haya movido, lo cual es demasiado tarde.
El correo es la excepción
La reputación no viaja con los datos. Una dirección nueva envía desde cero historial, así que caliéntala durante dos semanas, mantén SPF, DKIM y DMARC válidos en ambas máquinas durante la superposición, y espera que la primera semana sea lenta.
La reversión es un TTL, no una reconstrucción
Mientras el origen esté vivo y el TTL siga bajo, deshacer el cambio lleva un solo cambio de registro. Esa es la razón por la que los pasos dos y siete no son opcionales.
Preguntas sobre la migración
Sí, presupuestado por escrito antes de que comience cualquier cosa, y generalmente una cifra modesta. Nada comienza hasta que hayas aceptado el número.
Sí, a nivel de bloque, dentro de una imagen con licencia por 22 € al mes. La reactivación ocurre contra el nuevo hardware y ocasionalmente necesita un reinicio para asentarse.
Entonces no podemos ayudar directamente, y tú tampoco puedes. Exporta lo que el panel te dé, reconstruye sobre una imagen limpia, y trata todo el episodio como una lección sobre paneles que poseen la máquina.
Normalmente menos de dos horas en un puerto de 10 Gbit/s, a menudo bastante menos. La restricción casi siempre es la subida del antiguo proveedor más que nuestra bajada.
Sí, y es más fácil porque ambos extremos son nuestros. Snapshot, restaurar en la nueva ciudad, probar, cambiar. Mover una instancia entre nuestras propias ubicaciones no tiene cargo.
Cambias el registro de vuelta, porque el origen sigue corriendo y el TTL sigue siendo de 300 segundos. Ese es el plan más que una contingencia, y es por eso que existe el último paso.
Cuéntanos qué estás moviendo
Número de instancias, velocidad del puerto del antiguo proveedor, datos totales, y si algo es una base de datos. Un plan por escrito vuelve el mismo día laborable, y si la respuesta honesta es reconstruir en lugar de copiar, eso es lo que dirá.