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

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

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