Zum Hauptinhalt springen

Installation auf virtuellen Maschinen / in der Cloud

Diese Seite fasst nur die Unterschiede zusammen, die beim Betrieb des Gateways auf einer VM (VMware / Hyper-V / KVM / Proxmox) oder in einer Public Cloud (AWS EC2 / Azure VM / GCP) statt auf physischer Hardware auftreten. Das Standardvorgehen für Neuinstallationen finden Sie unter Schnellinstallation (Container ab 2026.05). Die vollständige H/W-Installation ist nur noch für die Wartung von Legacy-Native-Systemen relevant.

Docker in der VM

Der Container-Modus ab 2026.05 funktioniert innerhalb einer VM unverändert — Docker basiert auf cgroups/Namespaces und nicht auf nested Virtualization, daher entspricht die Performance auf der VM der nativen Installation. Übersteigt cgroup MemoryMax=12G die Speicherobergrenze der VM, muss der Wert angepasst werden (z. B. per systemd Drop-in mit MemoryMax=6G).


1. Anforderungen an die Ausstattung

KlassevCPURAMDatenträgerHinweis
Klein (≤ 1k Tags)4 vCPU8 GB100 GB SSDEntwicklung/Test
Mittel (1k–10k Tags)8 vCPU16 GB256 GB SSD + 1 TBBetriebsstandard
Groß (10k+ Tags)16 vCPU32 GB512 GB NVMe + 2 TBGroßanlagen

Achtung bei CPU-Overcommit — Wird die CPU auf dem Host stärker als 1:4 überbucht, verzögert sich der Cassandra-Commitlog-Flush, was sich in Form von Alarmen bemerkbar macht. Dedizierte Zuweisung empfohlen.


2. Datenträgeraufteilung — Empfehlung

Werden /opt und /data1 auf separate Datenträger (oder separate LVM-Volumes) gelegt, ergibt sich:

  • Beim Upgrade kann /opt/kopens ausgetauscht werden, ohne /data1/pp-data (Benutzer-Flows / Cassandra / Backups) zu verlieren
  • Trennung der Disk-IO-Last (Cassandra commitlog vs. sstable)
/dev/sda → / (OS) ~ 50 GB
/dev/sdb → /opt ~ 100 GB SSD (게이트웨이 코드)
/dev/sdc → /data1 ~ 1 TB+ (시계열 데이터)

3. VMware vSphere

Empfehlung
Virtuelle H/W-Version ≥ 14 (ESXi 6.7+)
VMXNET3 NIC (schneller als Intel E1000)
paravirtual SCSI (höherer Durchsatz als LSI Logic)
CPU reservation aktivieren (Cassandra-Stabilität)
Memory reservation aktivieren — voll dimensioniert (Ballooning deaktivieren)
tools.guestlib.enableHostInfo = TRUE ergänzen — Zeitsynchronisation mit dem Host

4. KVM / Proxmox

Empfehlung
cpu host-Modus (passthrough)
virtio NIC + virtio-blk / virtio-scsi
qemu-guest-agent installieren (Gast-Health-Check)
Memory Ballooning deaktivieren (Stabilität des Cassandra-Heaps)
Disk-Cache-Modus = none (geringere Latenz) oder writeback (höherer Durchsatz)

5. Hyper-V

Empfehlung
Generation 2 (UEFI)
Dynamic Memory deaktivieren (variabler Cassandra-Heap → Swapping)
Integration Services in aktueller Version (Zeitsynchronisation)
Adapter Type der virtuellen NIC = Synthetic (nicht Legacy)

6. Public Cloud

6.1 AWS EC2

PunktEmpfehlung
Instanzm5.xlarge (4 vCPU / 16 GB) — klein/mittel / m5.2xlarge (8/32) — Betrieb
AMIAmazon Linux 2 (Fedora 38 wird bevorzugt, RHEL-Derivate sind aber kompatibel)
Datenträgergp3 (/opt 100 GB), gp3 (/data1 1 TB+) — io1/io2 für das Cassandra-Commitlog
Security Groupinbound 80 / 443 / 22 (nur Admin-IP), MQTT 1883 / OPC-UA 12000 (bei Bedarf — üblicherweise VPC-intern)
EFA / Enhanced Networkingenabled (geringere Latenz)
PlacementCluster Placement Group (Großanlagen)

Anbindung an das On-Premises-PLC-Netz über AWS PrivateLink / VPC Peering.

6.2 Azure VM

PunktEmpfehlung
GrößeD4s_v5 (4 vCPU / 16 GB) — klein/mittel / D8s_v5 — Betrieb
DatenträgerPremium SSD (P30 / P40) für /data1
Accelerated Networkingenabled
ExpressRoute / VPNAnbindung an die On-Premises-PLCs

6.3 GCP

PunktEmpfehlung
Maschinentype2-standard-4 — klein/mittel / n2-standard-8 — Betrieb
Datenträgerpd-ssd (garantiert 1k IOPS für das Cassandra-Commitlog)
Cloud Interconnect / VPNOn-Premises-Anbindung

7. PLC-Netzanbindung zwischen Cloud und On-Premises

PLCs stehen in der Regel On-Premises (im Werk); liegt das Gateway in der Cloud, ist keine direkte Kommunikation möglich. Zwei Muster:

Muster A — Cloud-Gateway + On-Premises-Gateway

[PLC] ─── [온프레 게이트웨이] ─── (Sparkplug B / MQTT) ─── [클라우드 게이트웨이] ─── [상위 플랫폼]

Das On-Premises-Gateway übernimmt die Erfassung der PLC-Daten und das Publishing über Sparkplug, das Cloud-Gateway empfängt und konsolidiert. Empfohlenes Muster.

Muster B — Direkter Zugriff auf das PLC-Netz über VPN / SD-WAN

[PLC] ─── [VPN 게이트웨이] ──VPN── [클라우드 게이트웨이] ─── [상위 플랫폼]

Höhere Latenz und Leitungskosten. Nur für ein bis zwei kleine Standorte empfohlen.


8. Boot-Automatisierung (cloud-init)

Automatische Installation beim Start der Instanz in der VM / Cloud — Beispiel für cloud-init user-data:

#cloud-config
package_update: true
write_files:
- path: /root/pp-edge-install.env
owner: root:root
permissions: '0600'
content: |
export EDGE_ID=EDGE_VM_001
export SITE_ID=SITE_00001
export SERVER_HOST=192.168.0.41
export SERVER_API_KEY=<platform-api-key>
runcmd:
- mkdir -p /data1 /opt/kopens
- . /root/pp-edge-install.env && bash < <(curl -fsSL https://product.kopens.io/plantpulse-edge/install.sh)
- bash /opt/kopens/install/bin/health.sh

Im Produktivbetrieb sollten feste edge.id und feste site.id in cloud-init explizit gesetzt werden.


9. Häufige Fallstricke (spezifisch für VM / Cloud)

SymptomUrsache / Abhilfe
Cassandra stürzt häufig abMemory Ballooning aktiviert. Auf festen Speicher umstellen
Häufige MQTT-Keepalive-TimeoutsKurzes NAT-Idle-Timeout in der Cloud. Keepalive in app.properties von 60 auf 30 Sekunden setzen
Nach dem Boot steht die Uhr auf 1970Virtuelle Zeitsynchronisation deaktiviert. VMware Tools / qemu-guest-agent installieren
Disk-IO ist langsamgp2 / Standard-HDD. Auf gp3 oder SSD wechseln
OPC-UA-Zertifikat jedes Mal ungültigHostname der VM ändert sich (DHCP). Alle möglichen IPs/Hostnamen in die SAN des Zertifikats aufnehmen
Zu geringer Netzwerkdurchsatzvirtio / VMXNET3 / Accelerated Networking nicht aktiviert

10. Weiterführende Themen