topic 14: operating systems and virtualization
DESCRIPTION
Cloud Computing Workshop 2013, ITUTRANSCRIPT
14: Operating Systems and Virtualization
Zubair Nabi
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