mir ist bei der Verteilung der Images folgendes aufgefallen:
Unser Netz ist segmentiert. Es gibt das Schülernetz (10.18.0.0/16) und das Lehrernetz (10.17.0.0/16).
Verteile ich ein Image nur in einem Netz, also zum Beispiel nur im Schülernetz, dann geht die Imageverteilung schnell.
Verteile ich ein Image im Lehrer- und im Schülernetz, so bleiben einige Clients hängen und fallen auf rsync zurück.
Ich vermute, dass das daran liegt, dass ein Client im Schülernetz keine Daten von einem Client im Lehrernetz bekommt. Und umgekehrt natürlich auch. Wenn also der Torrent auf einem Schülerrechner versucht einen Slice von einem Torrent auf einem Lehrerrechner zu bekommen, klappt das nicht. Klar, so haben wir ja die Netzwerke eingerichtet.
Das Problem tritt bei uns mit der lmn-7.3 auf. Vielleicht gibt es da eine Lösung für die lmn-7.4.
Bei uns an der Schule ist das mit nur zwei Netzen ein leicht zu umgehendes Problem. Ich verteile die Images zuerst im Schülernetz und dann im Lehrernetz.
Hat man sein Netz stärker segmentiert, wird die Sache schon etwas langwieriger…
das BitTorrent-Protokoll sollte eigentlich genau das Problem vermeiden, dass Peers nicht erreichbar sind. Allerdings kann es sein, dass Clients im Subnetz A vom Tracker auf dem Server erstmal nur Peers im anderen Subnetz B bekommen. Dann probieren sie den TCP-Verbindungsaufbau, scheitern an einer Netzwerkfirewall, warten TCP-Verbindungstimeouts ab und fragen dann irgendwann erneut beim Tracker nach, der dann vielleicht eine Liste mit Clients aus Subnet A liefert. Es gibt mit DHT, Local Peer Discovery (LPD) und einer niedrigen Abfragefrequenz beim Tracker mehrere Optionen, die ein deiner Situation helfen könnten. LPD sorgt bspw. dafür, dass sich die Clients im jeweiligen Subnetz untereinander am Tracker vorbei direkt austauschen. Das würde ich im Kontext von Linbo eher als Vorteil statt als ein Problem sehen. Ich habe im Ticket mal nachgefragt was die Parameter angeht:
Ohne eine Anpassung der BitTorrent-Parameter würde mir als Workaround nur einfallen pro Subnetz verschiedene Images/Image-Gruppen zu verwenden. Dadurch würden die Clients nur vom Tracker nur Peers im selben SubNet erhalten. Damit du nicht doppelte Arbeit für die Imagepflege hast, könntest du ja die Imagedatei nach dem Aufzeichnen auf dem Server einfach in die andere Gruppe kopieren.