Hasta la mitad de la semana pasada, en Cipher la cosa estuvo muy tranquila, seguiamos actualizando nuestra pequeña granja de servidores CentOS (porque ni debian ni ubuntu pienso utilizar nunca) y estábamos en los temas de los updates y upgrades de la versiones de CentOS 4.4 a CentOS 5.
Entonces vinieron los problemas, no me acuerdo que dia, el 15 o 16 de Mayo la línea se pego “al techo”, no se podia usar nada en lo que se refiere el internet, estaba la red bien plantada. No era facil darse cuenta a “ojo de buen cubero”, porque veias que los servidores estaban que descargaban un monton de cosas. Por mi cabeza me paso que habia tomado mis servers y ahi se me ponia la cosa “color hormiga”.
Ya cuando tomamos posesión de la situación, nos dimos cuenta de que se habian venido 2 grandes descargas:
- Actualización de CentOS 4.4 a 4.5 (servidores aun sin upgrade a 5) con todo lo que eso trae en lo que se refiere a descargas.
- Actualizaciones del CentOS 5, en donde se incluia el kernel-2.6.18-8.1.4.el5 con sources, headers y devel, bastante pesado diria yo para las podres lineas dedicadas que tenemos.
Como aqui no usamos Speedy ni similares, sino lineas dedicadas con IPs publicos, el ancho de banda es crítico. La cosa se tornó desesperante ya que nuestros clientes no podian ingresar a sus servicios de la forma convencional, dada la congestión interna que existia.
“A grandes problemas, grandes soluciones” reza el dicho, entonces lo que se me ocurrió como paleativo a los problemas, fue copiar las carpetas de los CentOS ya actualizados en /var/cache/yum que es donde se guardan las actualizaciones y copiarselas a las otras que aun no habian terminado de actualizar, para que las máquinas eviten estar descargando cosas de la red. Funcionó en algo, pero tambien lo tuvimos que hacer para las desktops que son CentOS tambien.
Era un caos absoluto en el tema de ancho de banda. Es que aquí nosotros si usamos Linux tanto en desktops como en servidores, no como ciertos “vecinitos de 2 pisos mas abajo” que dicen que son full Linux, pero todos sus desktops son Window$ XP.
Entonces, el lunes que la cosa seguia congestionada, no me acordaba en donde habia leido que uno se podia hacer su repositorio privado de CentOS, para evitar problemas de ancho de banda en redes grandes. Me fui a San Google y me puse a investigar un rato acerca de hacer repositorios privados.
El truco es muy sencillo, por medio de rsync lo que haces es sincronizar directorios (en las noches al inicio) para que contengan la misma información de los repositorios oficiales. Con esto obtienes la data y de ahi creas los archivos metadata para que el YUM los pueda entender por medio de la utilidad createrepo. En mi caso sincronicé los repositorios oficiales de CentOS base y updates y el de rpmforge.
Y de ahi hice la creación de los siguientes archivos a colocar como unicos (poniendo los demas en otras carpetas) en /etc/yum.repos.d/
/etc/yum.repos.d/Cipher-CentOS.repo
[base]
name=Cipher CentOS-$releasever – Base
baseurl=http://centos.cipher.com.pe/centos/$releasever/os/$basearch/
enabled=1[updates]
name=Cipher CentOS-$releasever – Updates
baseurl=http://centos.cipher.com.pe/centos/$releasever/updates/$basearch
enabled=1
/etc/yum.repos.d/Cipher-rpmforge.repo
[rpmforge]
name = Cipher Red Hat Enterprise $releasever – RPMforge.net – dag
baseurl = http://centos.cipher.com.pe/dag/redhat/el5/en/$basearch/dag/
enabled = 1
Y listo…!!!
Con esto las maquinas se actualizan de forma automática, lo unico que hacen es ver que las actualizaciones esten descargadas y de inmediato se ponen a actualizar. Por ahi tengo otros repositorios activos como atrpms.net pero eso ya lo traigo del mismo internet porque no son actualizaciones críticas.
Espero que les ayude a conservar ancho de banda.
Alex Celi