linux on hyper-v

59
Linux on Hyper-V Tudor Damian, Microsoft Virtual Machine MVP @tudydamian – www.tudy.tel

Upload: tudor-damian

Post on 15-May-2015

5.608 views

Category:

Technology


1 download

DESCRIPTION

MS Days 2012, Bulgaria

TRANSCRIPT

Page 1: Linux on Hyper-V

Linux on Hyper-V

Tudor Damian, Microsoft Virtual Machine MVP

@tudydamian – www.tudy.tel

Page 2: Linux on Hyper-V

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

Page 3: Linux on Hyper-V

Hyper-V architecture

Page 4: Linux on Hyper-V

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

Page 5: Linux on Hyper-V

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!

Page 6: Linux on Hyper-V

• 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

Page 7: Linux on Hyper-V

• 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

Page 8: Linux on Hyper-V

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

Page 9: Linux on Hyper-V

• 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

Page 10: Linux on Hyper-V

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

Page 11: Linux on Hyper-V

IS on WindowsTechEd 2010 - WSV305

Page 12: Linux on Hyper-V

IS on WindowsTechEd 2010 - WSV305

Page 13: Linux on Hyper-V

• 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

Page 14: Linux on Hyper-V

Installing Linux IS – RHEL 5 x64TechEd 2010 - WSV305

Page 15: Linux on Hyper-V

Installing Linux IS – SLES 10 SP2TechEd 2010 - WSV305

Page 16: Linux on Hyper-V

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

Page 17: Linux on Hyper-V

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

Page 18: Linux on Hyper-V

Verifying the install - lsmodTechEd 2010 - WSV305

Page 19: Linux on Hyper-V

Verifying the install - GUITechEd 2010 - WSV305

Page 20: Linux on Hyper-V

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

Page 21: Linux on Hyper-V

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

Page 22: Linux on Hyper-V

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

Page 23: Linux on Hyper-V

Linux IS on 2.6.32+ Kernel

Example: Ubuntu 10.4 LTS

TechEd 2010 - WSV305

Page 24: Linux on Hyper-V

• 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

Page 25: Linux on Hyper-V

• You can verify the install just like before

– /sbin/lsmod | grep vsc

Linux IS on 2.6.32+ Kernel TechEd 2010 - WSV305

Page 26: Linux on Hyper-V

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

Page 27: Linux on Hyper-V

Ubuntu Server 10.10 x64

Page 28: Linux on Hyper-V

Ubuntu Server 10.10 x64

Page 29: Linux on Hyper-V

Ubuntu Server 10.10 x64

Page 30: Linux on Hyper-V

Ubuntu Server 10.10 x64

Page 31: Linux on Hyper-V

Ubuntu Server 10.10 x64

Page 32: Linux on Hyper-V

Ubuntu Server 10.10 x64

Page 33: Linux on Hyper-V

Ubuntu Server 10.10 x64

Page 34: Linux on Hyper-V

Ubuntu Server 10.10 x64

Page 35: Linux on Hyper-V

Ubuntu Server 10.10 x64

Page 36: Linux on Hyper-V

Ubuntu Server 10.10 x64

Page 37: Linux on Hyper-V

Ubuntu Server 10.10 x64

Page 38: Linux on Hyper-V

Ubuntu Server 10.10 x64

Page 39: Linux on Hyper-V

Ubuntu Server 10.10 x64

Page 40: Linux on Hyper-V

SCRIPTING EVERYTHING

Native PowerShell support and in-box metering

Page 41: Linux on Hyper-V

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

Page 42: Linux on Hyper-V

LINUX P2V

Converting Linux physical machines to Hyper-V VMs

Page 43: Linux on Hyper-V

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

Page 44: Linux on Hyper-V

• 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

Page 45: Linux on Hyper-V

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

Page 46: Linux on Hyper-V

DD on Linux to NTFS/USB drive

Page 47: Linux on Hyper-V

DD on Linux over the network

Page 48: Linux on Hyper-V

BACKING UP LINUX VMS

System Center Data Protection Manager

Page 49: Linux on Hyper-V

DPM for Hyper-V

OFFLINEONLINE

OS supports VSS

Recursive VSS call

OS without VSS

Save VM state

DPMAGENT

Linux

Page 50: Linux on Hyper-V

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

Page 51: Linux on Hyper-V

MAP TOOLKIT 6.5

Heterogeneous network-wide inventory tool

Page 52: Linux on Hyper-V

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

Page 53: Linux on Hyper-V

MAP ToolkitTechEd 2010 - WSV305

Page 54: Linux on Hyper-V

MAP ToolkitTechEd 2010 - WSV305

Page 55: Linux on Hyper-V

THE FUTURE OF LINUX IS

Page 56: Linux on Hyper-V

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

Page 57: Linux on Hyper-V

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

Page 58: Linux on Hyper-V

Q&A

Page 59: Linux on Hyper-V

Don’t forget to submit

your feedback and win a

great Nokia smartphone

and Kindle e-reader!