[[!meta title="Linux Virtual Machine Overview"]] This document is ***WORK IN PROGRESS*** ## Introduction This article tries to summarise Linux Virtual Machine methods and is in its early stage. It does not focus on different types of hypervisors, but more on the issues and features you get with each hypervisor. ### Host Kernel Some supervisors need their own (modified Linux) kernel to operate, whereas others work with any Linux kernel. Though some of them again need some configurations to be turned on in the stock kernel. ### Management Most hypervisors contain some minor collection of utilities to manage virtual machines. Some libraries / frameworks try to integrate those utilities, to abstract the different implementations. Typical issues are: * Autostart machines on startup / autostop on shutdown * Creation of new VMs / including template handling * Manual start/stop of VMs * Listing of running / existing VMs ## Hypervisors [[!table data=""" Name | Host Kernel [QEMU](http://wiki.qemu.org/) | Original [KVM](http://www.linux-kvm.org/) | Original w/KVM [Lguest](http://lguest.ozlabs.org/) | Original w/Lguest [Linux Containers](http://lxc.sourceforge.net/) | Original w/Containers [Linux VServer](http://linux-vserver.org) | Own [User Mode Linux](http://user-mode-linux.sourceforge.net/) | Original [OpenVZ](http://wiki.openvz.org/Main_Page) | Own [Virtualbox](http://www.virtualbox.org/) | Original+Modules [VMWare](http://www.vmware.com/) | Original+Modules / Own [Xen](http://www.xen.org/) | Own """]] ## Libraries / Frameworks [[!table data=""" Name | Hints Ganetti | Libvirt | """]] ## Raw import of notes The following notes I made some months ago, which will be the basis for this article. Try all of them and handle them via creature! Installation ------------ From host like lxc. From "inside" like KVM/QEMU/VMWare. status ------ eth: ip addresses / mac / dhcp ### lxc Not completly isolated. Linux only. Many changes to the guest os. Some scripts existent (lxc-debian, lxc-fedora). The latter does not work on debian. lxc-debian mit cache (schlau) no real hypervisor existent. mac / ipv4 management missing => creature adjust init. change dev. do not run udev (why?) Root open in the filesystem. Nice. Quota? Ressources are shared, if nothing else is specified. => network = all! First installation - than virtualisation! kvm --- mac address, ip address => dhcp??? Bootstrapping ------------- how tos different methods which way for which vm-type Network ------- Always dhcp? Either on the vm-host or external. Reason: Easy to configure. Scales dynamically. How to handle bridges etc.? Independent of the os? Reuse OS [[!tag net unix]]