www.nico.schottelius.org/docs/linux-virtual-machines.mdwn

118 lines
2.6 KiB
Markdown

[[!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]]