Differences between revisions 55 and 56
Revision 55 as of 2016-03-04 14:56:40
Size: 7162
Editor: ?DanielPocock
Comment:
Revision 56 as of 2016-03-27 14:28:30
Size: 7164
Comment: added TOC , minor fixes
Deletions are marked like this. Additions are marked like this.
Line 16: Line 16:
## [[TableOfContents(2)]] <<TableOfContents(2)>>
Line 39: Line 39:
  * Alternative solutions for graphics acceleration are emerging, including [[https://virgil3d.github.io/|VirGL]] ([[Bug(#813658)]]) and [[https://www.phoronix.com/scan.php?page=news_item&px=Intel-2016-XenGT-KVMGT|KVMGT]] (currently supports Intel Haswell-based GPUs only, can be adapted for others in theory). These solutions are [[https://lists.freedesktop.org/archives/virglrenderer-devel/2016-March/000051.html|discussed and compared in this thread]]   * Alternative solutions for graphics acceleration are emerging, including [[https://virgil3d.github.io/|VirGL]] (DebianBug:813658) and [[https://www.phoronix.com/scan.php?page=news_item&px=Intel-2016-XenGT-KVMGT|KVMGT]] (currently supports Intel Haswell-based GPUs only, can be adapted for others in theory). These solutions are [[https://lists.freedesktop.org/archives/virglrenderer-devel/2016-March/000051.html|discussed and compared in this thread]]
Line 65: Line 65:
 * High level: Use a solution like DebianPkg:ganeti or [[XCP|XCP (or XenServer)]] which provides a very structured way to manage virtual machine lifecycle, including standard patterns for virtual storage and networking  * High level: use a solution like DebianPkg:ganeti or [[XCP|XCP (or XenServer)]] which provides a very structured way to manage virtual machine lifecycle, including standard patterns for virtual storage and networking
Line 77: Line 77:
 * see [[Cloud|the Debian cloud wiki]] for more options  * see the Debian Wiki [[Cloud|Cloud page]] for more options

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.

Why:

  • 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

Benefits:

  • 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.

Why:

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

Benefits:

  • 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.

Why:

  • 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

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.

Why:

  • scaling on demand

Debian solutions:

Using Debian to host Virtual Computers

Open Source solutions

Virtualization

  • 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

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

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

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

Others

  • 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.

Tools

  • 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


SystemAdministration