**!!! ACHTUNG - evtl. veraltet - ACHTUNG !!!**
Diese Seite wurde zuletzt am 9. Juli 2014 um 10:54 Uhr geändert.
Wenn man mit mehreren (in unserem Fall waren es zwölf) Clients große Datenmengen (bei uns waren es >100GB) im lokalen Netz verteilen möchte,
und ein Teil der Infrastruktur (bei uns der 100MBit-Switch) ein Flaschenhals wäre, wenn alle Clients auf den selben Server zugreifen würden,
bieten sich torrents an.
Was brauche ich dazu:
===== opentracker =====
(ein lokaler Tracker)
su -
aptitude install cvs build-essential zlib1g-dev
exit
cd /usr/local/src
cvs -d :pserver:cvs@cvs.fefe.de:/cvs -z9 co libowfat
cd libowfat
make
cd ..
cvs -d:pserver:anoncvs@cvs.erdgeist.org:/home/cvsroot co opentracker
cd opentracker
make
su -
cp opentracker /usr/local/bin/
chown root:root /usr/local/bin/opentracker
chmod 755 /usr/local/bin/opentracker
/etc/rc.local um folgenden Eintrag ergänzen (vor "exit 0"!):
/usr/local/bin/opentracker &
===== web-Stats =====
(selbstgebaut)
su -
aptitude install thttpd curl mrtg
sed -i "s/dir=\/var\/www/&\/mrtg/" /etc/thttpd/thttpd.conf
/etc/mrtg.cfg mit folgendem Inhalt versehen:
EnableIPv6: no
WorkDir: /var/www/mrtg
Options[[_]]:
YSize[[_]]: 150
pagetop[[tracker-conn]]: <h1>tracker - Connections/min</h1><hr>
target[[tracker-conn]]: `curl http://:6969/stats?mode=conn`
maxbytes[[tracker-conn]]: 100000000
title[[tracker-conn]]: Connections/min
options[[tracker-conn]]: growright, nopercent, perminute
ylegend[[tracker-conn]]: Requests/min
shortlegend[[tracker-conn]]: requests/min
legendI[[tracker-conn]]: Requests
legendO[[tracker-conn]]: Announces
legend1[[tracker-conn]]: Requests
legend2[[tracker-conn]]: Announces
pagetop[[tracker-peer]]: <h1>tracker - Downloaders and Seeders</h1><hr>
target[[tracker-peer]]: `curl http://:6969/stats?mode=peer`
maxbytes[[tracker-peer]]: 100000000
title[[tracker-peer]]: Downloaders and Seeders
options[[tracker-peer]]: growright, nopercent, gauge
ylegend[[tracker-peer]]: Peers
shortlegend[[tracker-peer]]: peers
legendI[[tracker-peer]]: Downloaders
legendO[[tracker-peer]]: Seeders
legend1[[tracker-peer]]: Number of Downloaders and Seeders for complete Tracker
legend2[[tracker-peer]]: Number of Seeders for complete Tracker
pagetop[[tracker-udp4]]: <h1>tracker - UDP Connections</h1><hr>
target[[tracker-udp4]]: `curl http://:6969/stats?mode=udp4`
maxbytes[[tracker-udp4]]: 100000000
title[[tracker-udp4]]: UDP connections
options[[tracker-udp4]]: growright, nopercent, perminute
ylegend[[tracker-udp4]]: UDP requests/min
shortlegend[[tracker-udp4]]: udp requests/min
legendi[[tracker-udp4]]: Requests
legendo[[tracker-udp4]]: Announces
legend1[[tracker-udp4]]: Requests
legend2[[tracker-udp4]]: Announces
pagetop[[tracker-tcp4]]: <h1>tracker - TCP Connections</h1><hr>
target[[tracker-tcp4]]: `curl http://:6969/stats?mode=tcp4`
maxbytes[[tracker-tcp4]]: 100000000
title[[tracker-tcp4]]: TCP connections
options[[tracker-tcp4]]: growright, nopercent, perminute
ylegend[[tracker-tcp4]]: TCP requests/min
shortlegend[[tracker-tcp4]]: tcp requests/min
legendi[[tracker-tcp4]]: Requests
legendo[[tracker-tcp4]]: Announces
legend1[[tracker-tcp4]]: Requests
legend2[[tracker-tcp4]]: Announces
pagetop[[tracker-scrp]]: <h1>tracker - Scrape Connetions</h1><hr>
target[[tracker-scrp]]: `curl http://:6969/stats?mode=scrp`
maxbytes[[tracker-scrp]]: 100000000
title[[tracker-scrp]]: Scrape connections
options[[tracker-scrp]]: growright, nopercent, perminute
ylegend[[tracker-scrp]]: Scrape requests/min
shortlegend[[tracker-scrp]]: scrape requests/min
legendi[[tracker-scrp]]: TCP Scrapes
legendo[[tracker-scrp]]: UDP Scrapes
legend1[[tracker-scrp]]: TCP Scrapes
legend2[[tracker-scrp]]: UDP Scrapes
pagetop[[tracker-torr]]: <h1>tracker - Number of Torrents</h1><hr>
target[[tracker-torr]]: `curl http://:6969/stats?mode=torr`
maxbytes[[tracker-torr]]: 100000000
title[[tracker-torr]]: Number of Torrents
options[[tracker-torr]]: growright, nopercent, gauge
ylegend[[tracker-torr]]: Torrents
shortlegend[[tracker-torr]]: torrents
legendi[[tracker-torr]]: Torrents
legendo[[tracker-torr]]:
legend1[[tracker-torr]]: Torrents
legend2[[tracker-torr]]:
Nach dem ersten erfolgreichen Durchlaufe (guckst Du "tail /var/log/mrtg/mrtg.log") fehlt nun noch ein letzter Befehl:
/usr/bin/indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html
Danach kann man die root-Rechte per "exit" natürlich wieder abgeben. ;-)
===== mktorrent =====
(etwas zum generieren von .torrent-Dateien)
su -
aptitude install mktorrent
exit
mktorrent -a http://:6969/announce /
(lenny: quellen downloaden, make, ausfuehren und fertig!)
.torrent an alle verteilen (per download, script, cssh,...)
===== torrent-Client =====
Wenn ich mich in dem Verzeichnis, in der die .torrent-Datei UND die zu verteilenden Dateien im Unterverzeichnis befinde:
su -
aptitude install rtorrent screen
exit
screen
rtorrent .torrent
+ +
Jetzt nur noch per Cluster-SSH auf jedem Client rtorrent und screen installieren und rtorrent ebenfalls starten (natürlich ohne das Unterverzeichnis mit den großen Dateien)...
bereits nach wenigen sekunden werden auch sie seeden und so die netzlast gleichmäßig verteilen...
was sich ab zehn Clients im 100MBit-Netz schon fast wie ein 1GBit-Netz anfühlt!