Proxmox wichtige Befehle, Pfade und Dateien
- 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
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
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
Links: