Doy servicio a 40 terminales instalados fijos (con pantalla táctil, sin ratón ni teclado conectados) en un entorno. Todas estas 40 PC tienen instalada una versión reducida de Ubuntu y Chromium, ya que su único propósito es servir una aplicación web en modo de pantalla completa.
Ahora bien, aquí está el problema: hace unos días tuvimos un corte de energía, todos los terminales se apagaron. Cuando los reinicié todos nuevamente, ninguna pantalla táctil funcionó, no tengo idea de por qué. Sin embargo, reinstalar el sistema con una unidad flash CloneZilla resolvió el problema. Lo cual fue mucho trabajo: conectar el teclado y la unidad flash, cambiar la configuración del BIOS para arrancar desde la unidad flash, reinstalar los 40 terminales.
¿Cómo se puede hacer esto de una mejor manera? El escenario de mis sueños sería implementar un cambio (digamos que también me gustaría tener un pequeño servidor NodeJs en cada terminal o configurar el acceso SSH). Busqué ejecutar servidores PXE, pero aparentemente eso lleva MUCHO tiempo (la imagen de 800 MB x 40 tarda bastante en descargarse).
¿Alguien tiene una mejor solución sobre cómo se puede mantener mejor esta configuración?
Respuesta1
Bueno, PXE no tiene por qué ser un caso en el que descargues la imagen a cada servidor mientras arrancan. De hecho, el uso más tradicional (al menos cuando se trata de sistemas UNIX) era proporcionar arranque sin disco para sistemas que tenían su sistema de archivos raíz en NFS (o actualmente posiblemente algún otro sistema de archivos de red). No estoy muy seguro de qué tan bien podría funcionar para usted (cambia los problemas de tiempo de PXE por un único punto de falla en el servidor NFS), pero podría valer la pena echarle un vistazo. También puedes hacer cosas similares con iSCSI o NBD, aunque son un poco más complicados de configurar.
También podrías considerar la posibilidad de cargar cosas en cadena de manera similar a cómoSistemaRescueCDhace. Al iniciar en red, solo necesita cargar syslinux, el kernel y el disco ram inicial a través de TFTP, y luego puede cargar la imagen real del sistema a través de otro protocolo (por ejemplo, donde trabajo, lo hacemos a través de HTTP). TFTP es un protocolo terriblemente ineficiente (requiere que cada bloque se reconozca por separado antes de que se pueda enviar el siguiente bloque y utiliza un tamaño de bloque muy pequeño de forma predeterminada), por lo que hacer esto puede acelerar significativamente el proceso (tenemos la red donde trabajo). configurar para iniciar netboot SystemRescueCD y hacer que cargue la imagen del sistema a través de HTTP en lugar de TFTP, lo que reduce el tiempo de inicio de casi 15 minutos a aproximadamente 3 en los sistemas en los que lo probé cuando lo configuré).
Dado que está ejecutando algo basado en Ubuntu, podría considerar usar una combinación deMAASyjuju, ya que esa es la pila estándar para hacer este tipo de cosas con Ubuntu.
Sin embargo, más allá de todo eso, si puede asumir con seguridad que las interrupciones masivas como la que vio son raras (y por lo tanto no es probable que necesite reinstalar los 40 sistemas a la vez), puede buscar una herramienta de administración automatizada. No ayudaría con la instalación de sistemas, pero simplificaría enormemente la implementación de cambios en la configuración o paquetes en los sistemas. me gusta especialmenteansiblepara este tipo de cosas, en gran parte debido a lo simple que es configurarlo (literalmente solo necesita un inicio de sesión SSH sin contraseña y un único paquete de Python específico instalado en los sistemas que desea administrar) y el hecho de que utiliza un estado (principalmente ) lenguaje declarativo para manejar tareas que es realmente fácil de aprender.Marioneta,Cocinero, ySalson las otras tres opciones populares para este tipo de cosas, pero nunca he tenido ninguna experiencia personal con ellas más allá de una simple evaluación superficial, por lo que realmente no puedo dar ningún consejo sobre cuál podría ser mejor para su uso.
Respuesta2
También recomiendo el arranque PXE sin disco, pero como alternativa, puedes hacer una copia de seguridad de un sistema y luego restaurarlo a los 40 en esta situación. Eso sería más rápido que reinstalar 40 veces.