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 [05/03/2024 - 10:52] – Externe Bearbeitung 127.0.0.1proxmox [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| 
-|kvm VM images |/mnt/data/images, /var/lib/vz/images |  +|kvm VM images|/mnt/data/images, /var/lib/vz/images|   
-|kvm VM configs |/etc/pve/nodes/tokoeka/qemu-server |  +|kvm VM configs|/etc/pve/nodes/tokoeka/qemu-server|   
-|LXC images |/var/lib/vz/images |  +|LXC images|/var/lib/vz/images|   
-|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]]
  
-===== 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.
 +<code>
 +
 +pveum user add [user@pam]
  
-<code>pveum user add [user@pam] 
 </code> </code>
- 
-Gruppe erstellen: 
- 
-<code> pveum groupadd admin -comment "System Administrators" 
-</code>  
- 
-Rechte zuweisen: 
- 
-<code> pveum aclmod / -group admin -role Administrator 
-</code>  
- 
-Benutzer der Gruppe zuweisen: 
- 
-<code> pveum user modify testuser@pam -group admin 
-</code>  
  
 User auflisten User auflisten
Zeile 55: Zeile 43:
 │ thommie@pam │         │                     │ 1      │      0 │           │        │      │          │ pam        │        │ │ thommie@pam │         │                     │ 1      │      0 │           │        │      │          │ pam        │        │
 └─────────────┴─────────┴─────────────────────┴────────┴────────┴───────────┴────────┴──────┴──────────┴────────────┴────────┘ └─────────────┴─────────┴─────────────────────┴────────┴────────┴───────────┴────────┴──────┴──────────┴────────────┴────────┘
-</code> 
  
-User disable 
- 
-<code> 
-pveum user modify root@pam -enable 0 
 </code> </code>
  
-Andere Felder modifizieren+Gruppe erstellen:
  
 <code> <code>
-pveum user modify admin@pam -email admin@netzwissen.de+ pveum groupadd admin -comment "System Administrators" 
 </code> </code>
  
Zeile 78: Zeile 62:
 │ admin   │ System Administrators │ alex@pam,thommie@pam │ │ admin   │ System Administrators │ alex@pam,thommie@pam │
 └─────────┴───────────────────────┴──────────────────────┘ └─────────┴───────────────────────┴──────────────────────┘
 +
 </code> </code>
  
-2FA löschenüber gleichberechtigten User, dann Löschen von "x" im Feld "Key ID"+Rechte zuweisen:
  
-===== Command Line ===== +<code> 
 + pveum aclmod / -group admin -role Administrator 
 + 
 +</code> 
 + 
 +Benutzer einer Gruppe zuweisen: 
 + 
 +<code> 
 + pveum user modify testuser@pam -group admin 
 + 
 +</code> 
 + 
 +User disable 
 + 
 +<code> 
 +pveum user modify root@pam -enable 0 
 + 
 +</code> 
 + 
 +Andere Felder modifizieren 
 + 
 +<code> 
 +pveum user modify admin@pam -email admin@netzwissen.de 
 + 
 +</code> 
 + 
 +2FA Auth löschen: über einen gleichberechtigten User, dann Löschen von "x" im Feld "Key ID" 
 + 
 +====== Kommandozeile und Container/VMs ======
  
 **qm**  = Management der **kvm**  VMs **qm**  = Management der **kvm**  VMs
Zeile 88: 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>
 pvenode stopall pvenode stopall
 +
 </code> </code>
  
-VM löschen+oder
  
 <code> <code>
 +pvesh create /nodes/localhost/stopall
 +
 +</code>
 +
 +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 ======
 +<code>
 +
 qm destroy 105 qm destroy 105
 +
 </code> </code>
  
-Mounten eines Containers auf dem Host+====== lxc: Mounten eines Containers auf dem Host ======
  
 <code> <code>
 pct mount 108 mounted CT 108 in '/var/lib/lxc/108/rootfs' pct mount 108 mounted CT 108 in '/var/lib/lxc/108/rootfs'
 +
 </code> </code>
  
- +====== Gemeinsames Guest Share (smb) ======
-Gemeinsames Guest Share (smb)+
  
 <code> <code>
 mount.cifs \\\\10.10.10.1\\guests /mnt/guests mount.cifs \\\\10.10.10.1\\guests /mnt/guests
 +
 </code> </code>
  
-Speicherverbrauch ermitteln+====== Host: Speicherverbrauch ermitteln ======
  
 <code> <code>
 du -a /home | sort -n -r | head -n 5 find / -type f -size +100M du -a /home | sort -n -r | head -n 5 find / -type f -size +100M
 +
 </code> </code>
  
-Container umbenennen +====== lxc: Container umbenennen ======
 <code> <code>
 +
 pct set <VMID> --hostname <newname> pct set <VMID> --hostname <newname>
 +
 </code> </code>
  
-Container betreten+====== lxc: Container betreten ======
  
 <code> <code>
 pct enter <VMID> pct enter <VMID>
 +
 </code> </code>
  
-===== Datei senden und empfangen =====+====== lxc: Datei senden und empfangen ======
  
 Datei senden Datei senden
Zeile 137: Zeile 165:
 <code> <code>
 pct push <VMID> <file> <target> pct push <VMID> <file> <target>
 +
 </code> </code>
  
Zeile 143: Zeile 172:
 <code> <code>
 pct pull <vmid> <path> <destination> [OPTIONS] pct pull <vmid> <path> <destination> [OPTIONS]
 +
 </code> </code>
  
-===== Backups manuell =====+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>vzdump 102 118 122 --compress zstd --mode stop --prune-backups 'keep-last=2' --mailnotification failure --mailto admin@netzwissen.de --quiet 1 --storage storagebox_191707 
 </code> </code>
  
-===== Alle VMs auf einmal runter fahren =====+====== Backups manuell ======
  
 <code> <code>
-pvesh create /nodes/localhost/stopall+vzdump 102 118 122 --compress zstd --mode stop --prune-backups 'keep-last=2' --mailnotification failure --mailto admin@netzwissen.de --quiet 1 --storage storagebox_191707 
 </code> </code>
  
-Dokuhttps://www.historiantech.com/increasing-operational-efficiency-in-proxmox-with-pvesh/+====== HostPVE Server ======
  
-===== PVE Templates =====+===== Auto-Start der VMs temporär abschalten ===== 
 + 
 +<code> 
 +systemctl disable pve-guests.service. 
 + 
 +</code> 
 + 
 +Wieder einschalten 
 + 
 +<code> 
 + systemctl enable pve-guests.service && /usr/bin/pvesh --nooutput create /nodes/localhost/startall. 
 + 
 +</code> 
 + 
 +====== PVE Templates ======
  
 Erreichbare Templates auflisten Erreichbare Templates auflisten
Zeile 166: Zeile 215:
  
 pveam available pveam available
 +
 </code> </code>
  
Zeile 172: Zeile 222:
 <code> <code>
 pveam download local debian-10.0-standard_10.0-1_amd64.tar.gz pveam download local debian-10.0-standard_10.0-1_amd64.tar.gz
 +
 </code> </code>
  
-===== PVE Firewall =====+====== PVE Firewall ======
  
 zentrale Konfiguration zentrale Konfiguration
Zeile 189: Zeile 240:
  
  pve-firewall start  pve-firewall start
 +
 </code> </code>
  
-**Wenn die Firewall den Host blockiert:** Mit diesem Skript in rc.local wird die FW beim Neustart immer ausgeschaltet:+====== Host: Firewall blockiert ====== 
 + 
 +**Wenn die Firewall den Host blockiert:**  Mit diesem Skript in rc.local wird die FW beim Neustart immer ausgeschaltet:
  
 <code> <code>
Zeile 213: Zeile 267:
 </code> </code>
  
 +====== Meckermails von CERT-BUND wegen RPC Port ======
  
-===== SMB Mount mit Containern =====+Der Port 111 ist normalerweise offen, wird aber nicht gebraucht, Zitat Proxmox Staff
  
-Geht nur mit **privileged** container. Unter /Your LXC Option/Feature muss die "CIFS capability" aktiviert sein.+//regarding port 111 - it should work to just remove `rpcbind, nfs-common` if you don't need it \\ We might consider doing so in a future version, but since it's expected to deploy PMG behind a firewall (or configure iptables/nft on it) it's not really high priori//ty
  
-===== LXC und KVM Netplan Beispielconfigs =====+Service abschalten mit 
 + 
 +<code> 
 +root@kakariki ~ # systemctl stop rpcbind 
 +Warning: Stopping rpcbind.service, but it can still be activated by: 
 +  rpcbind.socket 
 +root@kakariki ~ # systemctl stop rpcbind.socket 
 +root@kakariki ~ # systemctl stop rpcbind 
 +root@kakariki ~ # systemctl disable rpcbind 
 +Synchronizing state of rpcbind.service with SysV service script with /lib/systemd/systemd-sysv-install. 
 +Executing: /lib/systemd/systemd-sysv-install disable rpcbind 
 +Removed "/etc/systemd/system/multi-user.target.wants/rpcbind.service"
 +Removed "/etc/systemd/system/sockets.target.wants/rpcbind.socket"
 + 
 +</code> 
 + 
 +====== SMB Mount mit Containern ====== 
 + 
 +Geht nur mit **privileged**  container. Unter /Your LXC Option/Feature muss die "CIFS capability" aktiviert sein. 
 + 
 +====== 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 245: Zeile 320:
           via:  136.243.85.129           via:  136.243.85.129
           metric:  100           metric:  100
 +
 </code> </code>
  
Zeile 256: Zeile 332:
     eth0:     eth0:
       dhcp4:  no       dhcp4:  no
-      addresses:  +      addresses:
         - 10.10.10.16/24         - 10.10.10.16/24
       gateway4:  10.10.10.1       gateway4:  10.10.10.1
Zeile 266: Zeile 342:
           on-link:  true           on-link:  true
 /etc/netplan/01-netcfg.yaml (END) /etc/netplan/01-netcfg.yaml (END)
 +
 </code> </code>
  
-Testen:+Config testen mit "sudo netplan generate"
  
-sudo netplan generate +Testen mit automatischem zurücksetzen auf den vorherigen Stand: "sudo netplan try -timeout 180"
  
-Testen mit automatischem zurücksetzen auf den vorherigen Stand+Netplan anwenden "sudo netplan apply"
  
-sudo netplan try -timeout 180 +====== LXC Container ======
  
-Anwenden +[[https://pve.proxmox.com/wiki/Linux_Container|https://pve.proxmox.com/wiki/Linux_Container]]
- +
-sudo netplan apply  +
- +
-===== LXC speziell ===== +
- +
-https://pve.proxmox.com/wiki/Linux_Container+
  
 Debug Modus beim Start Debug Modus beim Start
  
-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 298: Zeile 369:
 ''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''
  
-===== Datenwiederherstellung aus Dumpfile =====+====== 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 ======
  
 Dumpfiles werden im Format *.lzo oder *.tar.zst komprimiert abgelegt. Sie enthalten die VM Daten im raw Format. Dumpfiles werden im Format *.lzo oder *.tar.zst komprimiert abgelegt. Sie enthalten die VM Daten im raw Format.
Zeile 306: Zeile 458:
 <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
 +
 </code> </code>
  
-danach mit tar xf ...tar auspacken.+danach mit tar xf tar auspacken.
  
 <file> <file>
- 
 lzop -x [*.lzo Datei] lzop -x [*.lzo Datei]
  
Zeile 359: Zeile 511:
 </file> </file>
  
-Der Offset ist also **<font inherit/inherit;;#c0392b;;inherit>4096 x 512 = 2097152.</font>**  Der Mountbefehl sieht so aus:+Der Offset ist also **4096 x 512 = 2097152.**  Der Mountbefehl sieht so aus:
  
 <file> <file>
Zeile 381: Zeile 533:
 </file> </file>
  
-===== KVMqcow2 Device mounten =====+====== KVM VMs ====== 
 + 
 +===== qcow2 Device mounten =====
  
 <code> <code>
Zeile 387: Zeile 541:
  
 qemu-nbd --connect=/dev/nbd0 /var/lib/vz/images/100/vm-100-disk-1.qcow2 qemu-nbd --connect=/dev/nbd0 /var/lib/vz/images/100/vm-100-disk-1.qcow2
 +
 </code> </code>
  
Zeile 412: Zeile 567:
 <code> <code>
 mount /dev/nbd0p1 /mnt/somepoint/ mount /dev/nbd0p1 /mnt/somepoint/
 +
 </code> </code>
  
Zeile 422: Zeile 578:
  
 rmmod nbd rmmod nbd
-</code> 
- 
-===== LXC: raw Device mounten ===== 
- 
-Welche loop devices werden aktuell benutzt 
- 
-<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> </code>
  
-Ablauf manuell+====== KVM: Platte einer VM vergrössern ======
  
-<code> +[[https://tech.surveypoint.com/tips/resize-kvm-guest-virtual-disk-partition/|https://tech.surveypoint.com/tips/resize-kvm-guest-virtual-disk-partition/]]
-losetup /dev/loop22 disk-drive-ide0.raw +
-partx ---add /dev/loop22 +
-mount /dev/loop22p1 /mnt/123+
  
-</code>+====== Daten-Konvertierungen ======
  
-<code> +[[https://stafwag.github.io/blog/blog/2018/07/01/migrate-a-windows-vmware-vrtual-machine-to-kvm/|https://stafwag.github.io/blog/blog/2018/07/01/migrate-a-windows-vmware-vrtual-machine-to-kvm/]]
-root@tokoeka /mnt/data/images/116 # losetup /dev/loop19 vm-116-disk-2.raw +
-root@tokoeka /mnt/data/images/116 # partx ---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> +Split disks in eine Datei umwandeln
- +
-Auflisten aller Loop-Devices+
 <code> <code>
  
-losetup -l+vmware-vdiskmanager -r leapsrv.vmdk -t 0 /tmp/leapsrv_combined.vmdk
  
 </code> </code>
  
-Devices abhängen, mit -D alle zugehörigen abhängen+Wandeln von vmdk nach qcow2
  
 <code> <code>
-losetup -+qemu-img convert -f vmdk -O qcow2 leapsrv_combined.vmdk leapsrv_combined.vmdk.qcow2
- +
-losetup -D+
  
 </code> </code>
  
-Parsen der Partitionstabelle und anlegen von loop Einträgen nach Bedarf+Andersrum von qcow2 (kvm) nach raw (lxc):
  
 <code> <code>
-partx ---add /dev/loop20+qemu-img convert -f qcow2 -O raw vm-109-disk-1.qcow2 /mnt/data/images/114/vm-114-disk-3.raw
  
 </code> </code>
  
-Partitionstabelle zeigen+====== SPICE ======
  
 +Doku: [[https://pve.proxmox.com/wiki/SPICE#Requirements_for_SPICE|https://pve.proxmox.com/wiki/SPICE#Requirements_for_SPICE]] Hilfs-Skript in /etc/scripts/spice.sh
 <code> <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 ===== 
- 
-https://stafwag.github.io/blog/blog/2018/07/01/migrate-a-windows-vmware-vrtual-machine-to-kvm/ 
- 
-Split disks in eine Datei umwandeln 
- 
-<code> 
-vmware-vdiskmanager -r leapsrv.vmdk -t 0 /tmp/leapsrv_combined.vmdk 
-</code> 
- 
-Wandeln von vmdk nach qcow2 
- 
-<code> 
-qemu-img convert -f vmdk -O qcow2 leapsrv_combined.vmdk leapsrv_combined.vmdk.qcow2 
-</code> 
- 
-Andersrum von qcow2 (kvm) nach raw (lxc): 
- 
-<code>qemu-img convert -f qcow2 -O raw vm-109-disk-1.qcow2 /mnt/data/images/114/vm-114-disk-3.raw 
-</code> 
- 
-====== SPICE ====== 
- 
-Doku: https://pve.proxmox.com/wiki/SPICE#Requirements_for_SPICE 
-Hilfs-Skript in /etc/scripts/spice.sh 
- 
-<code> 
 Usage: ./spice.sh [-u <string>] [-p <string>] vmid [node [proxy]] Usage: ./spice.sh [-u <string>] [-p <string>] vmid [node [proxy]]
  
Zeile 546: Zeile 623:
 node: Proxmox cluster node name node: Proxmox cluster node name
 proxy: DNS or IP (use <node> as default) proxy: DNS or IP (use <node> as default)
 +
 </code> </code>
- 
  
 Client: virt-viewer, Remmina Client: virt-viewer, Remmina
- +
 ====== ZFS Installation ====== ====== ZFS Installation ======
  
Zeile 557: Zeile 634:
 apt install linux-headers-amd64 zfsutils-linux zfs-dkms zfs-zed apt install linux-headers-amd64 zfsutils-linux zfs-dkms zfs-zed
  
-[https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Bullseye%20Root%20on%20ZFS.html](https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Bullseye%20Root%20on%20ZFS.html)+[[:https:openzfs.github.io_openzfs-docs_getting_20started_debian_debian_20bullseye_20root_20on_20zfs.html|https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Bullseye%20Root%20on%20ZFS.html]]]([[https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Bullseye%20Root%20on%20ZFS.html|https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Bullseye%20Root%20on%20ZFS.html]])
  
 ===== Partitionieren ===== ===== Partitionieren =====
Zeile 565: Zeile 642:
 (Achtung: gdisk konvertiert MBR nach GPT) (Achtung: gdisk konvertiert MBR nach GPT)
  
-/dev/disk/by-id/nvme-eui.0025388511c55959 +/dev/disk/by-id/nvme-eui.0025388511c55959 /dev/disk/by-id/nvme-eui.0025388511c5595b
-/dev/disk/by-id/nvme-eui.0025388511c5595b+
  
-DISK1=/dev/disk/by-id/nvme-eui.0025388511c55959-part7 +DISK1=/dev/disk/by-id/nvme-eui.0025388511c55959-part7 DISK2=/dev/disk/by-id/nvme-eui.0025388511c5595b-part7
-DISK2=/dev/disk/by-id/nvme-eui.0025388511c5595b-part7+
  
 Dannach zpool anlegen. "mirror" entspricht RAID1 Dannach zpool anlegen. "mirror" entspricht RAID1
- 
 <code> <code>
 +
 zpool create [-dfn] [-m mountpoint] [-o property=value]… [-o feature@feature=value] zpool create [-dfn] [-m mountpoint] [-o property=value]… [-o feature@feature=value]
            [-o compatibility=off|legacy|file[,file]…] [-O file-system-property=value]… [-R root] [-t tname] pool vdev…            [-o compatibility=off|legacy|file[,file]…] [-O file-system-property=value]… [-R root] [-t tname] pool vdev…
-</code> 
  
 +</code>
 <code> <code>
 +
 zpool create \ zpool create \
     -o ashift=12 \     -o ashift=12 \
Zeile 605: Zeile 681:
     /dev/disk/by-id/nvme-eui.0025388511c55959-part7 \     /dev/disk/by-id/nvme-eui.0025388511c55959-part7 \
    /dev/disk/by-id/nvme-eui.0025388511c5595b-part7    /dev/disk/by-id/nvme-eui.0025388511c5595b-part7
 +
 </code> </code>
  
-===== zfs Datasets erstellen =====+====== zfs Datasets erstellen ======
  
 zfs create rpool/mirror zfs create rpool/mirror
Zeile 615: Zeile 692:
 zpool destroy -f rpool zpool destroy -f rpool
  
-====== LE Zertifikate für PVE ======+====== Host: LE Zertifikate für PVE ======
  
 <code> <code>
Zeile 623: Zeile 700:
  
 root@kakariki /etc/pve # pvenode acme cert order root@kakariki /etc/pve # pvenode acme cert order
-</code> 
  
-Loading ACME account details +Loading ACME account details Placing ACME order Order URL: <https://acme-v02.api.letsencrypt.org/acme/order/1232182246/198286068416>
-Placing ACME order +
-Order URL: <https://acme-v02.api.letsencrypt.org/acme/order/1232182246/198286068416>+
  
-Getting authorization details from '<https://acme-v02.api.letsencrypt.org/acme/authz-v3/250346582026>' +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!
-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!
  
-Creating CSR +Creating CSR Checking order status Order is ready, finalizing order valid!
-Checking order status +
-Order is ready, finalizing order +
-valid!+
  
-Downloading certificate +Downloading certificate Setting pveproxy certificate and key Restarting pveproxy Task OK
-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>"
Zeile 654: Zeile 719:
 <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
 +
 </code> </code>
 +
 +
 +
  
  • proxmox.1709635959.txt.gz
  • Zuletzt geändert: 17/08/2024 - 07:06
  • (Externe Bearbeitung)