Intro to Paravirtualization - Thomas Jefferson High School

Download Report

Transcript Intro to Paravirtualization - Thomas Jefferson High School

Xen Virtualization
Andrew Hamilton
TJHSST CSL Logo and Powered By Linux by Dan Tran tjhsst.edu/~dtran
Presentation Overview
•
•
•
•
Theory
Methods of Virtualizing
Xen Virtualization
Conclusion
Theory
• Do one thing and do it well (The UNIX philosophy)
• Containerize Systems
• Many little machines contained in one
Methods of Virtualization
• Chroots
– Minimal Overhead
– One kernel, network connection, process system
– Root can break out
• FreeBSD Jails / Solaris Containers
– Separate Networking and process systems, root is
trapped
– Overhead is still minimal
– Still only one kernel
More Methods of Virtualization
• Full Virtualization
– Multiple OSes, complete segregation of resources
– High overhead, oftentimes expensive
• Paravirtualization (Xen/LDOMs)
– Multiple Oses with less overhead
– May require specialized hardware or a modified
operating system
Xen Virtualization
What we have
• Hypervisor
– Runs underneath everything and serves as an
interface between the hardware and the VMs
– The Xen part of Xen Virtualization
• Dom0
– Generally a linux kernel with the xen patches
– Is able to control the hypervisor and manage VMs
– Needs drivers for the server hardware
• DomUs
– The VMs we want to run
Installing a Dom0
• First install and configure the linux distribution
of your choice
• Then install the xen-specific packages
– Debian: apt-get install xen-linux-image
– Gentoo: emerge xen, xen-tools, xen-sources
– Red Hat: yum install xen kernel-xen
Configuring the Dom0
• Grub
– Boot using the Xen hypervisor as the kernel
– Load the Dom0 Kernel as a Module
– Start xend on boot
• VM Storage Space
– Local vs SAN
– Files or LVM (or other devices)
• Setup VM Networking
– Bridging or NAT
VM Networking: Bridging
Network
Physical Adapter
Network Bridge
VMs
Vif0.0
Switch
eth0
xenbr0
Vif1.0
Vif2.0
VM Networking: NAT
Network
Physical Adapter
VMs
Switch
eth0
NAT/Firewall
IPTables
Vif0.0
Vif1.0
Vif2.0
Testing Time!
• Reboot to the Xen Setup (hopefully it boots)
• Stress Test the new setup
– Recompiling the kernel repeated works well
– For a in `seq 1 20`; do make clean; make; done;
• Make sure everything works well now
• If it doesn’t fix it now
Creating VMs
• Manual or automatic?
– Xen-tools
• File-based vs Device-based
• Create the harddrives
– LVM create the logical volumes
– Files, create the files
• Format the disks
Linux VMs
• Mount the hard-drives
• Use an appropriate method to install your OS
– Debootstrap
– Untar and chroot
– Copy over an image
• Remember VMs only need a small set of
packages
Xen Config Files
•
•
•
•
kernel = ‘/boot/kernel-2.6.29-r1-amd64-xen-domu
Initrd (if required)
Memory = ‘512’
Disk = [ ‘phy:vgmagellanic/ns1disk,sda1,w’ file:/home/xen/ns1swap,sda2,w’ ]
• Name = ‘ns1’
• vif = [ 'mac=00:02:C6:26:10:B7‘,
‘mac=00:16:3e:aa:bb:cc,bridge=xenbr1’ ]
Managing VMs
• Starting VMs (xm create)
– We usually want to be running VMs
• Stopping VMs (xm shutdown)
– This is the nice safe way to stop VMs
• Really Stopping VMs (xm destroy)
– The Xen equivalent of a four-second off
• Monitoring (xm list, xm top)
Advanced Features
• Live Migration (xm migrate)
– Enable in xend config
– Both servers need to be able to access the VM’s
disks
• Snapshotting for backups
– Using lvm to make consistent backups
– Snapshot the domu from the dom0
– Mount the snapshot and rsync or tar it
Conclusion
• Xen can provide a separation of services with
minimal performance hit
• It is NOT a guaranteed security measure, but
it’s pretty good
• Some programs dislike running in VMs
• Allows Virtualization on older x86 hardware
A Few Resources
• http://tjhsst.edu/~ahamilto/josti09/
This Presentation
• http://tjhsst.edu/admin/livedoc/
– Sysadmin Livedoc, lots of general knowledge about
Linux/UNIX
• http://www.xen.org
– Homepage of the Xen project.
Any Questions?