desktop virtualisation

21
Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence. 1 Desktop Desktop Virtualisation Virtualisation Adam John Trickett Adam John Trickett www.iredale.net [email protected] PGP Key: 0xAF0DB8C8

Upload: adam-trickett

Post on 18-May-2015

753 views

Category:

Technology


0 download

DESCRIPTION

A brief Introduction to desktop virtualisation technology

TRANSCRIPT

Page 1: Desktop Virtualisation

Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.

1

Desktop Desktop VirtualisationVirtualisation

Adam John TrickettAdam John Trickett

[email protected]

PGP Key: 0xAF0DB8C8

Page 2: Desktop Virtualisation

Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.

2

In The Beginning...In The Beginning...

• Computers were:• Very Expensive• Very Rare• Very slow• Ran one thing at a time• Ran for only one user

Page 3: Desktop Virtualisation

Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.

3

Time Passes...Time Passes...

• By the 1960s computers are:• Still expensive• Getting more common• Getting faster• Required to do more than one things at one

Page 4: Desktop Virtualisation

Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.

4

MulticsMultics

• Started in 1964• MIT, GE & Bell Labs• Multi-user, multi-tasking system• Gave rise to Unix and hence Linux

• Last Multics system decommissioned 30/10/2000

Page 5: Desktop Virtualisation

Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.

5

Virtual MachinesVirtual Machines

• Pioneered by IBM in the 1960s• 1966 IBM CP-40 & CP-67• 1972 IBM System/370 & VM370

Page 6: Desktop Virtualisation

Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.

6

Virtual V MultitaskingVirtual V Multitasking

• Run lots of programs at the same time

• Lots of users at the same time

• Can run on their own kernel

• Run lots of programs at the same time

• Lots of users at the same time

• All running on the same kernel

Page 7: Desktop Virtualisation

Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.

7

Time Passes...Time Passes...

• Computers get faster and cheaper• IBM VM systems get smarter• IBM VM systems run multitasking software• Unix systems get smarter• Unix systems run using hardware assisted VM

• IBM release the “PC” using the Intel 8086

Page 8: Desktop Virtualisation

Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.

8

PCsPCs

• Primitive processor• Limited memory• Primitive single user operating system:

• No multi-tasking• No VM• Reboot becomes a way of life

• Cheap

Page 9: Desktop Virtualisation

Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.

9

Time Passes...Time Passes...

• Processors get a lot faster• Memory gets cheap and fast• Operating systems grow up, Windows NT and

Linux• Multi-user• Pre-emptive multi-tasking• BSOD for some users...!

Page 10: Desktop Virtualisation

Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.

10

Machine EmulatorsMachine Emulators

• Desktop computers are fast enough to fully emulate the complete hardware of an older slower system, e.g.

• VersatIle Commodore Emulator• DOSbox• MESS

Page 11: Desktop Virtualisation

Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.

11

QQEMUEMU

• Can emulate several processors• Can emulate several hardware platforms• Contains framework to run a virtual system on

a regular PC• Sub-component used by other emulators

Page 12: Desktop Virtualisation

Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.

12

Qemu ComponentsQemu Components

• CPU emulators• Firmware• VGA graphics emulator• IDE subsystem & virtual disks• Network subsystem• PS/2 mouse and keyboard• Sound etc

Page 13: Desktop Virtualisation

Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.

13

CLI InvocationCLI Invocation

• Create a virtual file system:

qemu create -f qcow2 vdisk.qcow2 10G• Start a Qemu session:

qemu-system-x86_64 -boot c \

-hda vdisk.qcow2 -cdrom cd.iso \

-soundhw all -m 256 -localtime -k en-gb \

-net nic -net user

Page 14: Desktop Virtualisation

Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.

14

Kqemu / “Qemu Accelerator”Kqemu / “Qemu Accelerator”

• Kernel module• Guest usermode code runs directly on host

CPU• Does not require special CPU• Only x86 or AMD64• Same scripts as Qemu• Some old or odd OS wont run under kqemu

Page 15: Desktop Virtualisation

Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.

15

KVM QEMUKVM QEMU

• Kernel module – in mainline kernel• KVM an alternative to kqemu

• Can be used just like Kqemu/Qemu

• Requires CPU x86/AMD64 with virtualisation features

Page 16: Desktop Virtualisation

Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.

16

VirtualBoxVirtualBox

• Three Licences:• Open source• Proprietary personal• Proprietary commercial

• Uses some parts of Qemu• Built in Qt based GUI and CLI• Guest OS drivers• Can use hardware virtualisation if available

Page 17: Desktop Virtualisation

Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.

17

ComparisonComparison

• Qemu/KQemu/KVM• CLI no native GUI• Can use CPU

virtualisation• Guest graphics

performance poor• Support for older

hardware

• VirtualBox• GUI or CLI• Can use CPU

virtualisation• Good guest graphics

performance• Older OS hardware

problems

Page 18: Desktop Virtualisation

Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.

18

ConclusionConclusion

• Use VirtualBox, unless:• Host not x86/AMD64 CPU• Guest not x86/AMD64 CPU• Old guest e.g. Windows 95• Don't need a GUI

Page 19: Desktop Virtualisation

Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.

19

DemoDemo

Page 20: Desktop Virtualisation

Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.

20

ResourcesResources

• http://www.iredale.net/p/by-type/talk/• http://www.hants.lug.org.uk/• http://www.slideshare.net/

Page 21: Desktop Virtualisation

Version 1.0.0 © Adam Trickett, February-2010 Distributed under a creative commons Attribution-NonCommercial-ShareAlike licence.

21

ThankThank You You

Any Any Questions?Questions?