Mein alter „Keller“-Server, ein Intel-Nuc ist so langsam in die Jahre gekommen. Mit einer Intel(R) Core(TM) i5-7260U CPU @ 2.20GHz konnte ich immerhin 4 Kerne für meine Virtualisierungsexperimente verwenden.
Bisher habe ich KVM verwendet und so inzwischen 11 VMs in Betrieb genommen. Und so langsam merkt man doch, dass die Leistung dafür nicht mehr ausreicht.
Zeit für ein neues System. Diesmal habe ich ein geekom IT13 ausgesucht, der mit einer 13th Gen Intel(R) Core(TM) i9-13900H, 32 GB RAM und einer 2 TB SSD ausgestattet ist.
Diesmal wollte ich nicht wieder auf KVM setzen sondern mich wieder in den Bereich Container einarbeiten. Das letzte Mal hatte ich mich intensiver damit beschäftigt und Linux-VServer eingesetzt. Damals musste ich noch meine Linux-Kernel mit grsecurity patchen, um die vserver wirklich voneinander zu trennen.
Incus ist eine „Alternative“ zu lxd und da linux containers angekündigt hat, zukünftig keine Images mehr für lxd bereitzustellen, habe ich mich entschieden, incus genauer anzuschauen.
Die erste Installation lief problemlos durch, bis ich dann bei incus admin init
darauf stieß, dass incus gerne eine eigene Partition für seinen Storage-Pool hätte. Tatsächlich wäre es auch ohne gegangen, aber nachdem die Doku davon spricht, dass die Partition für den Produktiv-Betrieb empfohlen wird, musste ich ich entscheiden, ob ich die bestehende Partitionierung anpasse und eine Partition verkleinere, oder es mir einfach mache und den Installer einfach noch einmal durchlaufen lasse. Ich habe mich dann für zweiteres entschieden.
Da ich meine Instanzen gerne im eigenen Netz erreichbar haben will, musste eine Bridge her, die mir jetzt die Möglichkeit gibt, jede Instanz innerhalb von Momenten zu erzeugen und im Netz erreichbar zu haben.
network:
ethernets:
enp86s0:
addresses:
- 192.168.0.8/24
nameservers:
addresses:
- 192.168.0.2
search:
- sperber.lan
bridges:
br0:
interfaces: [ enp86s0 ]
addresses:
- 192.168.0.8/24
routes:
- to: default
via: 192.168.0.1
nameservers:
addresses:
- 192.168.0.2
search: [ ]
parameters:
stp: false
version: 2
wifis: { }
Damit kann ich meine Instanzen direkt bei der Erzeugung meinem Netzwerk hinzufügen.
flo@srv:/$ time sudo incus launch images:ubuntu/22.04 beispiel --network=br0
Creating beispiel
Starting beispiel
real 0m0,479s
user 0m0,005s
sys 0m0,004s
flo@srv:/$ sudo incus list
+----------+---------+----------------------+-----------------------------
| NAME | STATE | IPV4 | IPV6
+----------+---------+----------------------+-----------------------------
| beispiel | RUNNING | 192.168.0.194 (eth0) | 2a02:8071:2c87:....
Wie man sieht, ist eine neue Instanz innerhalb von 0,5 Sekunden betriebsbereit.
In einem der nächsten Beiträge werde ich mir distrobuilder näher anschauen.