Gentoo Logo

Disclaimer : Dit document is niet juist en is niet meer onderhouden.


Gentoo Linux rsync Mirrors Beleid

Inhoud:

1.  Vereisten

Minimale Bandbreedte

Om op voldoende wijze mirror te hosten moet je minstens een 5 Mbps full duplex kanaal ter beschikking hebben.

Minimum Aantal Simulate Gebruikers

We vragen dat je minimum 15 simultane connecties toelaat.

Minimum Hardware Vereisten

Opdat je op een deftige manier minimum 15 simultane gebruikerconnecties kan afhandelen vragen we dat je op zijn minst de volgende minimale hardware vereisten hebt:

  • PIII 500 Processor
  • 256 Mb RAM

Update Frequentie

Updates moeten om elk half uur gebeuren, telkens op het uur en half uur. Het is zeer belangrijk dat dit schema precies opgevolgd wordt, aangezien we een round-robin-style gebruiken voor de gebruikers hun rsync-server.

Belangrijk: Dit moet strikt gehandhaafd worden, aangezien een niet-geupdate sync server heel wat meer traffic genereert voor alle servers die betrokken zijn in het proces (zie de FAQ onderaan voor meer details).

MOTD (/etc/rsync/rsyncd.motd)

Gelieve de volgende informatie in je rsync MOTD bestand te plaatsen:

  • server naam
  • server IP adres
  • server specificaties (CPU en RAM)
  • bandbreedte beschikbaar naar de server
  • gebruikersconnectielimiet, indien toepasbaar
  • server locatie (stad en land)
  • contacteernaam en e-mail

Het toevoegen van bovenstaande informatie in je MOTD bestand maakt het mogelijk om je mirror gemakkelijk te identificeren in geval van problemen.

2.  Implementatie details

Om een nieuwe mirror op te stellen, gelieve de volgende stappen uit te voeren:

  • Stel je mirror in om te synchroniseren tegen een bestaande, publieke Gentoo Linux rsync mirror. Het doet er niet toe welkeen. Gelieve wel te synchroniseren zoals hierboven uitgelegd.
  • Vul een bugreport in op http://bugs.gentoo.org en geef je servernaam, ip-adres, contactinformatie en het feit dat je een rsync mirror wil zijn in. We zullen je server gebruiken om te zien of die correct gesynchroniseerd wordt. Indien ze niet exact om :00 en :30 synchroniseert zullen we je vragen om je cronjob (of hoe je het ook implementeert) correct in te stellen.
  • Eenmaal we zien dat de mirror correct gesynchroniseert wordt zullen we je server's IP-adres toevoegen aan de rsync1.us.gentoo.org toegangslijst.
  • Update dan je rsync cronjob zodat deze naar rsync1.us.gentoo.org wijst. We zullen je server gedurende 48 tot 72 uur monitoren om te zien of deze correct synchroniseert.

Indien alle stappen vlotjes doorlopen werden zullen we een officieel rsync[num].[landcode].gentoo.org DNS-adres aanmaken en je mirror toevoegen aan onze rsync.gentoo.org en rsync.[landcode].gentoo.org round-robin-DNS. Kort hierna zal je merken dat er traffiek gegenereerd wordt.

Verder zal jij, als mirror admin, toegevoegd worden aan de gentoo-mirrors mailinglist (lage traffiek) zodat je op de hoogte gehouden wordt over alle zaken aangaande rsync-mirrors.

Nota: Bedankt voor het helpen van de Gentoo Linux gebruikers en ontwikkelaars! Voor rsync beheerzaken of -problemen, gelieve http://bugs.gentoo.org te bezoeken en een bug in te vullen onder "rsync".

3.  Parallelle Taken

We zullen binnenkort een rrdtool gegenereerde pagina hebben die niet meer dan links zal bevatten naar grafieken (gesorteerd op continent, land, server) van de officiele rsync mirrors die beschikbaar zijn (deze zullen gemaakt worden met de sping uitvoer). We zullen deze grafieken dagelijks bekijken, en onbereikbare servers zullen verwijderd worden van de RR DNS totdat de problemen opgelost zijn. We zullen scripts hebben die controleren of alle mirrors om de 30 minuten synchroniseren.

Waarschuwing: Indien een mirror periodisch problemen heeft of veroorzaakt, zelfs nadat de admin gecontacteerd werd, dan zal deze mirror permanent van de RR DNS verwijderd worden.

4.  Kleine FAQ

Q: Wie moet ik contacteren in geval van rsync mirror zaken?

A: Bezoek http://bugs.gentoo.org en vul een bugreport in onder "rsync".

Q: Ik draai een private rsync mirror voor mijn bedrijf. Kan ik rsync1.us.gentoo.org gebruiken?

A: Aangezien onze resources gelimiteerd zijn moeten we ervoor zorgen dat deze zo goed mogelijk verdeeld worden zodat we een maximaal aantal gebruikers kunnen bedienen. Hierdoor limiteren we de connecties naar onze master rsync (en ook naar onze distfiles mirror) tot publieke mirrors. Gebruikers zijn altijd welkom om de gewone mirrors te gebruiken om een eigen, private rsync mirror op te stellen, alhoewel we je vragen enkele basis rsync etiquette guidelines te volgen.

Q: Is het belangrijk dat ik mijn mirror telkens om :00 en :30 synchroniseer?

A: Ja dit is belangrijk. Aangezien elke gebruiker rsyncs t.o.v. een mirror sluist zij het verschil tussen zijn bestandssysteem en de mirror over het internet. Indien je mirror verschilt van de rest en een gebruiker maakt gebruik van een round-robin hostnaam, dan zal de hoeveelheid doorgesluisde informatie heel wat hoger liggen dan wat eigenlijk nodig was, wat nadeling is voor jou, voor de gebruiker, en voor de andere mirrors. Bijvoorbeeld: Een gebruikers is ingesteld om rsync uit te voeren tegen rsync://rsync.gentoo.org/gentoo-portage. Laten we veronderstellen dat rsync.gentoo.org een DNS RR schema is voor rsync1.gentoo.org, rsync2.gentoo.org en rsync3.gentoo.org. Laten we dan veronderstellen dat rsync1 en rsync3 op de opgelegde tijden synchroniseren, maar rsync2 enkel om middernacht, en laten we veronderstellen dat het momenteel namiddag is.

  1. De gebruikers synct tegen rsync1 en brengt zijn /usr/portage uptodate. Laten we veronderstellen dat dit 5 megabyte transfer vereist.
  2. De gebruikers synct opnieuw, ditmaal tegen rsync2. Alle aanpassingen die net gebeurd waren worden ineens weer ongedaan gemaakt, misschien zelfs meer. Laten we zeggen dat er weer 5 megabyte getransfereerd werd.
  3. De gebruiker synct opnieuw, nu tegen rsync3, waarop de portage structuur weer uptodate wordt. Aangezien rsync2 oud was en rsync3 recent zal de gebruiker weer 5 megabytes transfereren.

In bovenstaand voorbeeld heeft de gebruiker 5 * 3 = 15 megabytes getransfereerd, wat 3 maal meer is dan wat de gebruiker eigenlijk zou moeten transfereren, waardoor zijn indruk over het Gentoo Portage systeem wat negatiever wordt. Tevens hebben rsync2 en rsync3 5 megabytes (per gebruiker) meer getransfereerd dan wat nodig was indien rsync2 uptodate was. Aangezien we zeer veel gebruikers hebben die de DNS RR gebruiken heb je dus enorm veel bandbreedte verspilt, wat dus veel geld kost en dit niet enkel voor jouw mirror, maar ook voor die van de andere admins. We weten dat er altijd een beetje clockdrift zal zijn tussen elke mirror, en dat niet elke mirror exact op hetzelfde tijdstip zal synchroniseren. Om dit probleem zo klein mogelijk te maken raden we je aan om een NTP daemon te draaien om deze drift te minimaliseren. Indien dat niet genoeg reden is voor jou om ntpd te draaien, dan is het misschien handig te weten dat je logbestanden zwaarder zullen doorwegen in rechtszaken indien je kan aantonen dat je klok zuiver loopt met de rest van de wereld. Indien je ntpd niet de ganse tijd wil draaien, probeer dan op zijn minst ntpdate minstens dagelijks uit te voeren via een cronjob.

Q: Hoe vind ik de dichtsbijzijnde mirror?

A: We hebben hiervoor netselect. Indien je nog niet emerge netselect uitgevoerd hebt, doe dit dan. Voer daarna netselect rsync.gentoo.org uit. Na een minuut of zo zal netselect een IP-adres geven. Gebruik dit IP-adres dan als de enige parameter voor rsync, met daarachter 2 dubbelpunt-tekens: rsync 1.2.3.4::. Je zou moeten te zien krijgen welke mirror het is aan de banner-boodschap. Update je /etc/make.conf adhv deze gegevens.

Q: Kan ik compressie gebruiken wanneer ik met rsync1.us.gentoo.org synchroniseer?

A: Neen. Compressie gebruikt teveel resources op de server, waardoor we deze uitgeschakeld hebben. Probeer niet compressie te gebruiken tegen deze server.

5.  Voorbeeld scripts

Op dit moment vereist het mirroren van de Portage structuur ongeveer 60 MiB, dus echt veel ruimte neemt dit niet in. Je laat best ongeveer 200 MiB ruimte over voor toekomstige groei. Een Portage tree mirror opstellen is eenvoudig -- allereerst moet je je ervan verzekeren dat je mirror rsync staan heeft. Stel daarna je rsync.conf in om er ongeveer als volgt uit te zien:

Codevoorbeeld 5.1: rsyncd.conf

#uid = nobody
#gid = nobody
use chroot = no
max connections = 20
pid file = /var/run/rsyncd.pid
motd file = /etc/rsync/rsyncd.motd
transfer logging = yes
log format = %t %a %m %f %b
syslog facility = local3
timeout = 300

[gentoo-x86-portage]
#this entry is for compatibility
path = /space/gentoo/rsync
comment = Gentoo Linux Portage tree


[gentoo-portage]
#modern versions of portage use this entry
path = /gentoo/rsync
comment = Gentoo Linux Portage tree mirror
exclude = distfiles

Hierboven wijst de gentoo-x86-portage mirror naar dezelfde data als gentoo-portage. Alhoewel we recent de officiele naam van de mirror aangepast hebben naar gentoo-portage is gentoo-x86-portage nog steeds nodig voor achterwaardse compatibiliteit, dus stel beide entries in.

Nu moet je de Gentoo Linux Portage tree mirroren. Je gebruikt hiervoor best de volgende scripts:

Codevoorbeeld 5.2: rsync-gentoo-portage.sh

#!/bin/bash

RSYNC="/usr/bin/rsync"
OPTS="--quiet --recursive --links --perms --times --devices --delete --timeout=600"
#Uncomment the following line only if you have been granted access to rsync1.us.gentoo.org
#SRC="rsync://rsync1.us.gentoo.org/gentoo-portage"
#If you are waiting for access to our master mirror, select one of our mirrors to mirror from:
SRC="rsync://rsync2.de.gentoo.org/gentoo-portage"
DST="/space/gentoo/rsync/"

echo "Started update at" `date` >> $0.log 2>&1
logger -t rsync "re-rsyncing the gentoo-portage tree"
${RSYNC} ${OPTS} ${SRC} ${DST} >> $0.log 2>&1

echo "End: "`date` >> $0.log 2>&1 

Codevoorbeeld 5.3: /etc/init.d/rsyncd

#!/sbin/runscript
# Copyright 1999-2002 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License, v2
or later
# $Header: /var/cvsroot/gentoo/xml/htdocs/doc/nl/rsync.xml,v 1.12 2012/06/30 18:42:54 swift Exp $

depend() {
need net
}

# FYI: --sparce seems to cause problems.
RSYNCOPTS="--daemon --safe-links --timeout=1800"

start() {
ebegin "Starting rsync daemon"
start-stop-daemon --start --quiet --pidfile /var/run/rsyncd.pid --nicelevel 15 --exec /usr/bin/rsync -- ${RSYNCOPTS}
eend $?
}

stop() {
ebegin "Stopping rsync daemon"
start-stop-daemon --stop --quiet --pidfile /var/run/rsyncd.pid
eend $?
} 

Je rsyncd.motd dient je IP-adres te bevatten, alsook andere relevante informatie over je mirror, zoals informatie over de host die de Portage mirror aanbiedt, administratieve contactgegevens, ... Nadat je goedgekeurd werd als een officiele rsync-mirror zal je host gealiaset worden met een naam in de vorm van rsync[nummer].[landcode].gentoo.org.



Print

Upgedate op 13 December 2002

De originele versie van dit document wordt niet meer onderhouden

Korte inhoud:

Gentoo Mirror Administrators
Author

Sven Vermeulen
Translator

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.