Proxmox wichtige Befehle, Pfade und Dateien

~ 0 min
2024-11-10 11:18
  • pveversion - laufende Version auslesen
  • pvereport oder per GUI: (Host -> Subscription -> System Report ->Download) - erstellt Support-Report für Subscription-Service über alle relevanten Komponenten
  • disk /dev/sda - Partition Editor für GPT-Disks (Befehlszeile)
  • cgdisk /dev/sda - Partition Editor auch für nicht gemountete GPT-Disks, konvertiert None-GPT in GPT
  • dmesg -Tw  - zeigt präzise HD Datenstrom
  • history  - zeigt die letzten Befehle der BASH
  • ls -althr /dev/disk/by-id/  - listet alle HDs im System
  • lsblk  - Übersicht physische und logische Harddisks
  • df - zeigt Pools, Auslastung, Mountpoints
  • lshw  - listet Hardware ( | more)  (apt install lshw)
  • lshw -class disk  - listet physische Disks mit logischem Name, Seriennummer (auch neue + nicht eingerichtet)
  • mail  - zeigt die System-Mails, die nicht zugestellt werden konnten aus der Datei /home/<user>/mbox
  • mount  - zeigt alle Mounts

    Zusatztools, (apt install)
  • iftop - Netzwerkdurchsatz + Ziele
  • net-tools  - netstat u.a.
  • iotop - - zeigt I/O von jedem Prozess
  • ethtool - zeigt Details der Netzwerkkarten
  • mc - wie Norton Commander

    Proxmox
  • proxmox-boot-tool status  - zeigt Boot-HDs und installierte PVE-Versionen
  • proxmox-boot-tool clean  - entfernt veraltete Booteinträge
  • pveversion  - zeigt Proxmox Version incl. Kernel
  • qm list  - zeigt alle VMs + Größe und Status
  • qm start <VmId>  - startet VM
  • qm stop <VmId>  - stoppt VM
  • qm unlock <VmId>  - entsperrt VM

    Container
  • pct config <id>  - zeigt Config des Containers

    Proxmox Backup Server
  • proxmox-backup-manager datastore list  - listet die Datastores des PBE

    Firewall, Netzwerk
  • ip a  - zeigt alle Netzwerkobjekte
  • service pve-firewall status  - zeigt Firewall Status
  • service pve-firewall stop  - stoppt Firewall

    ZFS
  • zfs get written  - prüfe Snapshots
  • zfs set com.sun:auto-snapshot=true rpool/data/<vmshortname>  - aktiviere Autosnapshot für VM
  • zfs set com.sun:auto-snapshot=false rpool/repl  - schaltet Autosnapshot für rpool/repl ab
  • sgdisk /dev/sda -R /dev/sdb  - klont Partitionstabelle (alle Partitionen) von sda auf sdb (Partitionen sind aber noch leer)
  • sgdisk -G /dev/sdb  - neue HD bekommt eine neue GUID
  • zpool iostat -v 2  - zeigt alle I/O-Aktionen auf Disk
  • zpool import - zeigt alle importierbaren ZFS-Pools
  • zpool status  - zeigt RAID-Status
  • zpool get autottrim  - zeigt Autotrim-Status
  • zpool set autotrim=on rpool  - aktiviert Autotrim
  • zpool history  - zeigt ZFS - Befehlsverlauf (Snapshots usw)
  • zfs list  - zeigt Pools mit Größe, Mountpoints, online/degraded
  • zpool create -f pool1 mirror /dev/sdb /dev/sdc  - erstellt RAID-1 Pool "pool1" aus 2x HDs (f= force)  (https://pve.proxmox.com/pve-docs/pvesm.1.html)
    zpool status pool1  - muss dann Zeile: "mirror-0 ONLINE" zeigen

ZFS wird in Pools (example) und Datasets (example/data) organisiert.
Ein Dataset ist ein ZFS-Dateisystem, Volume, Schnappschüsse oder Klone.
* zpool create example /dev/da0  - erstellt Pool auf einer HD (beliebige RAID möglich)
* zfs create example/data  - erstellt Dataset
Das Dataset kann separat gemountet werden und hat Eigenschaften wie Kompression, Snapshot, Speicher-Kopien, NFS-/SMB-Freigabe usw.
* zfs set mountpoint=/data example/data  - setze Mountpoint für Dataset (Test mit mount oder df)
Datasets können umbenannt und in andere Datasets verschoben werden (zfs rename mypool/usr/mydataset mypool/var/newname).

Ein Volume ist ein spezieller Typ von Dataset. Sie werden nicht ins Dateisystem eingehangen, sondern stellen ein Blockgerät dar.
Das erlaubt es, das Volume für beliebige andere Dateisysteme zu verwenden, die Festplatten einer virtuellen Maschine bereitzustellen oder über Protokolle wie iSCSI oder HAST exportiert zu werden.

Pools sollten regelmäßig mit (zpool scrub data) auf Fehler überprüft/korrigiert werden.
Die RAID Mirror Größe wird durch die Kapazität des kleinsten Laufwerkes bestimmt. Wird die kleinste Platte durch ein größeres Laufwerk ersetzt, vergrößert sich der Pool beim resilver-Prozess.
Mehr dazu: https://docs.freebsd.org/de/books/handbook/zfs/

  • Wichtige Verzeichnisse und Dateien:
  • /etc/  - Verzeichnis enthält alle wesentlichen Konfig-Files des Proxmox -> sichern!  (Datenbank, nur bei laufendem Proxmox verfügbar)
  • /etc/passwd  - Liste aller eingerichteten Benutzer (Sicherheitsmonitoring!)
  • /etc/profile  - Profileinstellungen zum Hinterlegen von LogIn-Shell-Scripten (Setup AT)
  • /etc/cron.d/pve-conf-backup  - Cron-Jobs, Backup
  • /etc/cron.hourly/  - stündliche Cron-Jobs
  • /etc/cron.hourly/zfs-auto-snapshot  - vor kritischen Installationen immer Snapshot erstellen per SSH auf PVE für alle VM
  • /etc/network/interfaces - Netzwerkeinstellungen
  • /etc/network/interfaces.d - Netzwerke und IP-Adressen des Proxmox
  • /etc/pve/ - alle Maschinenkonfigurationen (Datenbank! Backup in /rpool/pveconf/)
  • /etc/pve/storage.cfg - HD-Pools, Storage des Proxmox
  • /etc/pve/firewall/cluster.fw  - Einstellungen der FireWall (Setup AT)
  • /etc/pve/openvz/qemu-server/<vmid>.conf  - Einstellungsdatei der einzelnen VMs
  • /etc/pve/lxe/<vmid>.conf - Einstellungsdatei des einzelnen Containers
  • /etc/pve/quemu-server/101.conf - Konfig der VM 101

  • /root/.ssh  - known_hosts  - sollte sich nicht verändern ohne Zutun (bei Login mit sudo Umweg: /home/<user>/.ssh) (Sicherheitsmonitoring!)
  • /root/.ssh  - authorized_keys  - Liste aller erlaubten SSH-Keys  (Sicherheitsmonitoring!)

  • /rpool/data/  - Storage 'local-zfs', alle VMs, jede VM bekommt (2) eigene Mountpoints unter /rpool/data/
  • /rpool/data/vm-100-disk-0 - VM 100 BIOS/Boot
  • /rpool/data/vm-100-disk-1 - VM 100 Daten (Volume mit typisch 3 Partitionen)
  • /rpool/pveconf  - Konfig -Backup (von /etc/pve/)
  • /rpool/pveconf/.zfs/snapshot/  - alle Snapshots der /pve/ Konfigurationen
  • /rpool/pveconf/etc/pve/  - SSH-Keys, storage.cfg (Datastore)
  • /rpool/repl/... - Replikate
  • /rpool/repl/data  - Replikat von rpool/data

    Proxmox-Storages:
  • System-HD (/dev/sda) 3 Partitions:
  • /dev/sda1 - Legacy BIOS Boot (1MB)
  • /dev/sda2 - EFI Boot-System (512MB)
  • /dev/sda3 - ZFS/Proxmox-RAID 'rpool' (Rest bzw. Setup:HDSize)

  • rpool - /dev/sda3
  • local  - Proxmox-Installation, ISOs, Templates
    /rpool/var-lib-vz/ - /var/lib/vz/
    dir: local
            path /var/lib/vz
            content iso,vztmpl,backup
    
  • local-zfs (oder local-lvm) - rpool/data - Speicher für die VMs (16k -Blöcke!), Thin-Prov (Disk-Image, Container)
    # default image store on LVM based installation
    lvmthin: local-lvm
            thinpool data
            vgname pve
            content rootdir,images
    # default image store on ZFS based installation
    zfspool: local-zfs
            pool rpool/data
            sparse
            content images,rootdir
    

    ggf. weitere Storages:
  • schneller NVME-Cache  (->Hochlastige VM optimieren, kein Autosnapshot) (/rpool/swap)
  • Backup-Storage lokal (kein Autosnapshot) oder remote (SMB/NFS/iSCSI)
  • HDD-Storage
  • Shares im Hypervisor sind immer für die VMs da (Backup, VMs usw.).
    Gemeinsamer Storage für alle VM muß über SMB/NFS/iSCSI-Shares angebunden werden. VMs können nicht direkt auf Speicher des Hosts zugreifen.
    1.Lösung: LXC als SMB-Share
    2.Lösung: SMB-Share mit Samba direkt auf Proxmox-Host
  • interne Speicherkonfig steht in /etc/pve/storage.cfg

  • Default ZFS RAID-Pool:
  • /rpool/ROOT/
  • /rpool/data/  -- alle VMs
  • /rpool/ROOT/pve-1  -- Proxmox System

SMB-/ NFS-Share (hdpool1) mit Samba direkt auf Proxmox-Host
Siehe Samba, SMB, NFS

SNMP für Monitoring aktivieren:

  • apt-get install snmpd  - SNMP-Service installieren
  • mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.ori  - Backup Conf
  • nano /etc/snmp/snmpd.conf  - create the config file: 

    # this create a SNMPv1/SNMPv2c community named "my_servers"
    # and restricts access to LAN adresses 192.168.0.0/16 (last two 0's are ranges)
    rocommunity my_servers 192.168.0.0/16

    # setup info
    syslocation "rack 1, room 3, serverrroom"
    syscontact "Svenn"

    # open up
    agentAddress udp:161

    # run as
    agentuser root

    # dont log connection from UDP:
    dontLogTCPWrappersConnects yes

    # fix for disks larger then 2TB
    realStorageUnits 0

  • iptables -A INPUT -s 192.168.0.0/16 -p udp --dport 161 -j ACCEPT  - Firewall Regel
  • service snmpd restart  - Service neu starten
  • update-rc.d snmpd enable  - Service Enable


Speichertypen

(https://pve.proxmox.com/wiki/Storage)

  • File Level based Storage
    - erlaubt vollen Zugriff auf das darunter liegende Filesystem
    - flexibler, erlaubt jeden Content type
  • Block Level Storage
    - geeignet für große RAW Files (keine ISOs, Backups..)

Kernel fest pinnen, falls neuerer Kernel Probleme bereitet:

apt install proxmox-kernel-6.5.13-5-pve  (Beispiel)
proxmox-boot-tool kernel list
proxmox-boot-tool kernel pin 6.5.13-5-pve
proxmox-boot-tool refresh

Fehler: Backup fehlgeschlagen, PBS locked
"qm unlock 110" Error:
proxmox qm unlock unable to open file '/etc/pve/nodes/.../qemu-server/110.conf.tmp.3984418' - Input/output error
Lösung:
- systemctl restart pve-cluster
- qm unlock 110 (jetzt erfolgreich)


Links:

Durchschnittliche Bewertung 2 (1 Abstimmung)

Es ist möglich, diese FAQ zu kommentieren.