200 likes | 312 Vues
This presentation provides a comprehensive overview of Xen virtualization, outlining its core theories, methods, and practical applications. We explore various virtualization techniques, including containerization, chroots, FreeBSD jails, and full virtualization, highlighting their pros and cons. The talk covers the architecture of Xen, including Dom0 and DomUs, and provides step-by-step guidance for installation, configuration, and management of VMs. We also discuss advanced features like live migration and snapshotting. Discover how Xen can efficiently separate services with minimal performance impact.
E N D
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.