View previous topic :: View next topic |
Author |
Message |
LordAckward n00b
Joined: 29 Mar 2004 Posts: 69
|
Posted: Tue Mar 30, 2004 9:31 am Post subject: servidor central |
|
|
Aunque llevo mas de 1 año con gentoo de en mi equipo de casa, siempre he usado debian en mis servidores. Ahora estoy en un nuevo proyecto y portage y la facilidad de estar 'a la ultima' desnivela la balanza a favor de gentoo.
Mando este post, principalmente para recoger comentarios. Opiniones sobre posibles problemas, mejoras, etc...
El proyecto consistiria en N equipos distribuidos geograficamente, todos x86 pero no iguales, todos con el mismo conjunto de programas instalado (aunque variando sus configuraciones). Estos equipos irian sobre gentoo y harian funciones de servidor (proxys, routers, firewalls, caches, webs. serv. correo,etc...)
La gestion de todos ellos debe ser centralizada, mi idea es tener un servidor central, tambien en gentoo, gestionando las configuraciones via cfengine. Este servidor deberia encargarse de compilar los ebuilds de actualizaciones (por ejemplo de la clase de cfengine dedicada a esos equipos clientes) y luego poder distribuirlos y que se instalen.
Los equipos remotos pueden ser maquinas antiguas y con poca memoria y ademas lo mejor es que todas ellas tengan una imagen (productos y versiones) identica. Al menos en una primera fase.
Entre los problemas que veo:
1) La de compilar paquetes para una maquina distinta (esto tengo que mirarlo mas pero creo que es posible)
2) Problemas con ficheros, hace tiempo que no intenta sobreescriberse el fstab con una version demo pero aun asi tengo que controlarlo. No se muy bien que camino seguir. Creo que tirare recto, control de versiones en el servidor central y que se actualicen a la fuerza. Solo algunos ficheros daran problemas asi que los marcare como excepciones para que esas actualizaciones sean manuales en cualquier caso siempre estaran las versiones anteriores registradas y accesibles.
Imagino que no habra nada ya hecho que haga esto mismo, en cualquier caso estoy abierto a ideas y sugerencias, de hecho por eso pongo este post. |
|
Back to top |
|
|
RAPUL l33t
Joined: 29 Dec 2002 Posts: 664 Location: Valencia (SPAIN)
|
Posted: Tue Mar 30, 2004 9:04 pm Post subject: Hmm... |
|
|
Podrias usar distcc para compilar los paquetes nuevos con todas las maquinas, almacenarlos en el servidor central como binarios. Esto se puede sin mas que activar el distcc en el /etc/make.conf tras instalarlo evidentemente y hacer:
Code: |
env CFLAGS=... emerge -B paquete
|
Eso crearia un paquete binario que se guarda en /usr/portage/packages/All/ compilado con las CFLAGS especifadas en lugar de las que dice el /etc/make.conf pero con las USES especificadas en dicho fichero. (Esto no instalaria el paquete)
Te recomiendo usar las mismas USES para todas las maquinas.
Despues para instalarlo, bastaria con ejecutar en cada maquina:
...tras evidentemente copiar el paquete a /usr/portage/packages/All/ de cada maquina o usar algun tipo de nfs para compartirlo...
Yo uso algo parecido en una red con pocas maquinas asi que suelo hacer casi todo a mano pero estaria bien automatizar las tareas...
Seria interesante seguir en contacto... _________________ Entropy rulz world.
Redundancy sux.
World is full of redundancy.
World sux. |
|
Back to top |
|
|
LordAckward n00b
Joined: 29 Mar 2004 Posts: 69
|
Posted: Wed Mar 31, 2004 8:46 am Post subject: bien, mas matices |
|
|
La topologia es mas un servidor central y luego cada equipo conectado a una adsl, esos equipos son independientes entre si , no interconectados (mas alla de la propia internet o via vpn). Ademas pueden estar conectados, desconectados, sin linea o lo que sea asi que necesitas un control en forma "pull" para distribuir actualizaciones.
Esto es tarea de cfengine, es complejo principalmente porque hay que configurar todo con cabeza. NFS no me convence (y eso que he trabajado mucho con solaris o quiza por eso) es imposible de asegurar decentemente e imposible si tienes redes publicas de por medio.
distcc ya esta en marcha, el problema es que no se como poder hacer no un "env CFLAGS=... emerge -B paquete" sino un "env CFLAGS=... emerge -B system" o world
Bueno, si sacando la lista directamente de los equipos y compilando paquete a paquete via script.... o si son todas iguales tener una maquina de control y luego replicar todo portage y asi tener siempre la misma configuracion... o montar mi propio servidor sync para que los paquetes sean siempre los mismo en todas las maquinas (por ejemplo 2 maquinas se actualizan de 2 servidores distintos y tienen distintas versiones de un paquete porque uno de ellos se actualizo y el otro no, cual tengo yo compilado?).
Esa es una parte, la distribucion/compilacion de paquetes la otra es la gestion de cambios
Gracias por el comentario me ha dado que pensar, no habia caido en la necesidad de un servidor sync propio (o uno unico para todos).
Si alguna vez lo tengo funcionando pondre un mini-howto, lo raro es que no haya ya uno |
|
Back to top |
|
|
RAPUL l33t
Joined: 29 Dec 2002 Posts: 664 Location: Valencia (SPAIN)
|
Posted: Wed Mar 31, 2004 10:06 am Post subject: app-admin/gentoo-rsync-mirror |
|
|
Ah ya si ciertamente necesitas instalar un servidor de rsync propio. Yo tengo instalado en una de mis maquinas este paquete:
Code: |
app-admin/gentoo-rsync-mirror
|
Por cierto:
Code: |
env CFLAGS=... emerge -B system
env CFLAGS=... emerge -B world
|
... son válidos. _________________ Entropy rulz world.
Redundancy sux.
World is full of redundancy.
World sux. |
|
Back to top |
|
|
LordAckward n00b
Joined: 29 Mar 2004 Posts: 69
|
Posted: Wed Mar 31, 2004 11:37 am Post subject: Re: app-admin/gentoo-rsync-mirror |
|
|
RAPUL wrote: |
Por cierto:
Code: |
env CFLAGS=... emerge -B system
env CFLAGS=... emerge -B world
|
... son válidos. |
si pero que plantilla world coge? la de los equipos o la plantilla del servidor central. Porque las dos plantillas no son identicas. No hay que confundir las actualizaciones del servidor con las de los clientes porque tienen distintos paquetes.
Claro esta que si el servidor tiene la misma version de gentoo que los clientes, puede hacer un "emerge -B system" (es decir los paquetes core) y luego ir paquete a paquete siguiendo la lista de "/var/cache/edb/world" de cualquiera de los clientes, problemas? pues el orden de los paquetes parece aleatorio habra que hacer pruebas y ver si la opcion --update funciona correctamente y asi no hay problemas de compilar inutilmente. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|