proxmox

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
proxmox [22/04/2025 - 13:27] thommie_netzwissen.deproxmox [16/05/2025 - 15:37] (aktuell) thommie_netzwissen.de
Zeile 7: Zeile 7:
   * Hetzner Netzwerk Doku: [[https://wiki.hetzner.de/index.php/Netzkonfiguration_Debian|https://wiki.hetzner.de/index.php/Netzkonfiguration_Debian]]   * Hetzner Netzwerk Doku: [[https://wiki.hetzner.de/index.php/Netzkonfiguration_Debian|https://wiki.hetzner.de/index.php/Netzkonfiguration_Debian]]
   * Netzwerk mit zwei Routing Tabellen/Default Routes: [[http://www.rjsystems.nl/en/2100-adv-routing.php|http://www.rjsystems.nl/en/2100-adv-routing.php]]   * Netzwerk mit zwei Routing Tabellen/Default Routes: [[http://www.rjsystems.nl/en/2100-adv-routing.php|http://www.rjsystems.nl/en/2100-adv-routing.php]]
 +  * Helper Scripts: [[https://community-scripts.github.io/ProxmoxVE/|https://community-scripts.github.io/ProxmoxVE/]]
  
-===== Verzeichnisstruktur =====+====== Verzeichnisstruktur ======
  
 ^Was^Wo^Anmerkung| ^Was^Wo^Anmerkung|
Zeile 16: Zeile 17:
 |LXC configs|/etc/pve/nodes/tokoeka/lxc|   | |LXC configs|/etc/pve/nodes/tokoeka/lxc|   |
  
-===== PVE Server Backup =====+====== PVE Server Backup ======
  
 [[https://xcruft.com/content/proxmox-config-backups|https://xcruft.com/content/proxmox-config-backups]] [[https://xcruft.com/content/proxmox-config-backups|https://xcruft.com/content/proxmox-config-backups]]
  
-===== User Management =====+====== User Management ======
  
 User in PVE erstellen (entspricht dem shell User). Erst dann ist die Administration per Web GUI möglich. User in PVE erstellen (entspricht dem shell User). Erst dann ist die Administration per Web GUI möglich.
Zeile 71: Zeile 72:
 </code> </code>
  
-Benutzer der Gruppe zuweisen:+Benutzer einer Gruppe zuweisen:
  
 <code> <code>
Zeile 92: Zeile 93:
 </code> </code>
  
-2FA löschen+2FA Auth löschen: über einen gleichberechtigten User, dann Löschen von "x" im Feld "Key ID"
  
-über gleichberechtigten User, dann Löschen von "x" im Feld "Key ID" +====== Kommandozeile und Container/VMs ======
- +
-===== Kommandozeile und Container/VMs =====+
  
 **qm**  = Management der **kvm**  VMs **qm**  = Management der **kvm**  VMs
Zeile 102: Zeile 101:
 **pct**  = Management der **lxc**  Container **pct**  = Management der **lxc**  Container
  
-==== Alle VMs (KVM und lxc) auf einmal runterfahren ====+====== Alle VMs (KVM und lxc) auf einmal runterfahren ======
  
 <code> <code>
Zeile 118: Zeile 117:
 Doku: [[https://www.historiantech.com/increasing-operational-efficiency-in-proxmox-with-pvesh/|https://www.historiantech.com/increasing-operational-efficiency-in-proxmox-with-pvesh/]] Doku: [[https://www.historiantech.com/increasing-operational-efficiency-in-proxmox-with-pvesh/|https://www.historiantech.com/increasing-operational-efficiency-in-proxmox-with-pvesh/]]
  
-==== VM löschen ====+====== VMlöschen ======
 <code> <code>
  
Zeile 124: Zeile 123:
  
 </code> </code>
-==== Mounten eines Containers auf dem Host ====+ 
 +====== lxc: Mounten eines Containers auf dem Host ======
  
 <code> <code>
Zeile 130: Zeile 130:
  
 </code> </code>
-==== Gemeinsames Guest Share (smb) ====+ 
 +====== Gemeinsames Guest Share (smb) ======
  
 <code> <code>
Zeile 136: Zeile 137:
  
 </code> </code>
-==== Speicherverbrauch ermitteln ====+ 
 +====== Host: Speicherverbrauch ermitteln ======
  
 <code> <code>
Zeile 142: Zeile 144:
  
 </code> </code>
-==== Container umbenennen ====+ 
 +====== lxc: Container umbenennen ======
 <code> <code>
  
Zeile 148: Zeile 151:
  
 </code> </code>
-==== Container betreten ====+ 
 +====== lxc: Container betreten ======
  
 <code> <code>
Zeile 155: Zeile 159:
 </code> </code>
  
-===== Container: Datei senden und empfangen =====+====== lxc: Datei senden und empfangen ======
  
 Datei senden Datei senden
Zeile 171: Zeile 175:
 </code> </code>
  
-Bei VMs geht das per scp+QM: Bei VMs geht das per scp. Dazu braucht man die IP der VM 
 + 
 +====== VM: IP Adresse feststellen ====== 
 + 
 +<code> 
 +qm agent 113 network-get-interface 
 + 
 +</code>
  
-===== Backups manuell =====+====== Backups manuell ======
  
 <code> <code>
Zeile 180: Zeile 191:
 </code> </code>
  
-====== PVE Server ======+====== Host: PVE Server ======
  
 ===== Auto-Start der VMs temporär abschalten ===== ===== Auto-Start der VMs temporär abschalten =====
Zeile 196: Zeile 207:
 </code> </code>
  
-===== PVE Templates =====+====== PVE Templates ======
  
 Erreichbare Templates auflisten Erreichbare Templates auflisten
Zeile 214: Zeile 225:
 </code> </code>
  
-===== PVE Firewall =====+====== PVE Firewall ======
  
 zentrale Konfiguration zentrale Konfiguration
Zeile 231: Zeile 242:
  
 </code> </code>
 +
 +====== Host: Firewall blockiert ======
  
 **Wenn die Firewall den Host blockiert:**  Mit diesem Skript in rc.local wird die FW beim Neustart immer ausgeschaltet: **Wenn die Firewall den Host blockiert:**  Mit diesem Skript in rc.local wird die FW beim Neustart immer ausgeschaltet:
Zeile 254: Zeile 267:
 </code> </code>
  
-====== Meckermails von CERT-BUND wegen RPC ======+====== Meckermails von CERT-BUND wegen RPC Port ======
  
 Der Port 111 ist normalerweise offen, wird aber nicht gebraucht, Zitat Proxmox Staff Der Port 111 ist normalerweise offen, wird aber nicht gebraucht, Zitat Proxmox Staff
Zeile 276: Zeile 289:
 </code> </code>
  
-===== SMB Mount mit Containern =====+====== SMB Mount mit Containern ======
  
 Geht nur mit **privileged**  container. Unter /Your LXC Option/Feature muss die "CIFS capability" aktiviert sein. Geht nur mit **privileged**  container. Unter /Your LXC Option/Feature muss die "CIFS capability" aktiviert sein.
  
-====== Netzwerk: Netplan Beispielconfigs ======+====== Netzwerk: Netplan Beispiel-Configs ======
  
 /etc/netplan/default.yaml für zwei Schnittstellen mit festen IPs, default gateway und routing /etc/netplan/default.yaml für zwei Schnittstellen mit festen IPs, default gateway und routing
Zeile 338: Zeile 351:
 Netplan anwenden "sudo netplan apply" Netplan anwenden "sudo netplan apply"
  
-====== LXC spezielles ======+====== LXC Container ======
  
 [[https://pve.proxmox.com/wiki/Linux_Container|https://pve.proxmox.com/wiki/Linux_Container]] [[https://pve.proxmox.com/wiki/Linux_Container|https://pve.proxmox.com/wiki/Linux_Container]]
Zeile 346: Zeile 359:
 pct start 110 –debug pct start 110 –debug
  
-===== Port 111 rpcbind =====+====== Port 111 rpcbind ======
  
-Siehe [[https://www.taste-of-it.de/debian-rpc-port-111-offen/|https://www.taste-of-it.de/debian-rpc-port-111-offen/]] Über iptables auf localhost einrschränken:+Siehe [[https://www.taste-of-it.de/debian-rpc-port-111-offen/|https://www.taste-of-it.de/debian-rpc-port-111-offen/]] Über iptables auf localhost einschränken:
  
 ''iptables -A INPUT -p tcp !-s 127.0.0.1 –dport 111 -j DROP'' ''iptables -A INPUT -p tcp !-s 127.0.0.1 –dport 111 -j DROP''
Zeile 355: Zeile 368:
  
 ''iptables -A INPUT -p udp ! -s 192.168.0.0/24 –dport 111 -j DROP'' \\ ''ip6tables -A INPUT -p udp -s! IPv6-Adresse –dport 111 -j DROP'' ''iptables -A INPUT -p udp ! -s 192.168.0.0/24 –dport 111 -j DROP'' \\ ''ip6tables -A INPUT -p udp -s! IPv6-Adresse –dport 111 -j DROP''
 +
 +====== LXC: raw Device mounten ======
 +
 +Welche loop devices werden aktuell benutzt
 +<code>
 +
 +losetup -l
 +
 +NAME   SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE                              DIO LOG-SEC
 +/dev/loop1          0      0          0 /mnt/data/images/108/vm-108-disk-1.raw       512
 +/dev/loop27              0          0 /mnt/data/images/112/vm-112-disk-0.raw       512
 +/dev/loop17              0          0 /mnt/data/images/111/vm-111-disk-2.raw       512
 +/dev/loop8          0      0          0 /mnt/data/images/110/vm-110-disk-0.raw       512
 +/dev/loop25              0          0 /mnt/data/images/125/vm-125-disk-1.raw       512
 +/dev/loop6          0      0          0 /mnt/data/images/100/vm-100-disk-0.raw       512
 +/dev/loop23              0          0 /mnt/data/images/122/vm-122-disk-1.raw       512
 +/dev/loop13              0          0 /mnt/data/images/113/vm-113-disk-0.raw       512
 +
 +</code>
 +
 +Ablauf manuell
 +
 +<code>
 +losetup /dev/loop22 disk-drive-ide0.raw
 +partx -v --add /dev/loop22
 +mount /dev/loop22p1 /mnt/123
 +
 +</code>
 +
 +<code>
 +root@tokoeka /mnt/data/images/116 # losetup /dev/loop19 vm-116-disk-2.raw
 +root@tokoeka /mnt/data/images/116 # partx -v --add /dev/loop19
 +partition: none, disk: /dev/loop19, lower: 0, upper: 0
 +/dev/loop19: partition table type 'gpt' detected
 +range recount: max partno=1, lower=0, upper=0
 +/dev/loop19: partition #1 added
 +root@tokoeka /mnt/data/images/116 # losetup -l | grep 116
 +/dev/loop19              0          0 /mnt/data/images/116/vm-116-disk-2.raw       512
 +/dev/loop8          0      0          0 /mnt/data/images/116/vm-116-disk-0.raw       512
 +/dev/loop18              0          0 /mnt/data/images/116/vm-116-disk-1.raw       512
 +
 +</code>
 +
 +Auflisten aller Loop-Devices
 +<code>
 +
 +losetup -l
 +
 +</code>
 +
 +Devices abhängen, mit -D alle zugehörigen abhängen
 +
 +<code>
 +losetup -d
 +
 +losetup -D
 +
 +</code>
 +
 +Parsen der Partitionstabelle und anlegen von loop Einträgen nach Bedarf
 +
 +<code>
 +partx -v --add /dev/loop20
 +
 +</code>
 +
 +Partitionstabelle zeigen
 +
 +<code>
 +root@tokoeka /mnt # partx -s /dev/loop22
 +NR START       END   SECTORS  SIZE NAME UUID
 +  2048 204799999 204797952 97.7G      7a11d514-01
 +
 +</code>
 +
 +pct set
 +
 +<code>
 +pct set 116 -mp1 volume=data:116/vm-116-disk-2.raw,mp=/mnt/data2,backup=1
 +
 +</code>
  
 ====== Datensicherung: Wiederherstellung aus Dumpfile ====== ====== Datensicherung: Wiederherstellung aus Dumpfile ======
Zeile 361: Zeile 455:
  
 zst dekomprimieren zst dekomprimieren
-<code> 
  
 +<code>
 zstd -d vzdump-lxc-113-2022_05_14-01_30_57.tar.zst zstd -d vzdump-lxc-113-2022_05_14-01_30_57.tar.zst
  
Zeile 439: Zeile 533:
 </file> </file>
  
-====== KVMqcow2 Device mounten ======+====== KVM VMs ====== 
 + 
 +===== qcow2 Device mounten =====
  
 <code> <code>
Zeile 485: Zeile 581:
 </code> </code>
  
-====== LXCraw Device mounten ======+====== KVMPlatte einer VM vergrössern ======
  
-Welche loop devices werden aktuell benutzt +[[https://tech.surveypoint.com/tips/resize-kvm-guest-virtual-disk-partition/|https://tech.surveypoint.com/tips/resize-kvm-guest-virtual-disk-partition/]]
- +
-<code> +
- <font inherit/monospace;;inherit;;#ff5454background-color:#ffffff;>root</font> +
- <font inherit/inherit;;inherit;;#ffff54background-color:#ffffff;>@</font> +
- <font inherit/inherit;;inherit;;#54ffffbackground-color:#ffffff;>tokoeka</font> +
- <font inherit/inherit;;inherit;;#ffff54background-color:#ffffff;>/mnt</font> +
- <font inherit/inherit;;inherit;;#ff54ffbackground-color:#ffffff;>#</font> +
- <font inherit/inherit;;inherit;;#000000background-color:#ffffff;>losetup -l</font>    NAME        SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE                              DIO LOG-SEC +
-/dev/loop1          0      0          0 /mnt/data/images/108/vm-108-disk-1.raw       512 +
-/dev/loop27              0          0 /mnt/data/images/112/vm-112-disk-0.raw       512 +
-/dev/loop17              0          0 /mnt/data/images/111/vm-111-disk-2.raw       512 +
-/dev/loop8          0      0          0 /mnt/data/images/110/vm-110-disk-0.raw       512 +
-/dev/loop25              0          0 /mnt/data/images/125/vm-125-disk-1.raw       512 +
-/dev/loop6          0      0          0 /mnt/data/images/100/vm-100-disk-0.raw       512 +
-/dev/loop23              0          0 /mnt/data/images/122/vm-122-disk-1.raw       512 +
-/dev/loop13              0          0 /mnt/data/images/113/vm-113-disk-0.raw       512 +
- +
-</code> +
- +
-Ablauf manuell +
- +
-<code> +
-losetup /dev/loop22 disk-drive-ide0.raw +
-partx -v --add /dev/loop22 +
-mount /dev/loop22p1 /mnt/123 +
- +
-</code> +
- +
-<code> +
-root@tokoeka /mnt/data/images/116 # losetup /dev/loop19 vm-116-disk-2.raw +
-root@tokoeka /mnt/data/images/116 # partx -v --add /dev/loop19 +
-partition: none, disk: /dev/loop19, lower0, upper: 0 +
-/dev/loop19: partition table type 'gpt' detected +
-range recount: max partno=1, lower=0, upper=0 +
-/dev/loop19: partition #1 added +
-root@tokoeka /mnt/data/images/116 # losetup -l | grep 116 +
-/dev/loop19              0          0 /mnt/data/images/116/vm-116-disk-2.raw       512 +
-/dev/loop8          0      0          0 /mnt/data/images/116/vm-116-disk-0.raw       512 +
-/dev/loop18              0          0 /mnt/data/images/116/vm-116-disk-1.raw       512 +
- +
-</code> +
- +
-Auflisten aller Loop-Devices +
-<code> +
- +
-losetup -l +
- +
-</code> +
- +
-Devices abhängen, mit -D alle zugehörigen abhängen +
- +
-<code> +
-losetup -d +
- +
-losetup -D +
- +
-</code> +
- +
-Parsen der Partitionstabelle und anlegen von loop Einträgen nach Bedarf +
- +
-<code> +
-partx -v --add /dev/loop20 +
- +
-</code> +
- +
-Partitionstabelle zeigen +
- +
-<code> +
-root@tokoeka /mnt # partx -s /dev/loop22 +
-NR START       END   SECTORS  SIZE NAME UUID +
-  2048 204799999 204797952 97.7G      7a11d514-01 +
- +
-</code> +
- +
-pct set +
- +
-<code> +
-pct set 116 -mp1 volume=data:116/vm-116-disk-2.raw,mp=/mnt/data2,backup=1 +
- +
-</code> +
- +
-Offen: offset? p1 ?+
  
 ====== Daten-Konvertierungen ====== ====== Daten-Konvertierungen ======
Zeile 670: Zeile 684:
 </code> </code>
  
-===== zfs Datasets erstellen =====+====== zfs Datasets erstellen ======
  
 zfs create rpool/mirror zfs create rpool/mirror
Zeile 678: Zeile 692:
 zpool destroy -f rpool zpool destroy -f rpool
  
-====== LE Zertifikate für PVE ======+====== Host: LE Zertifikate für PVE ======
  
 <code> <code>
Zeile 687: Zeile 701:
 root@kakariki /etc/pve # pvenode acme cert order root@kakariki /etc/pve # pvenode acme cert order
  
-</code>+Loading ACME account details Placing ACME order Order URL: <https://acme-v02.api.letsencrypt.org/acme/order/1232182246/198286068416>
  
-Loading ACME account details Placing ACME order Order URL: <[[https://acme-v02.api.letsencrypt.org/acme/order/1232182246/198286068416|https://acme-v02.api.letsencrypt.org/acme/order/1232182246/198286068416]]> +Getting authorization details from '<https://acme-v02.api.letsencrypt.org/acme/authz-v3/250346582026>' The validation for kakariki.netzwissen.de is pending! Setting up webserver Triggering validation Sleeping for 5 seconds Status is 'valid', domain 'kakariki.netzwissen.de' OK!
- +
-Getting authorization details from '<[[https://acme-v02.api.letsencrypt.org/acme/authz-v3/250346582026|https://acme-v02.api.letsencrypt.org/acme/authz-v3/250346582026]]>' The validation for kakariki.netzwissen.de is pending! Setting up webserver Triggering validation Sleeping for 5 seconds Status is 'valid', domain 'kakariki.netzwissen.de' OK!+
  
 All domains validated! All domains validated!
Zeile 699: Zeile 711:
 Downloading certificate Setting pveproxy certificate and key Restarting pveproxy Task OK Downloading certificate Setting pveproxy certificate and key Restarting pveproxy Task OK
  
-### ACME DNS validation Hetzner DNS API+</code> 
 + 
 +====== ACME DNS validation Hetzner DNS API ======
  
 export HETZNER_Token="<token>" export HETZNER_Token="<token>"
-<code> 
  
 +<code>
 ./acme.sh --issue --dns dns_hetzner -d example.com -d *.example.com ./acme.sh --issue --dns dns_hetzner -d example.com -d *.example.com
  
  • proxmox.1745328470.txt.gz
  • Zuletzt geändert: 22/04/2025 - 13:27
  • von thommie_netzwissen.de