Virtualization in Debian: Introduction - Computer Networks for SMBs

General index of the series: Computer Networks for SMEs: Introduction

Virtualization

The simplest is the best

In the header image of the main page of XtratuM, Hypervisor specially designed for Embedded or Embedded Systems in Real Time, we find the following image: xtratum

"Our Fundamental Principle for the installation, configuration, and administration of services, including of course Virtualization, fully agrees with the message «The simpler, the better", that is, The simplest is the best. "

Introduction

La Virtualization  it is a vast and complex subject. We won't write much about him. We will only expose some definitions and links to pages that we suggest should be read and / or studied, according to the interest that each reader has. We suggest read pages of the Wikipedia in English, and from other sources.

  • We do not want to go into the delivery of a typical How To with several commands, etc., without first giving at least an introductory guide to the subject. We know that some Impatient Readers They don't read the introductions and go straight to how it's done. Regrettable action because, later come the conceptual questions to which many times we cannot answer adequately, since it is impossible for us to know everything.

We hope that, after reading even a little carefully this article, the reader will have an idea about what it is Virtualization and its Current situation. Also, that it has a series of links that allows you to expand more on this day-to-day task of practically anyone who uses a computer at this time.

Definitions and links according to Wikipedia and other sources

Virtualization

In Computer Science, Virtualization refers to the act of creating the version of something virtual instead of something real, which includes the virtual computer hardware, OS, storage devices, and computer networking resources. Virtualization began in the 60s, as a method that divided the system resources of a mainframe computer, between different applications. Since then, the meaning of the term Virtualization it is constantly expanding.

La Virtualization o Virtualization Platform refers to the creation of a virtual machine, which acts like a real one, with an operating system. The software that runs on virtual machines is separate from the underlying hardware or physical resources. Example: a physical machine running Debian 8 "Jessie" can host a virtual machine with the Ubuntu Trusty 14.04 operating system.

In Virtualization it is called «Host - Host»To the real or physical computer where the virtualization itself takes place. To virtual machine It is called "Guest - Guest«. The terms Host y Guest they are used to distinguish software running on the real machine from software running on virtual machines. To software or firmware that creates the virtual machines on the Host hardware, it is called Hypervisor - hypervisor.

Different types of Virtualization:

  • Total Virtualization - full virtualization: It refers to the Almost Total Real Hardware Simulation, which allows virtualized software - typically consisting of an operating system - to run without any modification.
  • Partial Virtualization - Partial Virtualization: the target environment It is not fully simulated, but partially. As a result, some programs running on the Guest may need to be modified.
  • Paravirtualization - paravirtualization: No hardware environment is simulated. Each Guest Program - Guest runs on a Isolated Domain, as if they were running on separate systems. A specific modification of each Guest program is necessary for its execution in this type of environment.

La hardware assisted virtualization it is a way to improve the overall efficiency of the virtualization process. It implies that the processors or CPUs must have the necessary support for virtualization, as well as other components of the hardware itself.

Hardware Virtualization Is Not The Same As Hardware Emulation. In Emulation, one part of the hardware imitates another, while in Virtualization, the Hypervisor -which is software- imitates a particular piece of hardware or its entirety.

Virtual machine

In computing, a machine Interactive It is software that simulates a computer and can run programs as if it were a real computer. This software was originally defined as "an efficient and isolated duplicate of a physical machine." Currently, the meaning of the term includes virtual machines that do not have any direct equivalence with any real hardware.

Hypervisor

Un Hypervisor - hypervisor o Virtual Machine Monitor - Virtual Machine Monitor VMM is a platform that allows the application of various virtualization control techniques to use, at the same time, different operating systems (unmodified or modified as in the case of paravirtualization) on the same computer.

Open Virtualization Alliance (OVA)

La Open Virtualization Alliance, respecting its title in English, it is a Collaborative Project of the Linux Foundation. This Consortium is committed to the adoption of Free Software and Open Source Software - Open Source for virtualization solutions including KVM, and also for the software necessary for its Administration, such as the oVirt. The Consortium promotes the success stories of different customers, encourages interoperability, and accelerates the expansion of the ecosystem of Third Party solutions, around KVM.

Free Software promoted by the OVA:

  • KVM is a hypervisor. Was created by Qumranet, Inc., an Israeli company dedicated to software that at the time attracted a lot of attention for the rapid acceptance of the KVM module embedded in the Linux kernel. It offered the «Solid ICE desktop virtualization platform»Based on its Kernel-based Virtual Desktop Machines, and linked through its protocol SPICE. On September 4, 2008 the company Red Hat, Inc. acquired Qumranet for the value of $ 107 million.
  • libvirt is a API «Application Program Interface" open source, demon - daemon, and a tool for managing virtualization platforms. You can manage the KVM, Xen, VMware ESX, QEMU and other virtualization technologies. Its different APIs are widely used in the orchestration of the hypervisor layerlibvirt is a bookstore written in the C language, and can be linked with other languages ​​like Python, Perl, OCaml, Ruby, Java, JavaScript (Via Node.js) Y PHP.
  • oVirt is a software for the management of virtualization platforms. It is free and open source software. It was founded by the Red Hat as a community project on which the Red Hat Enterprise Virtualization. oVirt allows centralized management of virtual machines, network resources, storage and compute, from an easy-to-use web interface, with a independent platform to access it. The only Hypervisor officially supported on an X86 64 architecture is KVM, although efforts are made to support the architectures PPC y ARM in its next versions.
  • libguestfs is a library written in C language and a set of tools to access and modify the virtual disk images on a virtualization platform. The tools can be used for viewing and editing the virtual machines managed by libvirt and the files resident within them. Can also be used for script writing -scripting- that modify or create virtual machines.
  • Virtual Machines Manager - Virtual machine manager is a Red Hat software also known as virt-manager, name that the package also has in the Debian repositories. It is a Desktop application for managing virtual machines. It is used for the creation, configuration and adjustment of new domains. It has a VNC client through which we have access to a graphical console of the guest domain. In the virt-manager package that Debian Jessie brings, the SPICE protocol is also included to access the graphical console of virtual machines.

Xen

Xen It is a Hypervisor that uses a micro-core design, and provides the necessary services for multiple operating systems to run simultaneously on the same computer hardware. He Cambridge University Computer Lab, developed the first versions of Xen, which is also free software. Debian 8 "Jessie" has in its repositories the package xen-hypervisor-4.4-amd64.

OpenVZ

OpenVZ is an operating system level virtualization solution for Linux. It allows you to create isolated, secure and private virtual servers on the same physical server, which offers a better use of hardware resources. It also ensures that the applications running on each of the servers do not conflict. Each Virtual Private Server - Virtual Private Server (VPS), it runs exactly like a standalone server. They can be restarted, and allow access by the root user and other normal users. They have their own IP addresses, memory, processes, files, applications, system libraries, and configuration files.

Debian removed kernels modified for OpenVZ support from its repositories as of Debian 7 "Wheezy".

Linux Containers LXC

The containers they are isolated areas within an operating system. Each area has its own namespace for the file system, network, PID, CPU, and memory allocation. They can be created using the Control Groups and Namespaces features included in the Linux kernel. LXC It is a technology similar to others based on virtualization at the kernel level such as OpenVZ and linux-vserver.

Archipel

Archipel is a solution for the management and supervision of virtual machines running on KVM, Xen, OpenVZ or VMware. Debian Jessie includes it in its repositories through various packages that point to its agents or to the Archipel core. For more information, search for "archipel" via Synaptic or via aptitude search archipel.

Other links of interest

  • Open vSwitch: open source software that allows the creation of a virtual switch.
  • OpenStack:
  • OpenQRM: Next Generation Open Source Platform for Data Center Management - Data Center.
  • Docker: open source project capable of automating the deployment of applications within software containers.
  • nextmox: open source server for virtualization environments.
  • VMware- A subsidiary of EMC Corporation (owned by Dell Inc) that provides virtualization software available for X86 compatible computers
  • Virtualbox: free software for creating virtual machines. Debian moved the packages related to this software to its branch «contrib«.
  • OpenNebula: ONE extends the benefits of virtualization platforms from a single physical resource to a bank of resources, by decoupling the server, not only from its physical infrastructure, but also from its physical location.

Readers who have been kind enough to peruse the article up to this line will have realized how vast and complex the current universe of Virtualization is. We hope it serves as a guide on your journey.

Next delivery?

Now Qemu-KVM is on Debian!

Remember that this will be a series of articles by Computer Networks for SMEs. We will be waiting for you!


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.

  1.   Zodiac Carburus said

    Very good introduction to virtualization in general. Thank you for the work in writing this post. We are waiting for the next ones.

  2.   Mario said

    Thanks Fico for the introduction.

    Very well explained and with enough links to go deeper into the subject.

  3.   federico said

    That is the purpose Mario. I think that many are not clear about the current scope of the virtualization issue.