Hyper-V Gen2 in XenServer importieren

Wer eine Gen2 Hyper-V VM (=UEFI) auf Gen1 (=BIOS) konvertieren muss (in meinem Fall um die VHD auf XenServer zu importieren) muss etwas in die Trickkiste greifen – ich bin hier fündig geworden, hab aber ein paar kleine Änderungen vorgenommen:

  • Gen2 VHD/VHDX mounten
  • via Disk Management neue VHD erzeugen in der Größe der zu kopierenden Datenpartition von der Gen2 VHD – es funktionieren auch dynamic Disks, ist wichtig weil sonst der Import am XenServer u.U. ewig dauert
  • erzeugte VHD mounten falls Disk Management nicht eh vollelektrisch macht
  • Disk mit MBR initialisieren
  • MiniTool Partition Magic Portable herunterladen
  • Partition kopieren – Zielpartition als primary anlegen
  • Ziel VHD dismounten
  • neue Gen1-VM mit Ziel VHD und passendem Windows ISO gemountet erzeugen, sicherstellen dass von CD gebootet wird
  • in Recoveryconsole (CMD) booten
  • in DISKPART das Ziel-Volume selektieren (list vol / sel vol #)
  • Ziel-Volume active setzen (active)
  • auf die Ziel-Windows-Installation wechseln (cd /d c:\)
  • Bootconfig neu erzeugen (bootrec /fixmbr, bootrec /fixboot, bootrec /rebuildbcd)
  • VM ausschalten, VHD in XenServer importieren (Kontextmenü von Host oder Pool/Import… – oder via xe vdi-import (schneller)

VHDX Reads langsam

Keine Ahnung worans liegt aber in dem Fall war am Host (2012R2) der Power Plan auf „Balanced“ und die VM (2008R2) hat auf Vollgas nicht mal 100 MB/sek gebracht (zig physische Spindeln).

Power Plan auf „High performance“ gesetzt und die Read-Rate ist instant auf erwartbare Werte (800 MB/sek) gesprungen.

Muss irgendeinen Hardwarebezug haben (hier: HP ProLiant DL380 Gen9) – andere Geräte (auch der gleichen Generation aber mit anderen Komponenten) zeigen dieses Verhalten nicht….

Hinweis hab ich hier gefunden.

Stored Procedures mit bestimmten Namen rekompilieren

Weil ich auch das immer wieder vergesse:

use MyDB

declare @proc varchar(50)

declare procs cursor for select SPECIFIC_NAME from INFORMATION_SCHEMA.ROUTINES where ROUTINE_TYPE='PROCEDURE' and SPECIFIC_NAME like '%whatever%'
open procs
fetch next from procs into @proc
while @@FETCH_STATUS = 0
begin
   print @proc
   exec sp_recompile @proc
   fetch next from procs into @proc
end
close procs
deallocate procs

Open with notepad

Weil ichs dauernd vergesse:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\Open with Notepad]

[HKEY_CLASSES_ROOT\*\shell\Open with Notepad\Command]
@="notepad \"%1\""

 

Mehr Cores für Android Emulator

Android Device Manager in Visual Studio 2017 legt Android Emulator VMs IMMER mit 2 Cores an – wo doch jeder weiß dass ein Android unter 4 Cores in Wahrheit unbenutzbar ist eine sehr fragwürdige Entscheidung. Die Emulatoren sind völlig überraschend schweinelangsam – und es gibt keinen Parameter wo man das easy raufstellen könnte.

Lösung: Emulator manuell starten mit Parameter -cores XX oder im Device Manager einen Custom Parameter namens hw.cpu.ncore hinzufügen und als Wert die gewünschten Cores angeben:

SMA Sunny Home Manager + Sunny Island an A1 Router

….schlechte Idee. Offenbar blockt der A1 Router (und vermutlich viele viele andere auch) Teile der Kommunikation zwischen Manager und Island (oder kann was nicht was dafür notwendig wäre, die Zauberwörter „IGMP Snooping“ tauchen hier auf, mag aber auch was ganz andreas sein) – aber nicht 100% zuverlässig sodass es manchmal funktioniert und manchmal eben nicht.

Nach mehreren Stunden des mehr oder weniger erfolgreichen Probierens hat dann alles funktioniert – Reset probiert (um zu sehen was z.B. bei Stromausfall passiert) und (natürlich) war wieder alles weg und konnte nicht restauriert werden.

Aus reiner Verzweiflung dann einen dummen Switch für Manager und Island genommen, gegen Router uplinked und alles funktioniert auf Anhieb….irgendwann am Weg auch Island von DHCP auf statische Adresse umgestellt, keine Ahnung ob das mitwirkt, schaden tuts bei der Turboblackbox Manager sicher nicht. 😀

Hier konkret:
* Sunny Home Manager 2.0
* Sunny Island 6.0H-12

Zertifikatswechsel ADFS (3.0 / Service-Communication)

….weil die Konsole offenbar nicht immer das macht was sie soll:

  • neues Zertifikat importieren (nanonaned)
  • NT SERVICE\adfssrv auf private Key berechtigen (read), alternativ Service Account
  • Set-AdfsSslCertificate -Thumbprint xxxx
  • Kontrolle mit netsh http show sslcert
  • ADFS Service restarten

Setzen via Console hat die Config aber nicht die Bindings geändert, auch nach Reboot nicht, Set-AdfsCertificate -CertificateType Service-Communications detto.

Zertifikatswechsel Web Application Proxy (ADFS)

….wenn Set-WebApplicationProxySslCertificate nicht will (warum auch immer):

  • neues Zertifikat importieren (Überraschung!)
  • HKLM\Software\Microsoft\ADFS\ProxyConfigurationStatus von 2 (=konfiguriert) auf 1 (=nicht konfiguriert) setzen
  • mit Wizard neue Verbindung zu herstellen (Name=öffentlicher Name vom ADFS, Zertifikat ist klar, User wird nur für Herstellung der Verbindung benötigt)

    oder

  • Install-WebApplicationProxy -FederationServiceTrustCredential (get-credential) -FederationServiceName meinadfs.meinedomain.whatever -CertificateThumbprint xxx