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 [25/04/2025 - 10:25] (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 der 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 löschen 
 + 
 +über 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 103:
 **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+==== 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+==== 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 +==== Container umbenennen ====
 <code> <code>
 +
 pct set <VMID> --hostname <newname> pct set <VMID> --hostname <newname>
 +
 </code> </code>
  
-Container betreten+==== Container betreten ====
  
 <code> <code>
 pct enter <VMID> pct enter <VMID>
 +
 </code> </code>
  
-===== Datei senden und empfangen =====+===== Container: Datei senden und empfangen =====
  
 Datei senden Datei senden
Zeile 137: Zeile 167:
 <code> <code>
 pct push <VMID> <file> <target> pct push <VMID> <file> <target>
 +
 </code> </code>
  
Zeile 143: Zeile 174:
 <code> <code>
 pct pull <vmid> <path> <destination> [OPTIONS] pct pull <vmid> <path> <destination> [OPTIONS]
 +
 </code> </code>
  
-===== Backups manuell =====+Bei VMs geht das per scp 
 + 
 +====== Backups manuell =====
 + 
 +<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>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 =====+====== PVE Server ====== 
 + 
 +===== Auto-Start der VMs temporär abschalten =====
  
 <code> <code>
-pvesh create /nodes/localhost/stopall+systemctl disable pve-guests.service. 
 </code> </code>
  
-Doku: https://www.historiantech.com/increasing-operational-efficiency-in-proxmox-with-pvesh/+Wieder einschalten
  
-===== PVE Templates =====+<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 210:
  
 pveam available pveam available
 +
 </code> </code>
  
Zeile 172: Zeile 217:
 <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 235:
  
  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:+**Wenn die Firewall den Host blockiert:**  Mit diesem Skript in rc.local wird die FW beim Neustart immer ausgeschaltet:
  
 <code> <code>
Zeile 213: Zeile 260:
 </code> </code>
  
 +====== Meckermails von CERT-BUND wegen RPC ======
  
-===== 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 Beispielconfigs ======
  
 /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 313:
           via:  136.243.85.129           via:  136.243.85.129
           metric:  100           metric:  100
 +
 </code> </code>
  
Zeile 256: Zeile 325:
     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 335:
           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 362:
 ''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> 
 + 
 + <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, 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 454:
 <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 507:
 </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 529:
 </file> </file>
  
-===== KVMqcow2 Device mounten =====+====== KVM VMs (qemu) ====== 
 + 
 +===== qcow2 Device mounten =====
  
 <code> <code>
Zeile 387: Zeile 537:
  
 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 563:
 <code> <code>
 mount /dev/nbd0p1 /mnt/somepoint/ mount /dev/nbd0p1 /mnt/somepoint/
 +
 </code> </code>
  
Zeile 422: Zeile 574:
  
 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 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>+======   ======
  
-<code> +====== Daten-Konvertierungen ======
-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=+
-/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>+[[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/]]
  
-Auflisten aller Loop-Devices+Split disks in eine Datei umwandeln
 <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 621:
 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 632:
 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 640:
 (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 679:
     /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>
  
Zeile 623: Zeile 698:
  
 root@kakariki /etc/pve # pvenode acme cert order root@kakariki /etc/pve # pvenode acme cert order
 +
 </code> </code>
  
-Loading ACME account details +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]]>
-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|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 ### 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
 +
 </code> </code>
 +
 +
 +
  
  • proxmox.1709635959.txt.gz
  • Zuletzt geändert: 17/08/2024 - 07:06
  • (Externe Bearbeitung)