Ctorrent oder rsync Geschwindigkeit

sudo mea maxima culpa

sorry!

Hallo zusammen,
ich habe bei uns an der Schule parallel zur lmn7 eine lmn71 aufgesetzt und heute die Image-Verteilung getestet.

Bei einem Infomatikraum mit 17 Rechnern haben die ersten 10 Rechner das Image vom Server gezogen. Die anderen haben anfangs brav gewartet, bis ihnen der Server was angeboten hat.
Das hat er auch getan. Dann haben aber dafür andere Rechner nicht mehr geladen.
Ich habe so den Eindruck, dass die Clients untereinander keine Datenpakete schicken.
Bei der lmn70 habe ich die Einstellung

# only allow num uploads at once per image (default 4)
MAX_UPLOADS=4

Da haben die ersten 4 Clients ihre Datenpakete vom Server bekommen und dann fleißig mit den anderen geteilt.

Wie ist das bei linbo4? Wie kann man da die Clients dazu bringen, Datenpaket auch an die anderen Clients zu schicken?

Gruß,
Mathias

Hallo zusammen,
ich habe noch etwas weiter gesucht:

root@server:~# systemctl status linbo-torrent.service 
● linbo-torrent.service - Linbo torrent service
   Loaded: loaded (/etc/systemd/system/linbo-torrent.service; enabled; vendor preset: enabled)
   Active: active (exited) since Sat 2022-05-07 19:23:38 CEST; 36min ago
  Process: 872 ExecStart=/usr/sbin/linbo-torrent start (code=exited, status=0/SUCCESS)
 Main PID: 872 (code=exited, status=0/SUCCESS)

Mai 07 19:23:36 server.linuxmuster.lan linbo-torrent[872]: Image win7-ibm.cloop does not exist! Skipping this torrent.
Mai 07 19:23:37 server.linuxmuster.lan sudo[956]:     root : TTY=pts/0 ; PWD=/srv/linbo/images/ubuntu2004 ; USER=nobody ; COMMAND=/usr/bin/ctorrent -e 100000 -M 4 -m 1 -z 128 ubuntu2004.qcow2.torrent
Mai 07 19:23:37 server.linuxmuster.lan sudo[956]: pam_unix(sudo:session): session opened for user nobody by (uid=0)
Mai 07 19:23:37 server.linuxmuster.lan sudo[956]: pam_unix(sudo:session): session closed for user nobody
Mai 07 19:23:37 server.linuxmuster.lan linbo-torrent[872]: Starting screen process for ubuntu2004.qcow2.torrent ... Failed!
Mai 07 19:23:37 server.linuxmuster.lan sudo[1112]:     root : TTY=pts/0 ; PWD=/srv/linbo/images/ubuntu2004L ; USER=nobody ; COMMAND=/usr/bin/ctorrent -e 100000 -M 4 -m 1 -z 128 ubuntu2004L.qcow2.torrent
Mai 07 19:23:37 server.linuxmuster.lan sudo[1112]: pam_unix(sudo:session): session opened for user nobody by (uid=0)
Mai 07 19:23:37 server.linuxmuster.lan sudo[1112]: pam_unix(sudo:session): session closed for user nobody
Mai 07 19:23:38 server.linuxmuster.lan linbo-torrent[872]: Starting screen process for ubuntu2004L.qcow2.torrent ... Failed!
Mai 07 19:23:38 server.linuxmuster.lan systemd[1]: Started Linbo torrent service.

Wie man sieht, scheint aus irgendeinem Grund das Starten des screen processes zu scheitern.

An die lmn71 bin ich gekommen, indem ich wie in der Doku beschriebe, von der lmn7 auf die lmn71 upgegraded habe.
Wie hier beschrieben habe ich dann die cloop-Images in qcow2-Images umgewandelt. Das hat eigentlich ganz gut funktioniert.

Anschließend habe ich die Dateien ubuntu2004.cloop* und ubuntu2004L.cloop* gelöscht.

Bis eben auf die Sache mit dem Torrent…

Für einen Tipp wäre ich dankbar. Vielen Dank schon mal für’s mitdenken. Gruß,
Mathias

Hallo Mathias,

Wahrscheinlich ein Rechteproblem. Bitte schau doch mal nach, ob die Verzeichnisse /srv/linbo/images/ die Rechte drwx-r-x-r-x haben. Wenn nicht, dann setzen mit chmod 755 . Evtl. auch die Rechte der darunterliegenden Dateien kontrollieren.

Viele Grüße
Klaus

Hallo Klaus,
vielen Dank für deinen Tipp. Mit den Rechten hat es leider nichts zu tun gehabt. Aber ich habe etwas anderes herausgefunden:

Ich habe zu Testzwecken in der Datei /etc/default/linbo-torrent
MAXPEERS ="4"
gesetzt.
Nach einem linbo-torrent restart kamen dann die Fehlermeldungen. Wenn ich dann MAXPEERS ="100" setze, geht wieder alles?!?

Hast du mir da einen Tip?
Ich schick die Frage auch mal zu Thomas:
@thomas Hallo Thomas wenn ich in /etc/default/linbo-torrent zu Testzwecken MAXPEERS ="4" setze und mit linbo-torrent restart die Torrents neu Starte starten die Torrents nicht mehr. Hast du mir da einen Tip?

Gruß,
Mathias

Hallo Mathias,

@thomas https://ask.linuxmuster.net/u/thomas Hallo Thomas wenn ich in

/etc/default/linbo-torrent| zu Testzwecken |MAXPEERS =„4“| setze und
mit |linbo-torrent restart| die Torrents neu Starte starten die Torrents
nicht mehr. Hast du mir da einen Tip?

weiter oben im thread steht, dass die Datei von linbo 2 benutzt wird:
nicht von linbo 4.
Es sollte also wurscht sein, was da drin steht.

LG

Holger

Hallo Michael,

root@server:~# systemctl status linbo-torrent.service ●
linbo-torrent.service - Linbo torrent service Loaded: loaded
(/etc/systemd/system/linbo-torrent.service; enabled; vendor preset:
enabled) Active: active (exited) since Sat 2022-05-07 19:23:38 CEST;
36min ago Process: 872 ExecStart=/usr/sbin/linbo-torrent start
(code=exited, status=0/SUCCESS) Main PID: 872 (code=exited,
status=0/SUCCESS) Mai 07 19:23:36 server.linuxmuster.lan
linbo-torrent[872]: Image win7-ibm.cloop does not exist! Skipping this
torrent. Mai 07 19:23:37 server.linuxmuster.lan sudo[956]: root :
TTY=pts/0 ; PWD=/srv/linbo/images/ubuntu2004 ; USER=nobody ;
COMMAND=/usr/bin/ctorrent -e 100000 -M 4 -m 1 -z 128
ubuntu2004.qcow2.torrent Mai 07 19:23:37 server.linuxmuster.lan
sudo[956]: pam_unix(sudo:session): session opened for user nobody by
(uid=0) Mai 07 19:23:37 server.linuxmuster.lan sudo[956]:
pam_unix(sudo:session): session closed for user nobody Mai 07 19:23:37
server.linuxmuster.lan linbo-torrent[872]: Starting screen process for
ubuntu2004.qcow2.torrent … Failed! Mai 07 19:23:37
server.linuxmuster.lan sudo[1112]: root : TTY=pts/0 ;
PWD=/srv/linbo/images/ubuntu2004L ; USER=nobody ;
COMMAND=/usr/bin/ctorrent -e 100000 -M 4 -m 1 -z 128
ubuntu2004L.qcow2.torrent Mai 07 19:23:37 server.linuxmuster.lan
sudo[1112]: pam_unix(sudo:session): session opened for user nobody by
(uid=0) Mai 07 19:23:37 server.linuxmuster.lan sudo[1112]:
pam_unix(sudo:session): session closed for user nobody Mai 07 19:23:38
server.linuxmuster.lan linbo-torrent[872]: Starting screen process for
ubuntu2004L.qcow2.torrent … Failed! Mai 07 19:23:38
server.linuxmuster.lan systemd[1]: Started Linbo torrent service. |

bei mir sieht das so aus:

root@LMG:~# systemctl status linbo-torrent.service
● linbo-torrent.service - Linbo torrent service
    Loaded: loaded (/etc/systemd/system/linbo-torrent.service; enabled;
vendor preset: enabled)
    Active: active (exited) since Wed 2022-05-04 19:31:20 CEST; 4 days ago
  Main PID: 12982 (code=exited, status=0/SUCCESS)
     Tasks: 28 (limit: 4915)
    CGroup: /system.slice/linbo-torrent.service
            ├─13008 SCREEN -dmS win7.lmg-win7-t61.cloop.torrent
/usr/share/linuxmuster/linbo/linbo-torrenthelper.sh
win7.lmg-win7-t61.cloop.torrent
            ├─13011 /bin/bash
/usr/share/linuxmuster/linbo/linbo-torrenthelper.sh
win7.lmg-win7-t61.cloop.torrent
            ├─13012 /usr/bin/sudo -u nobody /usr/bin/ctorrent -e 100000
-M 100 -m 1 -z 128 win7.lmg-win7-t61.cloop.torrent
            ├─13013 /usr/bin/ctorrent -e 100000 -M 100 -m 1 -z 128
win7.lmg-win7-t61.cloop.torrent
            ├─13028 SCREEN -dmS win7.lmg-win7-t420.cloop.torrent
/usr/share/linuxmuster/linbo/linbo-torrenthelper.sh
win7.lmg-win7-t420.cloop.torrent
            ├─13030 /bin/bash
/usr/share/linuxmuster/linbo/linbo-torrenthelper.sh
win7.lmg-win7-t420.cloop.torrent
            ├─13031 /usr/bin/sudo -u nobody /usr/bin/ctorrent -e 100000
-M 100 -m 1 -z 128 win7.lmg-win7-t420.cloop.torrent
            ├─13031 /usr/bin/sudo -u nobody /usr/bin/ctorrent -e 100000
-M 100 -m 1 -z 128 win7.lmg-win7-t420.cloop.torrent
            ├─13032 /usr/bin/ctorrent -e 100000 -M 100 -m 1 -z 128
win7.lmg-win7-t420.cloop.torrent
            ├─13049 SCREEN -dmS yogawin10.cloop.torrent
/usr/share/linuxmuster/linbo/linbo-torrenthelper.sh yogawin10.cloop.torrent
            ├─13051 /bin/bash
/usr/share/linuxmuster/linbo/linbo-torrenthelper.sh yogawin10.cloop.torrent
            ├─13052 /usr/bin/sudo -u nobody /usr/bin/ctorrent -e 100000
-M 100 -m 1 -z 128 yogawin10.cloop.torrent
            ├─13053 /usr/bin/ctorrent -e 100000 -M 100 -m 1 -z 128
yogawin10.cloop.torrent
            ├─13068 SCREEN -dmS win10-lmg-intel.cloop.torrent
/usr/share/linuxmuster/linbo/linbo-torrenthelper.sh
win10-lmg-intel.cloop.torrent
            ├─13070 /bin/bash
/usr/share/linuxmuster/linbo/linbo-torrenthelper.sh
win10-lmg-intel.cloop.torrent
            ├─13071 /usr/bin/sudo -u nobody /usr/bin/ctorrent -e 100000
-M 100 -m 1 -z 128 win10-lmg-intel.cloop.torrent
            ├─13072 /usr/bin/ctorrent -e 100000 -M 100 -m 1 -z 128
win10-lmg-intel.cloop.torrent
            ├─13088 SCREEN -dmS bionic-lmg-temp.qcow2.torrent
/usr/share/linuxmuster/linbo/linbo-torrenthelper.sh
bionic-lmg-temp.qcow2.torrent
            ├─13090 /bin/bash
/usr/share/linuxmuster/linbo/linbo-torrenthelper.sh
bionic-lmg-temp.qcow2.torrent
            ├─13091 /usr/bin/sudo -u nobody /usr/bin/ctorrent -e 100000
-M 100 -m 1 -z 128 bionic-lmg-temp.qcow2.torrent
            ├─13092 /usr/bin/ctorrent -e 100000 -M 100 -m 1 -z 128
bionic-lmg-temp.qcow2.torrent
            ├─13109 SCREEN -dmS win10-lmg-intel.qcow2.torrent
/usr/share/linuxmuster/linbo/linbo-torrenthelper.sh
win10-lmg-intel.qcow2.torrent
            ├─13111 /bin/bash
/usr/share/linuxmuster/linbo/linbo-torrenthelper.sh
win10-lmg-intel.qcow2.torrent
            ├─13112 /usr/bin/sudo -u nobody /usr/bin/ctorrent -e 100000
-M 100 -m 1 -z 128 win10-lmg-intel.qcow2.torrent
            ├─13113 /usr/bin/ctorrent -e 100000 -M 100 -m 1 -z 128
win10-lmg-intel.qcow2.torrent
            ├─13148 SCREEN -dmS bionic-lmg-lap.cloop.torrent
/usr/share/linuxmuster/linbo/linbo-torrenthelper.sh
bionic-lmg-lap.cloop.torrent
            ├─13150 /bin/bash
/usr/share/linuxmuster/linbo/linbo-torrenthelper.sh
bionic-lmg-lap.cloop.torrent
            ├─13151 /usr/bin/sudo -u nobody /usr/bin/ctorrent -e 100000
-M 100 -m 1 -z 128 bionic-lmg-lap.cloop.torrent
            └─13152 /usr/bin/ctorrent -e 100000 -M 100 -m 1 -z 128
bionic-lmg-lap.cloop.torrent

die alten cloops muss ich mal rausschmeißen …
Man kann aber sehen, dass die ctorrent Prozesse mit -M 100 gestartet
sind: was sie aber definitiv nicht machen: ich hab noch nie mehr als 15
Clients gleichzeitig ein Image bekommen sehen: das wird richtig
dramatisch, wenn ich zwei Räume (zusammen ca. 55 Rechner) starte…

Derzeit behelfe ich mir, indem ich einen virtuellen Cleint mit dem Image
starte und ihnr mit einem initcache:torrent in den seedmodus versetze:
der hilt dann mit.

Irgend wo ist da noch der Wurm drin.

LG

Holger

Hallo Holger,
linbo-bittorrent gehört zur lmn7 und
linbo-torrent gehört zur lmn71.

Mit MAXPEERS="4" wollte ich testen, ob die Clients seeden, wenn der Server nicht mehr als 4 Clients versorgt.

Als ich heute wieder die lmn7-VM gestartet und das Image im Informatikraum (17 Rechner) verteilt habe, wurden erst 4 Clients mit dem Image versorgt. Der Upload beim Server betrug 110 MB/s.

Nach ein paar Minuten später haben die ersten Clients angefangen, ebenfalls teile des Images zu verteilen. Die anderen Clients haben mit hohen Downloadraten den Vorsprung wieder aufgeholt. Die Uploadrate auf dem Server sank in dieser Zeit auf ca 35 MB/s…

Vielleicht kann man das auch beim lmn71-Server sehen. Dazu würde ich geren MAXPEERS="4" setzen.

Gruß,
Mathias

Hallo Mathias,

linbo-bittorrent| gehört zur lmn7 und
linbo-torrent| gehört zur lmn71.

… oh … mein Fehler.

Das startscript: /usr/share/linuxmuster/linbo/linbo-torrenthelper.sh
liest die Werte aus der linbo-torrent aus.
Also eigentlich sollte das schon so gehen.

Kannst du mal deine /etc/default/lionbo-torrent
posten?

LG

Holger

Hallo Mathias,

Ok, würde aber dieselbe Fehlermeldung ergeben.

Interessant! Ich habe das auch getestet, selber Fehler dann bei mir. Ab MAXPEERS=20 läuft alles wieder, darunter nicht. Scheint wohl im ctorrent Binary hart codiert zu sein. Mal sehen…

Gefunden in ctcs.cpp des Quellcodes von ctorrent:

snprintf(value, MAXPATHLEN, „%d“, (int)cfg_max_peers);
snprintf(desc, MAXPATHLEN, „Current peers: %d“,
(int)(WORLD.GetPeersCount()));
if( (r = SendMessage(ConfigMsg(„max_peers“, „I“, „20-1000“, value,
„Max peers [-M]“, desc))) < 0 )
return r;

Viele Grüße
Klaus

Hallo Holger, hallo Klaus,

Zunächst mal scheints nicht an meiner linbo-torrent zu liegen.

Hier sieht es so aus, als ob die Clients nicht freiwillig seeden. Naja, ich versuche es heute abend trotzdem mal in einer screen-session von Hand MAXPEERS auf 4 runter setze und dann ein Image auf 17 zu verteilen. Ich berichte dann …

Gruß,
Mathias

Hallo Mathias,

4 geht nicht, weil der ctorrent Client dann nicht starten wird. 20 ist das Minimum.

Viele Grüße
Klaus

Hallo Klaus,

Das geht, wenn man als root auf dem Server angemeldet ist. Dann geht man wie folgt vor:

  1. screen -r ubuntu2004.qcow2.torrent
  2. Mit h erhälst du einen Überblick, was man verändern kann.
  3. Mit M kommst du zu den max peers
  4. Mit +/- kannst du jetzt max peers verändern.
  5. Mit +a dann +d verlässt du die screen-Session wieder.

Gruß,
Mathias

Hallo Mathias,

tatsächlich, wieder was gelernt, danke!

Wenn das im laufenden Betrieb <20 max_peers zu verändern ist, dann sollte es doch auch in den Optionen(-M) möglich gemacht werden. Vielleicht sollte man einen Debian/Ubuntu Bugreport erstellen und darauf hinweisen? Evtl. kann der Entwickler diese Einschränkung rausnehmen. Hättest Du Zeit und Lust so einen Bugreport zu erstellen?

Viele Grüße
Klaus

Hallo Klaus,

Ich habe heute das Verteilen eines Images auf 17 Rechner getestet. max_peers = 4 hat leider nicht viel gebracht.
Insofern würde ich mit dem Bugreport noch ein Bisschen warten. Ist vielleicht eine sinnvolle Einschränkung…

Ich habe auch gemerkt, dass der Upload vom Server beispielsweise den tftp-Service so stark herunter bremst, dass der ein oder andere Client nicht mehr vom Netz bootet. Vielleicht hindert das auch andere Clients ihre Datenpakete zu seeden.
Beim nächsten Veruch begrenze ich die Uploadgeschwindigkeit auf 100 MB/s. Mal sehen, ob das was bringt.
Das kann aber noch ein bisschen dauern…

Noch was: Bedeutet MB/s MBit/s oder MBytes/s?

Gruß,
Mathias

Hallo Mathias,

ich habe mal gelernt:

b → Bit
B → Byte

Aber ob sich daran alle halten, bezweifele ich.

Beste Grüße

Thorsten

Hallo Matthias,

Das ist in KB/s anzugeben, also Kilobyte pro sekunde.

# Max bandwidth down (unit KB/s, default unlimited)
MAXDOWN=""

# Max bandwidth up (unit KB/s, default unlimited)
MAXUP=""

VG, Thomas

Hallo,

ich habe mal gelernt:

b → Bit
B → Byte

und dann gibt es manchmal auch noch einen Unterschied zwischen MB und MByte.
Bei MB wird mit 10001000 Byte gerechnet
und bei MByte mit 1024
1024 Byte

LG

Holger

Hallo Holger,

offiziell ist:

Bit Faktor 1000: bit, kbit, Mbit, …
Bit Faktor 1024: bit, Kibit, Mibit, …
Byte Faktor 1000: B(yte), kB, MB, …
Byte Faktor 1024: B(yte), KiB, MiB, …

Das wird natürlich ganz häufig nicht sauber durchgezogen.

Beste Grüße

Jörg

Hallo Jörg,

offiziell ist:

Bit Faktor 1000: bit, kbit, Mbit, …
Bit Faktor 1024: bit, Kibit, Mibit, …
Byte Faktor 1000: B(yte), kB, MB, …
Byte Faktor 1024: B(yte), KiB, MiB, …

danke für die Berichtigung: mal wieder hat Holger gefährliches
Halbwissen verbreitet :slight_smile:

Immerhin hab ich drauf hingewiesen, dass da doch noch was war :slight_smile:

LG

Holger