dms schrieb:
Mit Verlaub, dein Skript zum lernen und wegwerfen mag das OK sein, die Architektur mehr als NAJA - erscheint überkomplex und von dir mit Verlaub unbeherscht .. jetzt also via VM
Naja, man kann sowas schon auch mit einem eigenen Skript machen, wenn die Anforderung mit einem Tool evtl. nicht 100% umsetzbar ist. Ich wüsste jetzt auch nicht aus dem Stegreif, wie ich die Anforderung des TE mit rsync umsetzen würde, habe das bisher aber auch immer nur "straight-forward", sprich Quelle und Ziel synchron halten, benutzt.
Aber darum (und ob es alternative Ansätze gibt, z.B. die scheinbar unnötigen Dateien einfach vorab an der Quelle zu löschen) soll es hier gar nicht gehen.
Die Ausgangssituation war ja, dass der LXC Container einfach abgeschossen wird, wir haben nun rausgefunden, dass das sowohl mit shutily.copy2 als auch mit einem cp Kommando passiert. Vermutlich liegt es also nicht am Skript des TE, sondern daran, dass der Kopieren von einem SMB Share auf ein anderes SMB Share aus dem LXC Container heraus nicht stabil funktioniert.
Es ist zu befürchten, dass es eventuell auch mit rsync das gleiche Problem auftritt. Kann auch sein, dass es nicht der Fall ist, weil rsync eigene Kopierroutinen verwendet, denn rsync kann ja auch Dateien die nur partielle Änderungen aufweisen, partiell kopieren.
Also auch die Umstellung auf rsync wäre nicht wirklich Ursachenbekämpfung.
Bisher ist nur da Symptom bekannt: Der Container (bzw. Prozess) wird wegen einer Überschreitung der cgroup Speicherquote abgebrochen.
Was man beim letzten vom TE erstellten Dump sieht, ist dass am Ende der Abbruch beim Senden eines tcp segments abbricht, nachdem im Folge von sendfile allerlei Code vom Filesystem und vom cifs (Samba) Client durchlaufen wurde.
Damit stellt sich natürlich automatisch die Frage, ob das Problem auch bei lokalen Filesystemen auftreten würde, usw. Leider also viele potenzielle Möglichkeiten die man eingrenzen müsste.
oicfar schrieb:
Ich sehe da zwei Optionen:
- Threadripper mit 2TB RAM kaufen.
- Auf eine VM umstellen.
Die dritte wäre das Problem mit der cgroup Quota zu lösen. Ich kann da selber leider nichts zu beitragen, ich habe LXC noch nie benutzt. Ich habe mich hier nur eingebracht, da sich anscheinend noch niemand die Mühe gemacht hatte, die Stackdumps zu analysieren.