Nachdem also ein Backup erstellt wurde, das neue OS ausgesucht wurde, ging es nun an die Installation.
In der alten Konfiguration hatte ich im BIOS ein Hardware RAID10 erstellt, den ich zunächst aufgelöst habe.
Anschließend erfolgte die Installation des Betriebssystems über einen USB-Stick. Nicht der Rede wert. Dann wurde es interessant. Die erste Amtshandlung war die Installation von Netplan und der Virtualisierungssoftware.
Warum? Weil ich OPNSense auf einer virtuellen Maschine laufen hatte, und OPNSense als mein Netzwerkhub agiert. Sprich: sämtliche Netzwerkeinstellungen funktionieren nur, sofern diese VM läuft. Und dies VM erreicht nur alles, sofern das Netzwerk auf dem Server ordentlich konfiguriert ist. Also die Netzwerkeinstellungen kopiert und die VM importiert. Somit hatte ich in Minuten wieder mein Netzwerk mit allen zuvor geliebten Einstellungen wieder, was bei insgesamt 8 verschiedenen Netzwerken auch Sinn ergibt.
Anschließend wurden die VMs auch zurückgespielt. Aber da einige davon auch noch auf Ubuntu-Servern liefen, wurden diese halt auch auf Debian Server umgezogen.
Interessante neue Erkenntnisse wurden diesbezüglich gewonnen:
- MariaDB
- Ich hatte ursprünglich damit gerechnet, dass es den Export der einzelnen Datenbanken bedurfte, um diese dann DB für DB wieder im neuen Server herzustellen. MariaDB hat dafür mittlerweile ein Backup-Tool, welches allerdings penibel genau mit der Versionierung ist. Aber, das Sichern und Zurückspielen waren jeweils eine CLI Eingabe, und somit mal: Kudos an die MariaDB Betreiber.
- Bei den restlichen Servern gab es keine Probleme, einige behalten bis auf Weiteres auch ihren Unterbau, doch dazu später mehr.
Der erste interessantere Fall war das NAS.
Kurz zur Ausgangssituation: Ich hatte, wie bereits erwähnt, einen Hardware-RAID10 im BIOS eingestellt, die Kapazität von 16TB (4*8TB/2) dann aber auf das NAS und auf die Cloud aufgeteilt, war damit aber nicht wirklich glücklich. Zum einen bin ich seit geraumer Zeit der Einzige, der meine Cloud nutzt. Zum anderen kann ich die Daten aber dann entweder unter Cloud abrufen, oder aber auf dem NAS, habe keine direkte Verbindung zum NAS.
Dazu lief das NAS noch auf einer sehr umständlichen QNAP NAS Virtualisierung, die mich an nervte. Einer der ersten Beschlüsse beim Umzug war: Sobald das neue System steht, wird das NAS ersetzt.
Im Zuge der Betriebssystemauswahl wurde ich dann auf TrueNAS aufmerksam. Das gefiel mir zwar nicht als Basis-OS, aber in einer virtuellen Maschine würde es dann doch noch laufen. Also Fix installiert, und jede einzelne der vier Platten an die virtuelle Maschine durchgereicht. Diese dann unter TrueNAS zu einem Raidverbund gekoppelt, und schon hatte ich meine gesamten 16 TB als NAS Speicher.
Das brachte mich dann zur Cloud. Ich hätte gern, dass die NAS Freigaben auch von meiner Cloud zugreifbar sind.
Der Neubau der Cloud war eh der Plan. Also die Cloud neu aufgesetzt, und dann die Anbindung an das TrueNAS ausprobiert. Da dies aber nicht im grafischen Menü funktioniert, muss man da pre CLI Hand anlegen.
sudo -u www-data php occ files_external:create <NameInNextcloud> 'smb' password::password -c host=<IP-Adresse> -c share=/<share/auf/TrueNAS>/ -c root=/<Verzeichnis/im/Share> -c domain=<DomainName> -c user=<smbuser> -c password=<smbPasswort>
Der Befehl ist relativ umfangreich, wenn er allerdings gelingt, erscheint dann folgende Zeile auf dem Bildschirm.
Storage created with id 1
Das hat mich natürlich nicht davon abgehalten, dies direkt in der Nextcloud zu überprüfen, und siehe da, der SMB-Share ist angelegt. Allerdings war es noch für jeden Nutzer zugänglich, was eigentlich nicht mein Plan war.
Also musste ich noch diesen Befehl hinterherschicken:
sudo -u www-data php occ files_external:applicable --add-user=<NextcloudNutzername> <Storage ID>
Damit war es dann aber auch getan, und siehe, mein Nutzer hatte vollen Zugriff über die Cloud auf sein NAS Verzeichnis. Mission Accomplished!
Nach TrueNas kam Semaphore. Semaphore ist ein grafisches Frontend gekoppelt an einen Webserver, welches Ansible und Terraform unterstützt, und demnächst noch Powershell bekommen soll (Ansible unterstützt schon einiges auf MS Seite). Terraform kommt von der Hashicorp und ist iaC (infrastructure as Code), in Kurzform: Ich deklariere, was ich an Infrastruktur bauen möchte, und Terraform führt es aus.
Bislang habe ich alles manuell angelegt, aber beide Tools haben mich fasziniert. Also wurde ein Semaphore Server aufgesetzt, ein Projekt begonnen, und ein Testserver aufgesetzt, auf dem ich die Playbooks testen kann. Das, was Semaphore gern hätte, wäre eine Anbindung an Github. Allerdings habe ich kein Interesse, meine Daten auf GitHub zu speichern.
Also habe ich mir mit Gitea kurzerhand ein lokales Github aufgebaut, und das daran angebunden. Was auch funktioniert. Nun habe ich ein Github und ein Semaphore.
Allerdings liegt meine derzeitige Anzahl an ständig laufenden VMs mittlerweile bei 20, und der Server liegt im Moment bei 80 % Auslastung.
Neueste Kommentare