aus Dankbarkeit für Debian hoste ich Debian-Images zum Download per Torrent-System. Dabei lasse ich ein Tinker Board (ein SoC á la Raspberry Pi) mit TinkerOS (eine Art Debian in der Version "Jessie") hinter meinem Router laufen, das mittels der Software Transmission die Torrents von einer per USB angeschlossenen 2,5''-Festplatte bereitstellt. Meine Upload-Geschwindigkeit beträgt 2Mbit.
Das Tinker Board stürzt aber regelmäßig ab, d.h. es verliert die Netzwerkverbindung und ich möchte mich nun an die Diagnose machen. Im Hinblick auf meine Ausbildung zum Fachinformatiker steht dabei für mich der pädagogische Aspekt im Vordergrund.
0. Fragen zum Hardware Setup
Optional, weil nicht Debian-spezifisch:
- Wie heißt der Computer in solch einer Funktion, bzw. gibt es dafür einen Fachbegriff? Ein Proxy ist es ja nicht, auch kein Gateway oder eine Firewall.
- Welche Eigenschaften sind maßgeblich für den Einsatz des Computers in dieser Funktion? Braucht es besonders viel RAM, viele CPU-Kerne, schnelle CPU-Kerne, irgendwelche besonderen Caches? Ich habe darauf geachtet, dass es eine Multi-Core CPU ist und mutmaße, dass es vorteilhaft ist, dass im Gegensatz zum Raspberry Pi die Ethernet-Netzwerkverbindung nicht über den USB-Bus läuft.
- Welche Dimensionierung der Lesegeschwindigkeit der Festplatte haltet ihr für ausreichend? Wie ist die zu ermitteln? Wäre eine Flash-HDD besser? Braucht eine HDD in solch einer Funktion sonstige besondere Eigenschaften?
- Welches Dateisystem ist für die HDD in diesem Fall geeignet?
- Auch wenn die Frage recht unbedarft daherkommt: Woran liegt es, dass das Tinker Board nach ca. 24h nicht mehr in meinem Heimmnetzwerk (ssh, ping) zu erreichen ist? Die Energiespar-Modi von systemd habe ich alle mittels "systemctl mask [modi]" deaktiviert. Ein Raspberry Pi hatte diese Problematik nicht, es scheint an TinkerOS oder dem Tinker Board zu liegen. Die Sys-Logs haben einen Systemneustart nicht überlebt. Ich habe nun das Logging auf persistent gestellt, in etwa 24h sollten dementsprechende Ergebnisse vorliegen.
- Eine statische IP lasse ich durch einen entsprechenden Eintrag in /etc/network/interfaces verlangen. Ist das der "richtige", zeitgemäße Weg? Mein Eintrag sieht da so einsam aus, das macht mich stutzig.
- Wie analysiere ich, wie viele versendete Pakete gedroppt wurden? Auf welchen Zeitraum beziehen sich die Angaben darüber von der Ausgabe des Befehls ifconfig? Sprich: Wenn dort unter TX dropped: 0 steht, heißt das, dass seit dem letzten Boot noch nie ein Paket gedroppt wurde?
- Anscheinend gibt es Buffer im OS zum Empfangen/Senden von Paketen, zumindest habe ich die Größenwerte solcher erhöht, weil sich Transmission im syslog darüber beklagt hat, dass die angeforderte Buffer-Größe nicht gewährt wurde. Dazu habe ich in /etc/sysctl.conf "net.core.rmem_max=4194304" und "net.core.wmem_max=1048576" eingetragen, weil eben diese Werte laut syslog von Transmission verlangt wurden. Was sind das für Buffer, von welchen (Sub-)Systemen werden die genutzt? Warum sind das so krumme Zahlen?
- Wie kann ich diese Buffer mittels systemd-journald loggen und woran merke ich, ob sie angemessen dimensioniert wurden? Oder muss ich das selbst händisch loggen? Wenn ja, was ist zu empfehlen, wenn das logging ressourcenschonend (CPU- und HDD-Schreib-Last) verlaufen soll?
- Wie lässt sich Netzwerkverkehr loggen, bietet systemd-journald dazu etwas an? Mit welcher Größe habe ich dann zu rechnen, wenn ich z.B. die letzten sieben Tage loggen lassen möchte? Ich möchte mich gerne in der regen Nutzung meiner Dienstleistung sonnen können.
- Welche Daten sollte ich noch im Auge behalten?
- Warum zum Geier sind Debian-DVD #2 und #3 recht weit oben in meinem Upload ranking? Wer braucht die?
- Die Torrents ziehe ich momentan einzeln und händisch von https://cdimage.debian.org/debian-cd/. Bei ca. 40 Torrents ist das schon eine langweilige Mühe, die bei jedem Update/Versionssprung ansteht. Bekomme ich die Torrents irgendwie eleganter und effizienter?
Lieben Gruß!