Host:Helios: Difference between revisions

From Chaosdorf Wiki
m (storage sind (mit RAIDs) 5TB)
m (Fix missing link to NUC Cluster)
 
(39 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{Host
{{Host
|name=helios.chaosdorf.dn42
|name=helios.chaosdorf.space
|description=allmighty server
|description=almighty server
|image=helios.jpg
|image=helios.jpg
|os=Debian Testing
|os=Debian 12
|location=Serverraum
|location=Lounge
|purpose=virtualization host
|purpose=virtualization host
|disk=5TB
|disk=38TB
|ram=32GiB
|ram=32GiB
|admin_toolkit=Yes
|admin_toolkit=Yes
Line 12: Line 12:
|ssh_userlogin=No
|ssh_userlogin=No
|ownership=club
|ownership=club
|use=no
|use=ask
|admins=derf, byte, nomaster, uen
|admins=derf, byte, nomaster, uen, feuerrot, ytvwld, nik
|mac=d0:50:99:2e:d1:28
|netbox_id=12
}}
}}
Großer mächtiger VM-Host für Clubrauminfrastruktur und Projekte. Ein Teil der Dienste befindet sich auch auf dem [[NUC Cluster]].
== Hardware ==
== Hardware ==


* Mainboard: [http://www.asrockrack.com/general/productdetail.asp?Model=C2750D4I ASRock Mini-ITX mit 12x SATA]
* Mainboard: [http://www.asrockrack.com/general/productdetail.asp?Model=C2750D4I ASRock] Mini-ITX mit 12x SATA
* CPU: [http://ark.intel.com/products/77987 Intel Avoton C2750 8-Core]
* CPU: [http://ark.intel.com/products/77987 Intel] Atom C2750 (Avoton) 8-Core
* Storage: [http://www.wdc.com/global/products/specs/?driveID=1311&language=1 2x 1TB WD10JFCX Red]
* Storage: 10 3,5" Festplatten, 20TB
* RAM: 1x 32GB DDR3 1600MHz ECC
* RAM: 4x 8GB DDR3 1600MHz ECC
* Gehäuse: 19" RM-236-8 2HE mit 8 Festplatteneinschüben
* Gehäuse: [http://www.chenbro.com/en-global/products/RackmountChassis/2U_Chassis/RM23608 Chenbro] 19" 2HE mit 8 3,5" Festplatteneinschüben
* Netzteil: 400W EPS Green
* Netzteil: 400W EPS Green


== Storage ==
== Storage ==


Das Gehäuse bietet Platz für 10 Platten, davon 2 intern (2.5") und 8 in Festplattenschächten (3.5"). Derzeit sind nur die vier Festplattenschächte auf der linken Gehäusehälfte verkabelt. Diese sind allesamt belegt.
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:
Layout bei Aufsicht aufs Gehäuse:
{| class="wikitable"
{| class="wikitable"
|-
|-
| (sys1)
| System
| (sys2)
| System
|
|
|
|
|-
|-
| (vms1)
| Storage
| (storage1)
| leer
| ''n.c''
| leer
| ''n.c.''
| leer
|-
|-
| (vms2)
| Storage
| (storage2)
| leer
| ''n.c.''
| leer
| ''n.c.''
| leer
|}
|}


=== Systemplatten ===
=== Systemplatten ===


* sys1: ???
Sind die beiden internen 2.5"-Platten (KINGSTON SEDC600M1920G und SAMSUNG MZ7L31T9HBLT-00A07).
* sys2: ???


Sind die beiden internen 2.5"-Platten. Jeweils 1TB Western Digital Red (WDC WD10JFCX-68N6GN0). Auf beiden Platten befinden sich vier Partitionen á 250GB, die wie folgt genutzt werden.
* 1. Partition: ESP
 
* 2. Partition: frei
* 1. Partition: RAID 1 für /
* 3. Partition: RAID 1 für /
* 2. Partition: RAID 1 für <tt>helios-virt-tmp</tt> (temporärer Platz zur Migration der VM-Images von hyperion)
* 4. Partition: RAID 1 für VMs (darin LUKS und LVM/VG <tt>vm</tt> welche wiederum LVs für die einzelnen VMs enthält)
* 3. Partition: RAID 1 für <tt>helios0-backup</tt> (Backup der VM-Images von hyperion)
* 4. Partition: Wird nicht benutzt
 
=== VM-Platten ===
 
* vms1: Hitachi Deskstar 7K2000 HDS722020ALA330 (wwn-0x5000cca222c96707)
* vms2: Hitachi Deskstar 7K2000 HDS722020ALA330 (wwn-0x5000cca221c5cc76)
 
Jeweils 2TB Hitachi Deskstar 7K2000 (HDS722020ALA330). tbd.


=== Storage ===
=== Storage ===


* storage1: '''LEER''' (Ersatz wird gesucht)
Zwei 16TB-Platten (TOSHIBA HDWG31G und ST16000NM000J-2TW103), auf denen sich jeweils ein LUKS-Container (<tt>/dev/mapper/storage?</tt>) befindet, die an die VM {{H|fileserver}} durchgereicht werden.
* storage2: Seagate Barracuda 7200.14 ST2000DM001-1CH164 (wwn-0x5000c500538e357f)
 
Je 2TB. Die Platten sind ohne Partitionen zu einem RAID1 zusammengebunden, darauf befindet sich ein LUKS-Container (UUID <tt>85a95dea-a9aa-748d-99b8-c6a972a9e1e4</tt> bzw. <tt>/dev/mapper/storage</tt>). Dieser wird an die VM fileserver durchgereicht.


== Netzwerk ==
== Netzwerk ==
Line 100: Line 89:
|-
|-
| br5 || — || freifunk-client || VLAN 5 auf bond0
| br5 || — || freifunk-client || VLAN 5 auf bond0
|-
| br21 || — || — || VLAN 21 auf bond0
|}
|}


Die Bridges br1, br4 und br5 werden ausschließlich für VMs verwendet. IPv6 ist dorf per <tt>/etc/sysctl.d/ipv6.conf</tt> aus, IPv4 per <tt>/etc/network/interfaces</tt>.
Die Bridges br1, br4 und br5 werden ausschließlich für VMs verwendet. IPv6 ist dort per <tt>/etc/sysctl.d/ipv6.conf</tt> aus, IPv4 per <tt>/etc/network/interfaces</tt>. 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).


== Virtuelle Maschinen ==
== Virtuelle Maschinen ==
{{#ask: [[Has location::Host:Helios]]  
{{#ask: [[Has location::Host:Helios]] [[Host:+]]
  | ?Hostname
  | ?Hostname
  | ?Operating System
  | ?Operating System
  | ?Disk size
  | ?Disk size
  | ?RAM size
  | ?RAM size
| ?Has admins = Admins
}}
}}
=== VM anlegen ===
Zum Beispiel ein Debian Stretch im Access VLAN mit 1GiB RAM und 20GB Festplatte:
    <nowiki>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</nowiki>
Falls vorhanden, kann eine preseed-Konfiguration mit <tt>--initrd-inject</tt> berücksichtigt werden.
=== Snapshots ===
Am Beispiel des Dockerserver
* VM herunterfahren (→ Konsistenter Dateisystemzustand)
* <tt>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)
* Wenn erfolgreich: <tt>sudo lvremove vmstorage/dockerserver-backup</tt>
* Andernfalls Rollback: VM herunterfahren, <tt>sudo lvconvert --merge vmstorage/dockerserver-backup</tt>, VM wieder starten


== IPMI ==
== IPMI ==
Line 128: Line 138:
=== Serial over LAN ===
=== Serial over LAN ===


ttyS1 ist per IPMI nutzbar. BIOS geht darüber auch.
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 ===
=== 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.
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.
== Verstärkersteuerung ==
Per USB ist die [[Verstärkerschaltung]] angeschlossen. Zur Anbindung an die [[Lichtsteuerung]] läuft ein Netzwerkdienst per systemd, der auf Port 1338 Befehle an die Schaltung weiterleitet. Es handelt sich dabei um das graue USB-Kabel.
Abgesehen von der Fernsteuerung und einem munin-Graphen enthält der Host keine Steuerlogik für die Verstärker.

Latest revision as of 23:22, 7 May 2024

helios.chaosdorf.space
Helios.jpg
almighty server
Ort Lounge
Zweck virtualization host
OS Debian 12
Disks 38TB38,000 GB <br />38,000,000 MB <br />38,000,000,000 kB <br />
RAM 32GiB32,768 MiB <br />33,554,432 kiB <br />34,359,738,368 B <br />0.0313 TiB <br />34,359.738 MB <br />
Admin-Toolkit Yes
PAM? Yes
SSH user login? No
Besitzstatus Club-Eigentum
Benutzung Nachfragen
Admins derf, byte, nomaster, uen, feuerrot, ytvwld, nik
NetBox ID 12

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

Hardware[edit source]

  • 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[edit source]

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:

System System
Storage leer leer leer
Storage leer leer leer

Systemplatten[edit source]

Sind die beiden internen 2.5"-Platten (KINGSTON SEDC600M1920G und SAMSUNG MZ7L31T9HBLT-00A07).

  • 1. Partition: ESP
  • 2. Partition: frei
  • 3. Partition: RAID 1 für /
  • 4. Partition: RAID 1 für VMs (darin LUKS und LVM/VG vm welche wiederum LVs für die einzelnen VMs enthält)

Storage[edit source]

Zwei 16TB-Platten (TOSHIBA HDWG31G und ST16000NM000J-2TW103), auf denen sich jeweils ein LUKS-Container (/dev/mapper/storage?) befindet, die an die VM fileserver durchgereicht werden.

Netzwerk[edit source]

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.

Interface IP libvirt-Name Beschreibung
br0 192.168.0.9 (statisch) management Direkte Verbindung zu bond0, d.h. VLAN 1
br1 VLAN 1 auf bond0
br3 172.22.26.11 (DHCP) default VLAN 3 auf bond0
br4 freifunk-mesh VLAN 4 auf bond0
br5 freifunk-client VLAN 5 auf bond0
br21 VLAN 21 auf 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).

Virtuelle Maschinen[edit source]

 HostnameOperating SystemDisk sizeRAM sizeAdmins
DockerserverdockerserverDebian 12250 GB250,000 MB <br />250,000,000 kB <br />0.25 TB <br />16,384 MiB16,777,216 kiB <br />17,179,869,184 B <br />16 GiB <br />0.0156 TiB <br />17,179.869 MB <br />nomaster
ytvwld
marudor
magluz
FileserverfileserverNixOS 23.1132,000 GB32,000,000 MB <br />32,000,000,000 kB <br />32 TB <br />2,048 MiB2,097,152 kiB <br />2,147,483,648 B <br />2 GiB <br />0.00195 TiB <br />2,147.484 MB <br />nomaster
ytvwld
HassserverhassserverHass OS40 GB40,000 MB <br />40,000,000 kB <br />0.04 TB <br />4,096 MiB4,194,304 kiB <br />4,294,967,296 B <br />4 GiB <br />0.00391 TiB <br />4,294.967 MB <br />derf
Mqttservermqttserver.chaosdorf.spaceDebian 12 amd6416 GB16,000 MB <br />16,000,000 kB <br />0.016 TB <br />512 MiB524,288 kiB <br />536,870,912 B <br />0.5 GiB <br />4.882813e-4 TiB <br />536.871 MB <br />feuerrot
derf

VM anlegen[edit source]

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[edit source]

Am Beispiel des Dockerserver

  • VM herunterfahren (→ Konsistenter Dateisystemzustand)
  • sudo lvcreate --snapshot --size 250g --name dockerserver-backup vmstorage/dockerserver (Größe anhand des erwarteten Schreibumfangs auf dem per Snapshot gesicherten Volume anpassen)
  • VM starten, Dinge tun (z.B. komplexeres Dist-Upgrade)
  • Wenn erfolgreich: sudo lvremove vmstorage/dockerserver-backup
  • Andernfalls Rollback: VM herunterfahren, sudo lvconvert --merge vmstorage/dockerserver-backup, VM wieder starten

IPMI[edit source]

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
  • Watchdog ausschalten (falls z.B. ein neues System installiert wird): helios-ipmi bmc watchdog off
  • Serielle Konsole: helios-ipmi sol activate
  • System an-/ausschalten/neustarten: helios-ipmi power on/off/cycle

Serial over LAN[edit source]

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[edit source]

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.