MirrorBrain
ist eine
freie
HTTP-Server
-Software fur
Linux
-Betriebssysteme mit
Apache
zum Betrieb eines
Content Distribution Networks
, das fur Download-Anfragen intelligent gunstige Bezugsquellen vermittelt.
MirrorBrain wird seit 2006 hauptsachlich von Peter Poml entwickelt und seit 2007 produktiv eingesetzt. Es ist teilweise (Apache-Module) in
C
, ansonsten uberwiegend in
Python
entwickelt (nur der Scanner ist in
Perl
geschrieben) und als
freie Software
mit Ausnahme von drei
Apache-lizenzierten
Modulen unter den Bedingungen der
GNU General Public License
(GPL) verfugbar.
Es wurde im
openSUSE
-Projekt geboren und erstmals eingesetzt und wird mittlerweile unter anderem auch bei
OpenOffice.org
[2]
,
LibreOffice
[3]
,
Sugar Labs
,
Free Software Foundation
[4]
,
Kodi Media Center
[5]
und
Arch
Server
[6]
zur Verteilung ihrer Downloads eingesetzt. Auch
SourceForge
nutzt Teile von MirrorBrain (mod_asn) in ihrem eigenen
CDN
-System.
[7]
MirrorBrain hat einen modularen Aufbau, in dessen Mittelpunkt der
Weiterleitungs
-Server (Redirector) steht (ein Apache-Modul namens
mod_mirrorbrain
), der intelligent netzwerktechnisch naheliegende Spiegelserver auswahlt und Clients ohne Metalink-Fahigkeit per
HTTP-Weiterleitung
an einen (
HTTP
- oder
FTP
-)
Spiegelserver
weiterleitet.
Die Auswahl erfolgt primar anhand der (physischen oder netzwerktopologischen) Distanz zwischen Anfrager und verfugbaren Spiegelservern, was anhand der IP-Adressen uber
Geolokation
(per
libGeoIP
) und Routing-Daten (per mod_asn, siehe unten) ermittelt wird. Kommen danach mehrere Server in Frage, so wird anhand der Moglichkeiten der Server eine
Lastverteilung
vorgenommen. Die Vorgehensweise kann dabei konfiguriert und mit eigenen Regeln auch teilweise ubergangen werden.
Der
Mirror Scanner
scannt die Spiegelserver (unter anderem mittels des auf Spiegelservern meist vorhandenen
rsync
) und tragt die Analysedaten in einer
Datenbank
(anfangs nur
MySQL
, nach einer Ubergangsphase nur noch
PostgreSQL
) zusammen.
Mirror Probe
pruft alle paar Minuten die Verfugbarkeit der Server.
Es gibt weiterhin Module zur automatischen Erstellung von
Torrents
und der Generierung von
Prufsummen
nach verschiedenen Verfahren.
Das im Rahmen des Projektes entwickelte, unabhangig einsetzbare Apache-Modul
mod_asn
ermittelt anhand von IP-Adressen mittels des
Border Gateway Protocol
uber
AS
-Nummern und
Subnetz
-Prafixe Daten uber die Routen zwischen zwei Rechnern.
In MirrorBrain stellen diese Routing-Daten als Mittel zur Erschließung der netzwerktopologischen Distanz neben der mittels Geolokation ermittelten physischen Distanz und dem untergeordneten Aspekt der Lastverteilung einen der Aspekte dar, nach denen sich der Weiterleitungs-Server bei der Auswahl der Server richtet.
Dieses Modul wird beispielsweise bei SourceForge zur Datengewinnung in deren eigener
CDN
-Losung verwendet.
Es ist im MirrorBrain-Projekt eines der Apache-lizenzierten und der in C gecodeten Teile. Es wird seit Februar 2009 entwickelt, erhielt Anfang Marz ein eigenes Code-Repositorium, erreichte am 31. Marz die Versionsnummer 1 und bekam am 13. Juli 2009 seine eigene Website
[8]
und erreichte am 5. September 2010 die Version 1.5.
An kompatible Clients (transparente Aushandlung
[9]
) konnen dynamisch generierte
Metalinks
ausgegeben werden, anhand derer der Client selber aus mehreren enthaltenen Quellenverweisen wahlen kann und die auch auf Quellen verweisen konnen, die uber andere Protokolle (BitTorrent) ausliefern. Diese beim Client verfugbare Quellenredundanz ermoglicht die Einbeziehung zusatzlicher, nur aus Client-Sicht verfugbarer Daten in die Spiegelauswahl-Entscheidung, einen einfachen
Failover
im Hintergrund, sowie zur Maximierung der
Downlink
-Auslastung auch das parallele Anzapfen mehrerer Quellen. Die Metalinks konnen auch mit
OpenPGP
-Signaturen ausgeliefert werden, die das Spiegelserversystem als Fehlerquelle und Sicherheitsproblem eliminieren konnen. Eine ebenfalls integrierte Liste mit mehreren Prufsummen ermoglicht die abschnittsweise Kontrolle angekommener Daten noch wahrend des Herunterladens.
- ↑
mirrorbrain.org
.
(abgerufen am 24. Juni 2017).
- ↑
FAQ - Recording downloads via MirrorBrain.
In:
openoffice.org.
OpenOffice.org Marketing Project,
abgerufen am 12. Oktober 2010
(englisch).
- ↑
Peter Poml:
How the mirrors gave us a vertical take-off.
In:
Weblog von Peter Poml.
7. Oktober 2010, archiviert vom
Original
(nicht mehr online verfugbar) am
11. Februar 2013
;
abgerufen am 12. Oktober 2010
(englisch).
Info:
Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft. Bitte prufe Original- und Archivlink gemaß
Anleitung
und entferne dann diesen Hinweis.
@1
@2
Vorlage:Webachiv/IABot/postr.poeml.de
- ↑
Apache-Verzeichnisliste fur video/.
In:
balance.fsf.org.
Abgerufen am 13. Oktober 2010
: ?MirrorBrain powered by Apache“
- ↑
Mirrors for mirrors.xbmc.org.
In:
XBMC File Repository.
Ehemals im
Original
(nicht mehr online verfugbar)
;
abgerufen am 13. Oktober 2010
: ?Powered by MirrorBrain“
- ↑
Mirror Infrastructure Update.
In:
ArchServer Homepage.
ArchServer Project, 16. September 2009,
abgerufen am 12. Oktober 2010
(englisch).
- ↑
New SourceForge.net Mirror Redirector.
In:
SourceForge.net: Project sourceforge ? Downtime and feature announcements.
Geeknet, Inc., 2. April 2010, archiviert vom
Original
(nicht mehr online verfugbar) am
9. Marz 2010
;
abgerufen am 12. Oktober 2010
(englisch).
Info:
Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft. Bitte prufe Original- und Archivlink gemaß
Anleitung
und entferne dann diesen Hinweis.
@1
@2
Vorlage:Webachiv/IABot/sourceforge.net
- ↑
offizielle Webprasenz des Unterprojektes
mod_asn
(englischsprachig)
- ↑
Transparent Metalinks.
In:
Newsgroup
Metalink Discussion
.
Archiviert vom
Original
(nicht mehr online verfugbar) am
24. April 2012
;
abgerufen am 12. Oktober 2010
(englisch).
Info:
Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft. Bitte prufe Original- und Archivlink gemaß
Anleitung
und entferne dann diesen Hinweis.
@1
@2
Vorlage:Webachiv/IABot/groups.google.com