Copie el host de Linux en un nuevo hardware

13

Necesito hacer migraciones de host a host desde hardware antiguo a hardware nuevo. Específicamente, de HP BL460G7 a HP BL460G8. Tanto el servidor antiguo como el nuevo tienen unidades de 2 x 600 GB de 2.5 "y están configurados para RAID1. Puedo permitir 30 minutos de tiempo de inactividad por servidor.

Hay cuatro servidores para migrar, el más pequeño tiene un total de 120 GB asignados en volúmenes lógicos y el más grande tiene 510 GB asignados. Tres servidores ejecutan RHEL5 y uno ejecuta RHEL6.

He estado investigando cómo hacer esto dentro del período de tiempo determinado y sin destruir el sistema operativo y los datos críticos.

Mi único pensamiento es este:

  • eliminar una unidad del servidor anterior (el servidor está encendido)
  • eliminar ambas unidades del nuevo servidor (el servidor está apagado)
  • retire la unidad G7 del carrito y póngala a un lado
  • retire la unidad G8 del carrito e instálela en el carrito G7
  • instale la unidad G8 en el caddie G7 en el servidor antiguo
  • espere a que el controlador RAID reconstruya la matriz RAID1
  • cuando termine el apagado del servidor antiguo
  • eliminar la unidad G8 en el carrito G7
  • Instale la unidad G8 en el carrito G8 e insértela en G8 (unidad única instalada)
  • servidor de arranque G8
  • espere a que el SO arranque
  • cuando el sistema operativo se ha iniciado, inserte la unidad restante
  • espere a que se reconstruya la matriz RAID

¿Suena esto cuerdo?

EDITAR: Los RHEL5 son RHEL5.10 y el RHEL6 es RHEL6.6

También debería haber notado que dos de los sistemas son parte de un clúster caliente de cuatro nodos que realiza una replicación casi constante de los "eventos" de la aplicación (es parte de un sistema de infraestructura crítica). Tenemos copias de seguridad pero solo las usamos en caso de falla total del sistema.

Las pruebas previas han mostrado un "dd" máximo entre sistemas de alrededor de 50 MBps, que es demasiado lento.

EDITAR: iba a confiar en kudzu para recoger y lidiar con los cambios de hardware.

usuario1174838
fuente
¿Qué versiones específicas de RHEL5 y RHEL6 se están utilizando?
ewwhite
Respondido en edit
user1174838
No intente colocar los discos G7 dentro del servidor Gen8: hay más cambios que solo la bandeja física.
Chopper3
La degradación intencional de un RAID con datos importantes no parece un buen plan.
kasperd

Respuestas:

18

Cabe señalar que puede haber otros pasos necesarios, dependiendo de la distribución. En particular, los controladores (gracias por señalar eso @ewwhite).

  1. Arranque el nuevo servidor desde livecd / usb.
  2. Prepare particiones y bloques de arranque en las nuevas unidades.
    • Dependiendo de la configuración, esto podría hacerse copiando MBR / bootblock.
  3. Crea los sistemas de archivos.
  4. Haga una rsync del servidor antiguo al nuevo.
    • Es posible que desee volver a hacerlo para ver cuánto tiempo durará el seguimiento rsync; si es inferior a 30 minutos, continúe.
    • Este es el momento, en realidad puede intentarlo, si se inicia un nuevo sistema. Solo tenga cuidado de no causar ningún conflicto de IP (u otro).
  5. Apague todos los servicios que escribirían en el sistema de archivos
    • Preferiblemente reiniciar a livecd / usb
  6. Rsync datos del servidor antiguo a nuevo nuevamente
  7. Reinicia el nuevo servidor y úsalo

Al hacerlo de esta manera, todavía tiene el servidor original intacto, por lo que si algo sale mal, hay un camino fácil de regreso. Pero requiere algo de conocimiento (grub / rsync / particiones), por lo que sugiero hacer algunos trabajos de preparación y pruebas por adelantado, antes de hacerlo en vivo.

zorro
fuente
En realidad, existen diferencias de controladores entre las dos plataformas, por lo que es importante saber qué versiones menores de RHEL está usando.
ewwhite
Ah sí, no debería responder nada relacionado con las distribuciones empresariales ... perdón por eso ...
Fox
@Fox: no eliminado por la demanda popular. Tu respuesta es buena.
Sven
1
@ user1174838 que no debería ser un obstáculo ... el único problema que vería es una gran cantidad de archivos pequeños.
Fox
1
Y no se olvide de esta maravillosa solución, que el doble rsync minimiza el tiempo de inactividad del servidor: debido a que la mayoría de los datos se transfieren en el servidor en ejecución, el segundo rsync (en el servidor ahora fuera de servicio) copia solo el últimas diferencias
peterh - Restablecer Monica
6

Dos cosas:

  • Construiría datos nuevos y rsync.
  • Su asignación / ventana de tiempo de inactividad parece ser demasiado corta. 30 minutos pueden funcionar en situaciones específicas, pero ¿no debería USTED dictar el requisito realista de tiempo de inactividad basado en lo que se necesita para lograr el trabajo?

En función de los datos contenidos en cada servidor, la cantidad de datos batir , y su esquema de aprovisionamiento, puede tener sentido para instalar el sistema operativo necesario en el nuevo Gen8 ProLiant y sincronizar la configuración y otras partes de datos en un punto donde se puede detener la actividad del datos.

Tal vez haga una copia inicial y deduzca su requisito de tiempo de inactividad a partir de la cantidad de tiempo que lleva recoger los cambios del archivo en los rsyncs posteriores. Si necesita acelerar el proceso de transferencia o tener muchos archivos pequeños, existen técnicas que pueden ayudarlo .

Hago este tipo de transiciones a menudo. Con instalaciones similares de Linux, rara vez necesita más que una lista de paquetes precisa (fácilmente obtenible a través de Yum o RPM), los directorios de configuración (por ejemplo /etc) y sus particiones de datos. Si aún no tiene un sistema de aprovisionamiento kickstart, puede aprovechar el /root/anaconda-ks.cfgarchivo para tener una idea de cómo se creó el sistema G7.

Para responder a su pregunta sobre simplemente mover los discos, según las versiones específicas de RHEL que mencionó, esto es absolutamente posible. Puede mover los discos / caddies y los metadatos de HP Smart Array son compatibles entre los controladores P410 y P420 que pueden estar en sus sistemas. Sin embargo, no haría esto sin actualizar completamente el firmware de las unidades y los componentes del nuevo sistema primero.

ewwhite
fuente
Algunos comentarios realmente buenos en este hilo, gracias a todos. Voy a volver al primer ministro y solicitar una ventana de cambio más grande.
user1174838
1

Si su versión anterior del sistema operativo es capaz de manejar el nuevo hardware (principalmente controlador RAID), puede probar CloneZilla .

Para verificar si es posible pasar de un hardware a otro, puede pasar todos los datos del servidor antiguo al nuevo haciendo algunos trucos con dd.

Inicie el nuevo servidor con una distribución en vivo como SystemRescueCD , configure con una dirección IP y un comando dd como este:

nc -l 8000 | dd of=/dev/sda

En el servidor actual realice

dd if=/dev/sda | nc ${newserverip} 8000

Esto hará una copia cruda de su servidor / dev / sda en el nuevo servidor / dev / sda. De esta manera, puede realizar una prueba sin tiempo de inactividad en su servidor original y asumir riesgos casi nulos.

alphamikevictor
fuente
2
Si deja procesos en ejecución en el servidor anterior que escriben en archivos en el disco antiguo, especialmente en servidores de bases de datos y similares, hay muchas posibilidades de que esto lo deje con un sistema de archivos corrupto (copiado) y datos corruptos en sus archivos (copiados). Nunca haga un disco sin formato a menos que esté montado o montado como solo lectura.
Guntram Blohm apoya a Monica
@GuntramBlohm Lo sé, es solo para verificar si puede clonar el servidor antiguo a nuevo, sin tiempo de inactividad. Una vez que haya probado, puede clonar el servidor, por supuesto apagándolo o deteniendo los servicios clave.
alphamikevictor
CloneZilla y las técnicas relacionadas tardarán más de 30 minutos en copiar los datos entre sistemas.
user1174838
0

El gerente del proyecto ha rechazado mi solicitud de una ventana de interrupción mayor.

El procedimiento propuesto descrito en la pregunta funcionó bien en las pruebas. El tiempo de inactividad fue inferior a 20 minutos. Utilicé la utilidad hpacucli para monitorear el progreso en el G7 y luego en el Gen8, fue muy útil para esto.

Todavía tengo que hacer esto con ira, pero como se ha dicho, ha funcionado bien en las pruebas de RHEL 5.10 en BL460G7 a BL460 Gen8.

No actualicé el firmware.

La resincronización RAID1 inicial en el G7 tomó un poco más de una hora. La resincronización en el Gen8 tomó menos de 50 minutos. Esto me preocupó pero no he podido encontrar ningún problema.

Gracias de nuevo por todos los comentarios y sugerencias útiles.

usuario1174838
fuente