Translation(s): English - Français - Italiano - 한국어 - Español
http://www.debian.org/logos/openlogo-nd-50.png http://www.debian.org/Pics/debian.png
Portal/IDB/logo_portal.png Welcome to Debian system virtualization
Portal/IDB/icon-emulator-32x32.png This portal is about virtualization. Technical language is be used.
In computing, virtualization refers to a range of technologies that allow one computer system to provide multiple independent systems at the same time. It allows the computer's hardware and resources to be divided between multiple independent virtual machines, containers or embedded systems: to a user these appear like real operating systems but they share the same hardware. See the wikipedia Virtualization page for more information.
Virtualization is related to, but subtly different from, emulation. Emulation is where one type of hardware is made to use programs designed for another.
Contents
Virtual machines
A Debian host can use virtualization to run a different operating system in a virtual machine.
This may be a desktop or server. There are many reasons for doing this, including to:
run applications designed for another operating system (e.g. run a DebianUnstable application on DebianStable system)
- test disruptive changes without disrupting the main host
- create a virtual machine isolated from a local network or the internet
- run servers in their own machines so that they can be rebooted or upgraded independently of each other, making support and upgrades easier
- allow users to log into a centrally managed desktop
If the user is accessing the host's physical hardware locally, performance can be very good, especially where the host's hardware allows graphics cards to be virtualized. Remote access is also possible, but supporting graphics can cause a performance hit.
Debian packages to provide virtual machines
If GPU card passthrough works on your hardware then it is a great way to go
Alternative solutions for graphics acceleration include VirGL (813658) and KVMGT (which currently supports Intel Haswell-based GPUs, but can be adapted for others in theory). These are discussed in this thread
Qemu - Mostly used locally
Debian packages to manage and configure virtual machines
VirtualBox provides a nice GUI and accelerated graphics features for the virtual machine
ganeti - Cluster virtualization manager, for KVM or Xen.
XCP (or XenServer) provides a structured way to manage virtual machines, including templates for virtual storage and networking
OpenStack (which uses KVM or Xen) allows you to virtualize at scale. See the Debian Wiki Cloud page for more options
libvirt - Manage different virtualization solutions such as KVM and Xen through a common (programming and user) Interface.
virt-manager - A GUI based on libvirt-bin offering complete virtual infrastructure management.
virsh - A command line tool based on libvirt-bin offering complete virtual infrastructure management.
kpartx - convenient utility for accessing partitions in an image file or LV from a virtual machine
xmount - tool to crossmount between multiple input and output harddisk images
SystemBuildTools includes some tools to build VMs
Containers
Containers are a 'lighter-weight' form of virtualization, which provide users with something that is less than a full virtual machine, but with more isolation than a chroot.
Debian packages for containers include:
The following are not strictly virtualization, but provide process isolation
UserModeLinux Not really a virtualization. Doesn't need superuser privileges.
Schroot - Not a virtualization, but similar in purpose. (based on chroot)
Proprietary software for virtualization
VMware - Virtualization tool.
VirtualBox - There is an Open-Source-Edition (OSE) and a commercial one with enhanced functionality.
Running Debian inside a Virtual machine
Debian inside Microsoft ?Virtual PC 2007.
Debian inside Microsoft Hyper-V.
?Debian guests on CentOS 5.5 + KVM
Virtual Networking
Information on how to configure networking for various virtualization methods available on the VirtualNetworking page.
Wiki pages
All wiki pages related to system virtualization:
- Cloud
- Cloud/AmazonEC2DebianInstaller
- Cloud/AmazonEC2Image
- Cloud/GoogleComputeEngineImage
- Cloud/SystemsComparison
- Docker
- KVM
- LXC
- Lguest
- OpenNebula
- OpenStack
- OpenVz
- PackagingWithDocker
- Podman
- QEMU
- Qubes
- Schroot
- SystemVirtualization
- ThomasChung/CloudImage
- ThomasChung/Linode
- ThomasChung/WebConsole
- ThomasChung/virsh-snapshot
- UserModeLinux
- VMBuilder
- VMware
- VirtualBox
- VirtualNetworking
- WindowsServerHyperV
- XCP
- Xen
- Xen/InstallBootConfig
- es/KVM
- it/QEMU
- it/SystemVirtualization
- it/chroot
- libvirt
- nspawn
- pt_BR/Docker
- pt_BR/Podman
- uk/VirtualBox
CategoryVirtualization | CategorySoftware | CategorySystemAdministration | CategoryPortal