Mirror Infrastructure
Este documento describe los distintos modos de replicar el contenido de download.opensuse.org y cómo se puede crear un sitio réplica official.
Contenido
¿Qué se necesita para convertirse en un sitio réplica público?
- Es necesario espacio en disco, en el rango de al menos 40-60 GB. Depende del contenido del que se replique.
- Se necesita bastante ancho de banda. La cantidad exacta es difícil de estimar, pero por ejemplo en Alemania 1 TB al mes se considera el mínimo, lo cual se alcanza fácilmente, por lo que 2 TB al mes sería mejor. 10mbit es el mínimo, 100mbit es mejor. En algunos lugares, la situación puede ser diferente y los requisitos pueden variar. En general, cuanto mas contenido se este replicando, más trafico se atraera, por otra parte, podemos controlar el numero de redirecciones bastante bien. La presencia de imágenes ISO es la mayor causa de tráfico.
- El hardware o sistema operativo no es muy importante.
El tamaño actual de los módulos rsync estan enumerados aquí: Mirror_Infrastructure#Módulos rsync Pero tenga en cuenta que es totalmente posible replicar sólo partes de un módulo.
Servidores Rsync
Acceso público: rsync.opensuse.org
Este servidor rsync está accesible para cualquier persona. Ofrece acceso público a través del protocolo rsync al contenido de download.opensuse.org. Normalmente el acceso esta limitado a 50 conexiones simultáneas, por lo que tal vez no siempre se pueda acceder a él. Algunos de los mirrors listados aqui también puede ofrecer servicios de rsync.
Acceso restringido: stage.opensuse.org
Los mirros registrados pueden acceder a stage.opensuse.org. Este servidor proporciona el contenido actualizado de download.opensuse.org antes del lanzamiento oficial y tiene una mayor tasa de transferencia que los servidores públicos. Si lo desea, puede registrarse en mailto: ftpadmin@suse.de, si el mirror tiene al menos una conexión de 100Mbit, y si las condiciones expuestas en el párrafo siguiente se cumplen.
Condiciones de acceso a stage.opensuse.org
Unas palabras sobre el contenido "staged". Contenido staged es aquel que no es público todavía -- pero que queremos que se replique en los mirrors de modo que en el momento de hacerlo público ya se encuentre replicado, y por tanto, estará accesible para muchas personas. Entonces, ¿cómo se hace?. Establecemos los permisos del directorio que debe protegerse a 'rwxr-x ---' (0750). Después, se sirve el directorio como parte del árbol que se almacena en el servidor rsync de stage. Cuando los mirros se sincronización con este, replicarán estos permisos. Y cuando se hacen publicos, simplemente se cambian los los permisos del directorio a rwxr-xr-x (0755), y cuando los mirror sincronizen la próxima vez, actualizan este cambio y el directorio es también accesible en sus servidores HTTP / FTP. Este proceso de liberación por cambio de permisos a veces se llama "bit flip release".
Hay algunas advertencias con las que usted (como administrador del mirror) debe tener en cuenta:
- ejecute rsync con -p (--perms), para que los permisos se repliquen en la máquina destino.
- si su servidor rsync es público: asegúrese de que el demonio rsync se ejecuta con un user id distinto al del script que se extrae el contenido. En caso contrario podría estar sirviendo al público el contenido staged. Puede lograr esto, por ejemplo, estableciendo el uid = nobody y el gid = nogroup en el respectivo módulo rsync.
- ejecute los scripts de su mirror con un user id distinto del que utiliza su servidor HTTP / FTP. Usar el mismo user id, hara que el servidor HTTP / FTP pueda leer todos los archivos. Lo mismo ocurre si ejecuta el servidor como root.
- nunca ejecute el servidor web (servidor FTP / servidor rsync) como root. Un error de alguna manera recurrente es, si se utiliza lighttpd, que se ejecute como root porque la configuración que hace que se ejecute como un usuario / grupo distinto se ha olvidado.
Debería estar suscrito a la lista de correo de mirrors (véase la parte inferiore de esta página), para que podamos mantenerle al día respecto a las actividades de publicación en curso. Le informaremos del calendario de la lanzamientos,y el momento exacto de la publicación.
Registrar su sitio réplica
Con el fin de redirigir clientes a su mirror, necesitamos lo siguiente:
- Dirección de correo electrónico (email) y el nombre del administrador de contactos.
- HTTP URL de su mirror (p.ej. http://yourmirror.example.com/pub/opensuse/)
- ¿Es capaz su servidor web de servir archivos grandes? (para imagenes de mas de 2 GB)
- Acceso read-only por rsync para nuestro scanner --para la exploración que realizamos para mantener actualizada la base de datos de nuestro redirector de descargas. Se realiza desde la dirección 195.135.220.0/22 (Comprobación a través de rsync -v yourmirror.example.com ) .
- URL del FTP, si tiene un servidor FTP. Puede servir como protocolo de emergencia para la exploración mencionada si rsync no está disponible. En caso contrario,el FTP no es utilizado por openSUSE.
- Un nombre y la URL del operador o patrocinador del mirror, para mostralor en la lista de mirrors.
Si envía esa información por escrito a: mailto: ftpadmin@suse.de, agregaremos su mirror a nuestra base de datos de mirros. Esta base de datos es utilizada por nuestro servidor de descarga para redirigir clientes a su servidor. Intentamos distribuir las solicitudes geográficamente en base a la dirección IP del cliente. La cantidad de redirecciones también depende de una puntuación que se determinará junto con usted, con el fin de adaptarnos a su capacidad.
Además, nosotros supervisamos activamente el contenido de los mirrors, de modo que redirigimos sólo a los archivos que realmente existen en ellos. rsync es la forma más eficaz de hacer esto; la exploración de 300.000 archivos podría llevar sólo unos minutos. El segundo mejor método, si rsync no está disponible, es a través de FTP, pero es mucho menos eficiente (se tarda mucho más tiempo y genera más carga en el servidor). Como último recurso, podemos utilizar HTTP si no se dispone de rsync ni de FTP, pero es muy muy lento. Por lo tanto, le rogamos que considere la posibilidad de añadir un módulo rsync para el contenido de openSUSE, que permite un escaneo mucho más rápido de su servidor.
También puede añadir su mirror a nuestra lista oficial de versiones lanzadas o de versiones de desarrollo, pero esas listas no son utilizadas por el redireccionador de descargas y podrían ser eliminados más tarde. Estas son páginas del wiki, simplemente pulse el botón "Editar" en la parte superior;)
Manténgase informado
La lista de correo mirror@opensuse.org mailing list (antes llamada suse-mirror@suse.de) es de poco trafico y se utiliza principalmente para los anuncios. También es un lugar adecuado, en caso de necesidad, para los debates en torno a contenido de openSUSE replicado. Para subscribirse, escriba a mailto:mirror+subscribe@opensuse.org y, puesto que es una lista cerrada, envíe también una nota a mailto:ftpadmin@suse.de y pida que se le añada.
La dirección general de contacto es: mailto:ftpadmin@suse.de
Hay un canal de IRC # llamado #opensuse-mirrors en freenode.net.
Como configurar un espejo
Vea una guía de como se hace en : Mirror_Setup_Howto
Módulos rsync
Los módulos de rsync en stage.opensuse.org y en rsync.opensuse.org son casi idénticas. El primero tiene contenido adicional que aún no se ha liberado, y como el segundo se sincroniza de ella, hay un corto lapso de tiempo de sincronización entre ellos.
El tamaño de los módulos de rsync se triangula por las noches:
Un ejemplo de comando de sincronización de un módulo podría ser como este:
rsync -rlpt rsync.opensuse.org::opensuse-hotstuff-160gb /srv/pub/opensuse/ --delete-after -hi --stats
módulos de mayor interes:
- opensuse-hotstuff-160gb: Los archivos más solicitados, que quepan en 160 GB. Actualmente, esto incluye repositorio de instalación y el CD / DVD de los productos más recientes, sus actualizaciones, y los repositorios más populares. Este es el módulo más adecuado para los mirrros con espacio en disco limitado. La mayoría de las solicitudes son exactamente sobre estos archivos.
- opensuse-hotstuff-80gb: Es una selección aún más restringida de los archivos más populares, limitada a 80 GB de espacio. Usa esto si tu espejo tiene muy limitado el espacio de disco. Sin embargo, la mayoría de las solicitudes son sobre los archivos incluidos en este módulo, por lo que es muy útil reflejar "únicamente" a estos archivos.
- opensuse-updates: Este módulo de rsync proporciona el árbol /update, con actualizaciones oficiales para las distribuciones openSUSE liberadas, a partir de openSUSE 10.3. (Para reflejar las actualizaciones de versiones anteriores, comprobar rsync://ftp.suse.com/suse/update/.)
- opensuse-full: Este módulo de rsync proporciona el contenido completo de download.opensuse.org, con excepción del directorio SL-OSS-factory. La razón para excluir este directorio es la alta frecuencia de las actualizaciones dentro del mismo. Para hacer un mirror del direcotrio SL-OSS-factory, se recomienda utilizar drpmsync para replicar este directorio, con lo que disminuye el tráfico a menos de 10% en comparación con rsync.
- opensuse-full-with-factory: El mismo que el anterior incluyendo el directorio SL-OSS-factory, que contiene la Versión en Desarrollo de la distribución. De nuevo, no recomendamos el uso de este módulo.
- opensuse-source: Este módulo de rsync proporciona el árbol /source, el cual contiene los paquetes fuente de openSUSE 11.1 en adelante. Sólo disponible en stage.opensuse.org, pero sin restricciones de acceso.
- opensuse-debug: Este módulo de rsync proporciona el árbol /debug, el cual contiene los paquetes fuente de openSUSE 11.1 en adelante, e incluye las actualizaciones publicadas. Sólo disponible en stage.opensuse.org, pero sin restricciones de acceso.
modules para reflejar el Build Service repositories:
- buildservice-repos: El contenido completo
- buildservice-repos-main: Todo, excepto el home: proyectos de los usuarios
Las actualizaciones se producen cada vez que un repositorio del Build Service es reconstruido y actualizado. También es posible It is also possible to get the updates pushed.
módulos para reflejar el árbol drpmsync:
- opensuse-drpmsync: sólo árbol distribution/SL-OSS-factory/drpmsync (parte OSS)
- opensuse-drpmsync-nonoss: sólo árbol distribution/SL-Factory-non-oss/drpmsync (parte non-OSS)
- opensuse-full-with-factory-drpmsync: El mismo que opensuse-full-with-factory, incluyendo el árbol drpmsync.
Utilicelo sólo si va a configurar su propio servidor drpmsync.
Si desea replicar estos arboles, debe ser consciente de que la enorme cantidad de archivos (~200000) causará una carga considerable en su servidor rsync. Por favor, evítelo a ser posible.
drpmsync.opensuse.org
drpmsync es un servicio de sync para la distribución Versión en Desarrollo. Este reduce enormemente las transferencias transmitiendo solo datos xdelta, si el rpm local no tiene más de 1 mes de antigüedad.
drpmsync proporciona acceso sólo al directorio SL-OSS-factory. Este directorio siempre contiene la versión más reciente de la distribución. Esto significa que puede estar en un estado inconsistente o muy incompleto. Es útil para que los desarrolladores obtengan el código más reciente o para que los testers puedan validar la última versión.
Se puede encontrar un cliente drpmsync en el paquete deltarpm en http://download.opensuse.org/tools/drpmsync/ y puede utilizarse por ejemplo con esta línea:
drpmsync drpmsync.opensuse.org:8888/Factory /my/directory
Tenga en cuenta que drpmsync.opensuse.org puede estar soportando gran carga de tráfico, por lo que buscamos public mirrors que quieran tener también un drpmsync server. Por favor, contáctenos, si quiere configurar uno.
Soporte de Pushing para Build Service updates
stage.opensuse.org tambien almacena el contenido de Build Service. Como se hacen actualizaciones continuamente, cada vez que un paquete es construido, tambien es posible forzar la actualización del paquete (push) en lugar de esperar el escaneo en busca de cambios. Obviamente, rsync requiere acceso de escritura a stage.opensuse.org en su servidor. Las ventajas de este método son:
- el mirror esta casi siempre al día,
- no hace falta ejecutar rsync en todos los repositorios. La actualización via push sólo actualizará los repositorios que han cambiado. Esto reduce mucho la carga de E/S del mirror.
- el redirector de http://download.opensuse.org/ es consciente de que los paquetes han sido actualizados y puede redireccionar al mirror inmediatamente.
¿Cómo ser un pushed mirror?
La forma habitual (aunque también podemos aceptar una manera diferente) es abrir un módulo rsync en su servidor, donde stage.opensuse.org tenga acceso de escritura. Opcionalmente, se puede establecer un nombre de usuario y contraseña, pero no es necesario. Por favor, después escriba un correo a mailto:ftpadmin@suse.de donde usted nos indique:
- el nombre del servidor donde hacer el push
- el módulo rsync que se debe utilizar
- usuari y contraseña (opcional)
- Que contenido quiere replicar (todo o solo ciertos proyectos)
- Cual será la url public de descargas.
- Cualquier tipo de deseo especial :)
Después, necesitamos acceso de lectura para poer scanear su mirror con rsync con nuestro download redirector. La base de datos del download redirector tiene que ser actualizada periodicamente para poder reflejar los archivos contenidos en su mirror. Los escaneos provienen de la red 195.135.220.0/22.