topic 14: operating systems and virtualization

Post on 18-Nov-2014

633 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Cloud Computing Workshop 2013, ITU

TRANSCRIPT

14: Operating Systems and Virtualization

Zubair Nabi

zubair.nabi@itu.edu.pk

April 21, 2013

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 1 / 24

Outline

1 Operating Systems

2 Virtualization

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 2 / 24

Outline

1 Operating Systems

2 Virtualization

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 3 / 24

Introduction

Linux is the default choice

Due to its performance, modularity, power efficiency, scalability, opensource nature, and ubiquity

Deployed by everyone, from Google to Dell and from Amazon to IBM

But which distribution?

All distros have different features

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 4 / 24

Introduction

Linux is the default choice

Due to its performance, modularity, power efficiency, scalability, opensource nature, and ubiquity

Deployed by everyone, from Google to Dell and from Amazon to IBM

But which distribution?

All distros have different features

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 4 / 24

Introduction

Linux is the default choice

Due to its performance, modularity, power efficiency, scalability, opensource nature, and ubiquity

Deployed by everyone, from Google to Dell and from Amazon to IBM

But which distribution?

All distros have different features

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 4 / 24

Introduction

Linux is the default choice

Due to its performance, modularity, power efficiency, scalability, opensource nature, and ubiquity

Deployed by everyone, from Google to Dell and from Amazon to IBM

But which distribution?

All distros have different features

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 4 / 24

Introduction

Linux is the default choice

Due to its performance, modularity, power efficiency, scalability, opensource nature, and ubiquity

Deployed by everyone, from Google to Dell and from Amazon to IBM

But which distribution?

All distros have different features

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 4 / 24

Distributions

Distributions overlap in most of their functionality

Many share a common package managerI CentOS, Red Hat, and Fedora use RPM packagesI Ubuntu and Debian use APT or .deb packages

Almost all distributions will run any type of software

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 5 / 24

Distributions

Distributions overlap in most of their functionalityMany share a common package manager

I CentOS, Red Hat, and Fedora use RPM packagesI Ubuntu and Debian use APT or .deb packages

Almost all distributions will run any type of software

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 5 / 24

Distributions

Distributions overlap in most of their functionalityMany share a common package manager

I CentOS, Red Hat, and Fedora use RPM packages

I Ubuntu and Debian use APT or .deb packages

Almost all distributions will run any type of software

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 5 / 24

Distributions

Distributions overlap in most of their functionalityMany share a common package manager

I CentOS, Red Hat, and Fedora use RPM packagesI Ubuntu and Debian use APT or .deb packages

Almost all distributions will run any type of software

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 5 / 24

Distributions

Distributions overlap in most of their functionalityMany share a common package manager

I CentOS, Red Hat, and Fedora use RPM packagesI Ubuntu and Debian use APT or .deb packages

Almost all distributions will run any type of software

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 5 / 24

Ubuntu

Designed for ease of use across desktops as well as servers

Latest software versions are rolled out regularlyTwo different versions available:

1 LTS (Long Term Support) version with stable packages2 Normal version with cutting-edge packages

Due to their stability, LTS versions are deployed on production servers

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 6 / 24

Ubuntu

Designed for ease of use across desktops as well as servers

Latest software versions are rolled out regularly

Two different versions available:1 LTS (Long Term Support) version with stable packages2 Normal version with cutting-edge packages

Due to their stability, LTS versions are deployed on production servers

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 6 / 24

Ubuntu

Designed for ease of use across desktops as well as servers

Latest software versions are rolled out regularlyTwo different versions available:

1 LTS (Long Term Support) version with stable packages

2 Normal version with cutting-edge packages

Due to their stability, LTS versions are deployed on production servers

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 6 / 24

Ubuntu

Designed for ease of use across desktops as well as servers

Latest software versions are rolled out regularlyTwo different versions available:

1 LTS (Long Term Support) version with stable packages2 Normal version with cutting-edge packages

Due to their stability, LTS versions are deployed on production servers

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 6 / 24

Ubuntu

Designed for ease of use across desktops as well as servers

Latest software versions are rolled out regularlyTwo different versions available:

1 LTS (Long Term Support) version with stable packages2 Normal version with cutting-edge packages

Due to their stability, LTS versions are deployed on production servers

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 6 / 24

CentOS

Emphasizes reliability

Well-suited to production environments

Packages have been tuned over time to work out as many bugs andsecurity flaws as possible

On the downside, software versions are rarely the latest

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 7 / 24

CentOS

Emphasizes reliability

Well-suited to production environments

Packages have been tuned over time to work out as many bugs andsecurity flaws as possible

On the downside, software versions are rarely the latest

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 7 / 24

CentOS

Emphasizes reliability

Well-suited to production environments

Packages have been tuned over time to work out as many bugs andsecurity flaws as possible

On the downside, software versions are rarely the latest

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 7 / 24

CentOS

Emphasizes reliability

Well-suited to production environments

Packages have been tuned over time to work out as many bugs andsecurity flaws as possible

On the downside, software versions are rarely the latest

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 7 / 24

Red Hat Enterprise Linux (RHEL)

Targets enterprise-level servers

Stable and handles heavy loads well

Requires a small licensing fee for non-free software components andupdates

Useful if the target software/workload supports it; enterprise software

If not, better off using CentOS

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 8 / 24

Red Hat Enterprise Linux (RHEL)

Targets enterprise-level servers

Stable and handles heavy loads well

Requires a small licensing fee for non-free software components andupdates

Useful if the target software/workload supports it; enterprise software

If not, better off using CentOS

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 8 / 24

Red Hat Enterprise Linux (RHEL)

Targets enterprise-level servers

Stable and handles heavy loads well

Requires a small licensing fee for non-free software components andupdates

Useful if the target software/workload supports it; enterprise software

If not, better off using CentOS

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 8 / 24

Red Hat Enterprise Linux (RHEL)

Targets enterprise-level servers

Stable and handles heavy loads well

Requires a small licensing fee for non-free software components andupdates

Useful if the target software/workload supports it; enterprise software

If not, better off using CentOS

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 8 / 24

Red Hat Enterprise Linux (RHEL)

Targets enterprise-level servers

Stable and handles heavy loads well

Requires a small licensing fee for non-free software components andupdates

Useful if the target software/workload supports it; enterprise software

If not, better off using CentOS

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 8 / 24

Gentoo

By default forces the compilation of software rather than grabbingprecompiled packages

Achieves great system optimizations if compiler options for the targetenvironment known

Useful if fine-grained control over each aspect of the system is required

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 9 / 24

Gentoo

By default forces the compilation of software rather than grabbingprecompiled packages

Achieves great system optimizations if compiler options for the targetenvironment known

Useful if fine-grained control over each aspect of the system is required

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 9 / 24

Gentoo

By default forces the compilation of software rather than grabbingprecompiled packages

Achieves great system optimizations if compiler options for the targetenvironment known

Useful if fine-grained control over each aspect of the system is required

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 9 / 24

Arch

A distribution for experienced sysadmins

Useful if good low-level control over program execution required

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 10 / 24

Arch

A distribution for experienced sysadmins

Useful if good low-level control over program execution required

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 10 / 24

Outline

1 Operating Systems

2 Virtualization

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 11 / 24

Virtual Machine Monitor or Hypervisor

Sits between one or more operating systems and the hardware

Multiplexes the hardware across OSes

Major advantage is server consolidation

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 12 / 24

Virtual Machine Monitor or Hypervisor

Sits between one or more operating systems and the hardware

Multiplexes the hardware across OSes

Major advantage is server consolidation

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 12 / 24

Virtual Machine Monitor or Hypervisor

Sits between one or more operating systems and the hardware

Multiplexes the hardware across OSes

Major advantage is server consolidation

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 12 / 24

Xen

Hypervisor which enables many instances of different operatingsystems to run atop the same physical host

Used as the basis for a large number of applications: server anddesktop virtualization, IaaS, security, etc.

Powering some of the largest clouds in production

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 13 / 24

Xen

Hypervisor which enables many instances of different operatingsystems to run atop the same physical host

Used as the basis for a large number of applications: server anddesktop virtualization, IaaS, security, etc.

Powering some of the largest clouds in production

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 13 / 24

Xen

Hypervisor which enables many instances of different operatingsystems to run atop the same physical host

Used as the basis for a large number of applications: server anddesktop virtualization, IaaS, security, etc.

Powering some of the largest clouds in production

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 13 / 24

Features

Small footprint (1MB in size) due to its microkernel design

Main device drivers for a system can be run within a VM to ensureisolation

Paravirtualized guests optimized to run as VMs enabling greaterperformance

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 14 / 24

Features

Small footprint (1MB in size) due to its microkernel design

Main device drivers for a system can be run within a VM to ensureisolation

Paravirtualized guests optimized to run as VMs enabling greaterperformance

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 14 / 24

Features

Small footprint (1MB in size) due to its microkernel design

Main device drivers for a system can be run within a VM to ensureisolation

Paravirtualized guests optimized to run as VMs enabling greaterperformance

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 14 / 24

Architecture

The hypervisor runs directly atop the hardware

I In charge of handling CPU, memory, and I/O

Running instance of a VM is called domU or guestA special domain, called dom0, contains the drivers for all devices inthe system

I Also contains the interface for VM creation, termination, andconfiguration

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 15 / 24

Architecture

The hypervisor runs directly atop the hardwareI In charge of handling CPU, memory, and I/O

Running instance of a VM is called domU or guestA special domain, called dom0, contains the drivers for all devices inthe system

I Also contains the interface for VM creation, termination, andconfiguration

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 15 / 24

Architecture

The hypervisor runs directly atop the hardwareI In charge of handling CPU, memory, and I/O

Running instance of a VM is called domU or guest

A special domain, called dom0, contains the drivers for all devices inthe system

I Also contains the interface for VM creation, termination, andconfiguration

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 15 / 24

Architecture

The hypervisor runs directly atop the hardwareI In charge of handling CPU, memory, and I/O

Running instance of a VM is called domU or guestA special domain, called dom0, contains the drivers for all devices inthe system

I Also contains the interface for VM creation, termination, andconfiguration

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 15 / 24

Architecture

The hypervisor runs directly atop the hardwareI In charge of handling CPU, memory, and I/O

Running instance of a VM is called domU or guestA special domain, called dom0, contains the drivers for all devices inthe system

I Also contains the interface for VM creation, termination, andconfiguration

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 15 / 24

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 16 / 24

Xen-enabled operating systems

dom0 requires a Xen-enabled kernel

Similarly, paravirtualized guests also require a PV-enabled kernel

Most Linux distributions are Xen-enabled and by default contain theXen tool chain

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 17 / 24

Xen-enabled operating systems

dom0 requires a Xen-enabled kernel

Similarly, paravirtualized guests also require a PV-enabled kernel

Most Linux distributions are Xen-enabled and by default contain theXen tool chain

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 17 / 24

Xen-enabled operating systems

dom0 requires a Xen-enabled kernel

Similarly, paravirtualized guests also require a PV-enabled kernel

Most Linux distributions are Xen-enabled and by default contain theXen tool chain

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 17 / 24

I/O

dom0 is in charge of all hardware

Based on the configuration of a domU, dom0 exports a subset of thedevices into that domUDevices are exported as “class devices”

I A block device or a network device, not as a specific hardware device

dom0 runs the backend of the device which is connected to thefrontend in the domU

I netback and netfront in case of network devices and blockback andblockfront in case of block devices

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 18 / 24

I/O

dom0 is in charge of all hardware

Based on the configuration of a domU, dom0 exports a subset of thedevices into that domU

Devices are exported as “class devices”I A block device or a network device, not as a specific hardware device

dom0 runs the backend of the device which is connected to thefrontend in the domU

I netback and netfront in case of network devices and blockback andblockfront in case of block devices

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 18 / 24

I/O

dom0 is in charge of all hardware

Based on the configuration of a domU, dom0 exports a subset of thedevices into that domUDevices are exported as “class devices”

I A block device or a network device, not as a specific hardware device

dom0 runs the backend of the device which is connected to thefrontend in the domU

I netback and netfront in case of network devices and blockback andblockfront in case of block devices

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 18 / 24

I/O

dom0 is in charge of all hardware

Based on the configuration of a domU, dom0 exports a subset of thedevices into that domUDevices are exported as “class devices”

I A block device or a network device, not as a specific hardware device

dom0 runs the backend of the device which is connected to thefrontend in the domU

I netback and netfront in case of network devices and blockback andblockfront in case of block devices

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 18 / 24

I/O

dom0 is in charge of all hardware

Based on the configuration of a domU, dom0 exports a subset of thedevices into that domUDevices are exported as “class devices”

I A block device or a network device, not as a specific hardware device

dom0 runs the backend of the device which is connected to thefrontend in the domU

I netback and netfront in case of network devices and blockback andblockfront in case of block devices

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 18 / 24

I/O

dom0 is in charge of all hardware

Based on the configuration of a domU, dom0 exports a subset of thedevices into that domUDevices are exported as “class devices”

I A block device or a network device, not as a specific hardware device

dom0 runs the backend of the device which is connected to thefrontend in the domU

I netback and netfront in case of network devices and blockback andblockfront in case of block devices

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 18 / 24

Linux Containers (LXC)

Partition the resources managed by the OS into individual silos

Instructions are run native to the core CPU

In contrast to virtualization, no overhead of instruction-level emulation

Applications presented the illusion of running on a separate machine

A number of underlying resources are shared

For instance, all containers share the same underlying kernel

Part of the main kernel tree

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 19 / 24

Linux Containers (LXC)

Partition the resources managed by the OS into individual silos

Instructions are run native to the core CPU

In contrast to virtualization, no overhead of instruction-level emulation

Applications presented the illusion of running on a separate machine

A number of underlying resources are shared

For instance, all containers share the same underlying kernel

Part of the main kernel tree

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 19 / 24

Linux Containers (LXC)

Partition the resources managed by the OS into individual silos

Instructions are run native to the core CPU

In contrast to virtualization, no overhead of instruction-level emulation

Applications presented the illusion of running on a separate machine

A number of underlying resources are shared

For instance, all containers share the same underlying kernel

Part of the main kernel tree

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 19 / 24

Linux Containers (LXC)

Partition the resources managed by the OS into individual silos

Instructions are run native to the core CPU

In contrast to virtualization, no overhead of instruction-level emulation

Applications presented the illusion of running on a separate machine

A number of underlying resources are shared

For instance, all containers share the same underlying kernel

Part of the main kernel tree

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 19 / 24

Linux Containers (LXC)

Partition the resources managed by the OS into individual silos

Instructions are run native to the core CPU

In contrast to virtualization, no overhead of instruction-level emulation

Applications presented the illusion of running on a separate machine

A number of underlying resources are shared

For instance, all containers share the same underlying kernel

Part of the main kernel tree

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 19 / 24

Linux Containers (LXC)

Partition the resources managed by the OS into individual silos

Instructions are run native to the core CPU

In contrast to virtualization, no overhead of instruction-level emulation

Applications presented the illusion of running on a separate machine

A number of underlying resources are shared

For instance, all containers share the same underlying kernel

Part of the main kernel tree

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 19 / 24

Linux Containers (LXC)

Partition the resources managed by the OS into individual silos

Instructions are run native to the core CPU

In contrast to virtualization, no overhead of instruction-level emulation

Applications presented the illusion of running on a separate machine

A number of underlying resources are shared

For instance, all containers share the same underlying kernel

Part of the main kernel tree

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 19 / 24

Bridging and Filesystem

Linux bridge code is used to link the container to the network

Each virtual interface has two pairs: one inside the container, the otherend connected to the bridge

Also possible to create a filesystem for each container

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 20 / 24

Bridging and Filesystem

Linux bridge code is used to link the container to the network

Each virtual interface has two pairs: one inside the container, the otherend connected to the bridge

Also possible to create a filesystem for each container

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 20 / 24

Bridging and Filesystem

Linux bridge code is used to link the container to the network

Each virtual interface has two pairs: one inside the container, the otherend connected to the bridge

Also possible to create a filesystem for each container

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 20 / 24

Kernel-based Virtual Machine (KVM)

Merges the hypervisor with the kernel

Reduces redundancy and speeds up execution times

KVM driver acts as the middleware between the kernel and auserspace VM

Scheduling of processes and memory management is handled by thekernel

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 21 / 24

Kernel-based Virtual Machine (KVM)

Merges the hypervisor with the kernel

Reduces redundancy and speeds up execution times

KVM driver acts as the middleware between the kernel and auserspace VM

Scheduling of processes and memory management is handled by thekernel

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 21 / 24

Kernel-based Virtual Machine (KVM)

Merges the hypervisor with the kernel

Reduces redundancy and speeds up execution times

KVM driver acts as the middleware between the kernel and auserspace VM

Scheduling of processes and memory management is handled by thekernel

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 21 / 24

Kernel-based Virtual Machine (KVM)

Merges the hypervisor with the kernel

Reduces redundancy and speeds up execution times

KVM driver acts as the middleware between the kernel and auserspace VM

Scheduling of processes and memory management is handled by thekernel

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 21 / 24

QEMU

Manages I/O and enables a virtual home for the guest OS

QEMU itself runs as a user-space process

Virtual processors within a virtual machine simply execute as threadsin the host process

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 22 / 24

QEMU

Manages I/O and enables a virtual home for the guest OS

QEMU itself runs as a user-space process

Virtual processors within a virtual machine simply execute as threadsin the host process

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 22 / 24

QEMU

Manages I/O and enables a virtual home for the guest OS

QEMU itself runs as a user-space process

Virtual processors within a virtual machine simply execute as threadsin the host process

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 22 / 24

Advantages

Reuse of existing software and infrastructure

Seamlessly works across all platforms: from servers to embeddeddevices

Integrates with the existing Linux scheduler, I/O stack, and availablefilesystems

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 23 / 24

Advantages

Reuse of existing software and infrastructure

Seamlessly works across all platforms: from servers to embeddeddevices

Integrates with the existing Linux scheduler, I/O stack, and availablefilesystems

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 23 / 24

Advantages

Reuse of existing software and infrastructure

Seamlessly works across all platforms: from servers to embeddeddevices

Integrates with the existing Linux scheduler, I/O stack, and availablefilesystems

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 23 / 24

References

1 Linux: The Operating System of the Cloud:http://www.linuxfoundation.org/sites/main/files/publications/linuxincloud.html

2 Choosing a Linux Distribution:http://www.rackspace.com/knowledge_center/article/choosing-a-linux-distribution

3 Xen Overview:http://wiki.xenproject.org/wiki/Xen_Overview

4 LXC: Linux container tools: http://www.ibm.com/developerworks/linux/library/l-lxc-containers/

5 Kernel-based virtualization with KVM:http://www.linux-magazine.com/content/download/62512/485179/file/Kernel_Based_Virtualization_With_KVM.pdf

Zubair Nabi 14: Operating Systems and Virtualization April 21, 2013 24 / 24

top related