Differences between revisions 58 and 59
Revision 58 as of 2017-10-26 07:40:29
Size: 7296
Editor: Sebul
Comment: Added Korean
Revision 59 as of 2017-10-26 07:41:36
Size: 7298
Editor: Sebul
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: English - [[fr/SystemVirtualization|Français]] - [[it/SystemVirtualization|Italiano]] - [[ko/SystemVirtualization|한국어]- [[es/SystemVirtualization|Español]]-~ ~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: English - [[fr/SystemVirtualization|Français]] - [[it/SystemVirtualization|Italiano]] - [[ko/SystemVirtualization|한국어]] - [[es/SystemVirtualization|Español]]-~

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 talks about virtualization. Technical language could be used.

In computing, platform virtualization is a term that refers to the abstraction of computer resources. Virtualization hides the physical characteristics of computing resources from their users (more on Wikipedia)

Note that virtualization is different than emulation, which duplicates (provides an emulation of) the functions of one system using a different system, so that the second system behaves like (and appears to be) the first system (more on Wikipedia)

Use cases and applicable solutions

Local desktop virtualization

A local workstation on a user's desk running two or more operating instances simultaneously.

Example: a Debian host running Microsoft Windows in a virtual machine.


  • running applications that don't run on the host OS (e.g. running a Windows application on a GNU/Linux desktop)
  • testing changes that may cause instability without disrupting the main host OS
  • running a VM that is sandboxed/isolated from LAN or Internet resources


  • as everything is local, performance is very high, especially for graphics
  • uses spare capacity in workstation-class desktops

Debian solution:

  • VirtualBox provides a nice GUI and accelerated graphics features for the VM

  • KVM can also do this, but the graphics emulation has performance limitations.

Remote desktop virtualization

A central server running dozens of virtual workstation instances for different users. Example: a Debian host running 20 virtual workstations.


  • centralized management
  • accessing a specific desktop or desktop application from multiple locations


  • performance is comparable when accessed from multiple locations
  • any local workstation can potentially be used as long as there is a remote desktop client such as VNC viewer. Old machines or machines running some other OS can be used for more purposes.

Debian solution:

  • Use KVM or Xen to create a server.

Server virtualization

A single physical server running more than one virtual server OS instances. Example: a Debian host running five Debian virtual servers, two virtual Windows servers and ten virtual desktops.


  • don't need to buy hardware for every server you want to run
  • run just one major process on each virtual server (e.g. mail on one, SQL on another) so that they can be rebooted or upgraded independently of each other, making support and upgrades easier

Debian solutions:

  • High level: use a solution like ganeti or XCP (or XenServer) which provides a very structured way to manage virtual machine lifecycle, including standard patterns for virtual storage and networking

  • Low level: use KVM or Xen to create a server, manually managing the virtual storage and networking with scripts you create yourself.


Cloud is similar to server virtualization, except that instances become more abstract. Server instances can be deployed dynamically from templates for purposes such as horizontal scalability.


  • scaling on demand

Debian solutions:

Using Debian to host Virtual Computers

Open Source solutions


  • Qemu - Mostly used on Desktops/Laptops.

  • KVM - Used on servers as well as Desktops/Laptops.

  • VirtualBox - Mostly used on Desktops/Laptops. Similar to VMWare Workstation. Can be used in headless mode on servers.

  • Xen - Provides para-virtualization and full-virtualization. Mostly used on servers.

OS-level virtualization

  • nspawn - Linux Containers provided through Systemd.

  • LXC - Linux Containers. Creates multiple isolated containers. Mainline since 2.6.26.

  • Docker - Linux Containers.

  • LinuxVserver - Mostly used on servers. Creates multiple isolated containers. DEPRECATED.

  • OpenVz - Mostly used on servers. Creates multiple isolated containers. DEPRECATED.


  • UserModeLinux Not really a virtualization. Doesn't need superuser privileges.

  • Schroot - Not a virtualization, but similar in purpose. (based on chroot)

  • libvirt - Manage different virtualization solutions such as KVM and Xen through a common (programming and user) Interface.

  • ?Ganeti - Cluster virtualization manager, for KVM or Xen.

Proprietary software

  • VMware - Virtualization tool.

  • VirtualBox - There is an Open-Source-Edition (OSE) and a commercial one with enhanced functionality.

Running Debian inside a Virtual computer

Virtual Networking

Information on how to configure Debian to work with various virtualization methods simultaneously is available on the VirtualNetworking page.

Management Tools

  • 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