Host:Helios

Großer mächtiger VM-Host für Clubrauminfrastruktur und Projekte. Ein Teil der Dienste befindet sich auch auf dem Kubernetes Cluster.

Hardware

 * Mainboard: ASRock Mini-ITX mit 12x SATA
 * CPU: Intel Atom C2750 (Avoton) 8-Core
 * Storage: 10 3,5" Festplatten, 20TB
 * RAM: 4x 8GB DDR3 1600MHz ECC
 * Gehäuse: Chenbro 19" 2HE mit 8 3,5" Festplatteneinschüben
 * Netzteil: 400W EPS Green

Storage
Das Gehäuse bietet Platz für 10 SATA-Platten, davon 2 intern (2.5") und 8 in Festplattenschächten (3.5").

Layout bei Aufsicht aufs Gehäuse:

Systemplatten
Sind die beiden internen 2.5"-Platten. Jeweils 1TB Western Digital Red (WDC WD10JFCX-68N6GN0). Auf beiden Platten befinden sich aus historischen Gründen™ vier Partitionen á 250GB, die wie folgt genutzt werden.


 * 1. Partition: RAID 1 für /
 * 2. Partition: RAID 1 für backup-VG
 * 3. Partition: RAID 1 für backup-VG
 * 4. Partition: RAID 1 für backup-VG

VM-Platten

 * VMs1: Hitachi Deskstar 7K2000 HDS722020ALA330 (wwn-0x5000cca222c96707)
 * VMs2: Hitachi Deskstar 7K2000 HDS722020ALA330 (wwn-0x5000cca221c5cc76)

Jeweils 2TB Hitachi Deskstar 7K2000 (HDS722020ALA330). Darauf liegt ein RAID1 für die VG vmstorage, welche wiederum LVs für die einzelnen VMS enthält.

Storage
Zwei 16TB-Platten, auf denen sich jeweils ein LUKS-Container (/dev/mapper/storage?) befindet, die an die VM durchgereicht werden.

Netzwerk
Von hinten betrachtet hat das Mainboard drei Netzwerkinterfaces.


 * Oben links: IPMI
 * Oben rechts: eth0
 * Unten rechts: eth1

Das IPMI-Interface ist vom Betriebssystem aus nicht sichtbar. Die anderen beiden sind als bond0 per LACP / 802.3ad zusammengefasst. IP/IPv6 ist darauf nicht konfiguriert.

Aus bond0 fällt VLAN 1 (Management) untagged raus, die VLANs 3-5 tagged. VLAN 2 (WAN) ist nicht erreichbar. Alle weiteren Interfaces sind Bridges auf Basis von bond0.

Die Bridges br1, br4 und br5 werden ausschließlich für VMs verwendet. IPv6 ist dort per /etc/sysctl.d/ipv6.conf aus, IPv4 per /etc/network/interfaces. Auf br3 und br21 läuft zwar IPv6, es werden aber keine Router Advertisements akzeptiert (damit alles per br3 über das normale Access-Netz rausgeht und public IPv6 überhaupt funktioniert).

VM anlegen
Zum Beispiel ein Debian Stretch im Access VLAN mit 1GiB RAM und 20GB Festplatte:

virt-install --connect qemu+ssh://helios.chaosdorf.space/system -n testvm --memory 1024 --network network=default --cpu host --boot uefi --os-variant debian12 -l http://ftp.de.debian.org/debian/dists/stable/main/installer-amd64/ --disk pool=vmstorage,size=20

Falls vorhanden, kann eine preseed-Konfiguration mit --initrd-inject berücksichtigt werden.

Snapshots
Am Beispiel des Dockerserver


 * VM herunterfahren (→ Konsistenter Dateisystemzustand)
 * sudo lvcreate --snapshot --size 250g --name dockerserver-backup vmstorage/dockerserver</tt> (Größe anhand des erwarteten Schreibumfangs auf dem per Snapshot gesicherten Volume anpassen)
 * VM starten, Dinge tun (z.B. komplexeres Dist-Upgrade)
 * wahlweise sudo lvremove vmstorage/dockerserver-backup</tt> oder den Snapshot wieder einspielen (Doku: TODO, denn alle wollen Backup und niemand kehrt über Restore)

IPMI
Ist das Interface links und sehr seriös. Als grundlegender Alias empfiehlt sich helios-ipmi='ipmitool -I lanplus -H helios-ipmi.chaosdorf.dn42 -U meinnick -f datei/mit/passwort'

ipmitool benutzt wenn möglich IPv6. Nach Änderungen an der VLAN-Config ist das IPMI-Interface teils nur noch per IPv4 erreichbar, dann muss helios-ipmi.chaosdorf.dn42 durch die entsprechende IPv4-Adresse ersetzt werden. Eigentlich sollte das nicht passieren, da das IPMI-Interface an einem eigenen Switchport hängt, der von den sonstigen Änderungen unabhängig ist — Irgendwas ist da aber komisch™.

Nützliche Befehle sind unter anderem:


 * Watchdogstatus auslesen: helios-ipmi bmc watchdog get</tt>
 * Watchdog ausschalten (falls z.B. ein neues System installiert wird): helios-ipmi bmc watchdog off</tt>
 * Serielle Konsole: helios-ipmi sol activate</tt>
 * System an-/ausschalten/neustarten: helios-ipmi power on/off/cycle</tt>

Serial over LAN
ttyS1 ist per IPMI nutzbar. BIOS geht darüber auch. Grub und Kernel sind vermutlich so konfiguriert, dass sie ausschließlich mit der seriellen IPMI-Konsole (und nicht mit einem angeschlossenen Monitor) reden.

Watchdog
Das Mainboard hat einen IPMI (SMS/OS) Watchdog. Der Daemon bmc-watchdog setzt diesen alle 60 Sekunden zurück. Falls er nicht läuft, wird automatisch nach 15 Minuten ein hard reset ausgelöst.