Introduction to Xen Virtualization: Concepts, Methods, and Practical Implementation
This presentation covers the fundamentals of Xen virtualization, exploring theory, methods, and practical implementation steps. It delves into the UNIX philosophy of doing one thing well and discusses various virtualization techniques including containerization, chroots, FreeBSD jails, and full virtualization. Additionally, the talk outlines setting up a Xen environment with Dom0 and DomUs, configuring networking, and managing virtual machines (VMs), as well as advanced features like live migration and snapshotting. This session is essential for understanding how to leverage Xen virtualization effectively.
Introduction to Xen Virtualization: Concepts, Methods, and Practical Implementation
E N D
Presentation Transcript
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
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 Switch Network eth0 Physical Adapter xenbr0 Network Bridge Vif0.0 Vif1.0 Vif2.0 VMs
VM Networking: NAT Switch Network eth0 Physical Adapter IPTables NAT/Firewall Vif0.0 Vif1.0 Vif2.0 VMs
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/ns1-disk,sda1,w’ file:/home/xen/ns1-swap,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.