Samstag, 23. Dezember 2023

libvirt - Hardware direkt zum Gast verbinden

Ein großer Vorteil der Linux QEMU/KVM gegenüber Windows Hyper-V ist meiner Meinung nach die Möglichkeit physische Hardware mit dem Gast System zu verbinden. Ich will kurz die Möglichkeiten aufzeigen einen USB Speicherstick einzubinden.

Wordpress - Website umziehen oder reparieren

Der individuelle Inhalt einer Wordpress Website steckt in der Datenbank, alleine mit ihr sind wesentliche Inhalte wieder herstellbar. Der andere individuelle Teil steckt im steckt im Ordner wp-content/uploads. Im allgemeinen sind die Inhalte wp-content/themes und wp-content/plugins durch Installation wieder beschaffbar. 

Freitag, 22. Dezember 2023

Wordpress - Datenbank neu machen

Falls der Webauftritt etwas in die Jahre gekommen ist und neben der Applikation auch die Datenbank auf eine neue Version gehoben werden soll: Für Datenbank Server gibt es immer mal wieder Versionssprünge ohne direktes Update (z.B. MySQL 5 auf 8). Es bleibt dann nur der Weg den Inhalt der Datenbank zu exportieren und in eine neue Datenbank (auf neuem (DB) Server) zu importieren.

Montag, 20. November 2023

vlan tag - oder Stämme, Etiketten, Brücken ...

Meine Fritzbox ist nur DSL Anschluss und Telefonanlage, meine Netzwerkzentrale ist ein OpenWrt Router und dazwischen gibt es ein paar Kabel - immer zu wenige. Mein Haupt Switch hat 24 Ports, auf dem wollte ich gern auch ein paar wenige Anschlüsse von dem Netz zwischen Fritzbox und OpenWrt Router, räumlich in Nähe der Fritzbox braucht es auch noch ein paar Ports vom internen Netzwerk.

Aufgabenstellung

  • 2 VLANs, ein Trunk zwischen zwei Switches einrichten und 
  • kann man eigentlich auf einem Linux Host für VMs mit einer Netzwerkkarte beide Netzwerke haben - also einen Trunk direkt zuführen?

Mit yEd Live erstellt.

Montag, 30. Oktober 2023

Windows Server 2022 auf Consumer Hardware installieren

Das Problem: Die Hardware Hersteller liefern Treiber und Setup Dateien nur für Desktop Windows Versionen und nicht für Server. Je nach Hersteller gibt es Treiber Setups zum Download die auf dem Server nicht laufen (man möchte die da auch nicht haben) oder es gibt Rundumsorglos Tools ("Armoury Crate" von Asus oder "msi driver utility installer") die alles mögliche installieren wenn man nicht aufpasst, nur die Treiber sind eine Nebensache. 

Jetzt hat man die Möglichkeit bei den üblichen Herstellern Intel, Amd, Realtek usw. nach Treibern zu suchen, meist eine Odyssee. Ich wollte einen kleinen Windows Server möglichst schlank aufbauen und installieren. Beim ITX Board geht es schon los: alles irgendwie "Gamer" Hardware mit jeder Menge Komponenten die ein Server nicht braucht.

Sonntag, 6. August 2023

nextcloud zu Hause - sicher mit nextcloudpi

Wie der Name sagt, wurde nextcloudpi ursprünglich für den Raspberry Pi entwickelt und ist eine Art Komplettlösung. Primär gibt es dafür ein Systemimage, ich habe das auf einem Pi3 ausprobiert und kann sagen: das wird schnell langsam. Vielleicht geht es auf einem Pi4, aber darunter (läuft ab Pi2) kann ich es nicht empfehlen.

Ich habe es auf einem Intel Celeron N5105 System mit 8 GB RAM installiert, da finde ich es ganz brauchbar. Man kann später sehr viel bei nextcloud dazu installieren - ich denke, da kann man jede beliebige Hardware ausreizen.

Mein Ziel ist eine eigene Cloud zu Hause, alle Bewohner können die Daten ihrer Smartphones, vorhandene Bildarchive usw. darauf speichern und von unterwegs will man natürlich mal ein paar Bilder zeigen oder auf Dokumente zugreifen.

Ich möchte die Setup Schritte hier notieren, da es viele Möglichkeiten zum "abbiegen" gibt.

Freitag, 4. August 2023

Remote Cloud - die Cloud direkt in Linux mounten

Wenn man die Suche bemüht findet man primär jede Menge Tools, meist speziell ein Tool für eine Cloud. Die Technologien sind bei jedem Anbieter ein wenig anders. Die Technologie ändert sich von Zeit zu Zeit, so sind viele Tools nach kurzer Zeit veraltet.

Es gibt aber ein gut gepflegtes Tool, das erledigt diesen Job für so ziemlich alle Cloud Anbieter: rclone 

Dienstag, 2. Mai 2023

HowTo - live backup und restore einer virtuellen Maschine mit libvirt

Einleitung

Das Management User Interface libvirt steuert QEMU welches auf KVM aufsetzt. Die Basis für dieses Backup/Restore bildet die Verkettung von Diskimages.

Da hier und in der restlichen Dokumentation nichts über ein restore zu finden ist und das backup bekanntlich erst nach einem restore erfolgreich sein kann - habe ich ein kurzes HowTo geschrieben. Das ist noch nicht perfekt! 

Bitte am Ende den Abschnitt ToDo beachten!

Wem das zu sehr ins Detail geht, es gibt auf GitHub auch ein installierbares Tool welches die API von libvirt nutzt.

Donnerstag, 26. Januar 2023

Raspberry konservieren

Es gibt verschiedene Überlegungen warum man einen Raspberry mit "Schreibschutz" ausstatten sollte. Meine war: Hat man Geräte im Einsatz die eventuell rau behandelt werden und eigentlich keine Daten produzieren, kann man doch auch jeden Schreibvorgang verhindern. 

Geht das überhaupt und ist das auch für den Administrator praxistauglich ? Das Raspberry OS hat sogar (fast) alles vorbereitet: Stichwort Overlay Filesystem.

Mittwoch, 18. Januar 2023

ssh Zugang für fhem über Script einrichten

Ich mache einige Dinge aus dem Docker Container heraus über ssh auf dem Docker Host, anstatt den Container zu sehr zu verbiegen. (Artikel andocken).

Dafür habe ich mal ein Script gebastelt und ein paar Aufruf Varianten ausgearbeitet. Damit sollte mit wenigen Handgriffen die Einrichtung des ssh public key Zuganges innerhalb FHEM auf einen anderen Host gelingen. 

Das Script hat nur wenige Zeilen es werden beliebig Hostnamen oder IP Adressen als Argumente übergeben. 

  1. Die eventuell vorhandenen Einträge in known_host werden gelöscht und neu eintragen.
  2. Es wird überprüft ob bereits ein ssh Key vorhanden ist, falls nicht wird ein Neuer erzeugt.
  3. Der public key wird zur möglichen Weiterverarbeitung (in authorized_keys) ausgegeben.

Ich zeige den Aufruf 

  • als komplettes Here Doc, als lokales Script oder Script vom GitHub, 
  • als anderer User,
  • oder direkt im Docker Container.

Das eigentliche Ziel: der public key von User fhem auf dem HostA wird dem User userB auf HostB gegeben damit User fhem sich als userB ohne Passworteingabe an HostB anmelden / Befehle ausführen kann.

Man beachte in allen Beispielen die unterschiedliche Verwendung der Shell Optionen -c und -s!

Mittwoch, 11. Januar 2023

SD Card Image anpassen

Man hat ein Image einer großen SD Card gemacht und will dieses Image auf eine kleinere SD Card speichern. Wie kann man das Image an den eigentlichen Platzbedarf anpassen ohne den Inhalt der SD Card zu verlieren? Ich habe sogar ein paar Einzeiler im Netz gefunden, aber die haben alle nicht funktioniert. Ich habe mit Hilfe dieses Artikels ein paar Schritte entwickelt die hoffentlich leicht nachzuvollziehen und eindeutig sind.

Zunächst ganz vereinfacht ein paar Grundlagen

  • Eine gesteckte SD Card stellt ein Blockdevice dar, ein Image davon kann auch als Blockdevice eingebunden werden. Ein Blockdevice enthält Partitionen, eine Partion enthält ein Filesystem.
  • Gespeichert wird in Sektoren (Sectorsize 512 Byte), die Sektoren werden in Blöcken zu 4096 Byte (bzw. 4K Blocksize) organisiert. 
  • Die typischen Zahlenangaben für das Filesystem sind Blöcke, für die Partition sind es Sektoren. Eine 16GB SD Card hat 3.906.250 Blöcke und 31.250.000 Sektoren.
  • Die Angabe GB basiert auf 1000³, die Angabe GiB basiert auf  1024³ (2^30). 16GB -> 14,9 GiB

Die gesamte Arbeit erfordert im wesentlichen root Kontext (sudo su). Ich erarbeite hier Einzeiler und kein komplettes Script, ich habe Ausgabezeilen eingefügt damit man die Abläufe verfolgen kann. 

Ich empfehle jede Zeile einzeln auszuführen! Tipp: Meine Codeblöcke sind editierbar: eigene Pfad- und Dateinamen reinschreiben und direkt copy & paste.