¿Cuál es la mejor práctica de la implementación masiva de sistemas Linux?

9

Si está intentando instalar 500 sistemas Linux a través de la instalación de red al mismo tiempo, el cuello de botella sería el NFS / HTTP / FTP o cualquier servidor que contenga los archivos que necesita para la instalación.

En mi opinión, esto solo se puede resolver agregando más servidores de instalación y luego redondeándolos.

¿Hay alguna mejor solución para este problema? Algo así como "Instalación de P2P Linux"?

ACTUALIZACIÓN: Necesito describir mi situación más específicamente. Actualmente estoy implementando RHEL usando kickstart + NFS. Cuando trato de implementar 500 RHEL al mismo tiempo, el servidor NFS tendrá un tráfico enorme y ralentizará cada proceso de instalación. Configurar más servidores NFS es una solución, pero no creo que sea buena.

yegle
fuente
¿Qué quieres hacer? Instalar el sistema base, administrar el sistema después? implementar configuraciones o aplicaciones?
shakalandy
@shakalandy Estoy desplegando RHEL usando kickstart + NFS. Cuando trato de implementar 500 RHEL al mismo tiempo, el servidor NFS tendrá un tráfico enorme y ralentizará cada proceso de instalación. Configurar más servidores NFS es una solución, pero no creo que sea buena.
yegle

Respuestas:

7

Aquí suele aparecer la imagen de multidifusión. Algo como Clonezilla o ghost admite el envío de la multidifusión de datos que le permitiría enviar la imagen a los 500 sistemas a la vez, básicamente a la misma velocidad que enviar la imagen a 1 sistema.

dgibbons
fuente
3

El instalador de Avalanche de la distribución de clúster rocks linux, está basado en bittorrent y se escala muy bien. También te lleva del arranque PXE al sistema en ejecución. Aunque, estás atado al uso de rocas (basado en CentOS) y a hacer las cosas a la manera de las rocas.

Kjetil Joergensen
fuente
2

SystemImager también puede usar bit-torrent para una implementación masiva más rápida.

Ahora no
fuente
1

No usaría la multidifusión porque esto complica las cosas. Primero, intente minimizar el tráfico NFS, eso significa obtener los paquetes que necesita instalar a través de HTTP. Si su servidor web para el repositorio de paquetes se sobrecarga, use dos de ellos y distribuya la carga asignando diferentes servidores a cada cliente (por ejemplo, dirección IP módulo 2).

Su servidor NFS puede ser más rápido si se inician más demonios nfsd. A menudo solo se inician 8 de ellos.

Acabo de medir el tráfico de una instalación de Debian (a través de PXE, NFS, HTTP) usando FAI. Al instalar 4,2 GB de software, se enviaron 1,3 GB de HTTP (todos los paquetes) y 100 MB de tráfico NFS (nfsroot durante la instalación) a través de la red. Esto fue para un cliente de instalación. Así que supongo que reducir el tráfico NFS y distribuir el tráfico HTTP ayudará mucho.

Una NIC de 10 GB en su servidor o varias NIC de enlace también ayudaría. Y, creo que no es necesario instalar toda la máquina al mismo tiempo, sino más en un corto período de tiempo.

Pero de todos modos, primero debes analizar cuál será tu cuello de botella. Por lo tanto, haga algunas pruebas en 20 máquinas, por ejemplo

Thomas Lange
fuente
0

No conozco una forma de usar bittorrent o multicast a menos que pueda cambiar a implementar una imagen en lugar de realizar instalaciones. En caso de que no lo sea, aquí hay una forma de abordar el problema.

Pensemos más de cerca sobre el cuello de botella. CPU no es el cuello de botella; NFS no requiere mucha potencia de procesamiento. El disco no es el cuello de botella; los archivos necesarios para instalar RHEL no son más que unos pocos gigabytes, por lo que deberían caber fácilmente en la RAM de su servidor NFS. El rendimiento de la red es definitivamente un cuello de botella; Suponiendo que un sistema que se instala solicitará un promedio de 50 megabits por segundo, necesitaría al menos 25 gigabits de ancho de banda para alimentar 500 instalaciones. Son muchas NIC, o algunas muy caras.

Esto no significa que no debas intentar mejorar el rendimiento lanzándole más hardware, dentro de lo razonable. Obtenga tantas NIC como sea posible en el servidor NFS y únalas. Si puede justificar el tiempo y el costo, configure más servidores NFS. Por supuesto, asegúrese de que sus servidores NFS estén bien ajustados .

Independientemente de si agrega hardware, vea si obtiene un aumento en el rendimiento al evitar la congestión de la red y equilibrar los picos y los mínimos en el rendimiento. Para hacer esto, divida las instalaciones en lotes. Realice una instalación única y grafique el rendimiento durante la instalación. Mire ese gráfico y determine cuántas instalaciones puede iniciar simultáneamente y cuándo son los momentos óptimos para comenzar más lotes.

Por ejemplo, supongamos que puede transferir 4 Gb / s desde los servidores NFS. Tal vez encuentre que una instalación copia 100Mb / s durante el primer minuto mientras se descarga el instalador, luego no copia datos durante un minuto mientras el instalador funciona como particionamiento, luego copia 50Mb / s durante tres minutos mientras el el instalador descarga y extrae paquetes. Sabiendo esto, puede calcular que puede iniciar 40 instalaciones, esperar un minuto, iniciar otras 40 instalaciones, esperar 5 minutos y luego repetir el proceso.

Sciurus
fuente
0

Con respecto al despliegue masivo de archivos, ya existe una solución traída por Twitter, basada en bittorent: Asesinato .

Si está hablando de instalar el sistema operativo en su servidor, obviamente no funcionará con esta solución.

Shadok
fuente