Virtuelle Maschine · Cloud-Installation
Hier werden nur die Unterschiede zusammengefasst, wenn das Gateway in einer VM (VMware / Hyper-V / KVM / Proxmox) oder in der öffentlichen Cloud (AWS EC2 / Azure VM / GCP) installiert wird, statt auf physischer Hardware. Die grundlegenden Schritte finden Sie unter Einzeilen-Installation.
Der Container-Modus ab 2026.05+ funktioniert auch in einer VM unverändert — Docker basiert auf cgroup/namespace
und nicht auf verschachtelter Virtualisierung, daher ist die Leistung auf einer VM dieselbe wie auf nativer Hardware.
Wenn cgroup MemoryMax=12G das Speicherlimit der VM überschreitet, muss es angepasst werden
(per systemd drop-in unter MemoryMax=6G usw.).
1. Leistungsanforderungen
| Klasse | vCPU | RAM | Festplatte | 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ßmaßstab |
Achtung bei CPU-Überbuchung — Wenn der Host die CPU um mehr als 1:4 überbucht, wird der Cassandra-commitlog-Flush verzögert und erscheint als Alarm. Dedizierung wird empfohlen.
2. Festplattenkonfiguration — Empfehlung
Wenn /opt und /data1 auf separaten Festplatten (oder separaten LVM-Volumes) liegen:
- Bei einem Upgrade kann
/opt/kopensausgetauscht werden, und/data1/pp-data(Benutzer-Flows / Cassandra / Backups) bleiben erhalten - Getrennte Festplatten-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-Reservierung aktivieren (Cassandra-Stabilität) |
| Speicherreservierung aktivieren — vollständig bemessen (Ballooning deaktivieren) |
tools.guestlib.enableHostInfo = TRUE zusätzlich — Host-Zeitsynchronisierung |
4. KVM / Proxmox
| Empfehlung |
|---|
cpu host-Modus (Passthrough) |
virtio NIC + virtio-blk / virtio-scsi |
qemu-guest-agent Installation (Gast-Gesundheitscheck) |
| Speicher-Ballooning deaktivieren (Cassandra-Heap-Stabilität) |
Festplatten-Cache-Modus = none (geringere Latenz) oder writeback (höherer Durchsatz) |
5. Hyper-V
| Empfehlung |
|---|
| Generation 2 (UEFI) |
| Dynamischer Speicher deaktivieren (variabler Cassandra-Heap → Swapping) |
| Integrationsdienste in der neuesten Version (Zeitsynchronisierung) |
Adapter-Typ der virtuellen NIC = Synthetic (nicht Legacy) |
6. Öffentliche Cloud
6.1 AWS EC2
| Element | Empfehlung |
|---|---|
| Instanz | m5.xlarge (4 vCPU / 16 GB) — klein/mittel / m5.2xlarge (8/32) — Betrieb |
| AMI | Amazon Linux 2 (Das Auslieferungsimage basiert zwar auf Fedora, ist aber mit RHEL kompatibel) |
| Festplatte | gp3 (/opt 100 GB), gp3 (/data1 1 TB+) — io1/io2 für Cassandra-Commitlog |
| Security Group | inbound 80 / 443 / 22 (nur Admin-IP), MQTT 1883 / OPC-UA 12000 (bei Bedarf — normalerweise VPC-intern) |
| EFA / Enhanced Networking | aktiviert (geringere Latenz) |
| Platzierung | Cluster-Platzierungsgruppe (großer Maßstab) |
Verbindung zum On-Premise-PLC-Netzwerk über AWS PrivateLink / VPC Peering.
6.2 Azure VM
| Element | Empfehlung |
|---|---|
| Größe | D4s_v5 (4 vCPU / 16 GB) — klein/mittel / D8s_v5 — Betrieb |
| Festplatte | Premium SSD (P30 / P40) für /data1 |
| Beschleunigtes Netzwerk | aktiviert |
| ExpressRoute / VPN | Verbindung zum On-Premise-PLC |
6.3 GCP
| Element | Empfehlung |
|---|---|
| Maschinentyp | e2-standard-4 — klein/mittel / n2-standard-8 — Betrieb |
| Festplatte | pd-ssd (1.000 IOPS für Cassandra-Commitlog garantiert) |
| Cloud Interconnect / VPN | On-Premise-Verbindung |
7. Cloud–On-Premise PLC-Netzwerkverbindung
PLCs befinden sich normalerweise on-premise (im Werk), und wenn das Gateway in der Cloud liegt, ist keine direkte Kommunikation möglich. Zwei Muster:
Muster A — Cloud-Gateway + On-Premise-Gateway
[PLC] ─── [온프레 게이트웨이] ─── (Sparkplug B / MQTT) ─── [클라우드 게이트웨이] ─── [상위 플랫폼]
Das On-Premise-Gateway erfasst PLC-Daten und veröffentlicht Sparkplug-B-Nachrichten, das Cloud-Gateway empfängt und integriert. Empfohlenes Muster.
Muster B — Direkter Zugriff auf das PLC-Netzwerk über VPN / SD-WAN
[PLC] ─── [VPN 게이트웨이] ──VPN── [클라우드 게이트웨이] ─── [상위 플랫폼]
Erhöhte Latenz + Leitungskosten. Nur für 1–2 kleine Standorte empfohlen.
8. Startautomatisierung (cloud-init)
Bei VM/Cloud wird bei Instanzstart automatisch installiert — cloud-init user-data-Beispiel:
#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
In Betriebsumgebungen sollten feste edge.id / feste site.id explizit in cloud-init angegeben werden.
9. Häufige Stolperfallen (VM / Cloud-spezifisch)
| Symptom | Ursache / Lösung |
|---|---|
| Cassandra stirbt oft | Speicher-Ballooning aktiviert. Auf festen Speicher umstellen |
| MQTT-Keepalive-Timeout häufig | NAT-Idle-Timeout der Cloud zu kurz. app.properties Keepalive von 60 auf 30 Sekunden |
| Zeit nach dem Boot 1970 | Virtuelle Zeitsynchronisierung deaktiviert. VMware Tools / qemu-guest-agent installieren |
| Langsame Festplatten-IO | gp2 / Standard-HDD. Auf gp3 oder SSD wechseln |
| OPC-UA-Zertifikat ständig ungültig | Virtueller Hostname geändert (DHCP). Alle möglichen IPs/Hostnamen in das Zertifikats-SAN aufnehmen |
| Unzureichender Netzwerk-Durchsatz | virtio / VMXNET3 / Accelerated Networking nicht aktiviert |
10. Weitere Informationen
- Standardinstallation: Einzeilen-Installation
- Produktionsabnahme: Produktions-Abnahmekriterien
- Air-Gap: Air-Gap-Installation
- Netzwerktopologie: Netzwerkkonfiguration
- Checkliste nach der Installation: Inspektion direkt nach der Installation