linux on hyper-v

Post on 15-May-2015

5.608 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

MS Days 2012, Bulgaria

TRANSCRIPT

Linux on Hyper-V

Tudor Damian, Microsoft Virtual Machine MVP

@tudydamian – www.tudy.tel

Agenda

• Short overview

• Enlightened vs. emulated

• A bit of history

• What’s officially supported?

• What actually works?

• How does it work?

• More about Linux Integration Services

• Linux P2V conversions for Hyper-V

• Backing-up Linux VMs

• MAP Toolkit 6.5

• The future of Linux on Hyper-V

Hyper-V architecture

How does it work?

• VSP (virtualization service provider)

• Hyper-V component in the”parent partition”

• Communicates with the hardware drivers

• Gives access to the host resources

• VSC (virtualization service client)

• Drivers for”synthetic devices” installed in the enlightened guest OS

• Exposes every virtual device and translates I/O requests

• There’s always a VSP/VSC pair

• VMBus (virtual machine bus)

• A high-speed point-to-point in-memory bus

• Allows the communication between VSPs and VSCs through Hyper-V

• For Linux, every VSC has a DIM (Driver Interface Mapper)

• DIMs interact with the Linux Kernel like any other driver

• There’s also a “VSC core” based on each existing VSP

Emulated vs. enlightened

• Emulated drivers• Drivers are “emulated”

• All requests targeting the hardware (HDD, network, etc) are not direct

• “Translated” in both directions (VM-hw, hw-VM) by the hypervisor

• They bring in a performance overhead

• The emulated drivers are pretty similar to what we had in Virtual Server:

• Video = S3 Trio64+ SVGA (VESA)

• Network = Intel/DEC ”Tulip” 21x4x

• IDE = Intel 440BX chipset MB

• ”Enlightened” drivers• Also known as “synthetic drivers”

• These make the VM ”hypervisor aware”

• Written especially for virtualized environments => paravirtualization

• They’re basically just pointers to the drivers in the ”parent partition”

• Huge performance boost!

• What’s been done so far?

• July 2009 – Microsoft contributes with over 20.000 lines of code in the Linux kernel

• December 2009 – The drivers (in staging) are included in the 2.6.32 Kernel

• July 1st 2010 – Microsoft presents at the Red Hat Summit

• Official support list: http://technet.microsoft.com/en-us/library/cc794868(WS.10).aspx

• Linux Integration Services 2.1 RTM (July 29th 2010)

• SUSE Linux Enterprise Server (10 SP1/SP2/SP3, 11)

• Red Hat Enterprise Linux (5.2, 5.3, 5.4, 5.5)

• Linux Integration Services 3.2 RTM (January 12th 2012)

• Red Hat Enterprise Linux 6.0 and 6.1 x86 and x64 (Up to 4 vCPU)

• CentOS 6.0/6.1 x86 and x64 (Up to 4 vCPU)

• Requirements

• A Linux ISO or DVD, using distributions based on the 2.6.16-27 or 2.6.32+ Linux kernel

• Linux Development Tools (gcc, kernel-devel / linux source) for older versions of the IS

• Linux Integration Services for Hyper-V

• (optional) Enlightened mouse driver

• Total install duration: ~40-45 minutes

The road so far

• There’s no need for the Integration Services to install Linux on Hyper-V

• Most distributions work just fine in an emulated environment (lower performance)

• So why don’t we have more supported Linux distros?

• …such as Hannah Montana Linux - http://hannahmontana.sourceforge.net/

• The answer is simple: there are no companies to offer dedicated support

• Support is usually offered by the community

• Microsoft doesn’t have anyone to create a support agreement with

• They don’t officially cover these under standard support incidents

• They do recommend the communities for help (MVPs, Linux distro-related communities)

• Users have reported successful installs of:

• Ubuntu, Debian, Fedora, CentOS, other distros (e.g. Hannah Montana Linux)

• Even FreeBSD and Open Solaris

Linux ”unofficial” support

The road to “enlightment”

• Driver support for synthetic devices (v1 – original distro code, created by Citrix)• Synthetic network controller & Synthetic storage controller (IDE/SCSI)

• Fastpath Boot Support for Hyper-V (v2.0 – December 2009)• Block VSC – increased boot performance

• Timesync (v2.1 – July 2010)• The clock inside the virtual machine will remain synchronized with the clock on the host

• Integrated Shutdown (v2.1 – July 2010)• VMs can be cleanly shut down from Hyper-V

• Symmetric Multi-Processing (SMP) Support (v2.1 – July 2010)• Supported Linux distributions can use up to 4 virtual processors (VP) per virtual machine

• Heartbeat (v2.1 – July 2010)• Allows the host to detect whether the guest is running and responsive

• Pluggable Time Source (v2.1 – July 2010)• A pluggable clock source module is included to provide a more accurate time source to the guest.

• KVP (Key Value Pair) Exchange (v3.1 – July 2011)• Information about the running Linux VM can be obtained by using the Key Value Pair exchange functionality on the host

(FQDN, Linux IS version, IP addresses, OS version/distro/kernel, CPU architecture x86/x64)

• Integrated Mouse Support (v3.2 – January 2012)• The cursor is no longer bound to the VMConnect window when used with the Linux Graphical User Interface

• http://www.xen.org/products/satori.html

• A collaboration project between Citrix and Microsoft

• The main components of project Satori became Linux IS for Hyper-V

• The old Linux IS did not have ”input devices” support

• No mouse support in “non-enlightened” guests accessed through cascaded TS/RDP

• Workaround: local Hyper-V Console (RSAT) or direct connection into the VM

• The “captured mouse” experience on Linux guests is not fun

• Most Linux installs don’t need a GUI

• Project Satori brings in InputVSC

• Enlightened mouse drivers

• They require Linux IS 2.x to be installed

• Root access required

• Available under a GPL 2.0 license

Project Satori

Comparing to IS on Windows

• Synthetic Drivers

• IDE driver

• SCSI driver

• Network Drive

• Mouse Integration

• Video

• Integration Services

• Operating System Shutdown

• Time Synchronization

• Heartbeat

• Data Exchange

• Backup (VSS)

TechEd 2010 - WSV305

IS on WindowsTechEd 2010 - WSV305

IS on WindowsTechEd 2010 - WSV305

• Red Hat updates

– yum install kernel-devel

– yum groupinstall "development tools"

– yum update

• SLES updates

– yast –i kernel-devel

– yast –i kernel-source

– yast –i gcc

Linux IS v2.1 prerequisitesTechEd 2010 - WSV305

Installing Linux IS – RHEL 5 x64TechEd 2010 - WSV305

Installing Linux IS – SLES 10 SP2TechEd 2010 - WSV305

Linux IS v2.1 installation

• Copy the .iso content locallymkdir -p /mnt/cdrom

mount /dev/cdrom /mnt/cdrom

cp -rp /mnt/cdrom /opt/linux_is

umount /mnt/cdrom

• Install the driverscd /opt/linux_is

make

make install

• Before IS 2.1, the install was done using a Perl script./setup.pl drivers

• Reboot

Linux IS v3.2 installation

• Linux IS 3.x brings RPM support

• Install the driversmount /dev/cdrom /media

cd /media

./install.sh

•Reboot the VM

Verifying the install - lsmodTechEd 2010 - WSV305

Verifying the install - GUITechEd 2010 - WSV305

modinfo support (Linux IS 2.1+)TechEd 2010 - WSV305

modinfo support (Linux IS 2.1+)TechEd 2010 - WSV305

Wrap-up: Linux IS components

• hv_vmbus - VMBus

• hv_storvsc – storage VSC

• hv_netvsc – network VSC

• hv_timesource – pluggable time source

• hv_mouse – enlightened mouse

• hv_utils – graceful shutdown, timesync, heartbeat

Linux IS on 2.6.32+ Kernel

Example: Ubuntu 10.4 LTS

TechEd 2010 - WSV305

• Edit /etc/initramfs-tools/modules

– sudo gedit /etc/initramfs-tools/modules

• Add the following lines:

– hv_vmbus

– hv_storvsc

– hv_blkvsc

– hv_netvsc

• Update

– sudo update-initramfs –u

• Reboot

Linux IS on 2.6.32+ Kernel TechEd 2010 - WSV305

• You can verify the install just like before

– /sbin/lsmod | grep vsc

Linux IS on 2.6.32+ Kernel TechEd 2010 - WSV305

Ubuntu Server 10.10 x64

http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/10/21/installing-ubuntu-server-10-10-on-hyper-v.aspx

Ubuntu Server 10.10 x64

Ubuntu Server 10.10 x64

Ubuntu Server 10.10 x64

Ubuntu Server 10.10 x64

Ubuntu Server 10.10 x64

Ubuntu Server 10.10 x64

Ubuntu Server 10.10 x64

Ubuntu Server 10.10 x64

Ubuntu Server 10.10 x64

Ubuntu Server 10.10 x64

Ubuntu Server 10.10 x64

Ubuntu Server 10.10 x64

Ubuntu Server 10.10 x64

SCRIPTING EVERYTHING

Native PowerShell support and in-box metering

Hyper-V Resource Meters

• Historic Resource utilization information• Persistent through live migrations

Network• Incoming & Outgoing

Traffic per IP Address Range

Storage• High Water-Mark Disk

AllocationMemory• Low & High Water-Mark

Memory Utilization• Average Memory

UtilizationCPU• Average CPU Utilization

LINUX P2V

Converting Linux physical machines to Hyper-V VMs

http://blogs.technet.com/b/enterprise_admin/archive/2010/05/13/linux-p2v-with-dd-and-vhdtool-easy-and-cheap.aspx

• You can use DD and VHDtool

– DD works both on Windows and Linux

– One case: you attach the Linux HDD on a Windows machine

Linux P2V conversionTechEd 2010 - WSV305

• From a command line, you convert the HDD into a RAW image format (.img)• dd if=\\?\Device\Harddisk1\DR2 of=D:\rhel54.img bs=1M --progress

Linux P2V (DD)TechEd 2010 - WSV305

http://archive.msdn.microsoft.com/vhdtool

• A command-line tool, open-source

– Includes functions to manipulate VHD files (create, convert, extend, repair)

– An excelent P2V conversion tool for Linux machines

– It convers RAW images into VHDs

Linux P2V (VHDTool)TechEd 2010 - WSV305

DD on Linux to NTFS/USB drive

DD on Linux over the network

BACKING UP LINUX VMS

System Center Data Protection Manager

DPM for Hyper-V

OFFLINEONLINE

OS supports VSS

Recursive VSS call

OS without VSS

Save VM state

DPMAGENT

Linux

DPM, non-VSS aware guests

1. DPM marks the start of the backup

2. Save OS state (<1 min)(hibernate, save RAM)

3. VSS snapshot (~10 sec)

4. Resume OS

5. Actual DPM backup is taken

OFF

LIN

E

MAP TOOLKIT 6.5

Heterogeneous network-wide inventory tool

MAP Toolkit 6.5

http://technet.microsoft.com/en-us/library/bb977556.aspx

• Secure, agentless, network-wide inventory• Windows XP Professional, Vista, 7

• Office 2010 and previous versions

• Windows Server 2008 or Windows Server 2008 R2

• Windows Server 2003 or Windows Server 2003 R2

• Windows 2000 Professional or Windows 2000 Server

• Windows Internet Explorer 9 and previous versions

• VMware vSphere, vCenter, ESX, ESXi, Server

• Selected Linux distributions

• LAMP application stack discovery

• SQL Server

• MySQL

• Oracle

• Sybase

• Hyper-V

MAP ToolkitTechEd 2010 - WSV305

MAP ToolkitTechEd 2010 - WSV305

THE FUTURE OF LINUX IS

Upcoming Functionality

• Dynamic Memory for Linux guests

• Ballooning only for first implementation

• Bi-Directional KVP

• Jumbo Frames

• VLAN Tag support (requires Win8)

• 802.1q support (requires Win8)

• Ubuntu 12.04 LTS support

Driver Status

Drivers getting out of staging:

• Kernel v3.2: hv_vmbus, hv_utils

• Kernel v3.3: hv_netvsc; hv_mouse

• Kernel v3.4: hv_storvsc

Net Result:

• All Hyper-V drivers out of staging and part of the

mainline Linux kernel by v3.4

• Linux = first-class citizen on Hyper-V

Q&A

Don’t forget to submit

your feedback and win a

great Nokia smartphone

and Kindle e-reader!

top related