Virtueller Arbeitsplatz

Aus /usr/space Wiki
Zur Navigation springen Zur Suche springen

Doku meines Netzwerkaufbaus

Proxmox - Virtualisierung

Backup-Temp setzen und dem ACL geben. Superwichtig - sonst funktioniert das Backup von Containern nicht weil das proxmox root acl deaktiviert hat ?!

zfs create rpool/vztmp zfs set acltype=posixacl rpool/vztmp nano /etc/vzdump.conf tmpdir: /rpool/vztmp

ZFS

Die Deduplikation frisst extrem viel RAM und sonstige Ressourcen, daher normalerweise nicht sinnvoll. Es lassen sich auch nicht wirklich Windows und Linux Maschinen deduplizieren. Es gibt ein Testprogramm dass die zu erwartende Speichereinsparung berechnet.

Nützliche Einstellungen: compression gzip atime off relatime off

Verschlüsseltes Volume mit Passwort: encryption aes-256-ccm keylocation prompt keyformat passphrase

zfs create -o encryption=aes-256-ccm -o keylocation=prompt -o keyformat=passphrase rpool/data/vm-130-disk-1-enc

Mount nur möglich mittels -l: zfs mount rbackup/privat -l

Bestehenden Tank zu einem Mirror machen: https://blog.fosketts.net/2017/12/11/add-mirror-existing-zfs-drive/ zpool attach rpool /dev/disk/by-id/ata-CT1000MX500SSD1_1845E1D61131-part3 /dev/disk/by-id/ata-Samsung_SSD_860_QVO_2TB_S4CYNF0MB06216B-part3 zpool attach <poolname> <bestehende Disk> <neue Disk> zpool status <- gibt uns die Infos dazu aus

Verschlüsselte VM

Wir können über Umwege die Festplatte einer virtuellen Maschine verschlüsseln: 1) Virtuelle Maschine erstellen, nicht booten! 2) ZFS Volume per Kommandozeile löschen: zfs destroy zssd/vm-121-disk-0 3) ZFS Volume neu erstellen mit Key (und 200gb Platte): zfs create -o encryption=aes-256-ccm -o keylocation=prompt -o keyformat=passphrase -V 200g zssd/vm-121-disk-0 4) ZFS Volume muss bei Reboot des Servers vor dem Start der VM entschlüsselt werden, ansonst freezed der Start-Befehl der VM in Proxmox. Shell: zfs mount -l zssd/vm-121-disk-0

Ich hab mir irgendwann den ZFS Auto-Mount zerschossen, wodurch die volumes nicht mehr sinnvoll gemountet wurden und die VMs nicht gestartet werden konnten. Folgendes hilft:

  • Die betroffenen Verzeichnisse unmounten
  • Falls die Verzeichnisse jetzt nicht verschwunden sind löschen (Files wurden falsch geschrieben, er weigert sich damit zu mounten weil "not empty"
  • zpool set cachefile=/etc/zfs/zpool.cache <pool> für alle Pools ausführen, erstellt den cache neu
  • update-initramfs -k all -u
  • reboot -> läuft wieder

Bessere Methode:

Verschlüsselten Speicherplatz erstellen Damit erben neu angelegte Maschinen automatisch den Schlüssel

  • ZFS Volume verschlüsselt anlegen: zfs create -o encryption=aes-256-ccm -o keylocation=prompt -o keyformat=passphrase zssd/crypt
  • Rechenzentrum -> Storage -> Hinzufügen -> ZFS
  • Verschlüsseltes Volume wählen, Maschinen dort anlegen
  • VM´s können erst gestartet werden nachdem das volume entschlüsselt wurde, hab mir dazu ein Script angelegt mit folgenden Zeilen:

zfs mount zssd/crypt -l # fragt nach dem Passwort, es reicht wenn das Root-Volume entschlüsselt wird zfs mount zssd/crypt/subvol-101-disk-0 -O # wird ein Container verschlüsselt muss der separat angeführt werden, proxmox mountet die nicht selbstständig beim Start! -O lässt in "non-empty Directorys" mounten, ohne dem gibts einen Fehler

Windows 10 Arbeitsplatz

Lizenzübertragung Win7 -> 10

Wir können unser Win10 aktivieren indem wir uns ein "Ticket" von einer >am selben Rechner< aktivierten Win7 Version holen, Auszug aus folgender Seite: https://www.heise.de/forum/heise-online/News-Kommentare/Und-noch-ein-Trick-weiterhin-kostenlos-an-Windows-10-zu-kommen/Win10-Aktivierung-gatherosstate-exe-Genuineticket-funzt-immer-noch-Telemetrie/posting-29686180/show/

Wer eine gültige Win7 Lizenz hat: gatherosstate.exe als Administrator ausführen unter einem aktivierten Win7 mit Lizenz Zu finden im Ordner des Win10 Installationsmediums: \x86\sources\gatherosstate.exe \x64\sources\gatherosstate.exe Ein paar Sekunden warten, bis Ticket erstellt wurde. Das Genuineticket.xml unter Windows 10 dann kopieren nach: C:\Programdata\Microsoft\Windows\Clipsvc\Genuineticket\


!Achtung! Böse Zungen behaupten dass es so möglich ist aus einer gecrackten Win7 Installation einen gültigen Win10 Key zu erhalten. Das wäre natürlich illegal, auch wenn die Aktivierung damit problemlos funktioniert!


Remotedesktop-Verbesserung

gpedit.msc ausführen Computerkonfiguration -> Administrative Vorlagen -> Windows-Komponenten -> Remotedesktopdienste -> Remotedesktopsitzungs-Host -> Umgebung für Remotesitzung sowie RemoteFX für windows Server

Hier aktivieren wir alles was die Qualität raufschraubt und die Netzwerknutzung verringert (weniger Daten = weniger Latenz lautet die Theorie). Bringt natürlich nur was wenn man im LAN verbunden ist, welche Option wozu müsste mal getestet werden. Danach ist es jedenfalls möglich über Remotedesktop nahezu Lagfrei 3D-CAD auszuführen!

Ganz wichtig ist die Einstellung "Hardwareadapter für alle Remotedesktopdienste-Sitzungen verwenden". Damit erlauben wir die Nutzung unserer guten teuren Grafikkarte fürs Zeichnen über RDP. Zu sehen ist das im Task-Manager bzw. Ressourcen-Monitor, wo die Auslastung der GPU angezeigt wird. Außerdem gibts noch einige Hardwarebeschleuniger und sonstige Codecs zu aktivieren.

Hier meine Liste, ohne Gewähr: Einstellung Status Kommentar RemoteFX für Windows Server 2008 R2 Maximale Farbtiefe einschränken Deaktiviert Nein Entfernen des Remotedesktophintergrunds erzwingen Nicht konfiguriert Nein Hardwaregrafikadapter für alle Remotedesktopdienste-Sitzungen verwenden Aktiviert Nein Maximale Bildschirmauflösung begrenzen Aktiviert Nein Anzahl Überwachungen beschränken Aktiviert Nein Element "Trennen" aus dem Dialog "Herunterfahren" entfernen Nicht konfiguriert Nein Eintrag "Windows-Sicherheit" aus dem Startmenü entfernen Nicht konfiguriert Nein Verwendung erweiterter RemoteFX-Grafiken für RemoteApp Aktiviert Nein H.264/AVC 444-Grafikmodus für Remotedesktopverbindungen priorisieren Aktiviert Nein H.264/AVC-Hardwarecodierung für Remotedesktopverbindungen konfigurieren Aktiviert Nein Komprimierung für RemoteFX-Daten konfigurieren Aktiviert Nein Bildqualität für adaptive RemoteFX-Grafik konfigurieren Aktiviert Nein RemoteFX-Codierung für RemoteFX-Clients für Windows Server 2008 R2 SP1 aktivieren Aktiviert Nein Adaptive RemoteFX-Grafiken konfigurieren Aktiviert Nein WDDM-Grafiktreiber für Remotedesktopverbindungen verwenden Aktiviert Nein Ein Programm beim Herstellen der Verbindung ausführen Nicht konfiguriert Nein Immer Desktop bei Verbindungsherstellung anzeigen Nicht konfiguriert Nein


Wichtig, im RDP Client Optionen -> Leistung -> Dauerhafte Bitmapzwischenspeicherung aktivieren/deaktivieren. Die Einstellung verändert die schnelle Reaktion beim vollständigen Bildschirminhalt-Aktualisieren (drehen vom ganzen CAD-Modell)

GPU-Passthrough

https://pve.proxmox.com/wiki/Pci_passthrough

Das meiste ist unnötig, möglicherweise auch das laden der IOMMU: /etc/default/grub Intel: GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on" AMD: GRUB_CMDLINE_LINUX_DEFAULT="amd_iommu=on" update-grub

Bei neuen Versionen mit ZFS-Root und EFI wird nicht grub verwendet, stattdessen hier eintragen: /etc/kernel/cmdline pve-efiboot-tool refresh https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot

Module laden mittels (zuerst prüfen ob die nicht schon geladen sind): nano /etc/modules vfio vfio_iommu_type1 vfio_pci vfio_virqfd


Mit dem stock Kernel hat das jetzt schon funktioniert, nach einem Update auf den neuesten war folgender Schritt notwendig, mit der frischen Installation rennts wieder ohne:

Device und Vendor ID finden: lspci -> Graka Suchen und die Nummer für den nächsten Befehl suchen: 09:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480] (rev e7) 09:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590]

Folgend die gefundene Nummer einsetzen: lspci -n -s 09:00 09:00.0 0300: 1002:67df (rev e7) 09:00.1 0403: 1002:aaf0

Eines ist die GraKa, das andere das HDMI Sound device, wir wollen beide weiterleiten:

echo "options vfio-pci ids=1002:67df,1002:aaf0" > /etc/modprobe.d/vfio.conf

Reboot - fertig

!!Wenn das unsere einzige GraKa war wird die Bildschirmausgabe bei "Reading all physical devices" hängen bleiben! Das ist KEIN Freeze, System bootet ganz normal weiter, aber die Grafikkarte ist nicht mehr fürs System nutzbar!


Sobald das funktioniert hat bootet er in der server-Konsole auf einen schwarzen Bildschirm - die reale grafikkarte ist jetzt display 1! Entweder vor den Monitor setzen oder davor Remotedeskop freischalten!


AMD Grafikkarten-Probleme

AMD Karten haben offenbar einen internen Bug der die Karte beim Weiterleiten nicht mehr richtig resettet. Das gibt schöne unerklärliche Fehler im Clinet, es kann auch der Host abstürzen. Man suche "AMD GPU Reset Proxmox", folgender Code dafür:

# Get latest Proxmox kernel headers: apt install pve-headers # Did that fail? If so make sure you have Proxmox repository set up properly! https://pve.proxmox.com/wiki/Package_Repositories # Get required build tools: apt install git dkms build-essential # Perform the build: git clone https://github.com/gnif/vendor-reset.git cd vendor-reset dkms install . # Enable vendor-reset to be loaded automatically on startup: echo "vendor-reset" >> /etc/modules update-initramfs -u # Reboot to load the module: shutdown -r now