[Anleitung] Gluon auf Hyper-V

Hallo,

@Parad0x hatte mich kürzlich nach Images gefragt, die virtuell auf einer Hyper-V-Umgebung laufen. Problem ist, dass spezielle Kerneltreiber erforderlich sind.

Neoraider hat mir ein paar Tipps gegeben und mir ist es gelungen die passenden Images zu bauen. Hier die Anleitung und ein paar Fotos zur Hardwarekonfiguration von @Parad0x.

  • OpenWRT-Patch von tedaz nach gluon/openwrt laden:

    wget https://raw.githubusercontent.com/tedaz/Hyper-V-support-for-OpenWrt-Chaos-Calmer/master/cc-hyper-v.patch

  • Entsprechend der Anleitung den Patch anwenden:

    git apply cc-hyper-v.patch

  • In gluon/targets/x86-{64,generic}/profiles.mk in der ersten Zeile die Pakete hinzufügen (einfach am Zeilenende mit Leerzeichen getrennt anfügen):

    kmod-hyperv-balloon kmod-hyperv-net-vsc kmod-hyperv-util kmod-hyperv-storage

  • Gluon kompilieren

  • Das Abbild herunterladen, entpacken und konvertieren:

    qemu-img.exe convert gluon-x86-64.img -O vhdx -o subformat=dynamic gluon-x86-64.vhdx

    (Kann ggfs. auch unter Linux durchgeführt werden.)

  • Hardwarekonfiguration passend einstellen. Wie auch bei anderen virtuellen Images ist die zweite Netzwerkkarte (eth1) der Uplinkport (bei den Hardwareroutern der blaue).

  • Die interne Netzwerkkarte (= eth0 = Erste im Hyper-V) muss in den Erweiterten Features der Netzwerkkarte in den Hyper-V-Einstellungen noch das MAC-Spoofing aktiviert bekommen.

Der Patch ist in LEDE vorhanden, mit Gluon 2017.1.x kann das x86-64 Image konvertiert und genutzt werden. Es sind sogar Integrationskomponenten vorhanden, dies ermöglicht ein Shutdown der VM von außen über die Konsole (oder bei einem Neustart des Server).

Der RAM der VM konnte in Tests auf 128 MB reduziert werden, mit 64 MB kann das System nicht vollständig starten und hängt in einem Bootloop.

Dies ist ein Wiki, falls sich mal was ändert, gerne anpassen.

Grüße
Matthias

5 „Gefällt mir“

Super cool, danke :thumbsup:
Vielleicht noch erwähnen, dass es sich bei der VM um eine Generation 1 handelt, nicht Generation 2.

Gruß, Jan

1 „Gefällt mir“

Wie meinst du das? Ich hab von Hyper-V keine Ahnung. Aber die Treiber können beide Kartentypen.

Du kannst bei Hyper-V ab Windows Server 2012 R2 zwei verschiedene VM-Typen anlegen. Die von dir gezeigte Konfiguration zeigt eine Generation 1-VM, die basiert auf einem BIOS, kann emulierte Geräte wie das Diskettenlaufwerk usw… Generation 2 basiert auf UEFI, da kann es sein dass Gluon auf dieser Basis nicht läuft.
Gruß, Jan

1 „Gefällt mir“

Ich habe das mal in unser Wiki übertragen: https://freifunk-muensterland.de/wiki/doku.php?id=technik:hyperv

Neu ist die Erkenntnis, dass das interne Netzwerk die Hyper-V-Option „MAC spoofing aktivieren“ gesetzt haben muss. Das interne Port nutzt bei Gluon nicht das Hardware Interface (=Hyper-V-Interface)
Eine ähnliche Option muss auch bei anderen Hypervisorn gesetzt werden,

1 „Gefällt mir“

Neu? Bist Du Dir da sicher?
Diese Notwendigkeit betrifft alle Systeme, die ihren Gast-NICs Vorschriften bezüglich der genutzten MACs machen (per default, oder weil es jemand so aus $GRUENDEN konfiguriert hat.)

Das ist ja aus sicherheits gruenden aus. Wichtig ist wenn man mehr als ein hv (pro domain) betreibt sollte man die mac bereiche anpassen auf den host.

Hallo,

gibt es bereits ein fertiges Image für Hyper-V zum herunterladen?

Gruß

Nein, ich glaube nicht.
Ich habe das Virtualbox Image genommen und konvertiert (Dazu benötigt man aber kurz Virtualbox). MAC Spoofing nicht vergessen. Mehr habe ich nicht gemacht, dauert nicht lange.

Allerdings habe ich Performance-Probleme und ich weiß nicht woran es liegt (Habe aber auch noch nicht weiter geschaut). Mein Hyper-V Offloader ist genauso schnell wie ein 1043 V4. Allerdings ist mein hyper-V Server auch nicht sonderlich gut ausgestattet, alter Xeon…

Ich hatte ein X86-Image vormals mal auf einem ESXI und das lief nicht langsamer als jetzt per KVM unter Proxmox.
Und der Prozessor war auch eher unterdurchschnittlich (6 Jahre alter i7…)
Vermutlich eher ein Finetuning-Problem, z.B. mit den Laninterfaces. (Und auch mit der Anspruchshaltung. Ich vermag nicht einzuschätzen, was Du als „Problem“ ansiehst. Ein 1043v3 schafft bei mir rund 90MBit/s „Per Speedtest“ Schneller wird’s auch mit dem Offloader nicht.)

Naja, mit fastd schafft ein 1043er bei uns nur 10-12 Mbit… Und leider meine VM auch nicht mehr… Ein WRT1200AC schafft da bei mir >55 Mbit (noch nicht am Kabel getestet, aber sicher noch darüber)

Ich hab mal die Infos oben ergänzt zum Thema Lede, hab noch nen Screenshot erstellt wegen dem MAC Spoofing und habe das mal getestet. „Ganz gut“ sag ich mal :wink:

4 „Gefällt mir“

Weil es immer mal wieder gefragt wird hatte ich auch einen ausführlicheren Beitrag zu Freifunk und Hyper-V in unser Wiki geschrieben: https://wiki.freifunk-muensterland.de/x/PwB1Ag

2 „Gefällt mir“

Es gibt keinen Bedarf für die Legacy-Netzwerkkarte. Seit dem Schwenk auf LEDE funktioniert Gluon auch mit der „normalen“ Netzwerkkarte, sichtbar oben in meinem Screenshot und auch technisch sichtbar durch die mehr als 100 MBit beim Speedtest. Außerdem erhöht die Legacy-Karte die Last auf dem Mgmt-OS, da hier die beiden emulierten Karten gerechnet werden.
Gruß, Jan

3 „Gefällt mir“

Gibt es auch eine Anpassung für OpenWrt 18.06?

Ist das nicht inzwischen regulär mit drin?

Mag sein, aber ich habe nirgendwo gefunden, wie ich das in der site.mk aktivieren kann.

Ne, ich meinte, dass das normale x86-64 Image das können sollte.

Ansonsten würde ich mal im Gluon-Chat nachfragen. Ich habe irgendwie im Hinterkopf, dass das abgehakt ist.

damit aus der vmdk nen vhdx convertieren, normale netzwerkkarte im hyperv, mac spoofing an und los gehts …

2 „Gefällt mir“

Ich sehe nicht, dass sich binnen der letzten Jahre (auch von Gluon 2015 zu Gluon 2016) etwas geändert hätte.
Es gibt halt jetzt nur auch x64-images, aber was die Treiberebene anbelangt und den untertützten paravirt-Netzwerkkarten ist das sehr stabil seit 2015.2(?).
Daher verstehe ich wirklich nicht so ganz, worüber hier jetzt eigentlich EXAKT diskutiert wird.