Zunächst die Hintergrundinformationen. Der Server, auf dem dies passiert, ist erst seit weniger als einem Jahr in Betrieb und verfügt über ein externes SAS JBOD. Dieser Server sollte die Aufgabe eines alten Webservers mit Debian 8 und seines dedizierten Speicherservers übernehmen.
Eine Standardinstallation von Debian Buster wurde abgeschlossen und nach einer grundlegenden Einrichtung wurde der Großteil eines LAMP-Stacks (abzüglich des DB-Teils aufgrund eines dedizierten DB-Servers) aus den Repositories installiert. Dann wurde ZFS installiert, ebenfalls aus den Repositories, ein Pool zur Verwendung aller Laufwerke im JBOD eingerichtet und ein ZFS-Dateisystem eingerichtet. So weit, so gut. Zuletzt habe ich alle Software installiert, die sich auch auf dem alten Webserver befand, um Probleme mit der Website zu vermeiden.
Als nächstes kam die Konfiguration und nachdem ich die Betriebssystemkonfiguration auf dem alten Server fast gespiegelt hatte, kopierte ich alle angepassten Apache-Konfigurationsdateien vom alten auf den neuen Server. Dann wurden die SSL- und SSH-Zertifikate und -Schlüssel kopiert und Aktualisierungen geplant, kurz nachdem alles als funktionsfähig überprüft worden war. Dann wurde eine erste Kopie der Website-Inhalte, einschließlich der Inhalte auf dem Datenserver, erstellt. Zuletzt mussten noch einige kleinere Anpassungen an den Apache-Konfigurationen vorgenommen werden, hauptsächlich, weil sich die Inhalte des Datenservers nun in einem neuen Zuhause befanden, was darauf hinauslief, /mnt/xxx durch /zfsroot/xxx zu ersetzen. Nachdem alles erledigt war, wurde ein Neustart durchgeführt und die Site war live, zumindest innerhalb des lokalen Netzwerks.
Alle Leute von der Website haben die Site überprüft und keine Probleme mit einem Browser festgestellt. Es schien alles gut zu funktionieren, aber bevor ich den Wechsel vornahm, trat ein Problem auf. Der alte Datenserver befand sich in einer sekundären DMZ, während sich alle Webserver in der primären DMZ befanden. Der Zugriff auf alle primären DMZ-Server erfolgt über ein einzelnes Nicht-Root-Konto auf einem beliebigen Server mit monatlich geänderten SSH-Schlüsseln und Passwörtern. Das Öffnen des Hauptwebservers für den Basisbenutzerzugriff zum Hinzufügen von Daten und Ändern der Site im laufenden Betrieb wurde als zu großes Sicherheitsrisiko angesehen, sodass der alte Datenserver vorerst verwendet werden musste. Dieser Server verwendet NFSv3 über eine dedizierte Verbindung, buchstäblich nur ein CAT6-Kabel zwischen zwei Schnittstellen, um die Website mit den erforderlichen Daten zu versorgen und gleichzeitig die Benutzer vom Hauptserver fernzuhalten. Also bereitete ich die Schnittstelle und die Einhängepunkte vor und änderte die Apache-Konfigurationen, um auf sie zurückzuverweisen. Zuletzt führte ich ein letztes Rsync zwischen dem alten und dem neuen Webserver durch, änderte die IP, um die IP des alten Servers zu verwenden (aus Firewall- und NAT-Gründen), schaltete beide Webserver aus, verlegte das Datenserverkabel und schaltete den neuen ein. Dann begannen die Probleme.
Zuerst war es ein offensichtliches Problem mit der Anzahl der Apache-Prozesse, die die Obergrenze erreichten. Der neue Server war leistungsstärker als der alte, also berechnete ich eine neue Obergrenze und legte sie fest. Dann trat dieses Problem erneut auf und mein erster Schritt war, den apache2.service neu zu starten, was den im Titel angezeigten Fehler ausgab: „Eigenschaften konnten nicht abgerufen werden: Transportendpunkt ist nicht verbunden.“ Ich versuchte, den Server neu zu starten, indem ich sowohl systemd reboot als auch das gute alte shutdown -r verwendete, und beide schlugen fehl. Also entwickelte ich ein anständiges Herunterfahrverfahren, das mit einigen sysrq-Schlüsseln endete, und das funktionierte. Als ich mir die Systemprotokolle ansah, fand ich eine Vielzahl von NFS-Fehlern, siehediese Frage, aber sonst nichts. Beachten Sie in dieser Frage, dass nach dem Upgrade von Debian 8 auf 11 alles ausgefallen ist. Das geschah, nachdem der neue Server als mögliche Lösung eingerichtet worden war und ich mich voll und ganz darauf konzentriert hatte.
Könnte NFS die Ursache sein? Vielleicht die Apache2-Konfigurationen? Ich weiß es nicht und die Suche nach dieser Fehlermeldung bringt mir so gut wie nichts. Für jede Hilfe bin ich dankbar.