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.
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
| Klasse | vCPU | RAM | Datenträger | Hinweis |
|---|---|---|---|---|
| Klein (≤ 1k Tags) | 4 vCPU | 8 GB | 100 GB SSD | Entwicklung/Test |
| Mittel (1k–10k Tags) | 8 vCPU | 16 GB | 256 GB SSD + 1 TB | Betriebsstandard |
| Groß (10k+ Tags) | 16 vCPU | 32 GB | 512 GB NVMe + 2 TB | Groß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/kopensausgetauscht 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
| Punkt | Empfehlung |
|---|---|
| Instanz | m5.xlarge (4 vCPU / 16 GB) — klein/mittel / m5.2xlarge (8/32) — Betrieb |
| AMI | Amazon Linux 2 (Fedora 38 wird bevorzugt, RHEL-Derivate sind aber kompatibel) |
| Datenträger | gp3 (/opt 100 GB), gp3 (/data1 1 TB+) — io1/io2 für das Cassandra-Commitlog |
| Security Group | inbound 80 / 443 / 22 (nur Admin-IP), MQTT 1883 / OPC-UA 12000 (bei Bedarf — üblicherweise VPC-intern) |
| EFA / Enhanced Networking | enabled (geringere Latenz) |
| Placement | Cluster Placement Group (Großanlagen) |
Anbindung an das On-Premises-PLC-Netz über AWS PrivateLink / VPC Peering.
6.2 Azure VM
| Punkt | Empfehlung |
|---|---|
| Größe | D4s_v5 (4 vCPU / 16 GB) — klein/mittel / D8s_v5 — Betrieb |
| Datenträger | Premium SSD (P30 / P40) für /data1 |
| Accelerated Networking | enabled |
| ExpressRoute / VPN | Anbindung an die On-Premises-PLCs |
6.3 GCP
| Punkt | Empfehlung |
|---|---|
| Maschinentyp | e2-standard-4 — klein/mittel / n2-standard-8 — Betrieb |
| Datenträger | pd-ssd (garantiert 1k IOPS für das Cassandra-Commitlog) |
| Cloud Interconnect / VPN | On-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)
| Symptom | Ursache / Abhilfe |
|---|---|
| Cassandra stürzt häufig ab | Memory Ballooning aktiviert. Auf festen Speicher umstellen |
| Häufige MQTT-Keepalive-Timeouts | Kurzes NAT-Idle-Timeout in der Cloud. Keepalive in app.properties von 60 auf 30 Sekunden setzen |
| Nach dem Boot steht die Uhr auf 1970 | Virtuelle Zeitsynchronisation deaktiviert. VMware Tools / qemu-guest-agent installieren |
| Disk-IO ist langsam | gp2 / Standard-HDD. Auf gp3 oder SSD wechseln |
| OPC-UA-Zertifikat jedes Mal ungültig | Hostname der VM ändert sich (DHCP). Alle möglichen IPs/Hostnamen in die SAN des Zertifikats aufnehmen |
| Zu geringer Netzwerkdurchsatz | virtio / VMXNET3 / Accelerated Networking nicht aktiviert |
10. Weiterführende Themen
- Standardinstallation: Schnellinstallation
- Abnahmekriterien für den Produktivbetrieb: Produktions-Abnahmekriterien
- Legacy Native: (legacy) Vollständige H/W-Installation
- Air-Gap-Netzwerk: Offline- / Air-Gap-Installation
- Netzwerktopologie: Netzwerkkonfiguration (NIC-Zuordnung)
- Checkliste nach der Installation: Checkliste direkt nach der Installation