Virtualization Overview NSRC

Similar documents
Cloud and Datacenter Networking

Introduction to Virtualization. From NDG In partnership with VMware IT Academy

VMware Server. Virtual PC Basics. VMware is a registered trademark of VMware, Inc. (an EMC company).

Chapter 02: Working with Oracle VM VirtualBox 5

Chapter 5 C. Virtual machines

Oracle(SUN) Virtual box another virtual platform

How to Install Oracle VM VirtualBox and Create a Virtual Machine

Network+ Guide to Networks 7 th Edition

A Survey on Virtualization Technologies

Red Hat Virtualization 4.1 Technical Presentation May Adapted for MSP RHUG Greg Scott

Application Note. P2V and V2V Concepts for Scale Computing HC³

Figure 1: Creating new VM in VirtualBox. Please change the parameters and options, and make them exactly like the following figure.

CS370 Operating Systems

VirtualBox. Turning one computer into many. 0. Contents. 1. What is Virtualization? 2. Uses for Virtualization. Jonathan Marsden.

Operating Systems 4/27/2015

OS Structure. Kevin Webb Swarthmore College January 25, Relevant xkcd:

Painless switch from proprietary hypervisor to QEMU/KVM. Denis V. Lunev

Live block device operations in QEMU

Mac Os X Snow Leopard Virtualbox Image And Linux Host

Network+ Guide to Networks 6 th Edition

VMware vsphere with ESX 4 and vcenter

Virtualization, Xen and Denali

OPERATING SYSTEMS Chapter 13 Virtual Machines. CS3502 Spring 2017

Lecture 5: February 3

CHAPTER 11: IMPLEMENTING FILE SYSTEMS (COMPACT) By I-Chen Lin Textbook: Operating System Concepts 9th Ed.

Preparing Virtual Machines for Cisco APIC-EM

VIRTUAL MACHINES. By Seth Lemanek

Memory Management. Disclaimer: some slides are adopted from book authors slides with permission 1

Preparing Virtual Machines for Cisco APIC-EM

Distributed Systems COMP 212. Lecture 18 Othon Michail

CIT 480: Securing Computer Systems. Operating System Concepts

4.1. Virtualization. Virtualization provides the following benefits:

Virtualization with VMware ESX and VirtualCenter SMB to Enterprise

Knut Omang Ifi/Oracle 6 Nov, 2017

Module 1: Virtualization. Types of Interfaces

Spring 2017 :: CSE 506. Introduction to. Virtual Machines. Nima Honarmand

About the XenClient Enterprise Solution

Virtualization. ...or how adding another layer of abstraction is changing the world. CIS 399: Unix Skills University of Pennsylvania.

CSE543 - Computer and Network Security Module: Virtualization


Lecture 09: VMs and VCS head in the clouds

Bacula Systems Virtual Machine Performance Backup Suite

Course Review. Hui Lu

COMP091 Operating Systems 1. File Systems

The Challenges of X86 Hardware Virtualization. GCC- Virtualization: Rajeev Wankar 36

Your Own Virtual Playground. CS 1585 :: Doug McGeehan

Software SIParator / Firewall

OS10 Virtualization Guide. Enterprise Edition

OPS-9: Fun With Virtualization. John Harlow. John Harlow. About John Harlow

ABOUT ZEPCAM SOFTWARE INSTALLATION MANAGEMENT AND BACKUPS. Description What is it Installation requirement Server requirement

Using MySQL in a Virtualized Environment. Scott Seighman Systems Engineer Sun Microsystems

CHAPTER 16 - VIRTUAL MACHINES

VMware Overview VMware Infrastructure 3: Install and Configure Rev C Copyright 2007 VMware, Inc. All rights reserved.

Xen Summit Spring 2007

AKIPS Network Monitor Installation, Configuration & Upgrade Guide Version 17. AKIPS Pty Ltd

CSCI 8530 Advanced Operating Systems. Part 19 Virtualization

Exam : VMWare VCP-310

Chapter 10: File System Implementation

Operating Systems (2INC0) 2018/19. Introduction (01) Dr. Tanir Ozcelebi. Courtesy of Prof. Dr. Johan Lukkien. System Architecture and Networking Group

Virtual Pc Manual Windows 7 64 Bit Guest Os

Virtualization. join, aggregation, concatenation, array, N 1 ühendamine, agregeerimine, konkateneerimine, massiiv

CS 390 Chapter 8 Homework Solutions

INNOV-4: Fun With Virtualization. Or, How I learned to love computers that don t really exist...

A block layer overview. Red Hat Kevin Wolf 8 November 2012

Lab #5 Guide: Installing Ubuntu as a Virtual Machine

IO virtualization. Michael Kagan Mellanox Technologies

Background. IBM sold expensive mainframes to large organizations. Monitor sits between one or more OSes and HW

Practical Exercises of Computer system security course


Lab Install Windows 8

Advanced Cloud Infrastructures

I/O and virtualization

Hypervisor security. Evgeny Yakovlev, DEFCON NN, 2017

FAQ FOR VMWARE SERVER 2 - AUGUST, 2008

Chapter 11: Implementing File

Guide to Networking Essentials, 6 th Edition. Chapter 7: Network Hardware in Depth

Installing Linux (Chapter 8) Note packet # 4. CSN 115 Operating Systems Ken Mead Genesee Community College. Objectives

CS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University

Chapter 11: Implementing File Systems. Operating System Concepts 9 9h Edition

Chapter 11: Implementing File Systems

Cloud Networking (VITMMA02) Server Virtualization Data Center Gear

Virtualization (II) SPD Course 17/03/2010 Massimo Coppola

Nested Virtualization and Server Consolidation

Vendor: EMC. Exam Code: E Exam Name: Cloud Infrastructure and Services Exam. Version: Demo

Chapter 5 (Part II) Large and Fast: Exploiting Memory Hierarchy. Baback Izadi Division of Engineering Programs

File system internals Tanenbaum, Chapter 4. COMP3231 Operating Systems

CSE543 - Computer and Network Security Module: Virtualization

Virtual Memory #2 Feb. 21, 2018

This is Lab Worksheet 7 - not an Assignment

Virtualization for Desktop Grid Clients

Week 12: File System Implementation

Chapter 12: File System Implementation

Unit 5: Distributed, Real-Time, and Multimedia Systems

KVM Guest Management With Virt-Manager On Ubuntu 8.10

Simple custom Linux distributions with LinuxKit. Justin Cormack

memory management Vaibhav Bajpai

Installation and Setup Guide

Format Hard Drive After Install Ubuntu From Usb External

Virtualization. Pradipta De

How to Handle Globally Distributed QCOW2 Chains? Eyal Moscovici & Amit Abir Oracle-Ravello

Transcription:

Virtualization Overview NSRC

Terminology Virtualization: dividing available resources into smaller independent units Emulation: using software to simulate hardware which you do not have The two often come hand-in-hand e.g. we can virtualize a PC by using it to emulate a collection of less-powerful PCs

Benefits Consolidation Most systems are under-utilized, especially the CPU is idle for much of the time Do more work with less hardware Reduced space and power requirements Management Less hardware inventory to manage Concentrate your resilience efforts Increased isolation between services Abstract away (hide) differences in hardware

Benefits Flexibility Grow systems on demand (e.g. allocate more CPU or RAM where it is needed) Create new services quickly without having to install new hardware every time Dynamically create and destroy instances for testing and development New capabilities Snapshot/restore, cloning, migration, Run different OSes on the same machine at once

Virtualization: a familiar example real drive C: 200GB 500GB D: 300GB virtual drive virtual drive Who has not seen this before?! Like having two (or more) hard drives you get to choose the sizes Why is this useful?

How does partitioning work? 0 500000 C: D: Partition table start offset end 1 100 199999 2 200000 500000 Partition table is an example of metadata When the OS wants to access the N th block, the real disk access is block (N+offset)

Implementation: translation layer block translation "read C: block 5" "read SATA block 105" Very simple and fast: just add offset Data is contiguous on disk Moving/resizing a partition can require copying all the data on the disk :-(

Another example Virtualize a switch: VLANs like dividing a switch into separate switches Benefits: can keep traffic separate (broadcast domains) can create VLANs and how they are assigned to ports, purely through software configuration can combine VLANs onto a single cable and split them out again (tagging/trunking)

VLANs

Emulation In software, you can simulate the behaviour of a device which doesn't exist Example: emulation of a CD-ROM drive using an ISO file a request to read block N of the (virtual) CD-ROM drive instead reads block N of the ISO file similar to partition mapping You can simulate any hardware - including the CPU or an entire system!

Entire system emulation - examples Android SDK Emulates an Android smartphone with ARM CPU The "screen" is mapped to a window on your PC

Emulated devices There is no physical phone hardware So when the software executes an instruction which tries to write to the "screen", this is intercepted and does something else It instead updates a buffer in memory which then gets drawn in a window The software running inside the emulator is unaware that this is happening

More system emulation examples Dynamips / Dynagen / GNS3 Emulates a Cisco router with MIPS CPU and network interfaces QEMU Emulates an entire PC (i386 processor and interfaces)

What's in a PC? CPU + RAM BIOS SATA interface Network interface Graphics Card USB, Serial etc C:>

Boot up sequence A small program (the BIOS) runs when machine is switched on It uses the hardware to load an operating system boot from hard drive, USB/CD-ROM, network... Modern operating systems then ignore the BIOS from that point onwards The next slide shows a machine after it has booted up (simplified)

user process user process user process syscall API and libraries filesystem network stack Kernel device driver device driver device driver device driver SATA interface Network interface Graphics Card USB, Serial etc C:>

Points to note The device drivers in the OS interact with the hardware User processes are forbidden by the OS from interacting directly with the hardware the OS configures protection mechanisms to enforce this

What we need To emulate a PC we must emulate all the components of the PC hard disk interface, network card graphics card, keyboard, mouse clock, memory management unit etc We want multiple instances to co-exist and not be able to interfere with each other access to memory must also be controlled The software to do this is called a hypervisor

Virtual machine 1 Virtual machine 2 user process user process user process user process user process user process emulated hardware filesystem syscall API and libraries network stack Kernel filesystem syscall API and libraries network stack Kernel device driver device driver device driver device driver device driver device driver device driver device driver SATA interface Network interface Graphics Card USB, Serial etc SATA interface Network interface Graphics Card USB, Serial etc HYPERVISOR SATA interface Network interface Graphics Card USB, Serial etc C:>

Virtual Machines Each emulated PC is a "virtual machine" Hypervisor allocates some real system RAM to each VM, and shares the CPU time Hypervisor emulates other hardware, e.g. disk and network interfaces Within each VM you can boot an operating system Full hardware virtualization means different VMs can be running different OSes

Virtualization terminology The host is the machine running the emulation The guest is the emulated (virtual) machine One host could be running many guests Guest OS Guest OS Host (OS + Hypervisor)

* Even so-called "bare-metal" or "Type 1" Hypervisors include a cut-down operating system The Hypervisor Note that the Hypervisor itself is a component of an operating system * It needs device drivers, a filesystem, a network stack for remote management, etc So there is a host OS for the hypervisor, plus guest OSes

Emulated disk hardware A hard drive is a "block device" OS makes requests like "read block number 42", "write block number 99" Real hard drives have a fixed size! This is what the guest OS will expect to see So the hypervisor must redirect these accesses to something else

Emulated disk hardware Options include: a disk image file on the host (simple) a partition or logical volume on the host (faster) a remote file or remote block device (via network) A disk image file is easy to backup and transfer from host to host There are different ways to make a disk image file. Suppose we want the guest to see a 10GB virtual hard drive?

Options for a 10GB image file (1) A "raw" file is a just a plain 10GB data file N th block of the virtual hard drive corresponds to the N th block in the image file if this is allocated up-front, you use 10GB of (hopefully) contiguous space on the host Fast in operation, avoids fragmentation on the host Wasteful of space Slow to create Slow to copy

Options for a 10GB image file (2) Some OSes support "sparse" files or "holes" still looks like a plain 10GB file doesn't allocate space until each block is written to reading from unallocated space reads zeros the size of the file ("ls -l") is larger than the disk space used by the file ("ls -s" or "du") can lead to fragmentation can lead to failures if filesystem becomes full if you are not careful, may expand to full 10GB when you copy it

Options for a 10GB image file (3) Custom VM image format with header and data doesn't require OS support for sparse files can be copied without losing its "sparseness" also leads to fragmentation, unless you pre-allocate all the space Various formats, e.g. VDI (virtualbox), VMDK (VMware), QCOW2 (qemu/kvm) Also add features like snapshots

Disk image types Raw file (preallocated) Raw file (sparse) Growable image file H Pre-allocated image file H

Emulated network hardware Each guest NIC gets a fake MAC address Different ways to interconnect with host NIC "NAT": outbound packets translated to share the host's IP address "Bridging": packets sent/received untranslated over the host's physical NIC Each VM gets its own IP address on the ext network More transparent Does not always work on wireless NICs though

Summary Virtualization can make better use of your hardware by emulating more machines than you really have The emulated environment is provided by a hypervisor The hypervisor (host) lets you start up virtual machines (guests) each with its own operating system and emulated devices Guest hardware emulated using resources on the host