SlideShare a Scribd company logo
Lars Kurth
Community Manger, Xen Project
Chairman, Xen Project Advisory Board
Director, Open Source, Citrix
George Dunlap
Committer, Xen Project
Senior Software Engineer, Citrix
Contributors
Andrew Cooper. Committer, Xen Project ◉ Roger Pau Monné, Maintainer, Xen Project ◉
Wei Liu, Committer, Xen Project
lars_kurth gwd
Virtualization Concepts
Overview of Xen’s Basic concepts and use-cases
– With exercises built in
How to get help from the community
A peek view into Xen’s more advanced features
Important Note: Usually, you will use Xen indirectly as part of a
commercial product or part of a bigger SW stack, or have scripts to
automate much of what is covered in this session. However, by following
this session you will learn how Xen and virtualization works under the
hood.
Versatile Virtualization Platform
Designed to be a component in a SW stack
Ease of use for end-users not a design goal
Xen Hypervisor = “Engine”
Taken by integrators to build a product, service, …
Analogy: Xen integrators build a “Car”
Examples at the end
Xen Project
Development community with several sub projects
that develop technologies related to Xen
– Hypervisor
– PV Drivers
– Unikernel related projects: MirageOS, Unikraft
Host
Operating System, e.g.
*BSD, Linux, Windows, …
Kernel
Processes, Threads, Interrupts, …
Native Drivers
BIOS
Applications
CPU & Memory Devices
Hypervisor
separates a computer’s operating system and applications from the
underlying physical hardware ➜ Virtual Machine
Creates an illusion that the Virtual Machine owns a set of CPUs and
Memory memory within the host
This is done via CPU virtualization, where the Hypervisor
• Temporally manages CPU resources via a scheduler and takes control of
interrupts and timers
• Spatially manages memory resources and ensures that a VM can only
access the memory it is supposed to
I/O Virtualization
Multiplexes I/O devices across different virtual machines such that they can
be shared across different VMs.
• There are a number of different ways of how to do this
Assign devices to specific Virtual Machines ➜ Passthrough
Host
Type 1 HV
VM1 VM2 VM3
ESX Server
VM0
Host
Type 1 HV
VM1 VM2
Xen
Hyper-V
Host
OS
KVM
VirtualBox
VM1 VM2 VM3
Kernel
Type 2 HV
Introduction of key concepts
VM0 (or Dom0)
Dom0 Kernel
Native Driver
System Services
HostCPUsMemoryI/O
VM2 (DomU2)
PV mode
Guest OS
Applications
Scheduler MMU Timers Interrupts
Dom0
Privileged VM that interacts
with the hypervisor providing
system services such as
XS=XenStore/XenBus
(Settings), TS=Toolstack
(UI), DE=Device Emulation
(QEMU) in a standard
setup.
It also is the source of physical
and virtual drivers (backends) and
thus native hardware support
for a Xen system.
VM1 (DomU1)
HVM mode
Guest OS
Applications
XS TSDE
VM0 (or Dom0)
Toolstack
- xl command
- Domain config
files
System Services
Dom0 Kernel
xl toolstack
◦ CLI
◦ Domain Config
xl is the built-in toolstack for Xen
– Virsh / virt-manager can also be used
– XAPI is the toolstack for XenServer and XCP-ng
xl can be used
https://xenbits.xen.org/docs/unstable/man/xl.1.html
– normally run as root in Dom0
– to create, pause, and shutdown domains
– to list current domains, enable or pin VCPUs, and attach
or detach virtual block devices
Domain configuration files (/etc/xen/<domain>.cfg)
https://xenbits.xen.org/docs/unstable/man/xl.cfg.5.html
– describe per domain/VM configuration in Dom0 filesystem
VM0 (or Dom0)
Dom0 Kernel
Native Driver
System Services
HostCPUsMemoryI/O
VM2 (DomU2)
Any mode with
PV Drivers present
Guest OS
Linux, *BSD: drivers
are shipped with OS
Applications
Scheduler MMU Timers Interrupts
VM1 (DomU1)
HVM mode only
no PV Drivers
Guest OS
Applications
*Back Driver *Front Driver
Native Driver
Device Emulation
(QEMU)
VM3 (DomU3)
HVM with Windows
PV Drivers
Windows
Drivers for many devices
(but not all) are available at
https://xenproject.org/
downloads/windows-
pv-drivers.html
Applications
*Front Driver
PV Drivers
Originally developed for disk and network I/O
But there are a host of PV drivers for DRM, Touchscreen, Audio, … for
non-server use of Xen
Device Emulation …
is normally only used during system bootstrap or installation
and for low-bandwidth devices
A few PV backends (e.g. support for QCOW2 images) can also run in
userspace within QEMU
Xen
Dom0
Dom0 Kernel
native network driver
Host
NIC
DomUX
Any mode with
PV Drivers present
Guest OS Kernel
netback driver netfront driver
ethN
vifX.DX ethDX
With xl, the host networking configuration is
not configured by the toolstack
The host administrator needs to setup an
appropriate network configuration in
Dom0 using native Linux/BSD tools using a
number of different networking stylesAdmin
vifX+1.DX+1
●●●
Xen follows FHS: www.pathname.com/fhs/pub/fhs-2.3.html
/etc/xen : scripts, config file examples, your config files
/var/log/xen : log files
/usr/lib64/xen/bin : xen binaries
/usr/lib64/xen/boot : xen firmware and boot related binaries
/boot : boot and install images
Section 1 of session guide
Duration VB Install : <2 minutes
Duration rest of Install : <6 minutes
Your Laptop
Your OS
Kernel
VirtualBox
VirtualBox VM
VirtualBox VM
CentOS 7
VirtualBox VM
Your Laptop
Your OS
Kernel
VirtualBox
VirtualBox VM
Xen 4.8 from CentOS 7
Dom0
CentOS 7
DomUX
PV Guests only
Applications
CentOS 7
Xen takes over the entire host
Not really what you want after a training session
People have different environments
This makes it hard to run an effective training session
Can show almost everything
Xen PV guests can run fairly fast within any other Hypervisor
To use HVM or PVH you will need a dedicated host
Why Xen 4.8 from CentOS 7?
Has a lot of functionality up to Xen 4.10 backported
For other distros, you will need the equivalent of Xen 4.10
Install and configure Virtual Box
See section 1.1 of the session guide
Hopefully you have already done this
Import CentOS 7 Virtual Box Image
See section 1.2 of the session guide
Install Xen in Virtual Box VM
See section 1.3 of the session guide
Xen
Dom0
Dom0 Kernel
native network driver
Host
NIC
DomUX
Any mode with
PV Drivers present
Guest OS Kernel
netback driver netfront driver
ethN
vifX.DX ethDX
With xl, the host networking configuration is
not configured by the toolstack
The host administrator needs to setup an
appropriate network configuration in
Dom0 using native Linux/BSD tools using
one of the following networking styles:
– Bridging (most common)
– Open vSwitch
– Routing
– NAT
Documentation @ wiki.xenproject.org/wiki/
– Network_Configuration_Examples_(Xen_4.1%2B)
Dom0: Examples for enabling different networking
styles in various distros
– Xen_Networking
Xen configuration examples for different
networking styles
vif=[ …]
Admin
vifX+1.DX+1
●●●
Xen
Dom0
Dom0 Kernel
native network driver
Host
NIC
DomU4
Any mode with
PV Drivers present
Guest OS Kernel
netback driver netfront driver
eth0
vif4.0 eth0
Step 1: install bridging software packages, if
not present ✓
Step 2: set up a network bridge (xenbr0) in
Dom0 ✓
Step 3: connect DomU’s to network bridge
DomU4
vif = ['mac=…, bridge=xenbr0’ ]
DomU5
vif = ['mac=… ’] # xenbr0 is the default
…
Note on MAC addresses:
MAC addresses will be assigned
automatically by xl, unless specified
➜ may change on host reboot
vif5.0
●●●
xenbr0
Template designed by PresentationGO.com
HVM
Requires Intel VT-x or
AMD SVM
2005/6
HVM
Optimizations
Changes to HVM: instead of Device
Emulation, use HW acceleration when
available (e.g. Local APIC and Posted
Interrupts).
On PV capable hosts and guests use PV
extension where faster, including on
Windows (marketing term: PVHVM)
2010
to 16
PV
Requires no HW support
But requires PV support in
guest operating systems.
From 2011 (Linux 3.0) linux
supports Xen PV out of the box.
2003
PVH
(lightweight HVM)
Re-architecting of HVM to avoid use of QEMU.
Goals: Windows guests without QEMU, reduce
code size, increase security, enable PVH
Dom0.
Requires PVH support in guest OSes.
Backwards compatibility mode for PV ➜
capability to build an HVM only version of Xen
2017
to now
y
2013
Xen/Arm
Added Arm32 and later 64 support
Re-think the historical split between
PV / HVM modes
➜ one virtualization mode on Arm
Virtualization technique called ring de-privileging developed in the late 90s.
Designed by:
– XenoServer research project at Cambridge University
– Intel
– Microsoft labs
x86 instructions behave differently in kernel or user mode: options for
virtualization were full software emulation or binary translation.
– Design a new interface for virtualization
– Allow guests to collaborate in virtualization
– Provide new interfaces for virtualized guests that allow to reduce the overhead of
virtualization
The result of this work is what we know today as paravirtualization, with Linux,
*BSD and Windows implementing some or all PV interfaces.
With the introduction of hardware virtualization extensions Xen is able to
run unmodified guests
– This requires emulated devices, which are handled by Qemu
– Makes use of nested page tables when available
– Allows to use PV interfaces if guest has support for them
Over time, HVM guests have been changed to automatically…
– use additional Hardware Acceleration support, such as Local APIC and Posted
Interrupts, if available
– make use of guest PV interfaces where they are faster (this capability has been
dubbed PVHVM or PV-on-HVM for marketing reasons)
Combine the best of PV and HVM mode
– Next-generation paravirtualization mode
– Takes advantage of hardware virtualization support
– No need for emulated BIOS or emulated devices
– Lower performance overhead than PV
– Lower memory overhead than HVM
– More secure than either PV or HVM mode
More Information:
– https://www.slideshare.net/xen_com_mgr/lcc18-xen-project-after-15-years-
whats-next-george-dunlap-citrix
– https://www.youtube.com/watch?v=10KsJ1UxUMY
PV mode: type=“pv”
Primarily of use for legacy HW and legacy guest images
And in special scenarios, e.g. special guest types, special workloads (e.g. Unikernels),
running Xen within another hypervisor without using nested virtualization, as container
host, guest limits (more PV guests than HVM guests), …
HVM mode: type=“hvm”
Typically the best performing option on for Linux, Windows, *BSDs
Adapts to hardware and software environment for performance
Guests look exactly like a “PC or Server”
PVH mode: type=”pvh”
Lightweight version of HVM ➜ promise of better performance and security
Needs Linux ≥ 4.15 and FreeBSD ≥ 12 (later in 2018)
Guest looks like a simpler abstraction of a “PC or Server”
Relatively new (Xen 4.10)
disk = [ 'format=…, Disk format, e.g. raw, qcow, qcow2, vhd, qed
vdev=…, Virtual device name as seen by the guest
See xen-vbd-interface(7) man page
access=…, Read write access: r, w
devtype=cdrom, If you want to use an ISO
target=…, ’] Block device or image file path (must be last)
DomUx
disk = [ … ]
Local Host
Use LVM to carve up your
physical disk into multiple
block devices
Store guest disk images as
files on a local filesystem
Remote Storage
For example RBD, NBD, NFS,
DRDB or iSCSI
Before installing a Dom0, consider where you are intending to store the guest
OS disk images ➜ you have to manage the disk space available and partition
the disk accordingly using LVM volumes
For the exercises we will store these in the root filesystem of the Dom0 guest
OS
A remote storage set-up is the normal set-up when Xen is used at scale,
either on premise or in a cloud computing set-up.
Dom0
Dom0 OS
DomUX
Guest OS
Applications
Xen Host Remote Host
Text Console (all guest types)
xl console or xl create -c …
See wiki.xenproject.org/wiki/Xen_FAQ_Console
ssh
All guest types
VNC Viewer
All guest types, but PV/PVH and HVM use
different config and implementation mechanisms
VM control
xl create [configfile] [OPTIONS] | shutdown [OPTIONS] -a|domain-id
destroy [OPTIONS] domain-id
xl pause domain-id | unpause domain-id
Information
xl info [OPTIONS]
xl list [OPTIONS] [domain-id ...]
xl top
xl uptime
Debug
xl dmesg [OPTIONS]
xl -v … logs from /var/log/xen/xl-${DOMNAME}.log, /var/log/xen/qemu-dm-
${DOMNAME}.log, …
Section 2 of session guide
Duration: <10 minutes
0 1 2 3
0 1 2 3
4 5 6 7
CPUs/Host
vCPUs/Xen
Created on demand based on user supplied information
Dom0
vcpus=2 0 1
DomU1
vcpus=1 2
DomU2
vcpus=5 3 7●●●
Scheduler
Schedules
vCPUs on
physical CPUs
What a Guest sees
DomUx
vcpus=Nx
cpus=CPULISTx
CPUs/Host
0 3●●●
0 n●●●
Scheduler
DomUx+1
vcpus=Nx+1
cpus_soft=CPULISTx+1
Pinning or Hard-affinity: tell
scheduler on which CPUs my
vCPUs must run
Soft-affinity: tell scheduler
which CPUs it should prefer to
schedule my vCPUs onvCPUs/Xen
Related xl commands:
vcpu-list [domain-id]
vcpu-pin [-f|--force] domain-id vcpu cpus hard cpus soft
Also see CPUPOOLS
For each VM, set maxmem in the domain config file
VM0
(or Dom0)
“Unallocated”
memory managed by Xen
A balloon driver in each VM (including
Dom0) is used to give back memory to
Xen to be used by other VMs.
VM0
(or Dom0)
VM1
(DomU1)
VM2
(DomU2)
VM3
(DomU3)
Comes with drivers in Linux, *BSD. Windows drivers at
xenproject.org/downloads/windows-pv-drivers.html
Important Notes:
From within the guest, the balloon is reported as used memory
If you have a guest that started at 2GiB and you ballooned down to 1GiB, it will
look like there's a memory hog driver that's grabbing 1GiB of RAM.
OS’es have to use memory to track memory even if it's ballooned out
Setting maxmem=16GiB memory=1GiB you'll have a lot less free memory than
maxmem=2GiB memory=1GiB
Config file xl … domain-id mem
maxmem=MBYTES
memory=MBYTES mem-set … sets the balloon size
Section 3 of session guide
Duration: <15 minutes
Save/Restore are building blocks that enable
moving VMs from one host to another without
downtime
Maintenance, Replacing Hosts, Building Block
for High Availability/Disaster Recovery, …
xl shutdown|create domain-id
DomU
Filesystem(s)
DomU
Guest OS
Applications
disk(s)
When shutdown, copying guest disks and
config files allows you to clone a VM (or
move them to another host)
xl save [OPTIONS] domain-id checkpointfile [configfile]
Xen
DomU’s CPU &
memory state
DomU
Guest OS
Applications
DomU.cfg
xl save
Dom0 Filesystem
$location/DomU-snapshot/
checkpointfile +
configfile
xl restore [OPTIONS] [configfile] checkpointfile
Xen
DomU’s CPU &
memory state
DomU
Guest OS
Applications
DomU.cfg
Dom0 Filesystem
$location/DomU-snapshot/
xl restore
checkpointfile +
configfile
Section 4 of session guide
Duration: <5 minutes
xl migrate [OPTIONS] domain-id host
Migrate a VM from one host to another (uses save/restore as building
blocks).
For this to work, you need
– Shared network storage between the two hosts
– Identical host network setups, ssh keys for the root users, …
– Compatible host models
A VM can only be migrated safely from one host to another if both hosts offer the set of CPU
features which the VM expects. If this is not the case, CPU features may appear or disappear as
the VM is migrated, causing it to crash.
– Compatible Xen versions
A VM build on an older Xen version can be migrated to a newer Xen version, but not vice versa
Restricted by the Xen compatibility policy
Linux
Firmware
Bootloader: GRUB2
Kernel (with initial RAM disk: initrd)
●●●
For reference:
Linux: more information see https://opensource.com/article/17/2/linux-boot-and-startup
Other operating systems follow a similar pattern
They diverge after the Bootloader step
Filesystem
Installable Media
E.g. OS ISO Image
/boot
Install
HVM DomU
Dom0 Filesystem DomU Filesystem
/usr/lib64/xen/bin/firmware
Firmware
hvmloader
hvmloader is copied into guest memory by Xen
(under the control of the Toolstack). Hvmloader
sets up all necessary information for the Device
Emulator which emulates a HW environment
that appears exactly like a physical machine.
The correct firmware is automatically loaded as a
binary blob and copied into guest memory based
on config settings, but can be overridden via the
firmware config file option.
Toolstack
Bootloader: GRUB2
Kernel (with initial RAM disk: initrd)
●●●
/boot
Dom0 Filesystem
Any DomU
kernel=“PATHNAME”
ramdisk= “”PATHNAME”
Kernel image: ~/images/../vmlinuz
Initrd image: ~/images/../initrd.gz
Kernel (with initial RAM disk: initrd)
●●●
Toolstack
Works for all guest types
Non standard way of installing/booting
Need to be a host admins to configure
(need access to Dom0).
Useful for netboot, see
wiki.xenproject.org/wiki/Xenpvnetboot
Dom0 Filesystem
PV DomU
firmware="pvgrub32|pvgrub64"
Kernel image: ~/images/../vmlinuz
Initrd image: ~/images/../initrd.gz
Works for PV guest types
Non standard way of installing/booting,
with a standard bootloader UI.
Allows host admins to configure what
guests and kernel versions a guest admin
can install.
Also used for PXE booting
Requires a PV capable GRUB2 (you may
need to build from source or install an
appropriate distro package)
Also see
wiki.xenproject.org/wiki/PvGrub2
/usr/lib64/xen/bin/pvgrub
GRUB2 (with built-in PV support)
Kernel (with initial RAM disk: initrd)
●●●
Toolstack
PV DomU
bootloader=“pygrub”
Kernel (with initial RAM disk: initrd)
●●●
Executes pygrub (same UI as GRUB)
Dom0 Filesystem DomU Filesystem
/boot/usr/lib64/xen/bin/pygrub
Toolstack
The closest to a standard OS install
workflow (although different behind the
scenes)
See
wiki.xenproject.org/wiki/PyGrub
In most real-life scenarios you will use HVM guests
Guest install workflow as on a native system
That does not scale across a large number of hosts
In Xen based products install complexity is usually hidden
Via templates, pre-baked guest images and other means
Exercises: will use PV with PyGrub
Using a prepared VirtualBox image that contains Dom0 and Guest OS
Avoid downloads of guest distros
# Guest name and type, Memory Size and VCPUs
name = “myguestname”
type = “TYPE”
memory = MMM
vcpus = VVV
# Boot related information, unless type='hvm’ … one of the following
# Netboot/Direct Kernel Boot/PV GRUB
kernel = "/…/vmlinuz”
ramdisk = "/…/initrd.gz”
extra = …
# To use PVGrub (if installed)
firmware="pvgrub32|pvgrub64
# Boot from disk
bootloader=“pygrub”
# Disk specifications
disk = [' ']
# Network specifications
vif = [' ']
Section 5 of session guide
Duration: <10 minutes
Dom0 Filesystem
Kernel image: ~/images/../vmlinuz
Initrd image: ~/images/../initrd.gz
DomU Filesystem
/boot
Step 1: Get vmlinuz & initrd.gz
In this case from Debian
Step 2: Create DomU filesystem
Step 2: Set up config for Direct
Kernel Boot ◉ Start guest
Step 3: Perform Install
Fix any loose ends that
the installer didn’t handle
Step 4: Change config to use
pygrub ◉ Shut down
and restart guest
Channels
IRC@freenode: #xen … xenproject.org/help/irc.html
Lists: xen-users@lists.xenproject.org … lists.xenproject.org
FAQs: wiki.xenproject.org/wiki/Category:FAQ
Preparing information
Xen: Log files (/etc/log/xen), xl dmesg output, xl info output
Dom0: OS Info, System Configs (networking, …), dmesg output
DomU: OS Info, xl configuration files
Netiquette
wiki.xenproject.org/wiki/Xen_Users_Netiquette
wiki.xenproject.org/wiki/Reporting_Bugs_against_Xen_Project
Live Patching, Virtual Machine Introspection and
Vulnerability Management
A Primer and Practical Guide – Lars Kurth
Presentation: goo.gl/MLMu5b
Demo Videos: goo.gl/wuQLPh & goo.gl/dEGfDS
Virtual Machine Introspection
@ 31c3 - Tamas K Lengyel, Thomas Kittel
Presentation: goo.gl/khq92r
Video: www.youtube.com/watch?v=MhEIyzfLa6U
Xen on x86, 15 years later
Recent development, future direction - George Dunlap
Presentation: goo.gl/8Djm7w
Video: www.youtube.com/watch?v=10KsJ1UxUMY
Speculation and response
Spectre, Meltdown, XPTI, and Panopticon - George Dunlap
Presentation: goo.gl/xnoj8J
Video: www.youtube.com/watch?v=36jta61XTw8
Securing embedded Systems using Virtualization
@ FOSDEM18 - Lars Kurth
Presentation: goo.gl/dEGfDS
Video: goo.gl/V6DA6P
Xen and the Art of Embedded Systems Virtualization
@ ELC18 - Stefano Stabellini
Presentation: goo.gl/WdbtzN
Video: www.youtube.com/watch?v=GYb-Qn3KAUM
Unleashing the Power of Unikernels with Unikraft
@ XPDDS18 – Florian Schmidt
Presentation: goo.gl/ky7Jr9
Video: www.youtube.com/watch?v=OYgTWhYjD0o
Unikraft: An easy way of crafting Unikernels on Arm
@ XPDDS18 – Kaly Xin
Presentation: goo.gl/162aAq
Video: www.youtube.com/watch?v=_ocRiTtYdfQ
lars.kurth@xenproject.org
george.dunlap@citrix.com
Picture by Lars Kurth

More Related Content

What's hot

OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
The Linux Foundation
 
Xen on ARM for embedded and IoT: from secure containers to dom0less systems
Xen on ARM for embedded and IoT: from secure containers to dom0less systemsXen on ARM for embedded and IoT: from secure containers to dom0less systems
Xen on ARM for embedded and IoT: from secure containers to dom0less systems
Stefano Stabellini
 
Xen Debugging
Xen DebuggingXen Debugging
Xen Debugging
The Linux Foundation
 
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARMXPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
The Linux Foundation
 
System Device Tree and Lopper: Concrete Examples - ELC NA 2022
System Device Tree and Lopper: Concrete Examples - ELC NA 2022System Device Tree and Lopper: Concrete Examples - ELC NA 2022
System Device Tree and Lopper: Concrete Examples - ELC NA 2022
Stefano Stabellini
 
Xen Memory Management
Xen Memory ManagementXen Memory Management
Xen Memory Management
The Linux Foundation
 
Fosdem 18: Securing embedded Systems using Virtualization
Fosdem 18: Securing embedded Systems using VirtualizationFosdem 18: Securing embedded Systems using Virtualization
Fosdem 18: Securing embedded Systems using Virtualization
The Linux Foundation
 
GPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive SolutionsGPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive Solutions
GlobalLogic Ukraine
 
Linux fundamentals
Linux fundamentalsLinux fundamentals
Linux fundamentals
Deepak Upadhyay
 
2018 Genivi Xen Overview Nov Update
2018 Genivi Xen Overview Nov Update2018 Genivi Xen Overview Nov Update
2018 Genivi Xen Overview Nov Update
The Linux Foundation
 
OSSNA18: Xen Beginners Training (exercise script)
OSSNA18: Xen Beginners Training (exercise script)OSSNA18: Xen Beginners Training (exercise script)
OSSNA18: Xen Beginners Training (exercise script)
The Linux Foundation
 
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
The Linux Foundation
 
ELC21: VM-to-VM Communication Mechanisms for Embedded
ELC21: VM-to-VM Communication Mechanisms for EmbeddedELC21: VM-to-VM Communication Mechanisms for Embedded
ELC21: VM-to-VM Communication Mechanisms for Embedded
Stefano Stabellini
 
Xen and the art of virtualization
Xen and the art of virtualizationXen and the art of virtualization
Xen and the art of virtualization
Abdul417101
 
BeagleBone Black Bootloaders
BeagleBone Black BootloadersBeagleBone Black Bootloaders
BeagleBone Black Bootloaders
SysPlay eLearning Academy for You
 
Technical Introduction to RHEL8
Technical Introduction to RHEL8Technical Introduction to RHEL8
Technical Introduction to RHEL8
vidalinux
 
Xen Hypervisor
Xen HypervisorXen Hypervisor
Xen Hypervisor
Susheel Thakur
 
KVM tools and enterprise usage
KVM tools and enterprise usageKVM tools and enterprise usage
KVM tools and enterprise usage
vincentvdk
 
Embedded Linux Quick Start Guide v1.5
Embedded Linux Quick Start Guide v1.5Embedded Linux Quick Start Guide v1.5
Embedded Linux Quick Start Guide v1.5
Chris Simmonds
 
Booting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot imagesBooting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot images
Chris Simmonds
 

What's hot (20)

OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
 
Xen on ARM for embedded and IoT: from secure containers to dom0less systems
Xen on ARM for embedded and IoT: from secure containers to dom0less systemsXen on ARM for embedded and IoT: from secure containers to dom0less systems
Xen on ARM for embedded and IoT: from secure containers to dom0less systems
 
Xen Debugging
Xen DebuggingXen Debugging
Xen Debugging
 
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARMXPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
 
System Device Tree and Lopper: Concrete Examples - ELC NA 2022
System Device Tree and Lopper: Concrete Examples - ELC NA 2022System Device Tree and Lopper: Concrete Examples - ELC NA 2022
System Device Tree and Lopper: Concrete Examples - ELC NA 2022
 
Xen Memory Management
Xen Memory ManagementXen Memory Management
Xen Memory Management
 
Fosdem 18: Securing embedded Systems using Virtualization
Fosdem 18: Securing embedded Systems using VirtualizationFosdem 18: Securing embedded Systems using Virtualization
Fosdem 18: Securing embedded Systems using Virtualization
 
GPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive SolutionsGPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive Solutions
 
Linux fundamentals
Linux fundamentalsLinux fundamentals
Linux fundamentals
 
2018 Genivi Xen Overview Nov Update
2018 Genivi Xen Overview Nov Update2018 Genivi Xen Overview Nov Update
2018 Genivi Xen Overview Nov Update
 
OSSNA18: Xen Beginners Training (exercise script)
OSSNA18: Xen Beginners Training (exercise script)OSSNA18: Xen Beginners Training (exercise script)
OSSNA18: Xen Beginners Training (exercise script)
 
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
 
ELC21: VM-to-VM Communication Mechanisms for Embedded
ELC21: VM-to-VM Communication Mechanisms for EmbeddedELC21: VM-to-VM Communication Mechanisms for Embedded
ELC21: VM-to-VM Communication Mechanisms for Embedded
 
Xen and the art of virtualization
Xen and the art of virtualizationXen and the art of virtualization
Xen and the art of virtualization
 
BeagleBone Black Bootloaders
BeagleBone Black BootloadersBeagleBone Black Bootloaders
BeagleBone Black Bootloaders
 
Technical Introduction to RHEL8
Technical Introduction to RHEL8Technical Introduction to RHEL8
Technical Introduction to RHEL8
 
Xen Hypervisor
Xen HypervisorXen Hypervisor
Xen Hypervisor
 
KVM tools and enterprise usage
KVM tools and enterprise usageKVM tools and enterprise usage
KVM tools and enterprise usage
 
Embedded Linux Quick Start Guide v1.5
Embedded Linux Quick Start Guide v1.5Embedded Linux Quick Start Guide v1.5
Embedded Linux Quick Start Guide v1.5
 
Booting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot imagesBooting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot images
 

Similar to OSSNA18: Xen Beginners Training

Aplura virtualization slides
Aplura virtualization slidesAplura virtualization slides
Aplura virtualization slides
The Linux Foundation
 
2010 xen-lisa
2010 xen-lisa2010 xen-lisa
2010 xen-lisa
Todd Deshane
 
LFCOLLAB15: Xen 4.5 and Beyond
LFCOLLAB15: Xen 4.5 and BeyondLFCOLLAB15: Xen 4.5 and Beyond
LFCOLLAB15: Xen 4.5 and Beyond
The Linux Foundation
 
CIF16/Scale14x: The latest from the Xen Project (Lars Kurth, Chairman of Xen ...
CIF16/Scale14x: The latest from the Xen Project (Lars Kurth, Chairman of Xen ...CIF16/Scale14x: The latest from the Xen Project (Lars Kurth, Chairman of Xen ...
CIF16/Scale14x: The latest from the Xen Project (Lars Kurth, Chairman of Xen ...
The Linux Foundation
 
A Xen Case Study
A Xen Case StudyA Xen Case Study
A Xen Case Study
Kris Buytaert
 
LOAD BALANCING OF APPLICATIONS USING XEN HYPERVISOR
LOAD BALANCING OF APPLICATIONS  USING XEN HYPERVISORLOAD BALANCING OF APPLICATIONS  USING XEN HYPERVISOR
LOAD BALANCING OF APPLICATIONS USING XEN HYPERVISOR
Vanika Kapoor
 
4 implementation
4 implementation4 implementation
4 implementation
hanmya
 
RHEL5 XEN HandOnTraining_v0.4.pdf
RHEL5 XEN HandOnTraining_v0.4.pdfRHEL5 XEN HandOnTraining_v0.4.pdf
RHEL5 XEN HandOnTraining_v0.4.pdf
Paul Yang
 
S4 xen hypervisor_20080622
S4 xen hypervisor_20080622S4 xen hypervisor_20080622
S4 xen hypervisor_20080622
Todd Deshane
 
LinuxTag13: 10 years of Xen and beyond
LinuxTag13: 10 years of Xen and beyondLinuxTag13: 10 years of Xen and beyond
LinuxTag13: 10 years of Xen and beyond
The Linux Foundation
 
Virtualization Everywhere
Virtualization EverywhereVirtualization Everywhere
Virtualization Everywhere
webhostingguy
 
Xen architecture q1 2008
Xen architecture q1 2008Xen architecture q1 2008
Xen architecture q1 2008
colegio letonia
 
Linux virtualization
Linux virtualizationLinux virtualization
Linux virtualization
Google
 
XPDDS19: The Xen-Blanket for 2019 - Christopher Clark and Kelli Little, Star ...
XPDDS19: The Xen-Blanket for 2019 - Christopher Clark and Kelli Little, Star ...XPDDS19: The Xen-Blanket for 2019 - Christopher Clark and Kelli Little, Star ...
XPDDS19: The Xen-Blanket for 2019 - Christopher Clark and Kelli Little, Star ...
The Linux Foundation
 
Practical Introduction To Linux
Practical Introduction To LinuxPractical Introduction To Linux
Practical Introduction To Linux
Zeeshan Rizvi
 
Xen Project Update LinuxCon Brazil
Xen Project Update LinuxCon BrazilXen Project Update LinuxCon Brazil
Xen Project Update LinuxCon Brazil
The Linux Foundation
 
Xen and Client Virtualization: the case of XenClient XT
Xen and Client Virtualization: the case of XenClient XTXen and Client Virtualization: the case of XenClient XT
Xen and Client Virtualization: the case of XenClient XT
The Linux Foundation
 
OpenQrm
OpenQrmOpenQrm
OpenQrm
Kris Buytaert
 
Using openQRM to Manage Virtual Machines
Using openQRM to Manage Virtual MachinesUsing openQRM to Manage Virtual Machines
Using openQRM to Manage Virtual Machines
Kris Buytaert
 
LinuxCon Japan 13 : 10 years of Xen and Beyond
LinuxCon Japan 13 : 10 years of Xen and BeyondLinuxCon Japan 13 : 10 years of Xen and Beyond
LinuxCon Japan 13 : 10 years of Xen and Beyond
The Linux Foundation
 

Similar to OSSNA18: Xen Beginners Training (20)

Aplura virtualization slides
Aplura virtualization slidesAplura virtualization slides
Aplura virtualization slides
 
2010 xen-lisa
2010 xen-lisa2010 xen-lisa
2010 xen-lisa
 
LFCOLLAB15: Xen 4.5 and Beyond
LFCOLLAB15: Xen 4.5 and BeyondLFCOLLAB15: Xen 4.5 and Beyond
LFCOLLAB15: Xen 4.5 and Beyond
 
CIF16/Scale14x: The latest from the Xen Project (Lars Kurth, Chairman of Xen ...
CIF16/Scale14x: The latest from the Xen Project (Lars Kurth, Chairman of Xen ...CIF16/Scale14x: The latest from the Xen Project (Lars Kurth, Chairman of Xen ...
CIF16/Scale14x: The latest from the Xen Project (Lars Kurth, Chairman of Xen ...
 
A Xen Case Study
A Xen Case StudyA Xen Case Study
A Xen Case Study
 
LOAD BALANCING OF APPLICATIONS USING XEN HYPERVISOR
LOAD BALANCING OF APPLICATIONS  USING XEN HYPERVISORLOAD BALANCING OF APPLICATIONS  USING XEN HYPERVISOR
LOAD BALANCING OF APPLICATIONS USING XEN HYPERVISOR
 
4 implementation
4 implementation4 implementation
4 implementation
 
RHEL5 XEN HandOnTraining_v0.4.pdf
RHEL5 XEN HandOnTraining_v0.4.pdfRHEL5 XEN HandOnTraining_v0.4.pdf
RHEL5 XEN HandOnTraining_v0.4.pdf
 
S4 xen hypervisor_20080622
S4 xen hypervisor_20080622S4 xen hypervisor_20080622
S4 xen hypervisor_20080622
 
LinuxTag13: 10 years of Xen and beyond
LinuxTag13: 10 years of Xen and beyondLinuxTag13: 10 years of Xen and beyond
LinuxTag13: 10 years of Xen and beyond
 
Virtualization Everywhere
Virtualization EverywhereVirtualization Everywhere
Virtualization Everywhere
 
Xen architecture q1 2008
Xen architecture q1 2008Xen architecture q1 2008
Xen architecture q1 2008
 
Linux virtualization
Linux virtualizationLinux virtualization
Linux virtualization
 
XPDDS19: The Xen-Blanket for 2019 - Christopher Clark and Kelli Little, Star ...
XPDDS19: The Xen-Blanket for 2019 - Christopher Clark and Kelli Little, Star ...XPDDS19: The Xen-Blanket for 2019 - Christopher Clark and Kelli Little, Star ...
XPDDS19: The Xen-Blanket for 2019 - Christopher Clark and Kelli Little, Star ...
 
Practical Introduction To Linux
Practical Introduction To LinuxPractical Introduction To Linux
Practical Introduction To Linux
 
Xen Project Update LinuxCon Brazil
Xen Project Update LinuxCon BrazilXen Project Update LinuxCon Brazil
Xen Project Update LinuxCon Brazil
 
Xen and Client Virtualization: the case of XenClient XT
Xen and Client Virtualization: the case of XenClient XTXen and Client Virtualization: the case of XenClient XT
Xen and Client Virtualization: the case of XenClient XT
 
OpenQrm
OpenQrmOpenQrm
OpenQrm
 
Using openQRM to Manage Virtual Machines
Using openQRM to Manage Virtual MachinesUsing openQRM to Manage Virtual Machines
Using openQRM to Manage Virtual Machines
 
LinuxCon Japan 13 : 10 years of Xen and Beyond
LinuxCon Japan 13 : 10 years of Xen and BeyondLinuxCon Japan 13 : 10 years of Xen and Beyond
LinuxCon Japan 13 : 10 years of Xen and Beyond
 

More from The Linux Foundation

ELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made Simple
The Linux Foundation
 
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
The Linux Foundation
 
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
The Linux Foundation
 
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
The Linux Foundation
 
XPDDS19 Keynote: Unikraft Weather Report
XPDDS19 Keynote:  Unikraft Weather ReportXPDDS19 Keynote:  Unikraft Weather Report
XPDDS19 Keynote: Unikraft Weather Report
The Linux Foundation
 
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
The Linux Foundation
 
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
The Linux Foundation
 
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, BitdefenderXPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
The Linux Foundation
 
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making... OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
The Linux Foundation
 
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixXPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
The Linux Foundation
 
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdXPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
The Linux Foundation
 
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
The Linux Foundation
 
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DXPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
The Linux Foundation
 
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsXPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
The Linux Foundation
 
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
The Linux Foundation
 
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
The Linux Foundation
 
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
The Linux Foundation
 
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEXPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
The Linux Foundation
 
XPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information Security
XPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information SecurityXPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information Security
XPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information Security
The Linux Foundation
 
XPDDS19: Support of PV Devices in Nested Xen - Jürgen Groß, SUSE
XPDDS19: Support of PV Devices in Nested Xen - Jürgen Groß, SUSEXPDDS19: Support of PV Devices in Nested Xen - Jürgen Groß, SUSE
XPDDS19: Support of PV Devices in Nested Xen - Jürgen Groß, SUSE
The Linux Foundation
 

More from The Linux Foundation (20)

ELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made Simple
 
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
 
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
 
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
 
XPDDS19 Keynote: Unikraft Weather Report
XPDDS19 Keynote:  Unikraft Weather ReportXPDDS19 Keynote:  Unikraft Weather Report
XPDDS19 Keynote: Unikraft Weather Report
 
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
 
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
 
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, BitdefenderXPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
 
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making... OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixXPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
 
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdXPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
 
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
 
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DXPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
 
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsXPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
 
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
 
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
 
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
 
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEXPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
 
XPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information Security
XPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information SecurityXPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information Security
XPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information Security
 
XPDDS19: Support of PV Devices in Nested Xen - Jürgen Groß, SUSE
XPDDS19: Support of PV Devices in Nested Xen - Jürgen Groß, SUSEXPDDS19: Support of PV Devices in Nested Xen - Jürgen Groß, SUSE
XPDDS19: Support of PV Devices in Nested Xen - Jürgen Groß, SUSE
 

Recently uploaded

WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
Luigi Fugaro
 
ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.
Maitrey Patel
 
Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery FleetStork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
Vince Scalabrino
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
ervikas4
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
dakas1
 
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
widenerjobeyrl638
 
The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024
Yara Milbes
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
Alberto Brandolini
 
Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.
KrishnaveniMohan1
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
kalichargn70th171
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
ShulagnaSarkar2
 
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Paul Brebner
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
campbellclarkson
 
What is Continuous Testing in DevOps - A Definitive Guide.pdf
What is Continuous Testing in DevOps - A Definitive Guide.pdfWhat is Continuous Testing in DevOps - A Definitive Guide.pdf
What is Continuous Testing in DevOps - A Definitive Guide.pdf
kalichargn70th171
 
Going AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applicationsGoing AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applications
Alina Yurenko
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
Alina Yurenko
 

Recently uploaded (20)

WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
 
ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.
 
Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery FleetStork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
 
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
 
The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
 
Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
 
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
 
What is Continuous Testing in DevOps - A Definitive Guide.pdf
What is Continuous Testing in DevOps - A Definitive Guide.pdfWhat is Continuous Testing in DevOps - A Definitive Guide.pdf
What is Continuous Testing in DevOps - A Definitive Guide.pdf
 
Going AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applicationsGoing AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applications
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
 

OSSNA18: Xen Beginners Training

  • 1.
  • 2. Lars Kurth Community Manger, Xen Project Chairman, Xen Project Advisory Board Director, Open Source, Citrix George Dunlap Committer, Xen Project Senior Software Engineer, Citrix Contributors Andrew Cooper. Committer, Xen Project ◉ Roger Pau Monné, Maintainer, Xen Project ◉ Wei Liu, Committer, Xen Project lars_kurth gwd
  • 3. Virtualization Concepts Overview of Xen’s Basic concepts and use-cases – With exercises built in How to get help from the community A peek view into Xen’s more advanced features Important Note: Usually, you will use Xen indirectly as part of a commercial product or part of a bigger SW stack, or have scripts to automate much of what is covered in this session. However, by following this session you will learn how Xen and virtualization works under the hood.
  • 4. Versatile Virtualization Platform Designed to be a component in a SW stack Ease of use for end-users not a design goal Xen Hypervisor = “Engine” Taken by integrators to build a product, service, … Analogy: Xen integrators build a “Car” Examples at the end Xen Project Development community with several sub projects that develop technologies related to Xen – Hypervisor – PV Drivers – Unikernel related projects: MirageOS, Unikraft
  • 5.
  • 6. Host Operating System, e.g. *BSD, Linux, Windows, … Kernel Processes, Threads, Interrupts, … Native Drivers BIOS Applications CPU & Memory Devices Hypervisor separates a computer’s operating system and applications from the underlying physical hardware ➜ Virtual Machine Creates an illusion that the Virtual Machine owns a set of CPUs and Memory memory within the host This is done via CPU virtualization, where the Hypervisor • Temporally manages CPU resources via a scheduler and takes control of interrupts and timers • Spatially manages memory resources and ensures that a VM can only access the memory it is supposed to I/O Virtualization Multiplexes I/O devices across different virtual machines such that they can be shared across different VMs. • There are a number of different ways of how to do this Assign devices to specific Virtual Machines ➜ Passthrough
  • 7. Host Type 1 HV VM1 VM2 VM3 ESX Server VM0 Host Type 1 HV VM1 VM2 Xen Hyper-V Host OS KVM VirtualBox VM1 VM2 VM3 Kernel Type 2 HV
  • 9. VM0 (or Dom0) Dom0 Kernel Native Driver System Services HostCPUsMemoryI/O VM2 (DomU2) PV mode Guest OS Applications Scheduler MMU Timers Interrupts Dom0 Privileged VM that interacts with the hypervisor providing system services such as XS=XenStore/XenBus (Settings), TS=Toolstack (UI), DE=Device Emulation (QEMU) in a standard setup. It also is the source of physical and virtual drivers (backends) and thus native hardware support for a Xen system. VM1 (DomU1) HVM mode Guest OS Applications XS TSDE
  • 10. VM0 (or Dom0) Toolstack - xl command - Domain config files System Services Dom0 Kernel xl toolstack ◦ CLI ◦ Domain Config xl is the built-in toolstack for Xen – Virsh / virt-manager can also be used – XAPI is the toolstack for XenServer and XCP-ng xl can be used https://xenbits.xen.org/docs/unstable/man/xl.1.html – normally run as root in Dom0 – to create, pause, and shutdown domains – to list current domains, enable or pin VCPUs, and attach or detach virtual block devices Domain configuration files (/etc/xen/<domain>.cfg) https://xenbits.xen.org/docs/unstable/man/xl.cfg.5.html – describe per domain/VM configuration in Dom0 filesystem
  • 11. VM0 (or Dom0) Dom0 Kernel Native Driver System Services HostCPUsMemoryI/O VM2 (DomU2) Any mode with PV Drivers present Guest OS Linux, *BSD: drivers are shipped with OS Applications Scheduler MMU Timers Interrupts VM1 (DomU1) HVM mode only no PV Drivers Guest OS Applications *Back Driver *Front Driver Native Driver Device Emulation (QEMU) VM3 (DomU3) HVM with Windows PV Drivers Windows Drivers for many devices (but not all) are available at https://xenproject.org/ downloads/windows- pv-drivers.html Applications *Front Driver
  • 12. PV Drivers Originally developed for disk and network I/O But there are a host of PV drivers for DRM, Touchscreen, Audio, … for non-server use of Xen Device Emulation … is normally only used during system bootstrap or installation and for low-bandwidth devices A few PV backends (e.g. support for QCOW2 images) can also run in userspace within QEMU
  • 13. Xen Dom0 Dom0 Kernel native network driver Host NIC DomUX Any mode with PV Drivers present Guest OS Kernel netback driver netfront driver ethN vifX.DX ethDX With xl, the host networking configuration is not configured by the toolstack The host administrator needs to setup an appropriate network configuration in Dom0 using native Linux/BSD tools using a number of different networking stylesAdmin vifX+1.DX+1 ●●●
  • 14. Xen follows FHS: www.pathname.com/fhs/pub/fhs-2.3.html /etc/xen : scripts, config file examples, your config files /var/log/xen : log files /usr/lib64/xen/bin : xen binaries /usr/lib64/xen/boot : xen firmware and boot related binaries /boot : boot and install images
  • 15. Section 1 of session guide Duration VB Install : <2 minutes Duration rest of Install : <6 minutes
  • 17. VirtualBox VM Your Laptop Your OS Kernel VirtualBox VirtualBox VM Xen 4.8 from CentOS 7 Dom0 CentOS 7 DomUX PV Guests only Applications CentOS 7
  • 18. Xen takes over the entire host Not really what you want after a training session People have different environments This makes it hard to run an effective training session Can show almost everything Xen PV guests can run fairly fast within any other Hypervisor To use HVM or PVH you will need a dedicated host Why Xen 4.8 from CentOS 7? Has a lot of functionality up to Xen 4.10 backported For other distros, you will need the equivalent of Xen 4.10
  • 19. Install and configure Virtual Box See section 1.1 of the session guide Hopefully you have already done this Import CentOS 7 Virtual Box Image See section 1.2 of the session guide Install Xen in Virtual Box VM See section 1.3 of the session guide
  • 20.
  • 21. Xen Dom0 Dom0 Kernel native network driver Host NIC DomUX Any mode with PV Drivers present Guest OS Kernel netback driver netfront driver ethN vifX.DX ethDX With xl, the host networking configuration is not configured by the toolstack The host administrator needs to setup an appropriate network configuration in Dom0 using native Linux/BSD tools using one of the following networking styles: – Bridging (most common) – Open vSwitch – Routing – NAT Documentation @ wiki.xenproject.org/wiki/ – Network_Configuration_Examples_(Xen_4.1%2B) Dom0: Examples for enabling different networking styles in various distros – Xen_Networking Xen configuration examples for different networking styles vif=[ …] Admin vifX+1.DX+1 ●●●
  • 22. Xen Dom0 Dom0 Kernel native network driver Host NIC DomU4 Any mode with PV Drivers present Guest OS Kernel netback driver netfront driver eth0 vif4.0 eth0 Step 1: install bridging software packages, if not present ✓ Step 2: set up a network bridge (xenbr0) in Dom0 ✓ Step 3: connect DomU’s to network bridge DomU4 vif = ['mac=…, bridge=xenbr0’ ] DomU5 vif = ['mac=… ’] # xenbr0 is the default … Note on MAC addresses: MAC addresses will be assigned automatically by xl, unless specified ➜ may change on host reboot vif5.0 ●●● xenbr0
  • 23. Template designed by PresentationGO.com HVM Requires Intel VT-x or AMD SVM 2005/6 HVM Optimizations Changes to HVM: instead of Device Emulation, use HW acceleration when available (e.g. Local APIC and Posted Interrupts). On PV capable hosts and guests use PV extension where faster, including on Windows (marketing term: PVHVM) 2010 to 16 PV Requires no HW support But requires PV support in guest operating systems. From 2011 (Linux 3.0) linux supports Xen PV out of the box. 2003 PVH (lightweight HVM) Re-architecting of HVM to avoid use of QEMU. Goals: Windows guests without QEMU, reduce code size, increase security, enable PVH Dom0. Requires PVH support in guest OSes. Backwards compatibility mode for PV ➜ capability to build an HVM only version of Xen 2017 to now y 2013 Xen/Arm Added Arm32 and later 64 support Re-think the historical split between PV / HVM modes ➜ one virtualization mode on Arm
  • 24. Virtualization technique called ring de-privileging developed in the late 90s. Designed by: – XenoServer research project at Cambridge University – Intel – Microsoft labs x86 instructions behave differently in kernel or user mode: options for virtualization were full software emulation or binary translation. – Design a new interface for virtualization – Allow guests to collaborate in virtualization – Provide new interfaces for virtualized guests that allow to reduce the overhead of virtualization The result of this work is what we know today as paravirtualization, with Linux, *BSD and Windows implementing some or all PV interfaces.
  • 25. With the introduction of hardware virtualization extensions Xen is able to run unmodified guests – This requires emulated devices, which are handled by Qemu – Makes use of nested page tables when available – Allows to use PV interfaces if guest has support for them Over time, HVM guests have been changed to automatically… – use additional Hardware Acceleration support, such as Local APIC and Posted Interrupts, if available – make use of guest PV interfaces where they are faster (this capability has been dubbed PVHVM or PV-on-HVM for marketing reasons)
  • 26. Combine the best of PV and HVM mode – Next-generation paravirtualization mode – Takes advantage of hardware virtualization support – No need for emulated BIOS or emulated devices – Lower performance overhead than PV – Lower memory overhead than HVM – More secure than either PV or HVM mode More Information: – https://www.slideshare.net/xen_com_mgr/lcc18-xen-project-after-15-years- whats-next-george-dunlap-citrix – https://www.youtube.com/watch?v=10KsJ1UxUMY
  • 27. PV mode: type=“pv” Primarily of use for legacy HW and legacy guest images And in special scenarios, e.g. special guest types, special workloads (e.g. Unikernels), running Xen within another hypervisor without using nested virtualization, as container host, guest limits (more PV guests than HVM guests), … HVM mode: type=“hvm” Typically the best performing option on for Linux, Windows, *BSDs Adapts to hardware and software environment for performance Guests look exactly like a “PC or Server” PVH mode: type=”pvh” Lightweight version of HVM ➜ promise of better performance and security Needs Linux ≥ 4.15 and FreeBSD ≥ 12 (later in 2018) Guest looks like a simpler abstraction of a “PC or Server” Relatively new (Xen 4.10)
  • 28. disk = [ 'format=…, Disk format, e.g. raw, qcow, qcow2, vhd, qed vdev=…, Virtual device name as seen by the guest See xen-vbd-interface(7) man page access=…, Read write access: r, w devtype=cdrom, If you want to use an ISO target=…, ’] Block device or image file path (must be last) DomUx disk = [ … ] Local Host Use LVM to carve up your physical disk into multiple block devices Store guest disk images as files on a local filesystem Remote Storage For example RBD, NBD, NFS, DRDB or iSCSI Before installing a Dom0, consider where you are intending to store the guest OS disk images ➜ you have to manage the disk space available and partition the disk accordingly using LVM volumes For the exercises we will store these in the root filesystem of the Dom0 guest OS A remote storage set-up is the normal set-up when Xen is used at scale, either on premise or in a cloud computing set-up.
  • 29. Dom0 Dom0 OS DomUX Guest OS Applications Xen Host Remote Host Text Console (all guest types) xl console or xl create -c … See wiki.xenproject.org/wiki/Xen_FAQ_Console ssh All guest types VNC Viewer All guest types, but PV/PVH and HVM use different config and implementation mechanisms
  • 30. VM control xl create [configfile] [OPTIONS] | shutdown [OPTIONS] -a|domain-id destroy [OPTIONS] domain-id xl pause domain-id | unpause domain-id Information xl info [OPTIONS] xl list [OPTIONS] [domain-id ...] xl top xl uptime Debug xl dmesg [OPTIONS] xl -v … logs from /var/log/xen/xl-${DOMNAME}.log, /var/log/xen/qemu-dm- ${DOMNAME}.log, …
  • 31. Section 2 of session guide Duration: <10 minutes
  • 32.
  • 33. 0 1 2 3 0 1 2 3 4 5 6 7 CPUs/Host vCPUs/Xen Created on demand based on user supplied information Dom0 vcpus=2 0 1 DomU1 vcpus=1 2 DomU2 vcpus=5 3 7●●● Scheduler Schedules vCPUs on physical CPUs What a Guest sees
  • 34. DomUx vcpus=Nx cpus=CPULISTx CPUs/Host 0 3●●● 0 n●●● Scheduler DomUx+1 vcpus=Nx+1 cpus_soft=CPULISTx+1 Pinning or Hard-affinity: tell scheduler on which CPUs my vCPUs must run Soft-affinity: tell scheduler which CPUs it should prefer to schedule my vCPUs onvCPUs/Xen Related xl commands: vcpu-list [domain-id] vcpu-pin [-f|--force] domain-id vcpu cpus hard cpus soft Also see CPUPOOLS
  • 35. For each VM, set maxmem in the domain config file VM0 (or Dom0) “Unallocated” memory managed by Xen A balloon driver in each VM (including Dom0) is used to give back memory to Xen to be used by other VMs. VM0 (or Dom0) VM1 (DomU1) VM2 (DomU2) VM3 (DomU3) Comes with drivers in Linux, *BSD. Windows drivers at xenproject.org/downloads/windows-pv-drivers.html
  • 36. Important Notes: From within the guest, the balloon is reported as used memory If you have a guest that started at 2GiB and you ballooned down to 1GiB, it will look like there's a memory hog driver that's grabbing 1GiB of RAM. OS’es have to use memory to track memory even if it's ballooned out Setting maxmem=16GiB memory=1GiB you'll have a lot less free memory than maxmem=2GiB memory=1GiB Config file xl … domain-id mem maxmem=MBYTES memory=MBYTES mem-set … sets the balloon size
  • 37. Section 3 of session guide Duration: <15 minutes
  • 38. Save/Restore are building blocks that enable moving VMs from one host to another without downtime Maintenance, Replacing Hosts, Building Block for High Availability/Disaster Recovery, …
  • 39. xl shutdown|create domain-id DomU Filesystem(s) DomU Guest OS Applications disk(s) When shutdown, copying guest disks and config files allows you to clone a VM (or move them to another host)
  • 40. xl save [OPTIONS] domain-id checkpointfile [configfile] Xen DomU’s CPU & memory state DomU Guest OS Applications DomU.cfg xl save Dom0 Filesystem $location/DomU-snapshot/ checkpointfile + configfile
  • 41. xl restore [OPTIONS] [configfile] checkpointfile Xen DomU’s CPU & memory state DomU Guest OS Applications DomU.cfg Dom0 Filesystem $location/DomU-snapshot/ xl restore checkpointfile + configfile
  • 42. Section 4 of session guide Duration: <5 minutes
  • 43. xl migrate [OPTIONS] domain-id host Migrate a VM from one host to another (uses save/restore as building blocks). For this to work, you need – Shared network storage between the two hosts – Identical host network setups, ssh keys for the root users, … – Compatible host models A VM can only be migrated safely from one host to another if both hosts offer the set of CPU features which the VM expects. If this is not the case, CPU features may appear or disappear as the VM is migrated, causing it to crash. – Compatible Xen versions A VM build on an older Xen version can be migrated to a newer Xen version, but not vice versa Restricted by the Xen compatibility policy
  • 44.
  • 45. Linux Firmware Bootloader: GRUB2 Kernel (with initial RAM disk: initrd) ●●● For reference: Linux: more information see https://opensource.com/article/17/2/linux-boot-and-startup Other operating systems follow a similar pattern They diverge after the Bootloader step Filesystem Installable Media E.g. OS ISO Image /boot Install
  • 46. HVM DomU Dom0 Filesystem DomU Filesystem /usr/lib64/xen/bin/firmware Firmware hvmloader hvmloader is copied into guest memory by Xen (under the control of the Toolstack). Hvmloader sets up all necessary information for the Device Emulator which emulates a HW environment that appears exactly like a physical machine. The correct firmware is automatically loaded as a binary blob and copied into guest memory based on config settings, but can be overridden via the firmware config file option. Toolstack Bootloader: GRUB2 Kernel (with initial RAM disk: initrd) ●●● /boot
  • 47. Dom0 Filesystem Any DomU kernel=“PATHNAME” ramdisk= “”PATHNAME” Kernel image: ~/images/../vmlinuz Initrd image: ~/images/../initrd.gz Kernel (with initial RAM disk: initrd) ●●● Toolstack Works for all guest types Non standard way of installing/booting Need to be a host admins to configure (need access to Dom0). Useful for netboot, see wiki.xenproject.org/wiki/Xenpvnetboot
  • 48. Dom0 Filesystem PV DomU firmware="pvgrub32|pvgrub64" Kernel image: ~/images/../vmlinuz Initrd image: ~/images/../initrd.gz Works for PV guest types Non standard way of installing/booting, with a standard bootloader UI. Allows host admins to configure what guests and kernel versions a guest admin can install. Also used for PXE booting Requires a PV capable GRUB2 (you may need to build from source or install an appropriate distro package) Also see wiki.xenproject.org/wiki/PvGrub2 /usr/lib64/xen/bin/pvgrub GRUB2 (with built-in PV support) Kernel (with initial RAM disk: initrd) ●●● Toolstack
  • 49. PV DomU bootloader=“pygrub” Kernel (with initial RAM disk: initrd) ●●● Executes pygrub (same UI as GRUB) Dom0 Filesystem DomU Filesystem /boot/usr/lib64/xen/bin/pygrub Toolstack The closest to a standard OS install workflow (although different behind the scenes) See wiki.xenproject.org/wiki/PyGrub
  • 50. In most real-life scenarios you will use HVM guests Guest install workflow as on a native system That does not scale across a large number of hosts In Xen based products install complexity is usually hidden Via templates, pre-baked guest images and other means Exercises: will use PV with PyGrub Using a prepared VirtualBox image that contains Dom0 and Guest OS Avoid downloads of guest distros
  • 51. # Guest name and type, Memory Size and VCPUs name = “myguestname” type = “TYPE” memory = MMM vcpus = VVV # Boot related information, unless type='hvm’ … one of the following # Netboot/Direct Kernel Boot/PV GRUB kernel = "/…/vmlinuz” ramdisk = "/…/initrd.gz” extra = … # To use PVGrub (if installed) firmware="pvgrub32|pvgrub64 # Boot from disk bootloader=“pygrub” # Disk specifications disk = [' '] # Network specifications vif = [' ']
  • 52. Section 5 of session guide Duration: <10 minutes
  • 53. Dom0 Filesystem Kernel image: ~/images/../vmlinuz Initrd image: ~/images/../initrd.gz DomU Filesystem /boot Step 1: Get vmlinuz & initrd.gz In this case from Debian Step 2: Create DomU filesystem Step 2: Set up config for Direct Kernel Boot ◉ Start guest Step 3: Perform Install Fix any loose ends that the installer didn’t handle Step 4: Change config to use pygrub ◉ Shut down and restart guest
  • 54.
  • 55. Channels IRC@freenode: #xen … xenproject.org/help/irc.html Lists: xen-users@lists.xenproject.org … lists.xenproject.org FAQs: wiki.xenproject.org/wiki/Category:FAQ Preparing information Xen: Log files (/etc/log/xen), xl dmesg output, xl info output Dom0: OS Info, System Configs (networking, …), dmesg output DomU: OS Info, xl configuration files Netiquette wiki.xenproject.org/wiki/Xen_Users_Netiquette wiki.xenproject.org/wiki/Reporting_Bugs_against_Xen_Project
  • 56.
  • 57. Live Patching, Virtual Machine Introspection and Vulnerability Management A Primer and Practical Guide – Lars Kurth Presentation: goo.gl/MLMu5b Demo Videos: goo.gl/wuQLPh & goo.gl/dEGfDS Virtual Machine Introspection @ 31c3 - Tamas K Lengyel, Thomas Kittel Presentation: goo.gl/khq92r Video: www.youtube.com/watch?v=MhEIyzfLa6U
  • 58. Xen on x86, 15 years later Recent development, future direction - George Dunlap Presentation: goo.gl/8Djm7w Video: www.youtube.com/watch?v=10KsJ1UxUMY Speculation and response Spectre, Meltdown, XPTI, and Panopticon - George Dunlap Presentation: goo.gl/xnoj8J Video: www.youtube.com/watch?v=36jta61XTw8
  • 59. Securing embedded Systems using Virtualization @ FOSDEM18 - Lars Kurth Presentation: goo.gl/dEGfDS Video: goo.gl/V6DA6P Xen and the Art of Embedded Systems Virtualization @ ELC18 - Stefano Stabellini Presentation: goo.gl/WdbtzN Video: www.youtube.com/watch?v=GYb-Qn3KAUM
  • 60. Unleashing the Power of Unikernels with Unikraft @ XPDDS18 – Florian Schmidt Presentation: goo.gl/ky7Jr9 Video: www.youtube.com/watch?v=OYgTWhYjD0o Unikraft: An easy way of crafting Unikernels on Arm @ XPDDS18 – Kaly Xin Presentation: goo.gl/162aAq Video: www.youtube.com/watch?v=_ocRiTtYdfQ