Open Source Virtualization (LFS462) Training

We offer private customized training for groups of 3 or more attendees.

Course Description

 
Open Source Virtualization takes a deep dive into KVM (Kernel-based Virtual Machine) and Xen, the most popular hypervisor virtualization technologies in the open source ecosystem, as well as the deployment and use of containers. Built by experts in the field of virtualization, this course provides the technical background to understand the components required to build and administer a modern virtual IT infrastructure. This course is focused on problems typically faced in the enterprise world. The lectures are filled with examples of how KVM, Xen and containers can be used in business environments as well as practical lab sessions that let participants gain a real�­-world perspective of common virtualization problems and how to address them.
Course Length: 4 Days
Course Tuition: $2400 (US)

Prerequisites

This course is for technical IT professionals interested in building a reliable, efficient and open virtualization infrastructure with KVM. Students are expected to be well versed in Linux command line usage, shell scripting and text file editing.

Course Outline

 
At the end of the training, attendees will have acquired the skills needed to:
 
Understand the role KVM and Xen play in the virtualization ecosystem
Know how to assemble KVM and other components into a robust and efficient virtual IT infrastructure
This course is designed to work with a wide range of Linux distributions, so you will be able to apply these concepts regardless of your distro.
 
Introduction
linux Foundation
linux Foundation Training
Laboratory Exercises, Solutions and Resources
Distribution Details
Registration
Labs
 
Virtualization Overview
Virtualization Terminology
Host versus Guest
Virtual Machine Monitor
Emulation
Software versus Hardware Virtualization
Hypervisor Types
Instruction Translation and Caching
Paravirtualization
Virtual Machine Image File
linux Containers
Xen Hypervisor
Labs
 
KVM Quick-Start
Verifying your linux Kernel has KVM
Validating your Hardware for KVM
Obtaining and Installing KVM and QEMU
Verifying libvirt installation
Building Upstream QEMU
libvirt
qemu-img and Virtual Disk Files
virt-install
Pausing and Restoring the Guest
Managing VMs with GUIs
The QEMU Command line
The QEMU Monitor
virt-manager
Labs
 
KVM Architecture and Relationship with linux
Brief History of KVM
Controlling KVM Using linux Commands
Obtaining KVM
Labs
 
Running KVM Using QEMU
What is QEMU?
Running KVM Using QEMU
Machine Commands
Starting Guest Networking
Dumping Network Traffic with QEMU
Guest-to-Host Communication using Virtio
QEMU Tracing
Managing Storage With QEMU
Managing Virtual Storage with libguestfs
Using Host Physical Storage
Using Host Physical Networking
Graphics
BIOS
USB Pass-through
Labs
 
libvirt
Architecture
libvirt Access Control
virsh
libvirt XML
Open vSwitch
Labs
 
Hardware Support
I/O Provisioning
Labs
 
Tuning for Performance
Measuring Performance
netperf
fio
Memory Testing with Stream
SPECVirt Tuning
Labs
 
KVM Security
Review - libvirt Access Control
Host Security Concerns
libvirt-sandbox
sVirt
Security Updates
Labs
 
Xen Hypervisor Architecture
Domain Types
Toolstack Choices
Virtualization Modes
Labs
 
Installing and Configuring Xen
Preparing the Host
Getting the Software
Verifying dom0
Toolstack Selection
Installing domU
Persistent Xen Configuration
Connections to domU
Labs
 
Administration of Xen domains
Debugging Xen Issues
Backup and Restore
live Migration
NUMA Features
PCI Pass-through
USB Device Pass-through
Troubleshooting
Labs
 
Xen Performance and Tuning
Domain Resource Usage
Xen Scheduler Options
I/O Benchmark Testing
Boot Options for dom0
Labs
 
Xen Security
Domain Type Considerations
Xen Security Modules
FLASK
Virtual Trusted Platform Module
pvgrub
Network Security
Labs
 
Working with linux Containers
Container Basics
Docker
Rocket
Kubernetes
LXD Container Hypervisor
OCI
lxc command line tools
Labs

Course Directory [training on all levels]

Upcoming Classes
Gain insight and ideas from students with different perspectives and experiences.

Linux Unix Uses & Stats

Linux Unix is Used For:
Desktop Mainframe Computers Mobile Devices Embedded Devices
Difficulty
Popularity
Year Created
1991/1971
Pros
Performance:
Linux supports many efficient tools and operates them seamlessly. Because it's architecture is lightweight it runs faster than both Windows 8.1 and 10. 
 
Security:
Because Linux is an open-source software,  anyone can contribute code to help enhance the users’ experience i.e., adding features, fixing bugs, reducing security risks, and more.
 
 
Software Development:
The terminal in Linux is a *wild card*. You can do almost anything with it. This includes software installation, application and server configurations, file system management, and etc.
 
Large-scale:
Open-source projects benefit from having an attentive community. As a result, Linux is more secure than Windows. Instead of installing anti viruses to clean malware, you just have to stick to the recommended repositories. 
 
Efficient: 
Developers have the convenience of running servers, training machine learning models, accessing remote machines, and compiling and running scripts from the same terminal window. 
 
Free: 
Linux is free (you can put it on as many systems as you like) and you can change it to suit your needs.
Cons
Learning Curve: 
Linux is not for everyone, there is a learning curve in switching to Ubuntu. To actually learn Linux efficiently would take a user one to several years.
 
No Tech Support:
Unlike Windows, there isn’t a dedicated tech support, so getting help for things is up to you. 
 
Designer Compatabilty:
Linux is not as user friendly as Windows or as ‘straight out of the box design’ As an example for design choices, Adobe hasn’t released any of its products to Linux users. So it’s impossible to run them directly. The Ubuntu alternative is a free software called GIMP. 
 
Gaming Capabilities: 
Most games aren’t available in Linux. But that’s not to say you can’t make it happen, it's just not as easy.   
Linux Unix Job Market
Average Salary
$85k-$105k
Job Count
n/a
Top Job Locations

New York City
Boston
San Francisco 

Complimentary Skills to have along with Linux Unix
The following are types of jobs that may require Linux skills.  The top 15 job titles on Dice.com that mention Linux in their postings are:
- DevOps Engineer
- Software Engineer
- Java Developer
- Systems Engineer
- Systems Administrator
- Senior Software Engineer
- Network Engineer
- Python Developer
- Linux Systems Administrator
- Software Developer
- System Administrator
- Linux Administrator
- Linux Engineer
- Senior Java Developer
- C++ Developer

Interesting Reads Take a class with us and receive a book of your choosing for 50% off MSRP.