Bye Bye Nextcloud

Ich habe die Entscheidung mehrere Wochen aufgeschoben. Fakt ist, daß ich meine Nextcloud in letzter Zeit nicht sehr häufig benutzt habe. Für Card,-CalDAV nutze ich die Synology-Eigenen Dienste, die Nutzerdaten liegen auch auf der Synology. Warum also nicht auf ein System – welches gewartet und gepflegt werden will – verzichten. Am Anfang war das ja ganz neu, toll und ambitioniert. Ich habe mir extra nochmal die Mühe gemacht, die jüngste Version 20.0.1 auf einem Debian 10.6 frisch zu installieren. Spaßeshalber habe ich mal die “Empfohlenen Apps” mitinstallieren lassen. Die Installation des “Collabora online – built-in Code server” hat nicht geklappt. Es hätte mich wirklich überrascht wenn alles auf Anhieb funktioniert hätte.

Überdrüssig bin ich auch der Beseitungen der ganzen Einrichtungswarnungen nach der Installation bzgl. Cache, Uploadlimit, SSL und so weiter gewesen. Mein Nutzerverhalten hat sich nicht großartig geändert, aber die Erwartungen an einen Dienst. Ich erwarte keine “One-Click”-Einrichtung aber unter “Benutzerfreundlich” verstehe ich was anderes. Vermutlich bin aber ich auch nicht die anvisierte Zielgruppe und das ist auch völlig in Ordnung. Positiv angetan war ich von dem neuen Dashboard welches so richtig gut und modern aussieht. Die Ernüchterung kam dann aber wieder bei den Standardsachen wie Files und Kalender. Sieht immer noch genauso alt aus.

Ich finde Nextcloud hat sich seiner ursprünglichen Intention etwas abgewandt. Es setzt meines Erachtens zu sehr auf Quantität als auf Qualität. Meine Ansicht deckt sich ein wenig mit Karsten, welcher in seinem Blog zu Nextcloud treffend schrieb:

Es zieht sich schon länger durch meinen Blog, aber ich will es doch noch einmal schreiben: die zunehmende Funktionsvielfalt halte ich für ein Problem. Ich denke nicht, dass ich die nunmehr integrierte Bearbeitungsfunktion von Officedokumenten tatsächlich nutzen werde. Das erledigen lokale Installationen besser (und schneller!). Interessant wohl ohnehin nur für Firmen und entsprechend große Umgebungen …

Ich werde das Projekt weiterverfolgen, evtl. mal die ein oder andere Installation mitmachen aber für produktive Sachen nehme ich zukünftig überwiegend die Dienste meiner Synology in Anspruch.

Versuche mit Icinga Web 2

Neben LibreNMS für die Langzeitüberwachung ist die Tage eine weitere Instanz für das Monitoring hinzugekommen. Neben dem Wunsch auch gezielt Ports oder Dienste zu überwachen war Neugierde ein weiterer Beweggrund. Gerät einschalten und es geht oder geht nicht ist halt mittlerweile nicht mehr so einfach. Dazwischen gibt es immer mehr mögliche Fehlerquellen oder Ursachen welche den regulären Betrieb in Teilen einschränken oder gar unbenutzbar werden lassen. Nun betreibe ich kein Rechenzentrum oder stelle Hochverfügbarkeitsdienste zur Verfügung. Es ist aber trotzdem ein beruhigendes Gefühl zu wissen, daß alles reibungslos funktioniert. Nach etwas Überlegungen meinerseits und intensiven Austausch mit einem Bekannten haben wir uns für Icinga Web 2 entschieden. Schon während der Installation mekt man, daß sowas nicht “mal eben” gemacht wird. Ich als relativ GUI-verwöhnter Mensch musste mich auch erst damit anfreunden, daß nicht alles über eine hübsche Oberfläche machbar ist. Auch bei dem ersten Anlegen eines Hosts bleibt es textlastig. Geräte, Dienste oder Anwendungen welche man gezielt überwachen möchte werden unter /etc/icinga2/conf.d/hosts/ als *.conf – Dateien angelegt. Exemplarisch die Konfigurationsdatei meiner Synology DS415+

object Host "Synology DS415+"{
	import "generic-host"
	address = "10.1.1.14"
	}
	
	object Service "SSH"{
		host_name = "Synology DS415+"
			check_command = "ssh"
			}
			
	object Service "DSM SSL"{
		host_name = "Synology DS415+"
		check_command = "http"
		vars.http_ssl = "1"
		vars.http_port = "5001"
		}
		
	object Service "DSM PLAIN"{
		host_name = "Synology DS415+"
		check_command = "http"
		vars.http_port = "5000"
		}
		
	object Service "RSYNC"{
		host_name = "Synology DS415+"
		check_command = "tcp"
		vars.tcp_port = "873"
		}
		
	object Service "HyperBackup"{
		host_name = "Synology DS415+"
		check_command = "tcp"
		vars.tcp_port = "6281"
		}
		
	object Service "Freigabe NetBackup"{
		host_name = "Synology DS415+"
		check_command = "disk_smb"
			vars.disk_smb_port = "445"
			vars.disk_smb_hostname = "DS415"
			vars.disk_smb_share = "NetBackup"
			vars.disk_smb_username = "user"
			vars.disk_smb_password = "password"
			vars.disk_smb_wused = "85"
			vars.disk_smb_cused = "95"	
		}

Hier werden die “üblichen” Dienste in das Monitoring aufgenommen. Der erste Block inkludiert auch die Abfrage über Ping. Für den zweiten Block SSH sind keine weiteren Parameter nötig. Interessant ist der dritte Block. Eine Abfrage per HTTP (wir wollen wissen ob DSM erreichbar ist), das es sich um eine SSL-Verschlüsselte Verbindung (vars.http_ssl = “1”) und einen abweichenden Port -nämlich 5001- handelt. Analog das ganze für DSM ohne Verschlüsselung. Die Objekte RSYNC und HyperBackup überwachen die Ports welche von den Diensten genutzt werden. Im letzten Block wird definiert ob eine Freigabe erreichbar ist. Unter vars.disk_smb_username und vars.disk_smb_password müsst ihr natürlich einen User/PW eingeben welcher das Recht hat um auf die Freigabe zugreifen zu dürfen.

Zumindest die Anzeige der Parameter und Zustände kann man sich grafisch auf einer einfachen übersichtlichen Weboberfläche angucken.

Icinga2 ist unheimlich mächtig, aber deswegen auch erstmal schwer zu verstehen. Ich bin froh wenn ich die mir wichtigsten Dienste und Anwendungen überprüfen kann, ohne gleich 2 Semester Icinga studieren zu müssen. Der Vorteil liegt aber deutlich auf der Hand. Man sieht mehr zwischen “Geht” und “Geht nicht”. Als Unterbau dient mir ein minimales Debian 10.4 welches sehr Ressourcenschonend ist. Die VM läuft auf einer Synology DS1019+ mit 256MB RAM sehr vernünftig. Nachteil: fällt die DS1019+ aus, ist auch Essig mit Monitoring. 🙂

Das ganze könnte man jetzt noch wunderbar beispielsweise mit InfluxDB verknüpfen und mit Prometheus oder Grafana grafisch visualisiert aufbereiten. Erste Versuche sind aber gescheitert, weil ich der DB keine vernünftigen und vor allen Dingen vergleichbaren Metriken entlocken konnte. Jeder angelegte Host hatte unterschiedliche Werte auf der Zeit,- als auch Datenachse. Sieht zwar schön aus, aber ein direkter Vergleich zwischen den Systemen kommt so nicht zustande.

Aber das ganze macht man auch nicht “mal eben”….

Umzug via Synologys Migrations Assistant

Seit meinem letzten Eintrag 4 Monate vergangen. Wie doch die Zeit vergeht.
Kurzum: Seit 3 Wochen wohnt eine DS1019+ bei mir. Diese ersetzt die DS415+ welches zukünftig mit bereits verbauten 2 x 14TB als Backup-Storage dient. Ich habe lange mit mir gehadert, wie ich die Migration machen sollte. Festplatten umstecken, manuell von A nach B kopieren, oder den neuen Migrations Assistant von Synology ausprobieren. Die HDDs wollte ich nicht umstecken weil diese ja weitehin für das Backup gebraucht werden. Der manuelle Umzug von rund 13 TB und der Aufwand diverse Apps wieder erneut zu konfigurieren war mir diesmal zu viel Arbeit. Klar hätte man die Konfig wieder einspielen können, aber das ersetzt trotzdem nicht die langwierigen Nacharbeiten. Zu der Zeit hatte ich privat viel um die Ohren und wenig Ressourcen übrig. Also habe ich mich entschlossen den Migrationassistant zu probieren. Ein valides und tragfähiges Backup der Daten vom Quellsystem (DS415+) war vorhanden. Der Assistant wird am Zielsystem (DS1019+) installiert, für das Quellsystem die IP-Adresse sowie das Passwort für einen User welcher Mitglied der Administratorengruppe ist eingetragen. Nach einer kurzen Überprüfung beginnt auch schon das kopieren. Der gesamte Vorgang wird über SSH durchgeführt.

Die Übertragunsrate schwanke stark zwischen 30 und 100MB/s. In meinem Fall hat das Kopieren rund 4 Tage gedauert. Es war während der gesamten Zeit keinerlei Interaktion notwendig. Auf das Quell,- sowie Zielsystem konnte weiterhin zugegriffen werden. Nach der Migration manuell den VMM installiert, das System hat die VMs der “alten” Maschine nahtlos importiert. Einzig die Netzwerkverbindung für die VMs musste händisch nachgezogen werden. Das steht aber auch so in der oben verlinkten Anleitung. Auf Wunsch werden die Dienste und Anwendungen auf dem Quellsystem gestoppt. Ich habe der DS1019+ die ursprüngliche IP der DS415+ gegeben. Nach einem obligatorischen Neustart waren sämtliche Freigaben, Benutzer, Dienste, Anwendungen, Daten, Mails, Kalender, Datenbanken und die Homepage vollständig migriert. Sogar die eingerichteten Jobs von HyperBackup waren vorhanden und funktionierten auf Anhieb. Einzig den Job zu Google Drive musste ich erneut verknüpfen. Mein innig geliebtes OSCM greift problemlos auf die Datenbank welche nun auf der DS1019+ liegt zu.

Um die Integrität und Konsistenz der Daten zu wahren, habe ich vor der Migration sämtliche Zugriffe auf das Quellsystem unterbunden. Nach Abschluß der Migration die Zugänge in der Sophos UTM auf das neue Ziel gelegt und aktiviert. So macht eine Migration echt Spaß. Ich wurde positiv überrascht, werde das Konzept weiterverfolgen und bei Bedarf vermutlich wieder so durchführen.

Nextcloud 17.0.2

Ich habe die freien Tage zwischen Weihnachten und Silvester genutzt um meinen Nextcloud-Container auf 17.0.2 zu bringen. Mit dem integrierten Updater eine runde Sache ohne Komplikationen. Bin hier vermutlich immer noch von diversen Update-Orgien von ownCloud vorbelastet.

Nach dem Login wurde ich aber von einer Einrichtungswarnung begrüßt.

Das ganze kann man aber schnell bereinigen. Unbedingt vorher die Instanz in den Wartungmodus versetzen.
Nun können wir weitermachen und die Konvertiertung auf big int ausführen:

php occ db:convert-filecache-bigint

Je nach Umgebung und Datenmenge kann dies lange dauern.
Wenn die Konvertierung abgeschlossen ist, den Wartungmodus abschalten und erneut anmelden.

Das Changelog liefert wie übliche weitergehende Informationen über das Update.