Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Debian 6 unter Hyper-V R2 integrieren

Anleitung Linux Debian

Mitglied: mcready

mcready (Level 1) - Jetzt verbinden

28.02.2012, aktualisiert 16:51 Uhr, 22279 Aufrufe, 5 Kommentare, 4 Danke

Da die Integrations-Tools nicht für Debian zur Verfügung stehen, backen wir uns selbst einen Kernel

Hinweis vorab: Das Grundgerüst für dieses Tutorial waren mehrere Anleitungen zum gleichen Thema von Jan Kappen auf http://www.hyper-v-server.de.
Leider waren diese in manchen Punkten nicht ganz vollständig oder auch nicht mehr ganz aktuell (Kernel 2.6 vs. 3.2), deshalb auch dieses Tutorial hier mit meinen Erkenntnisse der letzten Tage.
Wer einen Fehler findet (ich hoffe mal nicht) oder einen Verbesserungsvorschlag hat, bitte unten posten.

Ausgangssituation:
Wir haben einen bestehenden Hyper-V Server, ich gehe von Hyper-V R2 aus. Ob Standalone oder Server 2008 (R2) mit Hyper-V Funktionalität ist hierfür egal.
Ziel ist es, einen Debian 6 Server unter Hyper-V zum Laufen zu bekommen. Auf eine grafische Oberfläche bei Debian verzichten wir. Dafür wollen wir aber GBit Netzwerk und SCSI-Festplatten.
Die Anleitung bezieht sich auf den Hyper-V Manager, wer SCVMM verwendet sollte eigentlich schon soweit sein, daß er für die ersten Schritte keine Anleitung mehr benötigt.
Kein Muß, aber eine Empfehlung ist die Verwendung von Putty oder einem anderen SSH-Client statt der Konsole unter Hyper-V. Zum einen ist die Fenstergröße bei Putty nicht fest vorgegeben. Zum anderen empfinde (nicht nur) ich es zumindest so, daß die Textausgabe beim Kompilerlauf an der Hyper-V Konsole sehr langsam ist und das Kompilieren dadurch wesentlich länger dauert als per SSH-Client.

Wir legen erstmal im Hyper-V Manager einen neuen virtuellen Computer an:
Ein paar CPUs, eine IDE-Festplatte an IDE-Controller 0, CD-ROM an IDE1. Der SCSI-Controller und die "Alte Netzwerkkarte" werden ebenfalls noch hinzugefügt, die "Netzwerkkarte" bleibt auch drin.
Beide Netzwerkkarten können auch gleich so verbunden werden, wie es später mal sein soll. Eine Internetverbindung ist für die Einrichtung auf jeden Fall aber erstmal notwendig, da wir noch ein paar Sachen nachziehen müssen.
Das BIOS steht auf "Von CD starten", COM1, COM2 und Floppy brauchen wir i.d.R. nicht mehr. Grundsätzlich gilt: Weniger ist mehr, außer beim RAM und der CPU. Wenn möglich bitte 16GB RAM und 4 Kerne mit 100% Leistung vergeben. Dies kann später auch noch an den tatsächlichen Bedarf angepaßt werden.
Detaillierte Anleitungen zum Einrichten eines virtuellen Computer unter Hyper-V gibt es genug im Netz oder auch in verschiedenen Büchern, das ist aber nicht Sinn und Zweck dieses Tutorials.

Als erstes downloaden wir die aktuelle Debian 6 CD für eine Netzinstallation aus dem Netz und speichern diese auf dem Hyper-V Server ab:
http://www.debian.org/CD/netinst/
Netinst-CD-Image
amd64
Diese ISO-Datei wird dem neuen Hyper-V Computer auch als Boot-Medium zugewiesen:
Eigenschaften
IDE-Controller 1
Medien
Abbilddatei:
Zum ISO-Image browsen
Alternativ:
Doppelklick auf den virtuellen Computer
Medien
DVD-Laufwerk
Datenträger
Zum ISO-Image browsen

Nun wird der virtuelle Computer gestartet und Debian 6 in einer Basis-Installation mit den netzwerkspezifischen Angaben gestartet.
Auf den Installations-Prozess werde ich hier nicht näher eingehen, da auch das nicht das Haupt-Thema ist und es dazu einige Tutorials gibt. Außerdem ist dieser Prozess fast selbsterklärend.
Wenn alles richtig durchgeführt wurde, landen wir nun am Login-Prompt und melden uns direkt als "root" mit dem während der Installation vergebenen Paßwort an. Als Root? Böse? Nicht lieber mit SU arbeiten? Nein, erstmal nicht. Fast alles, was jetzt kommt benötigt Root-Rechte. Wirklich etwas beschädigen kann man auch noch nicht, da das System neu aufgesetzt ist. Falls heißt es eben nochmal neu installieren und nächstes Mal besser aufpassen (Lerneffekt). Nachdem wir das System in Hyper-V integriert haben, gilt das natürlich nicht mehr.

Zunächst prüfen wir, daß alle Dateien auch auf dem aktuellen Stand sind:
01.
apt-get update 
02.
apt-get upgrade
Danach beziehen wir erstmal ein paar notwendige Pakete:
01.
apt-get install -y build-essential 
02.
apt-get install -y ncurses-dev kernel-package fakeroot 
03.
apt-get install -y linux-headers-`uname -r` 
04.
apt-get install -y linux-source-`uname -r | awk -F"-" '{print $1}'`
Schon jetzt geben wir den ersten Parameter für Hyper-V aus:
01.
echo -e "hv_vmbus\nhv_storvsc\nhv_blkvsc\nhv_netvsc" >> /etc/initramfs-tools/modules
Und dann noch ins richtige Verzeichnis ...
01.
cd /usr/src
Alles bis hier müssen wir auf diesem virtuellen Computer nur einmal machen. Sollte eine neue Kernel-Version benötigt oder weitere Treiber in den Kernel einkompiliert werden, geht es ab hier weiter. Die einzigste Ausnahme wird weiter unten noch hervorgehoben.

Zunächst benötigen wir einen aktuellen, stabilen Kernel. Bevorzugt wird ein Kernel ab Version 3, da hier die Hyper-V Unterstützung schon im Kernel möglich ist. Ich nehme den 3.2.7er, da dies zum Zeitpunkt der aktuelle ist.

01.
wget -c ftp://ftp.kernel.org/pub/linux/kernel/v3.0/linux-3.2.7.tar.xz 
02.
xz -d linux-3.2.7.tar.xz 
03.
tar xf linux-3.2.7.tar 
04.
rm linux-3.2.7.tar 
05.
cd linux-3.2.7 
06.
cp /boot/config* ./.config
So, nun die oben erwähnte Ausnahme:
Als nächstes starten wir den Befehl
01.
make localmodconfig
Dieser optimiert den Kernel an die gegebene lokale Hardware. Auf gut deutsch: Warum auf einem virtuellen Rechner Grafikkartentreiber von AMD oder nVidia installieren? Oder 20 verschiedene Netzwerkkarten? Das kompilierte Kernel-Image wird dadurch gegenüber der Standard-Debian-Konfiguraion um bis zu 80% kleiner, die Zeit zum Kompilieren wird ebenfalls reduziert. Je nach Hardware dauert dieser Vorgang bis zu 45 Minuten.

Danach kommt das allseits beliebte
01.
make menuconfig
Über dieses Tool wird der Linux-Kern über eine "grafische" Oberfläche noch im Detail etwas angepaßt:

Device Drivers ---> [Enter]
SCSI device support ---> [Enter]
SCSI disk support [Leertaste bis "M" eingetragen ist]
<Exit>

Staging drivers ---> [Enter]
Microsoft Hyper-V virtual storage driver [Leertaste bis "M" eingetragen ist]
Microsoft Hyper-V virtual network driver [Leertaste bis "M" eingetragen ist]
<Exit>

Microsoft Hyper-V client drivers [Leertaste bis "*" eingetragen ist]
Microsoft Hyper-V Utilities driver [Leertaste bis "M" eingetragen ist]
<Exit>

XFS-Dateisystem bei Bedarf:
File-Systems ---> [Enter]
XFS filesystem support [Leertaste bis "M" eingetragen ist]
Unteroptionen außer Debugging mit Leertaste eintragen (geht nur *)
<Exit>
<Exit>
Do you wish to save your new configuration? Yes!

Hiermit haben wir unsere .config-Datei soweit, daß wir den Kernel kompilieren können. Als nächstes also:
01.
make-kpkg clean 
02.
fakeroot make-kpkg --initrd --append-to-version=-hyper-v kernel_image kernel_headers
Idealerweise wird der zweite Befehl kurz vor Feierabend gestartet. Je nach Hardware dauert es nämlich mehrere Stunden, bis der Kernel kompiliert ist.

Vorausgesetzt, es tritt kein Fehler auf, gehen wir nach Beendigung des Kompilieren mit "cd .." ein Verzeichnis hoch.
Dann wird der Kernel installiert und der virtuelle Computer neu gestartet:

01.
dpkg -i linux-headers-3.2.7-hyper-v_3.2.7-hyper-v-10.00.Custom_amd64.deb linux-image-3.2.7-hyper-v_3.2.7-hyper-v-10.00.Custom_amd64.deb 
02.
shutdown -h now
Dann wird der virtuelle Computer ausgeschalten und die "alte Netzwerkkarte" kann im Hyper-V Manager gleich entfernt werden.
Nun fahren wir den virtuelnne Computer wieder hoch. Im Bootloader (GRUB) sollte nun der neue Kernel auftauchen und auch ausgewählt sein.
Nach dem Login prüfen wir mit
lsmod | grep hv_
ob alle Hyper-V-Treiber geladen wurden. Jetzt sollte in etwa erscheinen:
01.
hv_utils                4148  0 
02.
cn                      3557  1 hv_utils 
03.
hv_storvsc              6917  0 
04.
scsi_mod              161156  2 libata,hv_storvsc 
05.
hv_netvsc              13044  0
Nun noch mit ifconfig die Netzwerkkarte konfigurieren. Sollte es hier Probleme geben, bitte in der Datei
/etc/udev/rules.d/70-persistent-net.rules
alle Einträge unterhalb des ersten Kommentar-Blocks löschen und mit
shutdown -r now
das System nochmal neu starten. Danach sollte eth0 unser neuer Freund sein und auch virtuelle SCSI-Festplatten kein Problem mehr darstellen.

Viel Spaß mit dem neuen Server!

Falls mehrere Debian-Server mit gleicher (oder weniger) virtueller Hardware verwendet werden sollen, muß der Kernel nicht auf jeder Maschine neu kompiliert werden.
Andere Festplattengrößen, RAM-Menge oder Anzahl der CPU-Kerne zählen hier nicht als Änderung!
Es genügt, die zwei neu erstellten .deb-Pakete aus /usr/src auf die neuen Maschinen zu kopieren und mit "dpkg -i" wie oben beschrieben zu installieren.
Wir kopieren dazu die .deb-Pakete ebenfalls nach /usr/src, dann ist das alles einheitlich, auch wenn kein Source-Code hinterlegt wird wie bei einer vollen Kompilierung.
Da außer der Remote-FX Karte bereits alle gängige Hardware im Server drin ist, die Hyper-V bis R2 bietet, können eigentlich nur noch Dateisysteme oder hardwareunabhängige Erweiterungen im Kernel hinzugefügt werden.
In einem Szenario mit mehreren Server würde es sich auch anbieten, alle benötigten Dateisysteme gleich in den einen Kernel einzubauen und dann diesen zu kompilieren und zu verteilen.
Bei eventuellen späteren Änderungen kann dann wieder genau dieser Kernel auf alle Maschinen kopiert werden, was einen Haufen Arbeit spart.

Sollte ein neuerer Kernel verwendet werden oder sich etwas an der .config ändern, so müssen wir nicht ganz von vorne anfangen:
Bei Änderungen am Kernel und Beibehaltung der Version ist der Einstieg bei "make menuconfig" im Tutorial.
Sollt nur ein aktuellerer Kernel mit gleicher Konfiguration verwendet werden, dann geht es etwas weiter oben los mit wget und dann natürlich der neueren Version als Download.
Danach muß aber auch noch die .config des vorherigen Kernels übernommen werden, bei dem heute erschienenen 3.2.8 wäre dies dann von /usr/src ausgehend:
01.
wget -c ftp://ftp.kernel.org/pub/linux/kernel/v3.0/linux-3.2.8.tar.xz 
02.
xz -d linux-3.2.8.tar.xz 
03.
tar xf linux-3.2.8.tar 
04.
rm linux-3.2.8.tar 
05.
cd linux-3.2.7 
06.
cp .config ../linux-3.2.8
"make localconfig" muß beim Recycling der alten .config nicht erneut durchgeführt werden, im Gegenteil!
"make menuconfig" muß dann ebenfalls nur noch aufgerufen werden, wenn noch etwas im Kernel dazu oder weg soll. Die Einstellungen zu Hyper-V sind aber gespeichert und müssen nicht nochmals getätigt werden.
Im reinen Update-Fall geht es also schon mit "make-kpkg clean" weiter.
Mitglied: certifiedit.net
20.08.2012 um 00:46 Uhr
Hi,

Da die Plattform von Aktuallität lebt:

Update Kernel 3.5.2
Device Drivers --->
Microsoft Hyper-V guest support --->
<M> Microsoft Hyper-V client drivers


Device Drivers --->
Network device Support --->
<M> Microsoft Hyper-V virtual network driver

Mehr habe ich auf die schnelle mal nicht mehr gefunden. Fakt ist: unter den Staging Treibern findet man nichts mehr zu Hyper-V, liegt wohl an den Linuxbemühungen von MS.

VG
Bitte warten ..
Mitglied: mcready
20.08.2012 um 08:14 Uhr
Da hast Du Recht. Ab 3.4 ist ein Großteil, ab 3.5 sind alle MS Hyper-V-Treiber aus dem Staging-Bereich in den regulären Bereich gewandert. Mit den o.g. sollte auch alles "erschlagen" sein, da wohl ein Teil zusammengelegt wurde, was durchaus Sinn ergibt. Ansonsten bleibt das o.g. Prozedere aber identisch.
Bitte warten ..
Mitglied: certifiedit.net
20.08.2012 um 10:38 Uhr
Sieht zumindestens Installationstechnisch mal sehr gut aus.

Nur der Durchsatz der VM-NIC lässt noch ein wenig zu wünschen über.
Bitte warten ..
Mitglied: mcready
20.08.2012 um 12:02 Uhr
Zitat von certifiedit.net:
Sieht zumindestens Installationstechnisch mal sehr gut aus.

Nur der Durchsatz der VM-NIC lässt noch ein wenig zu wünschen über.

Soweit ich informiert bin, hat Microsoft aktuell zwei Vollzeitprogrammierer nur für die Hyper-V-Linux-Integration abgestellt. Vermutlich wird erstmal Stabilität vor Leistung gelten, was im Server-Umfeld IMHO durchaus gerechtfertigt scheint. Da die Treiber jetzt aber den Staging-Bereich verlassen haben und MS auch irgendwie die (bis zu) 1500% Preiserhöhung bei den 2012er Servern rechtfertigen muß, wird sich da vermutlich in absehbarer Zeit noch Einiges tun.
Bitte warten ..
Mitglied: karlos88
11.10.2012 um 17:20 Uhr
Wer sich das alles ersparen will der geht einfach unter

http://docs.homelinux.org/doku.php?id=using_linux_ic_with_debian_squeez ...

und ladet sich den Kernel 3.2.23 runter, der ist aus dem offiziellen Debian Backport und enthält die Hyper-V Treiber in der neusten version 3.4. Wer mag kann sich auch gleich den KVP Daemon installieren damit der Hostname, LIC Version usw. zwischen Host und Hoster korrekt ausgetauscht werden. Ich hab das bei mir getestet und rennt 1A.

Gruss
Karlos
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Hyper-V
gelöst Virtual Lab Windows Server 2012 R2 Hyper-V (3)

Frage von DaPedda zum Thema Hyper-V ...

Windows Server
gelöst Windows Server 2012 R2 Hyper-V nicht verfügbar (4)

Frage von Adnan88 zum Thema Windows Server ...

Hyper-V
gelöst Hyper-V 2012 R2 - Probleme nach Update der Integrationsdienste (8)

Frage von Henere zum Thema Hyper-V ...

Windows Server
gelöst Windows Server 2012 zu R2 inkl. Hyper-V (12)

Frage von agnostiker zum Thema Windows Server ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...

Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...

Windows Server
Suche passender Treiber (12)

Frage von stolli zum Thema Windows Server ...