User Tools

Site Tools


virtualisierung:proxmox:pve_allgemein

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
virtualisierung:proxmox:pve_allgemein [2020/02/27 07:09] stonevirtualisierung:proxmox:pve_allgemein [2023/05/10 13:43] (current) stone
Line 189: Line 189:
 Möchte man eine Node zu einem Cluster mit einen ausgelagerten HA Netz hinzufügen macht man dies ähnlich wie davor beim anlegen. Möchte man eine Node zu einem Cluster mit einen ausgelagerten HA Netz hinzufügen macht man dies ähnlich wie davor beim anlegen.
 <code> <code>
-pvecm add 172.27.9.41 --ring0_addr 172.27.5.12 --ring1_addr 172.27.9.42+pvecm add <ip first node of the cluster> --link0 <own ip corosync link 0> --link1 <own ip corosync link 1> 
 + 
 +Bespiel: 
 +pvecm add 172.27.9.41 --link0 172.27.5.12 --link1 172.27.9.42
 </code> </code>
  
Line 256: Line 259:
  
  
 +\\
 +
 +==== datacenter.cfg ====
 +Es gibt eine Datacenter Config in PVE in der ein paar wichtige Einstellungen getroffen werden können.
 +\\
 +<code>
 +vim /etc/pve/datacenter.cfg
 +
 +email_from: <welchen Absender verwendet pve>
 +keyboard: <Keyboard lang>
 +bwlimit: migration=<vm migration Speed in Megabyte / Sec >
 +migration: secure,network=<über welches Netzwerk soll migriert werden>
 +
 +
 +Beispiel:
 +email_from: supergeil@heisl.org
 +keyboard: de
 +bwlimit: migration=716800
 +migration: secure,network=10.27.8.0/24
 +</code>
 +\\
 +Hier die [[https://pve.proxmox.com/wiki/Manual:_datacenter.cfg|offizielle Doku]]
 \\ \\
  
Line 434: Line 459:
 Dies ist daher eine Performance Option für CPU und Speicherintensive Applikationen. Dies ist daher eine Performance Option für CPU und Speicherintensive Applikationen.
  
 +\\
 +
 +
 +
 +===== Windows Setup =====
 +Das Windows Setup wird keine Festplatte bei der Installation finden.
 +Hier muss man erst den VirtIO Treiber installieren. Dieser wird bei Windows leider nicht default mitgeliefert. \\
 +Um dies Treiber zu bekommen laden wir uns ein ISO runter und legen dies am besten am PVE bei den OS ISOs ab.
 +[[https://docs.fedoraproject.org/en-US/quick-docs/creating-windows-virtual-machines-using-virtio-drivers/index.html#virtio-win-direct-downloads|Windows VirtIO Treiber]] \\
 +Wenn dieses ISO auf einem Storagebereich vom PVE abgelegt ist muss man der VM ein zweites CD-Laufwerk hinzufügen und dieses ISO einlegen. \\ Man sollte im ersten CD-Laufwerk die ISO für die Installation und um zweiten die ISO für die VirtIO treiber haben. Wenn dem so ist dann kann die VM eingeschalten werden. \\
 +\\
 +
 +Dann klickt an sich im Installer so lange durch bis der Punkt kommt "Which type of installation do you want? und geht auf Custom.\\
 +Dort sieht man keine Disk für die Installation. Hier müss erst der VirtIO Treiber geladen werden.
 +  - Load driver
 +  - Browser
 +  - virtio-win-x.x.x
 +  - vioscsi
 +  - OS aussuchen (in meinem Fall "w10")
 +  - Arch aussuchen (in meinem Fall "amd64")
 +  - Ok -> Next 
 +
 +Danach sollte die Platte zu sehen sein und man kann die Installation komplett durchführen.
 +[[https://docs.fedoraproject.org/en-US/quick-docs/creating-windows-virtual-machines-using-virtio-drivers/index.html|Hier noch eine Doku zu VirtIO unter Windows]]
 \\ \\
  
Line 465: Line 514:
 Dort den Folder "guest-agent" öffnen und den Agent installieren.\\ Dort den Folder "guest-agent" öffnen und den Agent installieren.\\
 Ist der Agent sauber installiert und gestartet sieht man im PVE GUI das dieser läuft\\ Ist der Agent sauber installiert und gestartet sieht man im PVE GUI das dieser läuft\\
-{{:knowledge:virtualisierung:proxmox:qemu_agent.png?200|}}+{{ :virtualisierung:proxmox:qemu_agent.png?400 |}}
 \\ \\
  
Line 480: Line 529:
 \\ \\
 Ist das Service richtig installiert muss man im PVE GUI die gleichen Ram verbrauch wie in der VM sehen. Läuft das Service nicht sieht man fast immer einen höheren RAM Verbrauch. Siehe auch den Screenshot unter dem Qemu Agent. Dort war das Balloon Service noch nicht installiert. \\ Ist das Service richtig installiert muss man im PVE GUI die gleichen Ram verbrauch wie in der VM sehen. Läuft das Service nicht sieht man fast immer einen höheren RAM Verbrauch. Siehe auch den Screenshot unter dem Qemu Agent. Dort war das Balloon Service noch nicht installiert. \\
-{{:knowledge:virtualisierung:proxmox:balloon_service.png?200|}}+{{ :virtualisierung:proxmox:balloon_service.png?400 |}} 
 +\\ 
 + 
 + 
 +===== Trim & Discard ===== 
 +Um Trim Befehle in den VMs abzusetzten und zu kontrollieren gibt es ein paar Möglichkeiten. Voraussetzung dazu ist die Discard Funktion in PVE\\ 
 +Damit dies funktioniert müssen ein paar Voraussetzung gegeben sein: 
 +  * SCSI Controller: VirtIO SCSI 
 +  * Hard Disk: SCSI (empfohlen) / SATA (möglich) 
 +  * Hard Disk: QCOW2 
 +  * Hard Disk: Discard -> Yes 
 +  * Storage: PVE muss dies als Block Device sehen. NFS ist nicht möglich 
 +  * Gast OS: Muss Trim Commands unterstützen 
 +\\ 
 + 
 +Um auch zu kontrollieren ob ein Trim funktioniert geht man am bessten in die Shell von einem PVE Server.\\ 
 +**Thick:** Anzeigen der Disk Files und dessen Größe (VM mit 32G qcow2 File) 
 +<code> 
 +[root@pve 666]$ ls -lah 
 +total 15G 
 +drwxr-----  2 root root 4.0K Feb 27 09:50 . 
 +drwxr-xr-x 16 root root 4.0K Feb 27 09:50 .. 
 +-rw-r-----  1 root root  33G Feb 27 13:32 vm-666-disk-0.qcow 
 +</code> 
 +\\ 
 + 
 +**Thin:** Anzeigen des gleichen Disk Files und dessen echte gebrauchte Größe. 
 +<code> 
 +[root@pve 666]$ du -shxc * 
 +15G vm-666-disk-0.qcow2 
 +15G total 
 +</code> 
 +\\ 
 + 
 +==== Linux ==== 
 +Ab Ubuntu 18.04 wird von Systemd jeden Montag ein automatischer Trim Befehl gesendet.\\ 
 +Überprüfen ob Systemd dazu konfiguriert ist: 
 +<code> 
 +systemctl list-timers 
 +systemctl list-timers | grep trim 
 +</code> 
 +\\ 
 + 
 +Es kann auch jetzt sofort manuell ein Trim abgesetzt werden. 
 +<code> 
 +fstrim -av 
 +</code> 
 +\\ 
 + 
 +==== Windows ==== 
 +Ab Windows 10 und Server 2016 sollte Trim automatisch aktiv sein. Dies kann man mit einer Admin CMD Shell überprüfen 
 +<code> 
 +fsutil behavior query DisableDeleteNotify 
 +</code> 
 +Achtung! Windows geht hier einen sehr logischen Weg.\\ 
 +0 = Trim ist aktiviert \\ 
 +1 = Trim ist deaktiviert 
 + 
 +\\ 
 +Es kann auch jetzt sofort manuell ein Trim abgesetzt werden.\\ 
 +Dazu wird eine Admin PowerShell benötigt. 
 +<code> 
 +Optimize-Volume -DriveLetter <LAUFWERK> -ReTrim -Verbose 
 + 
 +Beispiel: 
 +Optimize-Volume -DriveLetter C -ReTrim -Verbose 
 +</code>
 \\ \\
  
Line 575: Line 690:
 </code> </code>
  
 +
 +\\
 +
 +
 +====== Zertifikate ======
 +
 +Update der internen / local Zertifikate
 +<code>
 +pvecm updatecerts -f
 +</code>
  
 \\ \\
Line 633: Line 758:
                 echo "Backupshare on $HOSTNAME not mounted"                 echo "Backupshare on $HOSTNAME not mounted"
 fi fi
 +</code>
 +\\
 +
 +===== Qemu Befehle =====
 +Qemue Befehle können ohne Problem in der Shell am PVE Server ausgeführt werden.
 +
 +==== Qemu Disk Image Check ====
 +**Einfacher Check vom qcow2 File**
 +<code>
 +qemu-img check <diskfile>
 +
 +Beispiel:
 +root@pvehost02:~# qemu-img check /mnt/pve/onstore03n2_ont_pve_sas_01/images/1460/vm-1460-disk-0.qcow2 
 +No errors were found on the image.
 +327680/327680 = 100.00% allocated, 5.43% fragmented, 0.00% compressed clusters
 +Image end offset: 27737522176
 +</code>
 +\\
 +
 +**Check und reparieren wenn es Fehler gibt**
 +Wenn es Fehler auf einem File geben sollte kann dieser Befehl aus 2-3x ausgeführt werden. So lange bis es keine Fehler mehr gibt
 +<code>
 +qemu-img check -r all <diskfile>
 +
 +Beispiel:
 +root@pvehost02:~# qemu-img check -r all /mnt/pve/onstore03n2_ont_pve_sas_01/images/1460/vm-1460-disk-0.qcow2 
 +No errors were found on the image.
 +327680/327680 = 100.00% allocated, 5.43% fragmented, 0.00% compressed clusters
 +Image end offset: 27737522176
 +</code>
 +\\
 +
 +==== Snapshots ====
 +Wenn PVE einmal ein Problem hat einen Snapshot zu löschen kann man so kontrolleren ob es noch einen Snapshot auf der VM gibt bzw diesen auch löschen.
 +
 +**Snapshot ansehen**
 +\\
 +In diesem Beispiel hat die betroffene VM zwei Disk Files. Es sollte zur Sicherheit jedes Diskfile kontrolliert werden.
 +
 +<code>
 +qemu-img snapshot -l <diskfile>
 +
 +Beispiel:
 +root@pvehost02:~# qemu-img snapshot -l /mnt/pve/ont_pve_sata_01/images/9651/vm-9651-disk-0.qcow2 
 +Snapshot list:
 +ID        TAG                     VM SIZE                DATE       VM CLOCK
 +1         test                        0 B 2020-07-30 10:37:23 9089:05:26.964
 +root@pvehost02:~# 
 +root@pvehost02:~# qemu-img snapshot -l /mnt/pve/ont_pve_sata_01/images/9651/vm-9651-disk-1.qcow2 
 +Snapshot list:
 +ID        TAG                     VM SIZE                DATE       VM CLOCK
 +1         test                        0 B 2020-07-30 10:37:24 9089:05:26.964
 +</code>
 +\\
 +
 +**Löschen vom Snapshot**
 +\\
 +Das löschen eines Snapshots muss immer auf einem Diskfile gemacht werden. Hat eine VM mehrere Disk Files muss dieser auf allen Files gelöscht werden.
 +
 +<code>
 +qemu-img snapshot -d <snap id> <diskfile>
 +
 +Beispiel:
 +root@pvehost02:~# qemu-img snapshot -d test /mnt/pve/ont_pve_sata_01/images/9651/vm-9651-disk-0.qcow2
 +root@pvehost02:~# qemu-img snapshot -d test /mnt/pve/ont_pve_sata_01/images/9651/vm-9651-disk-1.qcow2
 +</code>
 +Wurde der Snapshot via CLI erfolgreich entfernt wird dieser im PVE GUI jedoch noch angezeigt. Dies liegt daran das im VM Config File dieser noch drin steht. Hier kann einfach Inbetrieb das Config geöffnet und verändert werden. \\
 +Für einen Snapshot wird ein Configblock im File mit dem Namen des Snapshots angelegt. Der komplette Block kann einfach gelöscht werden.
 +
 +<code>
 +root@pvehost02:~# vim /etc/pve/nodes/pvehost06/qemu-server/9651.conf
 +</code>
 +Danach ist der Snapshot auch in der GUI nicht mehr zu sehen.
 +\\
 +
 +
 +===== Qemu Image mounten =====
 +Wozu kann ich das brauchen?
 +  * Single File Restore
 +  * Schnell etwas nachsehen
 +  * Disaster fällen
 +\\
 +So spielt man einen komletten mount durch.
 +
 +==== NBD am Host aktivieren ====
 +
 +<code>
 +modprobe nbd max_part=8
 +</code>
 +\\
 +
 +==== QCOW2 als Network Block Device verbinden ====
 +<code>
 +qemu-nbd --connect=/dev/nbd0 /mnt/pve/ont_pve_sata_01/images/1111/vm-1111-disk-0.qcow2
 +</code>
 +\\
 +
 +==== Partion finden die man mounten möchte ====
 +<code>
 +root@pvehost06:~# fdisk /dev/nbd0 -l
 +Disk /dev/nbd0: 27 GiB, 28991029248 bytes, 56623104 sectors
 +Units: sectors of 1 * 512 = 512 bytes
 +Sector size (logical/physical): 512 bytes / 512 bytes
 +I/O size (minimum/optimal): 512 bytes / 512 bytes
 +Disklabel type: dos
 +Disk identifier: 0xa53b1ed4
 +
 +Device      Boot Start      End  Sectors Size Id Type
 +/dev/nbd0p1       2048 56623103 56621056  27G 83 Linux
 +</code>
 +\\
 +
 +==== Partition mounten ====
 +<code>
 +mount /dev/nbd0p1 /mnt/x/
 +</code>
 +\\
 +
 +==== Zugriff auf die Daten ====
 +<code>
 +root@pvehost06:~# cat /mnt/x/etc/hostname 
 +mattermost
 +</code>
 +\\
 +
 +==== Aufräumen ====
 +<code>
 +umount /mnt/x
 +qemu-nbd --disconnect /dev/nbd0
 +rmmod nbd
 +</code>
 +\\
 +
 +
 +===== Disk Identifizieren =====
 +Disk Identifzieren zwischen PVE Hardware und Gast OS
 +<code>
 +lsblk -o +SERIAL
 +</code>
 +
 +
 +
 +===== API Befehle =====
 +\\
 +
 +==== API Shell Befehle ====
 +**Host und VM Auslastung**
 +<code>
 +pvesh get /cluster/resources
 </code> </code>
virtualisierung/proxmox/pve_allgemein.1582787366.txt.gz · Last modified: by stone