Beim Ausführen von Ansible-Playbooks läuft man immer mal wieder in Fehler. Die Fehlermeldungen von Ansible sind lang und unleserlich. Hier beschreibe ich, wie die Fehlermeldungen aussehen und wie man sie in ein brauchbareres Format überführen kann.
Nextcloud-Kalender
Hier beschreibe ich kurz, wie der Nextcloud-Kalender Stand Oktober 2020 bei uns eingesetzt wird und das Zusammenspiel mit Roundcube und Mobiltelefon. Insgesamt ist die Lösung absulut nicht optimal!
Ansible: Grundkonfiguration eines LXC-Containers
Wir haben mehrere Rechner im Einsatz, die als LXC/LXD-Hosts dienen. Auf diesen Rechnern wollen wir Basiscontainer von ubuntu-1804 und ubuntu-2004 bereitstellen, von denen dann eigene Container abgeleitet werden können.
Die Basiscontainer sind speziell angepasst an unsere Infrastruktur.
Da wir das mehrfach benötigen, verwende ich für das Aufsetzen eine automatisierte Lösung auf Basis von Ansible
Die nachfolgende Beschreibung geht von diesen Randbedingungen aus:
- ulinuc … Rechner, auf dem Ansible läuft
- hetzner-de … Rechner, der als LXC/LXD-Host dient
- ubuntu-2004 … einer der Basiscontainer, die auf dem LXC/LXD-Host laufen sollen
- ubuntu-1804 … ein weiterer Basiscontainer, die auf dem LXC/LXD-Host laufen sollen
Die hier vorgeschlagene Lösung ist eine Variante von derjenigen vom 2020-11-01. Sie kommt ohne erweiterte Zugriffe auf den LXC/LXD-Host aus und benötigt auch keine lokale LXD-Installation.
Ansible: Grundkonfiguration eines LXC-Containers
Wir haben mehrere Rechner im Einsatz, die als LXC/LXD-Hosts dienen. Auf diesen Rechnern wollen wir Basiscontainer von ubuntu-1804 und ubuntu-2004 bereitstellen, von denen dann eigene Container abgeleitet werden können.
Die Basiscontainer sind speziell angepasst an unsere Infrastruktur.
Da wir das mehrfach benötigen, verwende ich für das Aufsetzen eine automatisierte Lösung auf Basis von Ansible
Die nachfolgende Beschreibung geht von diesen Randbedingungen aus:
- ulinuc … Rechner, auf dem Ansible läuft
- hetzner-de … Rechner, der als LXC/LXD-Host dient
- ubuntu-2004 … einer der Basiscontainer, die auf dem LXC/LXD-Host laufen sollen
- ubuntu-1804 … ein weiterer Basiscontainer, die auf dem LXC/LXD-Host laufen sollen
AMD 4750: Anzeigeprobleme mit Ubuntu-20.04
Ich habe einen Rechner mit einem
- AMD Ryzen 7 PRO 4750G with Radeon Graphics
und versuche, diesen mir Ubuntu-20.04 zu betreiben. Leider bleibt der Bildschirm nach einem “Powersafe” dunkel. Erwachen des Rechner scheint grundsätzlich zu funktionieren, Leuchtdioden blinken und die Lüfter laufen eine Zeit lang, nur der Bildschirm bleibt schwarz.
Hetzner: Ubuntu-20.04 mit verschlüsselter Platte installieren
Hier beschreibe ich, wie ich einen Hetzner-Server mit verschlüsselter Platte installiere. Ich orientiere mich an dieser Beschreibung – disk-encryption-hetzner und an Verschlüsselter Ubuntu 18.04 Server; per SSH entsperrbar.
Hetzner-Server
Ich habe einen Hetzner-Server über die Serverbörse bestellt und meinen SSH-Schlüssel registriert.
Auf dem Rettungssystem kann ich mich damit anmelden:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
Installation Minimal-Ubuntu
Zuerst installieren wir ein Minimal-Ubuntu. Das Minimal-Ubuntu läuft ohne Verschlüsselung und wird später in die verschlüsselten Plattenbereiche umkopiert.
Anmelden am Rettungssystem
1 2 3 4 5 6 7 8 |
|
Grundinstallation
Die Grundinstallation sollte diese Anforderungen erfüllen:
- möglichst kompakt
- keine komplizierte Plattenaufteilung (nur ein Bereich)
Sie wird später umkopiert in die finale Installation. Dabei kann dann auch eine anspruchsvolle Plattenaufteilung erfolgen, bspw. separater /tmp-Bereich!
Interaktiv
1
|
|
Dann Fragen beantworten! Am Ende gibt es nach der Installation eine Datei “installimage.conf”, die als “vorgefertigte Konfiguration” verwendet werden kann – falls man die Grundinstallation wiederholen möchte!
Vorgefertigte Konfiguration
Datei /autosetup
Inhalt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
Ablegen auf dem Hetzner-Server:
- Obigen Inhalt “kopieren”
- Im Rettungssystem:
cat >/autosetup
(bleibt “hängen”) - Zuvor kopierten Inhalt “einfügen”
- Strg-D
- Es erscheint wieder die Eingabeaufforderung
Installieren
1 2 3 4 5 6 7 |
|
Neustart
1
|
|
Anmelden am Minimal-Ubuntu
1 2 3 4 5 6 |
|
Sichten Plattenplatz
1 2 3 4 5 6 7 8 9 10 11 |
|
Aktualisierungen einspielen und aufräumen
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
|
Entsperren per SSH vorbereiten
Busybox und Dropbear installieren
1 2 |
|
/etc/initramfs-tools/initramfs.conf anpassen
- Alt:
BUSYBOX=auto
- Neu:
BUSYBOX=y
/etc/dropbear-initramfs/authorized_keys
1
|
|
Rettungssystem erneut starten
- In der Web-Oberfläche von Hetzner das Rettungssystem aktivieren
- Neustart:
ssh root@8.145.3.2 reboot
Verschlüsselung einrichten
Anmelden am Rettungssystem
1 2 3 |
|
Mini-Ubuntu einbinden
1 2 3 |
|
Mini-Ubuntu kopieren
1 2 3 4 5 6 |
|
Mini-Ubuntu “ausbinden”
1
|
|
Unverschlüsselte LVM-Volume-Group löschen
1 2 3 4 5 6 7 |
|
Sichtung Plattenstatus
1 2 3 4 5 6 7 8 9 10 11 |
|
Hierbei ist:
- md0: /boot
- md1: Volume für LVM
MD1 verschlüsseln
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
|
Verschlüsselte Plattenbereiche einbinden
1
|
|
Mini-Ubuntu in verschlüsselten Plattenbereich kopieren
1 2 3 4 5 |
|
Finale Installation einbinden
1 2 3 4 5 6 |
|
/etc/crypttab
1 2 |
|
initramfs neu schreiben
1 2 |
|
GRUB neu schreiben
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
Finale Installation ausbinden
1 2 3 4 5 |
|
Neustart
1
|
|
Schlüsseleingabe beim Boot-Vorgang
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
Anmelden am gestarteten Rechner
1 2 3 4 5 6 7 8 9 |
|
Entsperren mit zweigeteiltem Schlüssel
Der zweigeteilte Schlüssel sieht so aus:
- Schlüssel Teil 1: Porsche911
- Schlüssel Teil 2: {geheimerZweiterTeil}
- Schlüssel gesamt: Porsche911_{geheimerZweiterTeil}
Zweigeteilten Schlüssel in LUKS hinterlegen
1 2 3 4 5 |
|
Entsperrskript hinterlegen
/etc/initramfs-tools/unlock-disks.sh:
1 2 |
|
/etc/initramfs-tools/hooks/unlock-disks-hook:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
|
- Zugriffsrechte anpassen:
chmod 700 /etc/initramfs-tools/unlock-disks.sh
chmod +x /etc/initramfs-tools/hooks/unlock-disks-hook
- Initramfs neu erzeugen:
update-initramfs -u
Boot-Vorgang testen
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
Weitere SSH-Schlüssel für den Boot-Vorgang freischalten
- Datei “etc/dropbear-initramfs/authorized_keys” erweitern um den PubKey:
1 2 |
|
- Initramfs neu erzeugen:
update-initramfs -u
- Ersten Schlüsselteil (“Porsche911”) an den Inhaber des Schlüssels übermitteln
- Entsperrkommando an den Inhaber des Schlüssels übermitteln:
echo "Porsche911"|ssh -o UserKnownHostsFile=knownHosts-boot root@8.145.3.2
Links
- disk-encryption-hetzner – GitHub
- Ubuntu Xenial FDE on Hetzner
- Installing a “full” disk encrypted Ubuntu 16.04 Hetzner server
- Verschlüsselter Ubuntu 18.04 Server; per SSH entsperrbar
Server ist sehr langsam
Während der Installation und eine ganze Weile danach habe ich den Eindruck, dass der Server sehr langsam ist. Insbesondere wenn Datenbereiche kopiert werden, dauert das ewig.
Sichtung von “/proc/mdstat” zeigt, dass der Resync des von mir verwendeten Raid1 noch im Gange ist:
1 2 3 4 5 6 |
|
Man kann die Abläufe beschleunigen, indem man temporär den Resync-Vorgang unterbricht:
- unterbrechen:
echo 0 >/proc/sys/dev/raid/speed_limit_max
- fortsetzen:
echo 200000 >/proc/sys/dev/raid/speed_limit_max
Nachdem der Resync fertig ist, sollte der Rechner dauerhaft mit der üblichen Geschwindigkeit funktionieren!
Ubuntu-20.04 Desktop auf Win10-PC installieren mit LUKS und LVM
Hier beschreibe ich, wie ich auf eine, Rechner, der mit Windows 10 Pro ausgeliefert wurde, ein Ubuntu-20.04 einrichte. Ich gehe grob nach dieser Anleitung vor, allerdings mit separater, unverschlüsselter Boot-Partition.
Ubuntu: Start-Fehler korrigieren
Einer unserer Uralt-Rechner ist neulich nicht mehr hochgefahren. Er blieb hängen mit dieser Meldung:
1 2 3 |
|
Hier beschreibe ich, wie ich das Problem korrigiert habe.
Virtualisierung mit QEMU
Manchmal muß ich ein paar Tests mit Linux-Distributionen durchführen. Bislang habe ich dafür immer VirtualBox verwendet, das ist eine Art VMWARE-Verschnitt. Jetzt versuche ich mich mal an QEMU, eventuell ist das ja ähnlich gut!
Git: Verwendung von Submodules
Manchmal arbeitet man an einem Projekt, bei welchem sich die Quelltexte auf mehrere Git-Repos verteilen. Diese kann man mittels Git-Submodules zusammenführen.