Virtuozzo Server: Die Ressource ist zur Zeit nicht verfügbar :(

Jede Hardware und Betriebssystem hat gewisse Limits, jedoch sind diese bei virtuellen Servern weitaus höher gesetzt, sodass die virtuelle Umgebung stabil funktioniert.

Virtuozzo Server: Die Ressource ist zur Zeit nicht verfügbar :(
Photo by Lars Kienle / Unsplash

Ich hatte letztes Jahr massive Probleme mit meinem V-Server, welches praktisch die Funktionalität des Servers komplett eingeschränkt hat bzw. ein Zugriff war nicht mehr wirklich für mich möglich (-bash: fork: Die Ressource ist zur Zeit nicht verfügbar).

Im ersten Moment war dieses Problem total undurchsichtig. Ich hatte lediglich versucht einen Docker Container zu starten. Nur mit Hilfe eines Neustarts und gezieltem vorzeitigen beenden des Containers, war es mir wieder möglich, die Kontrolle über das System zu erlangen.

Meiner Problemsuche und Recherche nach bin ich in eine Art Thread- oder Prozesslimit der VM des V-Server gelaufen. Ein Limit von welchem ich bislang nicht wusste, dass es existiert. Geschweige denn hätte ich erwartet, dass ich solche Limits, mit den paar Web-Anwendung überhaupt erreichen könnte. Zumal ich sonst praktisch kaum eine nennenswert hohe Auslastung hatte. Wenn dieser Fehler auftritt dann ist es auf dem Server nicht mehr möglich neue Prozesse zu starten. Erst müssen bestehende Prozesse abgebaut werden. Was sich als schwierig gestalten, wenn sich z.B. keine Bash mehr starten lässt.
Ein aus der Ferne ausgelöster Neustart hat ebenfalls zur Folge, dass es nur noch schwer möglich ist, nachzuvollziehen, was den gerade los war.

Jede Hardware und Betriebssystem hat gewisse Limits, jedoch sind diese bei virtuellen Servern weitaus höher gesetzt, sodass die virtuelle Umgebung stabil funktioniert.
Mit cat /proc/user_beancounters, können die Limits ausgelesen werden und man kann sehen ob diese Limits erreicht werden. Allerdings wird das erreichen des Limits nur bis zum nächsten Neustart gespeichert. Was eine Analyse schwierig gestaltet, wenn man denn, Aufgrund des Problems, keinen Zugriff mehr auf das System besitzt.

Dieses Limit ist also einer der Faktoren, welcher zum Ressourcenmanagement für Virtuozzo Server genutzt wird. Und natürlich ist es auch Sinnvoll, dass es gewisse Limits bei einem V-Server geben muss. Für mich ist das ein Faktor, welcher allerdings total intransparent da steht und es schwer macht einschätzen zu können, was auf meinem V Server möglich ist und was eben nicht. Entsprechend hat es mein Vertrauen in den Server nachhaltig erschüttert. Sodass ich überlegen musste, wie ich damit umgehen soll bzw. klar ist, dass dieser Server meine Erwartungen nicht mehr erfüllt.

Meine Recherche hat allerdings auch ergeben, dass es Zeitgemäßer wäre auf einen KVM basierten V-Server zu setzen. Bei diesem gibt es solche Limits nicht, weshalb weitaus mehr Prozesse gestartet werden können. Denn V-Server hatte ich bis dato bei Strato angemietet.

Also begann von dort an ein langer Prozess an einer Lösungsfindung bzw. der Suche nach einem neuen Server. Wenn ich doch ohnehin auf einen neuen Server setzen wollte, dann wollte ich doch genau herausarbeiten, was ich zukünftig will. Was mir dabei besonders wichtig war, ist ein System das möglichst einfach in der Handhabbarkeit und Wartung ist.

  • Plain Linux Server oder doch wieder mit Management Software, wie Plesk?
  • Wieder ein Server bei Strato oder woanders?
  • Vielleicht sogar ein privat gehosteter Server via DynDNS o.ä.?

Viele Überlegungen spielten hier rein. Mit Plesk war ich nun in der Vergangenheit auch nicht immer zufrieden. Denn einen oder anderen Konflikt gab es in der Vergangenheit, damit bereits zu bewältigen. Wenn ich nur bedenke wie häufig ich Probleme mit der Aktualisierungsrate des lokal gehosteten DNS Servers hatte. Welche regelmäßig dazu führte, dass Let's Encrypt Zertifikate nicht aktualisiert werden konnten.
Die Einrichtung eine SMTP Servers, welcher auch von diversen Mail-Anbietern akzeptiert wird, war damals auch ein Stückweit arbeit, sowie der Anti-Spam und Co.

Klar das war auch vieles an neuen Erfahrungen, welche ich sammeln musste.

Letztlich entschied ich mich wieder für einen V-Server bei Strato. Wie sich zeigte hat Strato mittlerweile eine neue KVM basierende V-Server Platform aufgesetzt, auf welcher alle neuen V-Server aufbauen. Es sollte allerdings bis zum Ende des Jahres dauern, bis ich dazu kam, solch einen Schritt zu gehen. Einziger Nachteil ist, dass man eine Virtualisierungssoftware nicht einfach so umziehen kann. Es braucht hierfür sozusagen eine Neuinstallation.

Ich entschied mich wieder für einen Ubuntu Server mit Plesk als Management-Software. Die Einrichtung war beim zweiten mal, doch erheblich einfacher (Erfahrung zahlt sich doch aus). Auch gibt es sehr gute Möglichkeiten, sehr schnell, viele Dinge zu transferieren, über die Backup und Recovery Funktionen von Plesk. Von kompletten Websites, über Datenbanken, Konfiguration und kompletter E-Mail-Konten.

Auch das DNS Problem konnte ich so lösen, dass ich den DNS Server nicht mehr selbst betreibe, sondern denn von Strato nutze (Was auch nicht anders geht, da es noch keine zusätzliche IPv6-Adresse für den Server zu buchen gibt).
Denn Problemen mit dem aktualisieren von Let's Encrypt Zertifikaten konnte ich damit aus dem Weg gehen, indem ich schlicht keine Wildcard Zertifikate erstellt habe, sondern für jede Sub-Domain ein eigenes.
Auf diesem Wege benötigt es keine TXT-Records mit acme-challange . Die Verifizierung geht dann schlicht und einfach via HTTP.

Ich konnte auch endlich einen Weg finden, einen automatisierten Backup auf mein lokales NAS (True-NAS) einzurichten und damit erreiche ich nun maximale Sicherheit.

Damit ist der erste Schritt geschafft für Zahlreiche neue Möglichkeiten und Projekte - So wie auch die Einrichtung dieses Blog.