24 votos

automatizado de linux implementación de configuración y gestión a pequeña escala - ¿merece la pena?

Estoy a punto de implementar ~25 servidores con Debian. Las máquinas tienen diferentes funciones: servidores web, Java appservers, proxies, MySQL cajas. El medio ambiente probablemente no crecer mucho en el futuro - tal vez 2-5 más servidores en los próximos 2 años.

Probablemente voy a usar fai para la instalación del sistema, pero no estoy seguro de si vale la pena agregar también cfengine o títere centralizado de gestión de la configuración para tales pequeña escala.

¿La gestión de la configuración sentido para un entorno de este tamaño?

29voto

David Pashley Puntos 17011

Me gustaría recomendar el uso de una mezcla de Debian pre-siembra, donde se dan la instalación de un archivo de texto que responde a todas las preguntas que se le pregunte, y de Puppet.

La razón de utilizar la preconfiguración, en lugar de la FAI es que usted no tiene que configurar una imagen de primer y tratar de mantenerse a la fecha. Usted va a terminar con una instalación muy similar a lo que usted tendría si usted hizo todo a mano. Cuando se llega a instalar una nueva versión, usted tendrá que actualizar un archivo de configuración con los cambios, en lugar de tener que reconstruir una nueva imagen.

Una gestión de la configuración de la herramienta es particularmente útil cuando se tienen varios servidores que realizan la misma función y usted quiere que ellos sean idénticos, por ejemplo, servidor de clúster. Sin embargo, también puede ser útil para la configuración de la instalación base de todos los servidores. Usted va a querer instalar particular paquetes en todos los servidores, como ntpd y un MTA. Vas a querer cambiar un archivo de configuración en todos los servidores. Un beneficio adicional es que usted puede mantener su manifiesta en algo así como la subversión y mantener un registro de lo que ha cambiado en un servidor, y quién lo hizo y por qué. Gestión de la configuración también puede ser un protector de la vida en el caso de un fallo en el servidor y que necesita para reconstruir rápidamente. Instalar el sistema operativo (el uso de la FAI o preconfiguración), instalar de títeres y de lejos se va, construido de nuevo, exactamente como estaba antes. Obviamente, usted necesita para mantener copias de seguridad de datos.

Gestión de la configuración requiere de dedicación para asegurarse de que sólo se hacen los cambios de uso de la misma y tendrá un costo inicial de configuración de las cosas, pero una vez que usted tiene un trabajo, no te arrepentirás.

Puppet es la más moderna de las dos herramientas que hemos mencionado. Yo realmente lo recomiendo a nadie. La configuración es un lenguaje declarativo y es fácil de construir hasta el nivel superior de las construcciones. También hay una comunidad muy grande a su alrededor y que siempre hay gente bienvenidos para ayudar en la lista de correo o el canal de IRC.

10voto

nixgeek Puntos 624

Me gustaría recomendar CFengine por cualquier medio, que es más de 2-3 cajas y donde usted tiene algún concepto de 'plantillas' o servidores de la realización de funciones específicas.

Por qué? Simplemente poner reduce errores, tienen una herramienta que garantizará archivo/directorio permisos son correctos en todas partes en el medio ambiente y cuando se llega a rodar más servidores, la herramienta controla absolutamente todo y nunca hace ningún error.

Contraste incluso con un hábil Administrador del Sistema el despliegue de un servidor web al final de un periodo de doce cambio de hora cuando las cosas ya iban mal.... Es probable que recordar que poco desagradable archivo de configuración que debe ir en /etc/random/ubicación/foo/bar, de lo contrario la aplicación silenciosamente, no hacer algo importante, como facturar a los clientes? :)

Herramientas como CFengine son también una gran manera de llevar a cabo todo el entorno actualizaciones de seguridad. La caída de una configuración de Nagios (NRPE) en todas las cajas también se instalan fácilmente. Si usted está tratando con cinco cajas o cinco centenares de cuadros que usted va a ahorrar tiempo con CFengine.

Es probablemente vale la pena señalar que mi entorno es un poco más grande, sin embargo también he implementado CFengine para entornos más pequeños que se nota, por lo tanto la recomendación!

Probablemente su siguiente pregunta será CFengine vs Puppet? Eso es más difícil tomar la decisión, y siempre he ido CFengine debido a (en los primeros días) algunos culpa de la inmadurez de la Marioneta, en particular alrededor de registro de errores.... estos días no estoy muy seguro de tener una play 'n ver? Mirando hacia atrás a mis problemas específicos con los Puppet, eran certificado SSL relacionados, dolorosamente aún recuerdo el tiempo que pasé 3 horas el diagnóstico de servidor <-> cliente de problemas de conectividad en irc.freenode.net/#puppet con algunos fuertes RTFM y RTFS sólo para encontrar un error, no se registran, y que Lucas dijo, "Ah, eso es muy difícil de reparar" y nunca lo hizo. :(

5voto

Jauder Ho Puntos 3172

En adición a cfengine y de títeres, también hay un chef. Me gustaría sugerir fuertemente el uso de una de estas herramientas, como las cosas siempre va a crecer en direcciones inesperadas. Esto ayuda a gestionar las cosas en una ubicación centralizada.

Lo importante a reconocer es que las posibilidades son que usted no conseguirá todo, pero si al menos el 90% no, es un comienzo. Además, es divertido y te harán la vida más fácil en el largo plazo. Por último, es una buena habilidad para tener futuro.

4voto

Thomas Lange Puntos 41

FAI old scool? NO! La FAI es sólida como una roca y tiene más de 10 años de experiencias. Eche un vistazo a la larga lista de FAI usuarios en http://fai-project.org/reports

3voto

ThorstenS Puntos 2470

Estoy usando cfengine desde hace 5 años para instalar debian (de woody hasta lenny hoy en día). Con etch voy a construir un custom debian-installer. Gracias a preseed una sola pregunta: "¿cuál es el nombre de host". Después de este cfengine configura el servidor dns (+dhcp con dnssec, samba, ntpd, predeterminado (Samba) usuarios y contraseñas, ssh, openvpn, apache vHosts, de copia de seguridad con rsnapshot en LVM, personalizada webminmodules etc).

Incluso cuando instalo un solo servidor que uso cfengine-scripts de mi caja de herramientas como esta:

control:

  Repository  = ( $(CFREPO) )
  IfElapsed = ( 0 )
  Syslog = ( on )
  actionsequence = ( editfiles shellcommands )
  CPTYPE = ( sum )

editfiles:
  { /etc/sysctl.conf
    # don't spam on tty:
    BeginGroupIfNoSuchLine "kernel.printk.*=.*2 4 1 7"
      DeleteLinesMatching "^kernel.printk.*=.*"
      Append "kernel/printk=2 4 1 7"
    EndGroup
    # no E(xplicit?) C(ongestion) N(otification) 
    BeginGroupIfNoSuchLine "net.ipv4.tcp_ecn.*=.*0"
      DeleteLinesMatching "^net.ipv4.tcp_ecn.*=.*"
      Append "net/ipv4/tcp_ecn=0"
    EndGroup
    BeginGroupIfNoSuchLine "net.ipv4.ip_forward.*=.*1"
      DeleteLinesMatching "^net.ipv4.ip_forward.*=.*"
      Append "net/ipv4/ip_forward=1"
    EndGroup
    DefineClasses "configchange_sysctl"
  }

shellcommands:
  configchange_sysctl::
    "/sbin/sysctl -p /etc/sysctl.conf"

# vim: set ts=2:

Me gusta cfengine, porque el cf2-scripts son un poco legible.

por lo que su definitivamente vale la pena trabajar con herramientas para la configuración automática de administración.

/thorsten

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: