[Sammelthread] Microsoft Hyper-V Stammtisch

HowTo 9: Discrete Device Assignment mit Dell HBA (Proof of Concept mit Dell T130)

Quellen, von denen ich die Infos hierfür hatte:
Microsoft
RDSGurus


So, alles für so'n Selfmade-Frickler wie mich gar nicht so einfach (komme mir schon voll wie der Powershell-Guru vor - aber Vorsicht: nur gefährliches Halbwissen am Start hier!)...

Als erstes musste ich den Dell-HBA mal dem Host "wegnehmen", da ein "dismount" von Geräten, die vom Host noch benutzt werden, nicht so einfach möglich ist. Den Dismount braucht's wiederum, um das Ding einer VM zuweisen zu können. Naja, und anstatt brutaler Gewalt (also nicht gleich mal mit "-force" rangehen) wollte ich es doch mal genauer wissen.

1. Also mal geschaut, wo denn mein guter Dell-HBA zu finden ist. Um genau zu sein: unter welcher Klasse (class). Dabei hilft der Befehl get-pnpdevice:

00_DellHBA_Class.jpg

2. Im nächsten Schritt ziehe ich das Ding (genauer: alle Geräte dieser Klasse) in eine Variable "$pnpdevs":

Code:
PS C:\Users\Administrator> $pnpdevs = Get-PnpDevice | Where-Object {$_.Present -eq $true} | Where-Object {$_.Class -eq “SCSIAdapter”}

3. Schauen wir uns mal den Inhalt der Variable an:

BILD2.jpg

Wir stellen fest, das Ding ist das 2. in der Liste - da Microsoft bei 0 anfängt zu zählen, hat das gute Stück also die Index-Nummer "1".

4. Jetzt deaktivieren wir den Dell-HBA für den Host:

Code:
PS C:\Users\Administrator> disable-PnpDevice -InstanceId $pnpdevs[1].InstanceId -Confirm:$false

5. Wenn wir uns jetzt noch einmal die Liste mit Geräten der SCSIAdapter-Klasse anzeigen lassen, sehen wir für den Dell-HBA einen Fehler (weil eben nicht mehr für den Host vorhanden):

Bild3.jpg

6. Kümmern wir uns kurz um die nötige Information, um das Gerät für den Dismount richtig ansprechen zu können (Achtung, wieder richtige Index-Nummer aus der $pnpdevs beachten:

Zunächst in eine Variable mit:
Code:
$locationpath = ($pnpdevs[1] | get-pnpdeviceproperty DEVPKEY_Device_LocationPaths).data[0]

... die man sich dann mit $locationpath anzeigen lassen kann.

7. Jetzt können wir auch noch mal einen Dismount versuchen:
(Im Bild hatte ich die Location direkt eingetippt, eleganter ist's natürlich, direkt mit der Variable zu arbeiten: "Dismount-VmHostAssignableDevice -LocationPath $locationpath")
Bild4.jpg

Scheisse war's. Aber immerhin haben wir das Gerät sauber vom Host getrennt.

8. Also dann eben doch mit Gewalt:

Bild5.jpg

Und weg ist die Fehlermeldung... ;)

9. Auch der "Status" des Geräts hat sich damit noch einmal geändert:

Bild6.jpg

10. Und nun schauen wir mal, ob wir der VM den Dell-HBA auch zuweisen können:

Bild7.jpg

Nach einem Fehlversuch und Beseitigung der Ursache, ging der Befehl dann auch sauber durch.

Hinweis: die Fehlermeldung beim 1. Versuch ist ja selbsterklärend - es funktioniert ohne Fehler, wenn man im Hyper-V Manager unter den Einstellungen der VM für die automatische Stoppaktion z.B. "Gastbetriebssystem herunterfahren" auswählt:

attachment.php

Jetzt installiere ich mal Windows 10 in der VM und suche mal darin dann den Dell HBA... :d

- - - Updated - - -

Höhö... da ist der Schlingel auch schon in der VM - allerdings mit Fehlermeldung (die ich mir noch nicht so recht erklären kann - vielleicht weil keine Platten dranhängen?):

attachment.php


- - - Und nochmal Updated - - -

Und einen hab ich noch: mit Platte dran (und vorsichtshalber auch noch mal den HBA bisken im Slot gewackelt / festgedrückt) ist nun auch der Fehler weg! Tjo - das war mal erstaunlich erfolgreich quasi gleich im ersten Anlauf!

Die umrandete Platte hängt tatsächlich am Dell HBA:

attachment.php


EDIT/NACHTRAG:

11. Bei einem späteren Versuch mit DDA hatte ich dann eine neue Fehlermeldung, dass ein Virtualisierungsfeature für den Benutzer nicht verfügbar war:

Fehler.jpg

Dagegen soll dann in einer admin-CMD helfen (wobei noch nicht ganz raus ist, ob DDA nicht gerade "broken" ist):

Code:
bcdedit /set hypervisoriommupolicy enable
 

Anhänge

  • Bild8.jpg
    Bild8.jpg
    69,7 KB · Aufrufe: 1.106
  • Bild 9.jpg
    Bild 9.jpg
    89,9 KB · Aufrufe: 1.086
  • Bild10.jpg
    Bild10.jpg
    79,4 KB · Aufrufe: 1.018
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
danke für die Lektüre

jetzt bin ich auch angefixt.


Gesendet von iPhone mit Tapatalk
 
Irgendwas ist bei den Screenshots kaputtgegangen (jedenfalls werden die in meinen Browsern nicht richtig angezeigt) - hab sie jetzt nochmal eingefügt.
 
Habe übrigens das HowTo 2 gerade einmal mit der aktuellen (finalen) Hyper-V Server 2016 Version getestet - funktioniert immer noch mit den 2 PS-Befehlen (und den Einstellungen im Client).
 
Ich plane demnächst auch zuhause auf HyperV zu gehen, kleiner Server, Xeon, 64GB Ram.. will aber lokalen Storage. Server 2016 Standard.

Was ist denn momentan so "Best Practise" dafür? NTFS, REFS, Storage Spaces mit Tiers, Deduplication? Mal davon ausgehend 2xSSD und 2xHDD rein für die VMs. System hat eigene SSD.
Wie würdet ihr konfigurieren?
 
Schade dass unter ReFS immer noch kein Dedup geht. Muss ich mal durchrechnen wie viel SSD Platz ich dann brauchen würde.
 
Womit macht ihr unter Hyper V eure Backups?
Bis ich den Server zusammenstelle (warte auf Xeon v6), leg ich meine VM´s bisher auf einem temporären Server an, ist ein Celeron G1620 mit 8GB Ram.

Im Moment weiß ich noch nicht wie ich später Backups machen soll, mit Veeam 9 Backup & Replication hab ich so meine Probleme beim Ausschluss von bestimmten SCSI Platten. Wähle ich default "alle Disks" klappt
das Backup, wähle ich nur bestimmte Disks, egal welche, gibts einen Processing "vmname" Error: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt." Fehler

Die 9.5er steht ja kurz vor der Veröffentlichung, vielleicht klappts dann auch wieder mit HyperV 2016.
 
Für eine einzelne Maschine nehme ich einfach Windows Server Backup. Für größere Umgebungen TSM, Veeam oder ARC.

Wenn es nicht die Free Version ist, würde ich einfach ein Ticket aufmachen.
 
Windows Server Backup ist aber Mist wenn ich dadurch die VM nicht online sichern kann.
 
Online Backup ist damit kein Problem sofern deine VM die entsprechenden Voraussetzungen erfüllt (Integration Tools, passende Kernel, SCSI Disks,..). Ansonsten wird die VM halt für einen Snap kurz pausiert.
 
Hallo,

Ich beschäftige mich aktuell mit dem Server 2016 und eben auch mit Hyper V, falls es jemanden interressiert, hier ein Paar Bench-Ergebnisse zu den Storagespaces in einer VM:
Server 2016 als VM an diesem habe ich folgende Platten weitergereicht:
2x Cruical MX300 525Gb PCIe Sata Controller
4x WDRED 3TB am Mainboard angeschlossen

Natürlich zickt das Ganze erst mal denn Windoof ist nicht fähig die Medien richtig zu erkennen.
Unbenannt Medientyp.JPG
Um das zu beheben, muss ein Speicherpool angelegt werden, danach kann man dann folgenden Befehl in der Powershell verwenden:
Set-PhysicalDisk –FriendlyName "NAME DER DISK" -MediaType HDD

Dann nur den Speicher neu einlesen und Windows kapiert was los ist:
Medientyp NEU.JPG

Für die Benches wurde die VHD mit der maximalen Größe erstellt.
(Testsystem Dell T20 Xeon 1225 / 20Gb ECC Ram)
(Speicherplatzwerte sind aus den Storagespaces übernommen)

Test 1: Tiered Mirror (Kapazität 5,57 TB / nur NTFS möglich / schnelle Speicherschicht erstellt)
Tiered Mirror.JPG

Test 2: Simple: (Kapazität 11,8 TB / nur NTFS möglich / schnelle Speicherschicht erstellt)
Simple.JPG

Test 3: Tiered Parity (Kapazität 3,75 TB / NTFS ReFs möglich)
Parity.JPG

Ich werde mich für die Konfiguration des Tests 1 entscheiden, es ist denke ich ein gesundens Maß an Geschwindigkeit und "Platz"
Aber jeder ist ja selbst seines Glückes Schmied :)


Gruß Rocker
 
Weiß jemand von euch ein Mainboard für 1151er Xeons welches
Discrete Device Assignment unter Hyper-V 2016 unterstützt und
einen elektrischen 16x PCIe Steckplatz hat?
zB: Fujitsu D3417-B

Die Chipsätze sollten es ja unterstützen aber zumindest Asus und Supermicro unterstützen den 2016er Hyper-V noch nicht offiziell und geben daher keine verbindliche Antwort.
 
ja, die Platten kann man in einen anderen Server stecken und muss den Pool dann importieren. Ich habe das einmal per GUI gemacht.

- - - Updated - - -




Nun ja, man braucht natürlich noch NICs mit RDMA und 10GBit sind auch recht wenig, hier wird auch wesentlich mehr empfohlen, aber bei mir handelt es sich um eine SOHO Lösung.
Ich verfolge das Thema übrigens schon seit der TP2 und nehme dazu reale Maschinen, da eine Virtualisierung dieses Systems Schwachfug ist.

Des Rätsels Lösung ist, das das SMB Multichannel Scaling zwar zwischen den Servernodes funktioniert, aber nicht bis zum Client durchgereicht wird. Mit anderen Worten, wenn man im Client 4 NIC Ports hat, und baut eine SMB3.1x Verbindung vom Client zu einem S2D Share auf, wird zwar auf den Servern der Traffic zum Client auf alle NICs verteilt, nur leider wird von den 4 Client NIC Ports nur eines für den Traffic benutzt. Dieses Verhalten tritt auf 2 getesteten Clients auf. Deaktiviert man den NIC auf dem Client, über den der Traffic läuft, wird sofort ein automatisches Failover auf einen anderen NIC Port im Client durchgeführt. D.h., Teile vom SMB3 Multichannel funktionieren aber die Kanalbündelung klappt noch nicht in der TP5.

10 GBit NICs (für meine zwei Clients) befinden sich bei mir erst noch im Zulauf, dann habe ich aber noch das Problem, dass ich neben dem reinen 10 GBit Switch noch einen Switch 1/10GBit brauche, der wenigstens 1 x 10GBit Uplink zum 10GBit Switch hat, um die Server mit den diversen 1 GBit Ports (3 x 4) mit 10 GBit Switch zu verbinden, da der SMB3 Traffic, der gebündelt pro Server 3GBit/s für eine Verbindung betragen kann, irgendwie an die Clients mit den 10GBit NICs durchgereicht werden muss.

Hast Du eigentlich das Thema aufgegeben? Ich frage deshalb, weil ich auch 3 Intel NUCs (NUC6i3SYH, 32GB, 1x NVMe und 1x SSD) zum testen habe. Hatte erst VMware VSAN drauf und die Performance war "ok" mit 3 x 1Gbit Nics . Eine dedizierte NIC für VSAN.
Wollte dann auch S2D mal testen und setzte alles auf. Konfiguriert hatte ich die 3 NIC als Switch Independent Team mit Jumbo Frames 9K.
Aber schon beim Installieren der ersten VM (W2K16) in dem CSV, dauerte es ewig bis diese installiert war.

Bin jetzt wieder zurück auf VSAN. Ich frage mich aber schon warum die Performance so unterschiedlich ist.
 
Zuletzt bearbeitet:
Falls jemand eine Anleitung benötigt um eine Grafikkarte per Discrete Device Assignment unter Hyper-V 2016 an eine virtuelle Maschine weiter zu leiten sollte nach folgenden Titel suchen:
introducing to windows server 2016 hyper-v discrete device assignment

Es gibt ein PDF mit dem Titel von LenovoPress wo der Vorgang mit einer NVIDIA Quadro 5000 beschrieben wird.
Host-Hardware ist: Lenovo ThinkServer RD650 bzw. Lenovo System x3560 M5
 
Wäre mal interessant mit welchen Grafikkarten das überhaupt geht. Wenn ich das richtig in Erinnerung habe, geht bei NVIDIA nur Grid und Quadro. Sowas hat man ja als Normalo eher nicht in der heimischen Grabbelkiste...
 
Ich habe bei AMD mal wegen der neuen Radeon Pro WX Serie angefragt (also RX460 alias WX4100, RX470 alias WX5100 und Rx480 alias WX7100), aber noch keine Antwort erhalten.
Andererseits hatte AMD in der Vergangenheit keine Erkennung ob die Karten in einer VM laufen..

Auch wenn es nur das untere Ende ist: die RX460 bzw. WX4100 haben zwar einen PCIe 16 fach Stecker, belegen aber nur 8 Datenleitungen.
 
Hallo Miteinander

Ich lese seit einiger Zeit interessiert nach, was ihr hier treibt und hab mich nun doch entschlossen, mich zu registrieren um mit euch interagieren zu können :-)
Momentan spiele ich mit dem Gedanken mir einen T130 zuzulegen. Ehrlich gesagt bin ich ein wenig hin und her gerissen weil ich den kostenlosen Hyper-V Server 2012 R2 installieren möchte und dann nur VM's für diverse Tests/Labs darauf betreiben möchte. Hat jemand bereits Erfahrung gesammelt damit oder habt ihr alle Windows Server installiert?

Ich freue mich auf eure Feedbacks :-)

Lg SuperServerBros
 
Ich habe _ausschließlich_ den kostenlosen Hyper-V Server, allerdings 2016 (!), auf dem Metall laufen. In VMs 2 Windows Server (auch 2016) als DCs installiert.
 
Zuletzt bearbeitet:
Hab auf den 2016er laufen. Mit DC, SQL-Server, Anwendungsserver, NAS (openmediavault), Testmaschine und einer UTM.
Kine Probleme. Installiert ist der Hyper-V Server auf einer SD Karte. Lässt sich astrein über RSAT managen. Dies funktioniert allerdings erst so richtig reibungslos, wenn der Hyper-V Mitglied der Domäne ist. Wenn nicht ist etwas mehr fummelarbeit (einmalig) angesagt.
 
Ich habe _ausschließlich_ den kostenlosen Hyper-V Server, allerdings 2016 (!), auf dem Metall laufen. In VMs 2 Windows Server (auch 2016) als DCs installiert.

Moin besterino - genau das hab ich nun auch vor für einen kunden. Erst als Testumgebung und dann Wechsel zu produktiv.
Und da hätte ich gerade mal eine Frage - der Kunde hat bisher einen SBS2011 auf Blech laufen und möchte gern weiterhin wie bisher auch seine Serversicherung mit 2 USB-Platten im wöchentlichen Wechsel tauschen.
Hast Du schon Erfahrung damit, ob / wie man 2 wechselnde USB-Platten in eine VM bringt? (Host und VM wären Server 2016, der Host evtl. Hyper-V 2016)
Direkt mit offline markieren und der VM zuweisen bringt nichts, die nimmt die VM nach dem wiedereinstecken nicht an.
Eine Möglichkeit, die ich sehe, wäre eine zusätzliche PCIe-USB-Karte per "Discrete Device Assignment" in die VM zu geben und dort die USB-Platten anzustecken.
Da ich das bisher aber noch nicht testen konnte (bisher hab ich Backups aus einer VM immer auf ein iSCSI-Laufwerk gemacht), wäre meine Frage, ob damit schon wer Erfahrungen gemacht hat.
 
Super, herzlichen Dank für die Antworten. Überrascht mich, seid ihr schon alle auf 2016 - aber ist ja auch nur zum rumspielen/testen nehme ich an ;-)
Ich brauche lediglich 2 Win Server 2012 R2, möchte darin ein SCCM 2012 R2 Lab aufbauen um mit C# ein AddOn entwickeln zu können. Ich denke dafür sollt's auch reichen mit 32 GB Ram.
 
Ne, 2016 läuft bei mir zu Hause "produktiv". ;)
Läuft der Hyper-V nicht, läuft die UTM nicht, gibt es kein Inet und kein WLAN.
 
Auch 2016, HyperV-Server Core (noGUI)

Microserver Gen8 bootet von SD-Card
SSD an SATA1
BluRay an ODD
Software RAID1 (MIRROR) aus 2x4Tb an SATA 3+4

UTM
MS Server 2012
WIN10
Xpenology
Ubuntu16

Spare mir so einen HardwareRaidcontroller --> 10gb-LAN oder RemoteFX-Grafikkarte für Win10 (Workstation)

EDIT: HyperV-Core-Server 2016 tut es auch wunderbar mit iLo nach Installation von
iLO 3/4 Management Controller Driver Package for Windows Server 2016
http://h20566.www2.hpe.com/hpsc/swd/public/readIndex?sp4ts.oid=5228286&swLangOid=8&swEnvOid=4231
und
HPE ProLiant Agentless Management Service for Windows X64
http://h20564.www2.hpe.com/hpsc/swd/public/detail?swItemId=MTX_1338aab98aa04b0391e73c3976

Backups dann zB. mit dem HPE VM Explorer (in der Free-Version eingeschränkt, keine automatischen Backupjobs, etc.)
https://www.trilead.com/download/?m=a
und
https://www.trilead.com/download/
 
Zuletzt bearbeitet:
Mal ne dumme Frage versuch gerade mal Hyper V Server 2016 zu testen bekomms aber nicht mal Gebootet hab jetzt die Iso per "Windows 7 USB DVD Download Tool" auf 2 USB sticks getestet er bootet einfach nicht davon!

HP micro Gen8
 
@Sm0kY88

cmd->diskpart->list disk->sel disk x->clean->create partition primary->format fs=fat32 quick->active

Hyper-V Iso auf USB Stick entpacken->Fertig

sel disk x = x durch die Nr. des USB ersetzen
clean = löscht alle Partitionen des ausgewählten Datenträger
 
Ich habe bei AMD mal wegen der neuen Radeon Pro WX Serie angefragt (also RX460 alias WX4100, RX470 alias WX5100 und Rx480 alias WX7100), aber noch keine Antwort erhalten.
Andererseits hatte AMD in der Vergangenheit keine Erkennung ob die Karten in einer VM laufen..

Auch wenn es nur das untere Ende ist: die RX460 bzw. WX4100 haben zwar einen PCIe 16 fach Stecker, belegen aber nur 8 Datenleitungen.

Ich habe zwar keine offizielle Antwort von AMD aber laut fsadough (Firepro expert des AMD Support Forums): You should be able to do so for any card.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh