(Betriebssysteme siehe dort)
Observium
Quellen und Links:
- Forum: https://serverfault.com/search?q=observium
- Github: https://github.com/pgmillon/observium (Observium Community unofficial mirror, 2016)
- Github: https://github.com/DanielleHuisman/observium-community-edition (aktuell)
- Guthub https://github.com/mgmoerman/docs (Alert / Syslog / Polling Docs)
- Mailarchiv: https://www.mail-archive.com/search?l=all&q=observium
- Mailinglist https://lists.observium.org/postorius/lists/
Observium
SNMP-Monitoring-System, einfach und leistungsstark, kann aber nur SNMP.
Web-Seite oder einzelne Sensoren kann ohne Probleme in eigene Seiten integriert werden.
- Unlimited Sensoren free, Professional: 240,- EUR p.a.
- basiert auf PHP + MySQL, Großbritannien
- nur SNMP-Monitoring, keine Agenten, aber sehr viele vorgefertigte Geräte-MIBs
- alle Grafiken (Diagramme) lassen sich als Link per IFRAME in eigene MAPs einbinden
(Authentification: Allow graphs to be viewed by anyone=Y) - Konfiguration in opt/observium/config.php: https://docs.observium.org/config_options/
(Defaults in /opt/observium/includes/default.inc.php)
Die GUI hat nicht alle Werte und schreibt nicht in die config.php zurück.
Einträge in der config.php erscheinen rot und gesperrt mit Schloß in der GUI. - Postfix MTA (bound to localhost) to allow sending of email (e.g., password recovery)
- Update der Prof-Version (Changelog, ggf. von Stable auf ROLLING schalten):
cd /opt/observium
sudo svn cleanup
sudo svn update (Zugangsdaten SVN-Zugang)
./discovery.php -u - Update der Community Edition (CE):
- alte Version umbenennen
- neuer Download
- neue Installation
- verschiebe /rrd, /logs, config.php aus alter Installation - Update Anleitung (auch CE): https://docs.observium.org/updating/
- Migration CE zu Pro: https://docs.observium.org/ce-migration/
- MIBs unter opt/observium/mibs/
- LOGs unter /opt/observium/logs bzw. /var/log/messages oder /var/log/syslog
- Backup Jobs unter opt/observium/rrd/
- HTML Root in /opt/observium/html
- Lizenz von Common zu Subscription konvertieren: https://docs.observium.org/ce-migration/
- Ubuntu 22 LTS, Festplatte min. 100 GB
Nur professional Version kann:
- Alert E-Mail Notification bei SNMP-Schwellwert (Discord, Telegramm, Teams, SMS..)
- SVN automatisches Updatesystem
Andere Benutzer ohne Admin-Rechte anlegen:
- Users -> Device Permissions: alle (gewünschten) Geräte hinzu fügen!
E-Mail Checker einrichten:
- Konfiguration in der config.php, nicht in der GUI
- $config['email']['backend'] = 'smtp'; (sendmail)
- $config['enable_syslog'] = 1;
- $config['email']['smtp_secure'] = ''; // leer für 'none' encryption
- ggf. Firewall öffnen (ufw status , ufw allow 587), Test mit Telnet
- Test: /opt/observium/test_alert.php
Bsp: ./test_alert.php -a [Mailadresse] - Mail-Log: /var/mail/observium
- oder über Sendmail https://uwe-kernchen.de/phpmyfaq/index.php?solution_id=1446
Alert Checks:
- Gerät(e) DOWN: Entity: Device, Conditions: device_status equals 0, Association: Device Type IN [Kategorie]
- Gerät(e) REBOOT: Entity: Device, Conditions: device_rebooted equals 1, Association: Device Type IN [Kategorie]
- (DSL) Port Traffic hoch: Entity: Port, Conditions: ifInOctets_perc ge 85, ifOutOctets_perc ge 85, Association: Device IN [IP], Port Label EQUALS [VDSL...]
Nach Änderungen der Alert Checker REBUILD durchführen!
Quellen: - Doku Observium Alert Checker: https://docs.observium.org/alert_checker/
- Alerts definieren: https://infosecmonkey.com/setting-up-alerts-in-observium-community-edition/
Cron-Jobs:
# Run a complete discovery of all devices once every 6 hours
33 */6 * * * root /opt/observium/observium-wrapper discovery >> /dev/null 2>&1
# Run automated discovery of newly added devices every 5 minutes
*/5 * * * * root /opt/observium/observium-wrapper discovery --host new >> /dev/null 2>&1
# Run multithreaded poller wrapper every 5 minutes
*/5 * * * * root /opt/observium/observium-wrapper poller >> /dev/null 2>&1
# Run housekeeping script daily for syslog, eventlog and alert log
13 5 * * * root /opt/observium/housekeeping.php -ysel
# Run housekeeping script daily for rrds, ports, orphaned entries in the database and performance data
47 4 * * * root /opt/observium/housekeeping.php -yrptb
Observium als Proxmox Container installieren
(https://www.turnkeylinux.org/docs/observium)
- pveam update - lädt Onlinestore neu ein
- pveam available - listet Pakete im Onlinestore (Observium suchen)
- pveam download local debian-12-turnkey-observium_18.0-1_amd64.tar.gz - lädt das ausgewählte Paket in den lokalen Store (Tunkey = Israel!)
- pveam list local - listet lokale Pakete
- "Create CT" - Container erstellen
- Template (oben) auswählen
- pveam remove local:debian-12-turnkey-observium_18.0-1_amd64.tar.gz - Paket wieder löschen
E-Mail einrichten: - sudo apt-get install sendmail - Sendmail installieren
- /opt/observium/config.php:
$config['email']['backend'] = 'sendmail';
$config['email']['sendmail_path'] = "/usr/sbin/sendmail -t -i";
Community Edition im Container aktualisieren: - cd /opt
- # Backup
mv observium observium_bkt - # neue Version runterladen
wget -Oobservium-community-latest.tar.gz https://www.observium.org/observium-community-latest.tar.gz - # entpacken
tar zxvf observium-community-latest.tar.gz - # aus dem Backup logs, graphs und config ins neue Verzeichniss schieben
mv /opt/observium_bkt/rrd observium/
mv /opt/observium_bkt/logs observium/
mv /opt/observium_bkt/config.php observium/ - # Rechte wieder festlegen
chown -R www-data:www-data observium - # Discovery laufen lassen
/opt/observium/discovery.php -u
/opt/observium/discovery.php -h all - # Backup aufräumen
rm -rfv /opt/observium_bkt - alternativ: turnkey-update-observium
(https://www.turnkeylinux.org/docs/observium#scripted-ce-update)
Fehler: bei "Add Device" -> "Could not ping"
Lösung: chmod +s /usr/bin/fping
Anmerkung:
- Version 23.8.13005 (18.09.2023) - SMTP-Alert geht wieder
- Version 23.8.12912 (02.08.2023) - SMTP-Alerting funktioniert nicht
Alternative:
- LibreNMS (Fork von Observium, starke Ähnlichkeit, voll kostenlos)
- Zabbix Monitoring, Open Source, nicht auf SNMP beschränkt
MS Office Versionen
32-bit oder 64-bit
64-bit adressiert deutlich mehr Speicher und kann größere Prozesse und Dateien behandeln.
Es ist auf aktueller Hardware entsprechend schneller.
Aktuelle Installer fragen nicht mehr und installieren 64-bit.
Add-Ons müssen zur Version passen und sind (oft) 32-bit.
Besonders Outlook ist mit 32-bit „Calendar Printing Assistant“ und „Personal Folders Backup“ und auch dem „Windows Mobile Device Manager“ betroffen.
Die Dateivorschau im Explorer funktioniert nur mit 32-bit Office.
Alle installierten Produkte auf einem PC müssen entweder 32-Bit-Versionen oder 64-Bit-Versionen sein. Beispielsweise kann kein 32-Bit-Visio auf demselben Computer mit einem 64-Bit-Office installiert werden.
MSI oder Click-to-run
MS Office 2010 - MSI
MS Office 2013 - MSI oder Click-to-run (keine Unterstützung von Windows 11)
MS Office 2016 - MSI, Click-to-run oder MS Store
MS Office 2019 - Click-to-run oder MS Store, Support: 7 Jahre
MS Office 2021 - Click-to-run, Einzellizenz (PKC, ESD) oder Volumenlizenz (MOLP ab 5 Stk), Support: 5 Jahre
MS Office 365 - Click-to-run oder MS Store, Mietversion, Voraussetzung: Internet + MS-Konto
Microsoft 365 - (umfasst Premium-Versionen von Word, Excel, PowerPoint, OneNote, Outlook, OneDrive, Microsoft Editor und Microsoft Family Safety für PC, Mac und Mobilgeräte sowie Access und Publisher für PC, Win10 + Win11, Voraussetzung: Internet + MS-Konto)
Volumenlizenzierung nutzt bis 2016 MSI-Pakete, der Einzelhandel und Volumenlizenzierung ab 2019 nutzt Click-to-run.
• Es können nicht zwei Produkte zusammen installiert werden, die die gleiche Version aufweisen, aber unterschiedliche Installationstechnologien verwenden.
• Es können nicht zwei Produkte unterschiedlicher Versionen zusammen installiert werden, wenn beide die Klick-und-Los-Installationstechnologie verwenden und überlappende Office Anwendungen enthalten.
• Mit diesem Trick soll die Parallelinstallation trotzdem laufen. Das geht wohl leider nur mit Nebenwirkungen (*1)
• Click-to-run geht nur als Onlineinstallation und installiert zwingend das gesamte Office-Paket.
Eine Komponentenauswahl im Firmenumfeld ist mit dem MS Office Bereitstellungstool (ODT) möglich.
Anleitung bei Deskmodder.
Updatekanal
| Monatlicher Kanal | Visio Online Plan 2 (ehemals Visio Pro für Office 365) Project Online-Desktopclient Office 365 Business, die Version von Office in einigen Office 365-Plänen wie Business Premium. |
| Halbjährlicher Kanal | Office 365 ProPlus |
Jahresversionen
Office 2019 - läuft ab Windows 10
Office 365, Office 2016 / 2019 und 2021 haben alle die gleiche Version: 16.0
Für Office 365 und Office 2019/2021-Produkte müssen alle auf dem Computer installierten Produkte den gleichen Updatekanal verwenden. Zum Beispiel kann die Volumenlizenzversion von Office Professional Plus 2019 nur den PerpetualVL2019-Updatekanal verwenden. Daher kann sie nicht auf demselben Computer installiert werden, auf dem der Project Online-Desktopclient über den halbjährlichen Kanal ausgeführt wird, oder auf demselben Computer, auf dem Visio Online Plan 2 (die Abonnementversion von Visio, die zuvor Visio Pro für Office 365 genannt wurde) über den monatlichen Kanal ausgeführt wird.
Während es sich bei Office einschließlich Office 2019/2021 um Kaufversionen handelt, wird Office365 in monatlichem oder jährlichem Abbo gemietet. Zur Überprüfung des Abbos ist bei Office365 mindestens 1x im Monat eine Internetverbindung erforderlich.
Siehe auch Sicherheitsrisiko MS-Konto.
MS Office für Remote Desktop
Für die Office-Nutzung auf Remote Desktop Services ist eine Office-Version mit SCA (Shared Computer Activation) erforderlich.
RDS (SCA)-fähig ist:
- MS 365 Business Premium (nicht Standard)
- MS 365 Apps for Enterprise
- Office 365 E3
- Office 365 E5
- Microsoft 365 E3
- Microsoft 365 E5
- Office 2021 Standard (nicht Home&Business)
- Office 2021 Professional Plus (nicht Professional)
SCA-Installation per Office-Bereitstellungstool:
• Produktaktivierung Option "Gemeinsamer Computer" = aktiv
• Script: <Property Name=SharedComputer-Licensing" />
Quelle: it-administrator.de 02/2024 / Thomas Krenn AG
Deinstallation aller Office-Versionen.
Das funktioniert auch bei Bloatware/Spam Preinstallationen in etlichen Sprachen.
Siehe Microsoft.
Probleme nach Deinstallation 64-bit / Neuinstallation 32-bit
Es müssen folgende Keys gelöscht werden, damit die Dateivorschau wieder funktioniert:
für Microsoft Word previewer
HKEY_CLASSES_ROOT\CLSID\{84F66100-FF7C-4fb4-B0C0-02CD7FB668FE}
für Microsoft Excel previewer
HKEY_CLASSES_ROOT\CLSID\{00020827-0000-0000-C000-000000000046}
für Microsoft PowerPoint previewer
HKEY_CLASSES_ROOT\CLSID\{65235197-874B-4A07-BDC5-E65EA825B718}
Quellen:
*1 - Borncity: Instabilitäten durch c2r und msi Parallelinstallation
siehe auch:
Backup des Proxmox PVE-Host
Backup PVE-Host (3 Kopien)
- PVE: zfs list - suche geeigneten Storage für Backups (Bsp: /hd-vol3/Backups)
- PVE: touch /home/pve-backup.sh - erstelle Backup-Script
- PVE: nano /home/pve-backup.sh
#!/bin/bash
# PVE - Backup
# Definiere destinationdir und Logfile
DEST="/hd-vol3/Backups/host1"
LOG="/hd-vol2/daten2/Uwe/logfiles/backup_monat_PVE-Host--PVE.log"
echo "*** Backup PVE-Host nach $DEST-kopie1" &> "$LOG"
echo `date` &>> "$LOG"
# lösche kopie3
if [ -d "$DEST-kopie3" ]
then
echo " Lösche $DEST-kopie3" &>> "$LOG"
rm -r "$DEST-kopie3"
fi
# Verschiebe kopie2 -> kopie3
if [ -d "$DEST-kopie2" ]
then
echo " Move $DEST-kopie2 -> $DEST-kopie3" &>> "$LOG"
mv "$DEST-kopie2" "$DEST-kopie3"
fi
# Verschiebe &DEST-kopie1 in kopie2
if [ -d "$DEST-kopie1" ]
then
echo " Move $DEST-kopie1 -> $DEST-kopie2" &>> "$LOG"
mv "$DEST-kopie1" "$DEST-kopie2"
fi
# erstelle $DEST
echo " Erstelle $DEST-kopie1" &>> "$LOG"
mkdir "$DEST-kopie1"
# r - recursiv
# h - human readable
rsync -rptgoh --progress --stats "/etc/" "$DEST-kopie1"etc &>> "$LOG"
rsync -rptgoh --progress --stats "/home/" "$DEST-kopie1"home &>> "$LOG"
rsync -rptgoh --progress --stats "/boot/" "$DEST-kopie1"boot &>> "$LOG"
rsync -rptgoh --progress --stats "/root/" "$DEST-kopie1"root &>> "$LOG"
# Dumps nicht mit sichern
rsync -rptgoh --exclude='lib/vz/dump/' --progress --stats "/var/" "$DEST-kopie1"var &>> "$LOG" - Script per Cronjob im gewünschten Intervall ausführen
Der Proxmox VE-Server kann nicht mit der eigenen Backup-Funktion oder dem Proxmox Backup Server gesichert werden.
- möglich wären Linux Backup-Lösungen
- der PVE-Server ist schnell wieder installiert
- der Installer macht das System (RPOOL) platt!
- alle wichtigen Config-Files vorher(!) sichern
- möglichst keine VMs auf RPOOL sichern
Proxmox Backup Server (PBS)
Backup-Strategie
- Client-/Server, PBS empfohlen als getrennter Server! Sonst Sicherungsstrategie für PBS erforderlich.
- physischer PBS kann auch als CEPH-Quorum genutzt werden
- auf phys. PBS kann auch gleichzeitig PVE für Not-Restore installiert werden (Krenn-WiKi)
- PBS kann direkt auf PVE-Host installiert werden
- PBS kann als VM betrieben werden - PBS kann speichern auf lokalen Storage des (physischen) PBS oder external mount storage (Bsp. NAS)
(NAS in PBS einbinden, alle Backups auf NAS) - PBS-Server selbst sichern: nur System-HD per PVE sichern (Backup-Haken in HD2 raus) auf "local" oder "NAS" (nicht auf PBS-Storage)
- PBS läßt sich auch auf (größeren) Synology NAS als VM (Virtual Machine Manager) einrichten
- Veeam Backup kann (2025) ProxmoxVM, auch PVE-Host, aber keine LXC-Container
- Proxmox VE hat bereits ein eigenes, integriertes Full-Backup (Snapshot / Suspend / Stop) - kein File-Restore, Incrementalbackup o.ä.
Produktbeschreibung
- Enterprise Datacenter Backupserver (PBS) (Open Source)
- zur Sicherung von VM, Containern und physischen Linux Hosts, auch mehrere Proxmox VE Hosts
(Incrementell, VolumeBackup, File-Restore, Deduplizierung, Checksum, Verschlüsselung, Remote Datastore Synchronisation)
- kein Backup von PBS- oder PVE-Hosts (PBS-VM kann vom PVE gesichert werden, aber nicht auf PBS-Storage)
- unterstützt clientseitige Verschlüsselung der Backups
- Verify-Jobs zum Prüfen der Backups, Pruning (vor GC) löscht Metadaten, Garbage Collection löscht abgelaufene Backups
- Nutzerverwaltung ("Datastore User" für Backup), 2FA, Anbindung an AD oder LDAP - Tape Backup: LTO-Unterstützung, Aufbewahrungsrichtlinien, Bandbibliotheken, Barcode
- ab PBS 3.3: Push Sync für Backups (Ransomware-sicher)
- Sync-Jobs (Push / Pull) zwischen 2 PBS auf Datastore-Ebene
- PBS einrichten: https://pbs.proxmox.com/docs/installation.html
• OS: Linux 6.x
• erste HD für System (pro TB zu sichernde Quellen => 1 GB Storage), empfohlen: NVMe
• ggf. zweite HD für Backups (groß, preiswerter Speicher) -> Storage -> unused Disk -> ZFS
• alternativ: NAS in PBS einbinden (unten)
- Qemu-Client anhaken oder nachinstallieren
• Certificates: Lets Encrypt aktivieren - WEB-GUI:
https://<ip-or-dns-name>:8007(alternativ CLI und REST API) - ggf. Subscription für Enterprise-Repository, sonst Administration -> Repositorys (Enterprise deaktivieren, No-Subscription Repo hinzufügen)
- SMTP-Maileinstellungen über Postfix als MTA (Konfig. per CLI)
- bei mehreren Clustern: getrennte ID-Bereiche verwenden oder Namespace pro Cluster erstellen
- PBS mit Proxmox VE verknüpfen:
• PBS: Speicher / Initialisiere Disk(2), Erstelle ZFS, Name: backup-pool, ggf. RAID, erstellen -> Pool erscheint unter Datastore
• Proxmox VE: Rechenzentrum / Storage -> Hinzufügen -> Proxmox Backup Server
ID= backup-pool (Bezeichnung im PVE), Server= PBS-IP, Benutzer= root@pam, Knoten= auswählen (mehrere Server möglich), Datastore=backup-pool (Name im PBS), Fingerprint aus PBS Dashboard (Show Fingerprint)
-> unter Storage erscheint der backup-pool des PBS
Nun kann der Backup-Server direkt aus dem Proxmox VE gesteuert werden. - Hinweis: Backups funktionieren nur, wenn der Qemu-Guest läuft! (apt-get install qemu-guest-agent)
- Hinweis: PBS-Server kann nicht auf Storage des PBS gesichert werden! (NAS für PBS-Backup direkt am PVE einbinden)
- Hinweis: PBS kann nicht den PVE-Host sichern! Strategie siehe unten.
- Backup automatisch: Rechenzentrum -> Backup -> Hinzufügen: Zeitplan, VMs, Storage wählen (PBS nicht auf Storage des PBS!)
- PBS-Backup kann beliebig zurück gespielt oder per Dateiwiederherstellung geöffnet werden
- 09/2024: ab Veeam Version 12.2 unterstützt Veeam Proxmox VE Backups (Enterprise + Community, FileBackup, VolumeBackup usw), auch PVE-Host (Linux), aber keine LXC-Container, keine Replikation-Jobs
- Volume-Backup (falls nicht alle Volumes der VM gesichert werden sollen):
- VM Hardware -> einzelne HD auswählen -> Advanced -> Haken bei BACKUP raus
Quellen und Links:
Backup auf NAS (NFS / CIFS)
- NAS: NFSv3 aktivieren, Standard UNIX Berechtigungen
- NFS-Freigabe, NFS-Berechtigungen: IP, Berechtigungen= r+w, Squash= Keine Zuordnung, Sicherheit: sys, Benutzern Zugriff auf Unterordner erlauben
- Proxmox PBS:
CIFS -> schlechtere Wahl
- apt install cift-utils - Vorbereitung
- mkdir /mnt/backup-nas - erstellt permanenten Mountpount für NAS
- nano /etc/samba/.smbcreds - Zugangsdaten für SMB-Laufwerk ablegen (NAS)
- mount -t cifs -o credentials=/etc/samba/.smbcreds,uid=0,gid=0 //192.168.99.200/Backup /mnt/backup-nas
-> temporär. danach in /etc/fstab:
- //192.168.99.222/Backup/PBS /mnt/backup-nas cifs vers=3.0,credentials=/etc/samba/.smbcreds,uid=0,gid=0,defaults 0 0
-> siehe SMB / NFS/ CIFS
NFS (besser)
- mkdir -p /mnt/backup-nas - erstellt permanenten Mountpount für NAS
- mount <ip>:/volume1/backup /mnt/backup-nas - mountet NAS in o.g. Mountpoint (temporär)
- nano /etc/fstab - neue Zeile für automat. Mounten nach Neustart einfügen:
"<ip>:/volume1/backup /mnt/backup-nas nfs defaults 0 0" - NFS
- reboot PBS
- chmod -R u+rwX,g+rX,o+rX /mnt/backup-nas - Kontrolle mit df -h

- PBS: Add Datastore: Name=PBS-NAS, Backing Path= /mnt/backup-nas, root@pam, Datastore= wie PBS, Prune-Options setzen (dauert einige Minuten)
- Datastore-Config steht in
/etc/proxmox-backup/datastore.cfg - Proxmox VE: Add Proxmox Backup Server (wie oben), Datastore= backup-nas
- PBS: Prune- / GC- und Verifizierungs-Job + Zeitplan für jeden Datastore erstellen, Optionen -> Benachrichtigung bei Fehler
- PBS selbst kann nicht auf Storage des PBS gesichert werden!
Backup auf NAS ohne Proxmox Backup Server
Direktes Backup von Proxmox VE ist einfach einzurichten, kann allerdings keine Dateiwiederherstellung, Incrementials oder Deduplizierung.
Sinnvoll für Backup des PBS-Servers.
- Backup auf NAS / SMB oder NFS:
• NAS: SMB3 oder NFS-Freigabe + Nutzer anlegen
• Proxmox VE: Rechenzentrum -> Storage -> Hinzufügen: SMB/CIFS oder NFS, Freigabe eintragen, Inhalt: VZDump Backup-Datei
Grafik Bearbeitung und Viewer
- GIMP - extrem leistungsstarke freie Grafikbearbeitung für Windows, Linux und macOS
- open source - RawTherapee - RAW-Viewer, non-destruktive Bildbearbeitung
- Open Source, alle Plattformen
- sieht aus wie Lightroom und macht was Lightroom macht
- es fehlen Funktionen zur Katalogisierung und Verwaltung von Bildbeständen oder zur selektiven Bearbeitung von Bildausschnitten - Inkscape - freies vectorbasiertes Grafikprogramm für Windows, Mac OS X und Linux
- Kompatibel mit vielen Dateitypen, u.a. standardisiertes SVG-Datenformat
- Einbindung von Pixelgrafiken
- umfangreiche Textbearbeitung
- Bézier-Kurven und Spiralen
- Exportformate: PNG, OpenDocument Drawing, DXF, sk1, PDF, EPS und PostScript uvm. - digiKam - freies Bildverwaltungsprogramm für Windows, Linux und macOS
- open source
- incl. Bildanzeige/bearbeitung "ShowFoto"
- unterstützt alle gängigen Rastergrafikformate wie JFIF, JPEG 2000, TIFF, PNG, PGF und über DCRaw auch RAW-Daten und DNG
- erstellt SQLite - Datenbank für Bewertung, Stichworte, Kategorien - Photopea - freie Online Bildbearbeitung
- werbefinanziert (alle Features!) oder Premium
- Photoshop-ähnlich, großer Funktionsumfang
- unterstützt PSD, AI, XD, PDF, CDR, RAW, MP4 uvam. - affinity - professionelle Fotobearbeitung (auch RAW sehr flink), Vektordesign (AutoCAD Import), Illustration und Layout
- Alternative zur Adobe Creative Suite
- OS: Windows und macOS
- Programm kostenlos, KI im Premium-Abbo - PhotoDemon - Open Source Programm für Windows (alle Versionen)
- portable
- verarbeitet Photoshop PSD, Gimp XCF, Corel Paintshop PSP
- kann Photoshop Plugins
Proxmox Virtual Environment Server (PVE)
Spice und Quemu
noVNC-Konsole: Default VM-Konsole, einfach, browserbasierend, Fenster, keine Zwischenablage, kein Sound, teils ruckelige Grafik, keine LAN-Verbindung zur VM erforderlich
- Qemu Guest Tools installieren+aktivieren! (verbessert Leistung und Überwachung, flüssiger, Shutdown, Snapshots, qm-Befehle u.a.)
- Mauszeiger reagiert in noVNC Konsole auch mit Qemu Guest Tools sehr träge (kein Vergleich zu VMWorkstation- oder ESXi-Konsole)
Spice-Konsole: Vollbild (VirtIO-GPU), Sound (Audiogerät hinzu fügen), im Wirts-PC "virt-viewer" inst.
- Zwischenablage in beide Richtungen, ggf. muß spice-vdagent (spice-guest-agent) bzw. Virt-Manager im Client installiert werden (Qemu Guest reicht nicht).
- Display: Spice oder VirtIO-GPU, USB (USB-Device: Spice Port)
- funktioniert ohne LAN-Verbindung zur VM
- siehe Proxmox WiKi SPICE
- VirtIO CD ISO zum Mount in Client: https://logiqlinux.com/de/manuals/hrpc-proxmox-ve/creating-a-new-virtual-machine/installing-virtio-drivers/
- Spice Guest Tools für Windows: https://www.spice-space.org/download/windows/spice-guest-tools/spice-guest-tools-latest.exe
RDP-Konsole: Sound, Zwischenablage, gute Grafik, Vollbild
- Voraussetzung: LAN-Verbindung zur VM, RDP-Server in der VM
Übersicht
Kernel-Based Virtual Machine (KVM) ist eine Open Source-Virtualisierungstechnologie, die im Linux® Kernel integriert ist.
- Bare Metal-Hypervisor vom Typ 1 (wie ESXi, VM-Ressourcen werden vom Hypervisor direkt für die Hardware eingeplant)
- erfordert Virtualisierungsfunktion der CPU, (grep -Ec '(vmx|svm)' /proc/cpuinfo) Antwort muss > 0 sein, ggf. im BIOS aktivieren
- erfordert VM-Emulation wie QEMU (LibVirt bzw. Proxmox)
- Open Source Enterprise Virtualisierer, Frontend+Bundle mit KVM-VM und LXC-Container Virtualisierung, ZFS auf Debian-Basis
- Gast-VM: Windows 2000, XP/2003, Vista/2008, 7/2008R2, 8/2012(R2), 10/2016/2019, 11/2022, Linux, Solaris und verschiedene BSD-Varianten auf Intel und AMD x64-Basis
- Gast-Container: Ubuntu, Debian, Fedora, OpenSuse u.a. Linux
- Filesystem: LVM (ext4) oder besser ZFS
- TPM-Support (kein Zwang), Snapshots, Clones, Backups, Templates, Live-Migration zwischen 2 Hosts, Thin-provisioned Storage
- Enterprise Support und Repository buchbar
- ohne Subscription Lizenz: Betrieb + Update über Community Repository im nichtkommerziellen Bereich möglich
- 04/2024: Proxmox 8.2 mit Importschnittstelle für VMWare ESX (Rechenzentrum -> Storage -> ESXi)
- 11/2025: Proxmox 9.1 Container mit Templates per Pull from OCI Registry (aus Docker u.a.)
Hardware
• ZFS nutzt per Defaul 50% des RAM als Cache (->viel RAM einbauen!)
• möglichst keine Consumer SSD/NVME verwenden, weil deren Cache zu gering ist und sie zu viel beschrieben werden
• 2 kleine SSD (256GB) für System (rpool) verwenden, große NVMe und HDD für die VM
• RAID-1 oder RAID-10 für VMs nehmen
• ZFS ohne Hardware-RAID (direkter Datenzugriff!), LVM mit Hardware-Controller
• Booten von Software-RAID (ZFS) ggf. über HBA (Boot-Partition ist kein RAID)
• ZFS ist LVM vorzuziehen
- hat keine Schreiblücke und benötigt keinen Akku-gepufferten Cache
- flexible Software-RAID Level
- Copy on write, Komprimierung, Checksummierung, Scrubbing
- HA Cluster nur mit ZFS möglich
• NVME-Cache bringt viel
• Proxmox supportet Speichertypen
Installation
- HD-Seriennummern und Slots notieren! (falls RAID ausfällt)
- Installer: Optionen: ZFS-RAID + HDs wählen, HD-Size für System (rpool) festlegen (100GB), ashift= 12
- "Datastore behalten" wie VMWare kennt Proxmox nicht, der Installer macht die System-Partitions platt und "vergisst" die anderen Pools.
Beim Neuinstallieren werden also alle VMs in rpool (sda3+sdb3) gelöscht!
ZFS-Pools auf anderen Partitionen können per zpool import wieder eingebunden werden, wenn man die wichtigsten cfg-Dateien hat.
/etc/pve/storage.cfg (notfalls manuell) wieder herstellen (enthält die Datastores für die GUI)
Für VMs: /etc/pve/qemu-server, für Container /etc/pve/lcx - wieder herstellen, enthält die Configs der VMs
Anleitung ZFS-Pool Import
-> keine VMs auf rpool (local) planen, nur das System! -
Proxmox erstellt 3 Partitions (cfdisk /dev/sda): Legacy BIOS Boot (1MB), EFI Boot-System (512MB), ZFS/Proxmox-RAID 'rpool' (Rest bzw. Setup:HDSize)
Partition 1 und 2 sind kein RAID! (UEFI-Partition nach jedem größeren Update synchronisieren)
Partition 3 (ZFS-RAID) /dev/sda3 und /dev/sdb3 kann nicht direkt booten
• Boot-Loader auf allen Boot-Partitionen synchronisieren:
• update-grub - Aktualisierung der Grub Loader
• grub-install /dev/sdb - Installation des Grub-Loaders auf Laufwerk sdb
• update-initramfs -u - aktualisiert die Grub-Infos auf diesen HDsZFS RAID-1:

>>cfdisk (sda, ZFS)

>> lsblk (sda und sdb)

- Software Defined Network (SDN): wird im Cluster organisiert, VLANs pro VM oder (besser) pro Bridge; Firewall pro VM
1) vmbr0 -> VLAN-Aware = ON, Server neu starten
2) pro VM/CT -> Netzwerk: VLAN-Tag setzen
- in VM/CT ggf. geänderte IP konfigurieren
3) zum PVE kommen vom Switch gebündelte VLAN-Trunk-Ports
Strategie: Ports= BOND, Switche= VLAN, VMs= Firewall - Proxmox WEB-GUI: <ip>:8006
- Proxmox SSH-Konsole: ssh root@<ip>
Powersafe (Homeserver)
Per Default läuft ein Virtualisierungshost sinnvollerweise ohne Powersafe.
Im Homelab ist das aber eventuell sinnvoll.
- cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor - zeigt Powermodus für jede einzelne CPU
Proxmox Default: performance - cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq - zeigt Frequenz für jede einzelne CPU
- echo "powersave" | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor - setzt Governor = powersafe (ggf. nicht bootfest, in Crontab eintragen)
- alle CPU Scaling Werte erklärt
- siehe Powersafe, CPU Governor (Homeserver)
- DMZ-Strategie: zweite OPNsense im Proxmox für geschützte VMs (Performance, Single-Point-of-failure), DMZ-Bridge ohne zweite Firewall
Skizze: Baribal Studios - Routing (manuell): ip route add 10.10.10.0/24 via 192.168.1.10 dev vmbr0 (Firewall nicht vergessen)
- Routing (dauerhaft): /etc/network/interfaces (enthält alle Interfaces und Bridges)
post-up ip route add 10.10.10.0/24 via 192.168.1.10 dev vmbr0 - zpool status - zeigt RAID-Status (ZPOOL ist der RAID-Teil von ZFS)
- neuen Pool erstellen: einfach über Proxmox-GUI (Mirror, shift=12), leere Partitionen auswählen (mit cfdisk erstellen)
- zpool list - zeigt Pool- Fragmente, Deduplizierung, (CAP soll nicht über 80% gehen!) - ggf. Autosnapshoots verkleinern
- zpool set autotrim=on rpool - Autotrim anschalten! Wichtiger Platz- und Leistungsgewinn.
- zpool trim rpool - führt TRIM manuell aus, nur zur Kontrolle, Anzeige mit zpool status
- cd /dev/disk/by-id/ -> ls -l zeigt HDs mit Seriennummer und logischem Name (Bsp: sdb3), wichtig bei HD-Defekt
- Datacenter / Storage / lokal-zfs: Blocksize auf 16k + ThinProv. ändern (ist jetzt DEFAULT), sonst ist Overhead riesig
- jede danach angelegte VM bekommt per Default 16k - Blöcke - zfs list - zeigt Partitionen + Mountpoints

• /rpool/ROOT/pve-1 = '/' = Proxmox-Partition - E-Mail Alarmierung ist rudimentär (Postfix), besser Monitoring (CheckMK-Plugins)
- Vollständige Conf einer VM: cat /etc/pve/quemu-server/101.conf
- Windows gibt gelöschten Speicherplatz deutlich verlangsamt wieder frei -> SSD-Trim (HD -> Tools -> Optimieren) regelmäßig planen
- Proxmox-User mit Two Factor -> TOTP absichern
• PAM-User sind lokale Linux-User (meiste besser)
• Proxmox-User sind User des Proxmox Datastore - ssh-keygen - Schlüsselpaar erzeugen
Snapshots - bei ZFS: ggf. Bashclub-ZFS Postinstall-Script ausführen, wechselt auf no-subscription-repository und schaltet Warnung ab, installiert Tools, konfiguriert Cache, Autosnapshots, Config-Backup, Systemaktualisierung (Swap ab 95%, Mailer, Snapshots festlegen!! [Monate - Wochen - Tage - Viertelstunden], blocksize=16k)
- danach: GUI Updates Refresh / Rebooten
- Autosnapshot vererbt sich per Default
- zfs set com.sun:auto-snapshot=false <VMSTORE> - Dateisystem nicht AutoSnapshoten
- zfs set sync=disabled rpool - SYNC ausschalten
- zfs set com.sun:auto-snapshot=true <VMSTORE>/<VM> - nur einzelne VM SnapShoten
- zfs list -t snapshot (zfs get written) - listet alle Snapshots auf
- zfs list -t snapshot | grep pve-1 - listet alle Snapshots der Proxmox-Partition auf
- Snapshots per cd anzeigen: /VMSTORE/<VMNAME> cd /.zfs/snapshot/ → ls -alh
- zfs rollback -r rpool/ROOT/pve-1@zfs-auto-snap_hourly-2023-05-27-1158 -> Rollback des angegebenen Snapshots
so kann Proxmox und jede einzelne VM wieder hergestellt werden - sollte sich auch die VM-Konfig geändert haben, extra /pve/ Snapshot holen. PBE Backup Server sichert auch die VM-Konfig.
- Proxmox Update: niemals via apt upgrade!! Nur über Proxmox-GUI oder so:
• apt update (Paketquellen updaten)
• apt dist-upgrade (Pakete mit ihren Abhängigkeiten installieren)
• REBOOT nach jedem Kernel-Update - Upgrade v8 -> v9: https://pve.proxmox.com/wiki/Upgrade_from_8_to_9
- ZFS-RAID löschen:
• zfs list - zeigt Pools
• nano /etc/pve/storage.cfg - Eintrag löschen
• zpool desroy <pool>
RAID-Cache mit schneller SSD oder NVM (sdc) erstellen - es können mehrere Cache Laufwerke pro Pool angegeben werden
- zpool add -n hd-pool cache sdc sdd
- zpool iostat -v 1 - zeigt Befüllung des Cache
Fehler: 1 ZFS RAID-HD (bsp: sda) gestorben oder ich will 2. HD zufügen - RAID ist degraded, man merkt das nicht (Monitoring!!)
- zpool status zeigt RAID-Status (degraded)
- HD/SSD wechseln (darf auch größer sein)
- zpool set autoexpand=on rpool - schaltet Autoexpand an
- sgdisk /dev/sdb -R /dev/sda - überträgt (repliziert) Partitionen von sdb auf sda
- lsblk - zeigt Partitionen an
- cfdisk /dev/sda - gpt-Partition, Linux Filesystem, wenn neue HD sda größer ist, Proxmox-Partition sda3 resizen auf volle HD-Größe
- sgdisk -G /dev/sda - erstellt neue GUID für die neue HD
- proxmox-boot-tool clean - entfernt ID der defekten HD aus der Bootkonfig
- proxmox-boot format /dev/sda2 - formatiert Boot-Partition mit Windows Dateisystem (sda1 + sda2)
- proxmox-boot-tool init /dev/sda2 - überträgt Bootpartition auf neue HD
- proxmox-boot-tool status - gelegentlich prüfen, muß wieder 2 HDs zum Booten haben
- zpool status - zeigt immer noch, dass rpool DEGRADED ist (HD REMOVED), d.h. neue sda3 hat noch keine Daten
- (zpool replace rpool sda3 - Daten werden auf neue Partition repliziert)
- ls -althr /dev/disk/by-id/ zeigt HDs mit Seriennummer und logischem Name (Bsp: ata-Gigastone_SSD_GSTGGGHABK2406260460-part2 -> ../../sdb2)
- zpool attach rpool sdb3 ata-Gigastone_SSD_GSTGGGHABK2406260460-part2
-> füge neue HD (sdb2) über ID (wichtig beim Umstecken der HD!!) zum rpool (zu funktionierender Platte sdb3, ggf. auch als ID) hinzu - zpool status - jetzt Online, resilvering
- zpool status -v [pool] - zeigt genauen Status des Resilvering an
Notfall-Recovery bei defektem Proxmox Bootsystem - Intallation Proxmox von CD auf beliebigen anderen Datenträger ohne ZFS inst. (sonst hätten wir 2x RPOOL) (gute Datenplatten raus ziehen)
- zfs list - keine Volumes da (HD wieder rein)
- zpool import -fa - importiert alle ZFS-Pools
- Kopieren storage.cfg, quemu-server (/rpool/pveconf/)
- System läuft (ohne SSH-Keys, Autosnapshot usw)
- siehe auch Thomas Krenn WiKi
neue HD hinzufügen, ohne die Alte zu löschen (Backup o.ä.) - zpool attach rpool sdb3 <neue HD> - statt REPLACE kann man mit ATTACH weitere HDs hinzufügen
- zpool status - zeigt dann 3 HD im RAID an
- nun kann man 1 HD entnehmen und aus dem RAID entfernen:
- zpool detach rpool sdb3 - löscht HD aus RAID-Konfig
- proxmox-boot-tool clean - entfernt ID der entfernten HD aus der Bootkonfig
- bootet man jetzt nur von der entnommen sdb, würde sie immer noch melden dass die beiden anderen HD fehlen
separaten ISO-Pool erstellen (NVMe-RAID ist dafür zu schade)
Bsp: ZFS-Pool heißt "hd-pool" und soll Dataset "ISOs" bekomme und ein Directory Storage "ISOs" - zfs create hd-pool/ISOs - Dataset erzeugen
- zfs destroy hd-pool/ISOs - Dataset löschen
- zfs set compression=zstd hd-pool/ISOs - ZSTD-Kompression für weniger Platzverschwendung
- zfs set relatime=on hd-pool/ISOs - ggf bei SSD: unnötige Writes vermeiden
- zfs set quota=100G hd-pool/ISOs - ggf. Quota auf 100GB setzen
- pvesm add dir ISOs --content iso --is_mountpoint yes --shared 0 --path "/hd-pool/ISOs" - Directory Storage für ISOs anlegen
(Pool für VMs: Content= images), auch manuell mit nano /etc/pve/storage.cfg
VM erstellen: - virtuelle Hardware nicht E-1000 (1GB) o.ä., sondern virtuelle Proxmox-Hardware mit 100 GB/s nehmen!
PVE -> Storage local -> ISO-Images -> Download from URL
Suche: proxmox windows drivers stable -> Download-Link kopieren in URL oben, Query URL -> lädt virtio-win.iso (Treiber-CD)
(https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win.iso)
• Windows7: virtio-win-0.1.173-4.iso - Disk Device: SCSI mit 'VirtIO SCSI single' Controller, Discard + SSD-Emulation +IO thread anhaken, no Cache
- CPU Type = host (außer wenn man den Host wechseln will), Machine= Q35, (Version= 5.2 ggf zuverlässiger)
- Quemu anhaken, vergl. VMWare Tools, UEFI Boot
- Network = VirtIO (paravirtualized), vmbr0 ist Default Bridge
- CD1 = Boot-OS
- CD2 = virtio-win.iso
- Windows Installation findet keine Festplatte -> Treiber laden -> vioscsi -> win10
- von CD virto-win.iso 'virto-win-guest-tools' installieren -> installiert alle fehlenden Treiber
- QEMU Guest Agent installieren
• Windows: virto-win.iso, Verzeichnis guest-agent
• Linux: apt-get install qemu-guest-agent , systemctl start qemu-guest-agent
Danach zeigt die VM unter Übersicht die IP, Meldung "kein Agent" verschwindet, qm-Befehle gehen, Shutdown über GUI geht. - im Host Qemu Guest aktivieren: qm set <vid> --agent 1
Test: qm agent <vid> ping - ggf. Spice oder RDP aktivieren
Hochlastige VM optimieren, Auslagerungsdatei ohne Snapshot - powercfg -h off - Hyperfil off
- zfs create -o com.sun:autosnapshot=false rpool/swap - erstellt Verzeichnis, in dem keine Autosnapshots gemacht werden
- Proxmox Datacenter -> Stoarage -> Add -> ID: rpool-swap, ZFS-Pool auswählen, Content= Disk Image, 16k Block Size
- VM -> Hardware -> Add HD -> Bus: SCSI, Storage: rpool-swap, Size: 8GB, SSD-Emulation, Discard
- Windows Datenträgerverwaltung: Datenträger initialisieren, LW-Buchstabe
- Windows Systemeigenschaften -> Leistungsoptionen -> Auslagerungsdatei ändern in Swap-LW
ZFS-HD einer Windows-VM vergrößern - HD in Proxmox vergrößern: VM -> Hardware -> Harddisk -> Disk Action: Resize
- in Windows hindert die Widerherstellungspartition am Vergrößern von LW C:
- Proxmox: lsblk, Widerherstellungspartition identifizieren

- cfdisk /dev/cd16
Windows RE (546MB) löschen (nicht hier Resizen!) - HD in Windows Datenträgerverwaltung vergrößern
- ggf. in /etc/pve/quemu-server/100.conf anpassen, sonst wird das weiter falsch angezeigt
Backup-Strategie: - /etc/cron.daily (Cronjob)
- VM herunter fahren (qm shutdown...)
- Snapshot
- VM starten
- Snapshot weg sichern (repl)
- PBS ermöglicht Backup ohne Shutdown
- keine Backups, Hyperfil oder Auslagerungsdatei auf produktive Volumes legen (mit Snapshot)
- keine Backups auf "Local-Store" legen, denn das ist der PVE
Backup Replication einfach und trojanersicher (SysOps) mit pull, geht auch remote in LAN/WAN - zfs create -o com.sun:autosnapshot=false backup/repl (data, clone, rpooldata) - auf neuem Volume anlegen
- zfs set com.sun:autosnapshot=false backup - ganzer Datenträger ohne Autobackup
- gihub.com bashclub: bashclub-zfs-push-pull -> Link kopieren
- git clone <link> - installiert
- chmod +x 02pull bashclub-zfs - ausführbar machen
- cp bashclub-zfs /usr/bin/ - kopiere an bessere Stelle
- nano 02pull - editieren
Scriptpaht='/usr/bin'
Sourcehost='localhost'
DestPath='backup/repl' - Trojanersicher ist das initiiert vom Remote Backup Server aus. Auf den Systemen läuft zfs send / zfs receive mit Prüfsumme.
VMs importieren - vmdk, vhdx, raw, qcow2, ovf > mounten (Kopieren mit winscp) im Original nach mnt/pve/nfsstore
- zvols, lvm, usb, hdd, ssd (phys. Geräte)
- qm importdisk 100 /mnt/hypervfreigabe/dc.vhdx local-zfs - importiert und konvertiert automatisch
- ova: entpacken von ovf, mf, vmdk, nvram
- VMWare Workstation: Export als OVA (möglichst vorher VMWare Tools deinstallieren)
- WinSCP: Dateien auf Proxmox übertragen
- qm importovf 101 bitnami-wordpresspro-5.1.1-0-linux-debian-9-x86_64.ovf local-zfs
- bei UEFI-VM: BIOS auf UEFI setzen (qm set 101 --bios ovmf)
- Treiber von SCSI auf SATA ändern (sed -i 's/scsi/sata/g' /etc/pve/qemu-server/101.conf)
Quelle: Krenn AG WIKI - ESX.vmdk von Proxmox Shell aus importieren
- Disk als IDE-LW hinzu fügen
- physische Systeme: mit VMWare Converter oder Clonezilla Festplatten erzeugen
- VM in Proxmox neu einrichten, HDs hinzu fügen (unused disk: discard + add)
- VMWare Tools deinstallieren
- virtio-win.iso installieren, QUEMU-Guest installieren
- ab Proxmox 8.2 mit Importschnittstelle für ESXi (Datacenter -> Storage -> ESX), Variante 4
Variante 3: Clonezilla - clonezilla Empfangsmodus auf neu erstellter, leerer VM
- clonezilla booten auf PC
Variante 4: VMWare ESX per Proxmox Import Agent (neu 2024) - importiert ESX Host v.6.5 - v.8
- ESXi Datastore in Proxmox einbinden und VM importieren
- Assistent erkennt (je nach Ausgangs-VM) Controllertyp, CPU, RAM, HD automatisch
- https://forum.proxmox.com/threads/new-import-wizard-available-for-migrating-vmware-esxi-based-virtual-machines.144023/
- https://www.thomas-krenn.com/de/wiki/ESXi_VM_Importer_-_Proxmox_VE_Storage_Plugin?xtxsearchselecthit=1
- nach Import: Treiber für HD auf VirtIO umstellen, LAN neu hinzu fügen, Quemu Guest Agent inst.
- nach dem Import alter VM ggf. Controller in vioscsi ändern
- vio-Treiber in nicht startendes Windows per CMD integrieren:
- virt-IO -CD "einlegen"
- System reparieren - > Eingabeaufforderung
- Windows-Laufwerk (x:) und VirtIO-Laufwerk (d:) suchen
- drvload d:\vioscsi\2k22\amd64\vioscsi.inf -> erfolgreich geladen
- dism /image:x:\ /add-driver /driver:d:\vioscsi\2k22\vioscsi.inf -> Operation successfully
Proxmox - Cluster - ermöglicht Livemigration, Hochverfügbarkeit, gemeinsame Oberfläche
- ZFS erforderlich (also kein RAID-Controller + LVM)
- LANs (empfohlen):
- Corosync - PVE-Cluster
- Ceph - Storage
- vmbr0 - VMs - Cluster synchronisiert /pve/ Konfigurationen
- fügt 2 oder mehr Proxmox-Hosts zu einer Oberfläche hinzu, auch ohne zentralen oder replizierten Storage (2 Instanzen bilden "Mehrheit")
- mit zentralem Storage können VM im laufenden Betrieb verschoben werden (HA, Failover)
- auch ohne zentralem Storage geht Livemigration im Cluster (entsprechend langsam), Server-Sync (Bsp. minütlich)
- dediziertes (schnelles!) Storage-Netz für ZFS Sync
- Achtung: VMs dürfen keine gleichen Namen (101) haben! Am Besten leeren Host hinzu fügen. Sync. Storage-Pools müssen gleichen Namen haben.
- https://pve.proxmox.com/wiki/Cluster_Manager
- CEPH (empfohlen) ist ein selbstheilender, sich selbst verwaltender, frei skalierbarer Speicher über mehrere Geräte hinweg (Open Source Software)
- min. 3 Server
- min. 4 Datenträger je Server
- dediziertes Storage-LAN (min. 25 Gb/s bei NVMe)
Proxmox Remote Migration - Migration von VM oder LXC von einem Host auf einen anderen über das Netzwerk
- kein Cluster erforderlich, verteilte Standorte und getrennte Systeme möglich
- Berechtigung über API-Token
- Anleitung: https://www.thomas-krenn.com/de/wiki/Proxmox_Remote_Migration?xtxsearchselecthit=1
Proxmox Datacenter Server - verwaltung von mehreren Proxmox VE oder PBS-Servern
- Server müssen nicht im selben Cluster sein
- Vertrauensstellung wird durch Fingerprint hergestellt (PVE: Zertifikate -> pve-ssl.pem)
USB-Stick in VM durchreichen - USB-Stick an Host stecken, Stick erscheint im Host unter "Disks"
- USB-Device in VM hinzu fügen, "Use USB Vendor/Device ID"
- Stick auswählen, fertig
Quellen und Links:
- Proxmox wichtige Befehle, Pfade und Dateien
- Backup des Proxmox PVE Host
- Proxmox Backup Server (PBS)
- xwichtige Befehle (Linux/Proxmox/ZFS)
- xKVM / Proxmox Übersicht
- xSamba / SMB-Freigaben
- Proxmox Firewall
- Proxmox konfigurieren, Postfix, Fail2ban usw. https://decatec.de/home-server/proxmox-ve-installation-und-grundkonfiguration/
- Proxmox VE Helper Scripts (Microcode Updates, Datacenter Manager, Host Backup...)
- Proxmox PVE Host Sicherung auf Proxmox PBS und forum.proxmox.com (Erklärung + Restore)
PHP Ticketsystem osTicket
- Mail-to-Ticket, importiert E-Mail in das TIcketsystem
- Variablen: https://docs.osticket.com/en/latest/Admin/Emails/Templates.html
- Sprachpaket: de.phar -> /include/i18n/
- Plugins: *.phar -> /include/plugins/
Einbinden in Admin-Bereich / Verwalten / Plug-ins. - E-Mail Abruf: IMAP Port 993 (SSL) -> Firewall auf! Cron-Job im System setzen.
E-Mail Outgoing: SMTP Port 25 - Doku: https://docs.osticket.com/en/latest/
Modifizierte und übersetzte Version von OSTicket.
ausführliche Installationsanleitung DE/Win: https://forum.osticket.com.de/thread/2904-windows-update-anleitung-osticket-umstellung-auf-die-deutsche-version/
Deutsches Forum: osticket-community.de
Kritische Updates sofort installieren?
Die Idee ist gut, aber blauäugig.
Schon lange wird die Qualität von Sicherheitsupdates bei nahezu allen Firmen stetig schlechter.
Selbst Firmen wie Microsoft betreiben keine Qualitätssicherung mehr.
Es gibt weltweit keine Haftung für Softwarefehler.
Fehlerkorrekturen sind notwendige Übel für die Hersteller und bringen ihnen keinen Mehrwert.
In den letzten Jahren haben kritische Sicherheitsupdates bei mir zumindest gefühlt mehr Fehler verursacht als beseitigt.
Aus diesem Grund vertrete ich in meinen Sicherheitskonzepten schon lange den Standpunkt, dass eine sofortige Updateinstallation fahrlässig ist, nicht anders herum.
Nun vertritt erstmalig die Cybersecurity & Infrastucture Security Agency (US-CERT CISA) den Standpunkt, dass das Microsoft Rollup Mai 2022 für alle OS-Versionen auf Domaincontrollern nicht installiert werden soll.
Quelle: BornCity
Mein Standpunkt: Server werden dadurch sicher, dass man sie isoliert.
2025
Inzwischen produzieren KIs Software und ihre Updates.
KIs machen die Qualitätskontrolle und Tests.
Updatezyklen überschlagen sich.
Welche IT-Abteilung soll das testen?
Die Qualität sinkt immer weiter.
Updates stellen immer öfter ein erhebliches Risiko für den Betrieb dar.
ioBroker
Installation:
- OS: Ubuntu LTS inst.
- IP konfigurieren
- CURL installieren: sudo apt install curl
- NodeJS inst: curl -sLf https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs (nicht mehr erforderlich, danke für den Hinweis) - IOBroker mit Curl installieren: curl -sLf https://iobroker.net/install.sh | bash -
- IOBroker starten mit http://[ip-adresse]:8081
- Auge: Discovery Adapter, Netzwerkscan
Aktualisieren:
- sudo apt-get update && sudo apt-get dist-upgrade
- iobroker update
- iobroker upgrade
- iobroker stop && iobroker fix - -> ioBroker Installationsfixer
- iob nodejs-update - Node.js Update
ioBroker CLI Kommandos: https://iobroker.readthedocs.io/de/latest/basics/cli.html?highlight=json
Backup bzw. Programm umziehen mit Backitup
• Backitup Adapter auf alter und neuer Installation installieren
• History Datenpfad konfigurieren: /opt/iobroker/iobroker-data/history
• je nach Installation min. ioBroker und History Backup auswählen und auf altem und neuem PC einmal ausführen
• /opt/iobroker/backups/ - aktuellstes Backup auf neuen PC an gleiche Stelle übertragen
• auf neuem PC Backup (lokal) wiederherstellen (dauert eine Weile)
• im Idealfall gleiche IP wie Quellgerät nutzen
• alle Instanzen starten
Der Umzug ist fertig.
• Backup: NAS oder Cloud konfigurieren
Grundsätzliches
- Variablen sind temporär im Speicher. Sie lassen sich nur im selben Script nutzen.
- Datenpunkte liegen im Objektbaum und können übergreifend genutzt werden. Sie bleiben auch beim ioBroker-Neustart erhalten.
Eigene User-Datenpunkte liegen in bzw. unter "0_userdata/0/".
Zu Datenpunkten lassen sich Einheit, Min., Max und Steps definieren. - Werte werden vom Programm im Normalfall ohne Bestätigung (bestaetigt=false) gesetzt. (rot)
Das Gerät erkennt am unbestätigten Wert, dass es eine Aktion ausführen soll
Nach der Aktion bestätigt das Gerät den Wert. (grün)
Blockly:
* Adapter steuern: "steuere ID..." (setzt Ack=fasle)
* Datenpunkt aktualisieren: "aktualisiere ID.." - Datenpunkt JSON: hifreich ist JSON Online-Viewer
VIS Objekte in andere Views kopieren
• funktioniert nicht über das GUI-Menue, dann werden die Objekte immer in der Quell-View eingefügt
• mit Strg-C / Strg-V funktioniert es korrekt
Berechnungen mit Bindings in VIS
HTML-Widget: Datenpunkt einer Variable zuweisen, dann rechnen.
(Der Editor zeigt die Ergebnisse nicht an, erst der View.){var1:fronius.1.meter.2.PowerReal_P_Sum;var1/1000} kW
math.Runden mit (2) Nachkommastellen: {wert:Eigene.0.Timer;parseInt(wert).toFixed(2)}
Wenn-Dann Abfrage:{wert:Eigene.0.Binding; wert > 5 ? "der Wert ist größer als 5":""}
Gesetzt oder leer - Abfrage:{wert:Eigene.0.Binding; wert ? "gesetzt" : "leer"}
Wahr-Falsch Abfrage:{wert:Eigene.0.Binding; wert === "true" ? "wahr" : "falsch"}
If-When-Else Abfrage:{wert:Eigene.0.Binding; wert > 5 ? "der Wert ist größer als 5" : "der Wert ist kleiner als 5"}
If-AND-If ELSE Abfrage{wert:Eigene.0.Binding; wert > 5 && wert < 10 ? "der Wert ist größer als 5 oder kleiner als 10":"der Wert liegt nicht im definierten Bereich"}
Farben (rot/grün) bedingungsabhängig setzen
(Bedingung in das Color-Attribut des Widgets setzen){wert:Eigene.0.Binding; wert > 5 ? "#ff0000" : "#00ff00"}
Ausgabe Teilstring (Start, Anzahl){wert:Eigene.0.Binding; wert.substring(0,4)}
Vollständige Liste: https://github.com/ioBroker/ioBroker.vis#bindings-of-objects
Quellen: https://www.machs-smart.de/iobroker-bindings-farben-berechnungen-abfragen/
Arbeiten mit Blockly:
- Scripte werden sofort 1x beim Script-Start ausgeführt -> Start über Trigger
- Funktionen können Logikblöcke zusammen fassen
- steuere schreibt den neuen Wert mit Bestätigt: false
- aktualisiere schreibt den neuen Wert mit Bestätigt: true
1. Ein neuer Workflow wird angestoßen, indem ein Datenpunkt mit Bestätigt = false geschrieben wird
2. Diese Änderung registriert dann ein Adapter, welcher diesen Datenpunkt “überwacht” (subscribe)
3. Der Adapter macht daraufhin seine Arbeit und
4. schreibt danach den Datenpunkt erneut(!!!) / bestätigt den Wert mit einem Update Bestätigt: true - "anerkannt ist" meint dieses "Bestätigt"-Flag:

- Trigger mehrfach aufrufen startet ihn auch mehrfach! Stop Trigger in Schleifen nicht vergessen.
- Adapter reagieren nur auf unbestätigte Änderungen und bestätigen diese.
Bestätigte Reaktion des Adapters abfragen: Objekt= wurde aktualisiert, anerkannt ist= Update - Nicht überwachte eigene Datenpunkte (ohne Adapter) müssen per "Bestätigter Änderung" gesetzt werden.
Eigene Datenpunkte per Script bestätigen: TRIGGER falls Objekt= wurde geändert, anerkannt ist= Befehl, Aktion= Aktualisiere Objekt mit "Wert" mit Verzögerung 1sek.
Quelle: https://haus-automatisierung.com/software/iobroker/2021/02/02/iobroker-steuere-aktualisiere-bestaetigt.html
ALEXA Routine steuert ioBroker
1. Routine in Alexa anlegen, Bedingung: gewünschter Steuer-Text, Aktion benutzerdefiniert: Sprachausgabe "stopp"
2. ioBroker/Blockly Script fragt Datenpunkt "alexa/history/summary" ab (Text der Alexa-Routine) und ggf. noch "alexa/hiostory/name" (Echo Device Name)
Quelle: (statisches) Alexa Kommando ohne Cloud (iobroker.net)
meine Adapter:
- Visualisation (Community Lizenz kostenlos, wird online geprüft)
- Javascript / Blockly - Scripting
- History - Historie-Daten (JSON-basiert, Speicherdauer (1 Jahr), Verzeichnis festlegen)
oder SQL-Protokollierung - (SQL-DB: MySQL, PostgreSQL, MS-SQL oder SQLite3)
für beliebige Datenpunkte im Objektbaum aktivierbar - Flot - zur grafischen Auswertung der History-Daten
- Fronius Inverter (fronius.0, fronius.1) - Solar Wechselrichter + SmartMeter
- Maxx! Cube (maxcube.0) - Heizkörperthermostate
- Midea und Carrier- Dimstal, Nethome klimageräte
- Tuya - WLAN Thermometer, Gosund Steckdosen
- Shelly - Shelly Adapter
- Alexa 2 - Sprachsteuerung
- OpenWeatherMap - Wetterpunkte im Objektbaum, lassen sich prima scripten, mit Windstärke und Richtung
- auch cool: https://www.wetteronline.de/wetter-widget konfigurieren, iFrame Code in manuellen Datenpunkt (Wert) einfügen und per Widget String(unescaped) fertig einbinden
Liste aller Adapter: http://download.iobroker.net/list.html
Nach meinem Empfinden Mist: - XTerm - Shell-Befehle auf dem ioBroker Host (sinnlos: kein iobroker stop o.ä.)
"Datum-Objekt" - gibt Datum + Zeit im UNIX Timestamp-Format in UTC (nicht in aktueller Zeitzone!) in ms aus.
Man kann direkt damit rechnen und vergleichen.
1 Sekunde = 1.000 ms
1 Minute = 60.000 ms
1 Stunde (60 Minuten) = 3.600.000 ms
1 Tag = 86.400.000 ms
Zeitzone beim rechnen beachten!
- Aktuelle Zeit als Datums-Objekt ist UTC
- Konvertierung: Datum und Zeit (aus Datum-Objekt) rechnet um in CET (aktuelle Zeitzone).
Zeit der Sensoren ist oft unklar (nicht benutzen).
(https://haus-automatisierung.com/software/iobroker/2023/10/30/zeitdifferenzen-formatieren-iobroker.html)
- ioBroker Doku: https://www.iobroker.net/#de/documentation
- Erste Schritte mit Blockly: https://forum.iobroker.net/topic/58950/erste-schritte-mit-blockly/2
- IOBroker und Blockly Grundlagen: https://www.smarthome-tricks.de/einfuehrung-und-grundlagen/
- ioBroker Blockly: https://hobbyblogging.de/iobroker-blockly
Tests:
- Dimstal Midea Klimageräte: Adapter: Homebridge Zubehör Manager
- danach erscheint links im Menue ein neuer Menuepunkt "Homebridge" und Objekte: ham/
- Homebridge -> midea-air (https://github.com/hillaliy/homebridge-midea-air)
- besser geht es über Alexa / Smart-Home-Devices
Test2:
Bei der Siemens Logo8 (S7-Adapter) brauchst du nur bei DB was eintragen.
Du kannst Netzwerk Eingänge und Ausgänge in dein Logo-Programm hinzufügen. Die Adresse die du da einstellst musst du bei den DB eintragen
z.b. Netzwerk Eingang 0.0 --> DB0.0 Typ: bool
usw.
Du kannst auch Ausgänge lesen
Q0 --> db1065.0
Q1 --> db1065.1
Typ: bool
Eingänge
E0 --> db1025.0
E1 --> db1025.1
Typ: bool
Analogwerte schreiben und lesen geht auch.
Links:
- ioBroker Forum: Deutsch (iobroker.net)
Volumen Shadow Copy (Schattenkopie)
Volume Shadow Copy (VSC, Volumeschattenkopie oder VSS) ist eine Microsoft Windows Technologie zum Erstellen von Snapshoots auf Volumenbasis.
VSC ist in allen gängigen Windows Versionen inclusive der Server-Funktionen verfügbar.
Es ist ein sinnvoller erweiterter Papierkorb, auch im Netzwerk. Es ersetzt natürlich kein Backup.
VSC aktivieren: Systemeigenschaften / Computerschutz / Schutz aktivieren und Speicherplatz zuweisen
VSC erstellen: manuell unter Computerschutz oder automatisch per Aufgabenplaner. Im Server kann der Zeitplan direkt unter Computerschutz konfiguriert werden.
Aufgabenplaner:
Programm: WMIC
Argumente: shadowcopy call create Volume=C:\
Dienst Volumenschattenkopie muß laufen.
VSC nutzen: im Explorer über "Vorgängerversionen wiederherstellen"
Hilfreiches Tool: Shadow Explorer, ermöglicht auch in den Home-Versionen die Nutzung von VSC.
Windows Server 2012 / 2016 / 2019: siehe hier
Windows 8/10: über Dateiversionsverlauf
Windows 7: über Sichern und Wiederherstellen
Windows Vista: nur rudimentär enthalten
