PROJETO XEN – VISÃO GERAL – …::: ClusterWeb® – Internet Data Center :::…
PROJETO XEN – VISÃO GERAL
Banco de Dados, Clusterweb, ClusterWeb, Debian, Firewall, Hospedagem, Leitura Recomendada, Linux, Midia, Nagios, Profissional de TI, Programação, Redes, Segurança, Shell Script, Sistemas de Armazenamento, Ubuntu, Virtualização, XenServer
NOTA: Esse artigo é uma tradução livre (com notas do tradutor) da documentação disponível emhttp://wiki.xenproject.org/wiki/Xen_Overview.
Um hypervisor é um software de computador, um firmware ou hardware sobre o qual é possível criar e executar máquinas virtuais. O hypervisor também é conhecido como VMM – Monitor de Máquinas Virtuais (em inglês). A máquina real onde o hypervisor é executado é chamada de máquina hospedeira (host); as máquinas virtualizadas são chamadas de visitantes (guest). De acordo com [1], hypervisores são classificados em:
Tipo-1 – Nativo ou "Bare Metal", são os hypervisores que executam diretamente sobre o hardware, assumindo diretamente seu controle e gerenciando os sistemas operacionais visitantes. Um visitante é executado como um processo do hospedeiro.
Tipo-2 – Hypervisores hospedados (hosted) são hypervisores que executam sobre um sistema operacional e são executados como uma aplicação do espaço usuário. O tipo-2 cria uma abstração sobre o sistema operacional do hospedeiro que permite compartilhar recursos de hardware. São exemplos de hypervisores do tipo-2: Virtualbox e VMWare Workstation.
Atualmente, essas duas tecnologias se confundem em ambientes que não são totalmente claros: como o KVM – Kernel-based Virtual Machine – e o FreeBSD bhyve que são módulos do kernel que efetivamente convertem sistemas do tipo-2 em sistemas do tipo-1.
Virtualização não é uma ciência nova, sua origem remonta ao final dos anos 1960 quando as primeiras implementações foram feitas em computadores de grande porte (mainframes) da IBM. Os maiores avanços ocorreram no final da década de 1970, principalmente com o avanço da memória compartilhada e a virtualização dos processos de memória.
Com a expansão da capacidade do hardware doméstico essa característica chegou aos PCs por volta do ano 2005 com a inclusão de características especiais em hardware (vários núcleos (dual core) e features de virtualização no processador). Avanços em software como o SMP – Multi-Processamento Simétrico também tornaram possível a virtualização em PCs domésticos.
Sistemas de código aberto do tipo Unix tiveram grande influência no desenvolvimento da virtualização, pois para executar um sistema virtualizado são necessárias várias modificações em seu código fonte. Grandes fabricantes como Oracle, IBM, HP e SGI trabalham juntos no desenvolvimento da virtualização e utilizam intensamente esses processos como produtos comerciais, hospedando sistemas na nuvem (cloud computing).
A partir de 2005 fabricantes de processadores Intel e AMD incluíram características (features) em seus processadores que implementam a virtualização em hardware. Na Intel esse recurso é chamado de VT-x (Vanderpool) e na AMD é chamado de AMD-v (Pacífica). Produtos em software como VMWare e VirtualBox ficarm populares no final dos anos 2000. A Microsoft entrou no jogo em 2008 com o Hyper-V (Viridian).
Atualmente, a virtualização avança em direção aos sistemas embarcados, principalmente, sobre a arquitetura ARM que muitos acreditam ser a sucessora da arquitetura X86. Os microprocessadores embarcados passaram a atuar como virtualizadores em micro escala.
O QUE É O PROJETO HYPERVISOR XEN
O projeto Xen é um hypervisor em código aberto do tipo-1 ou bare metal. Xen torna possível executar várias instâncias de sistemas operacionais, em paralelo, sobre o mesmo hardware. Xen é o único hypervisor do tipo-1 sobre código aberto (carece de confirmação).
As principais características de Xen são:
Mínimo consumo de recursos (em torno de 1 MB por visitante) devido a sua arquitetura de microkernel e limitado acesso/interface ao visistante.
Robustez e segurança são prioridades da implementação em detrimento de facilidades, especialmente quando comparado com outros hypervisores.
Agnóstico em relação ao sistema operacional hospedeiro. A maioria das instalações são feitas usando Linux como hospedeiro, entretanto, outros sistemas (OpenSolaris e NetBSD) podem ser utilizados.
Isolamento dos drivers. Xen permite que os drivers principais executem dentro da máquina virtual. Se um drive quebrar ou fica comprometido, a VM pode ser rebootada sem afetar o sistema hospedeiro.
Implementa virtualização completa (HVM). Os visitantes são otimizados para serem executados como máquinas virtuais. Isso permite que os visitantes executem mais rápido do que quando estão usando extensões de hardware reais.
Se o visitante não pode implementar HVM, ainda assim, pode ser executado como um sistema paravirtualizado (PV).
Arquitetura especialmente definida pela criação do domínio zero (dom0) que embarca todos os drivers necessários para o hardware, bem como uma pilha de ferramentas (toolstacks) para controlar as máquinas virtuais (VMs).
O domínio zero controla os drivers e a pilha que gerencia a criação de máquinas virtuais, sua destruição e configuração.
ARQUITETURA DO XEN
O diagrama a seguir representa a arquitetura do Xen. O Xen hypervisor é executado diretamente sobre o hardware e possui a responsabilidade pela manipulação da CPU, memória RAM e interrupções (de hardware?). Xen é o primeiro programa executado após a fase do bootloader (GRUB). Uma instância especial de sistema operacional é executada sobre Xen com o nome de domínio zero (dom0) ou VM-0. As demais máquinas virtuais são chamadas visitantes (guest).
O hypervisor Xen é extremamente pequeno (menos de 150 mil linhas de código) e executa diretamente sobre o hardware gerenciando a CPU, a RAM e as interrupções. O hypervisor não tem conhecimento sobre processos de I/O de rede e de disco.
Domínios visitantes ou VMs – são ambientes virtualizados, cada um executando seu próprio sistema operacional e aplicações. O hypervisor suporta dois tipos de virtualização: Paravirtualização (PV) e Virtualização Completa (HVM). Ambos visitantes podem ser utilizados ao mesmo tempo em um hypervisor. Uma categoria especial chamada de PV-on-HVM permite criar um "continuum" entre uma PV e uma HVM. Visitantes são completamente isolados do hardware, em outras palavras, eles não tem qualquer acesso direto ao hardware ou as funcionalidades de I/O. Os visitantes são chamados de "domínios sem privilégios" – em inglês – unprivileged domain ou DomU.
O domínio controlador ou Dom0 – é uma máquina virtual especializada que possui privilégios especiais como a capacidade de acessar diretamente o hardware, manipular todos os acessos de I/O e inteagir com as VMs. O dom0 expõe uma interface de controle que acessa o mundo exterior das VMs. Não é possível usar Xen sem um dom0, pois tecnicamente dom0 é a primeira máquina virtual instalada.
Ferramentas e Console – O dom0 possui uma pilha de controle (toolstack) que permite gerenciar as máquinas virtuais. A pilha expõe uma interface através de um console de comandos. Opcionalmente, é possível usar uma aplicação gráfica para gerenciar as VMs.
Sistema Xen – O dom0 requer um kernel modificado com funções Xen. Visitantes paravirtualizados requerem apenas funções PV. Distribuições Linux que utilizam kernel mais recente são capacitadas a se tornar um dom0. Versões antigas somente podem ser visitantes PV.
TIPOS DE VISITANTES
1. Paravirtualização (PV) e Virtualização Assistida de Hardware (HVM) podem ser utilizadas ao mesmo tempo em um hospedeiro Xen. Os tipos de visitantes permitidos são definidos em tempo de compilação de Xen. PV ou Paravirtualização é uma técnica introduzida originalmente por Xen e mais tarde adotada por outras plataformas de virtualização. Hospedeiros PV não requerem extensões de virtualização (VT-x ou AMD-V), entretanto, os visitantes precisam de funções PV ativas para que seu kernel e seus drivers se tornem cientes da existência de um hypervisor, dispensando emulações ou emulações virtuais de hardware. Sistemas como Linux, NetBSD, FreeBSD e OpenSolaris podem ser PV. No Linux, sistemas com kernel a partir de 2.6.24 podem ser PV.
2. HVM ou virtualização completa utiliza extensões do CPU hospedeiro para virtualizar os visitantes. HVM requer VT-x ou AMD-V para funcionar. O Xen utiliza Qemu para emular hardware de PC, incluindo a BIOS, os discos IDE, a controladora de vídeo VGA, as controladoras USB, de rede, etc. Virtualização completa dá total desempenho na emulação. Visitantes em HVM não requerem qualquer tipo de suporte ou modificação no kernel. Isso significa que o Janelas Willy Caolho Edition pode ser utilizado (mas quem faria isso?).
3. PVHVM ou visitante com Performance, completamente virtualizado HVM podem usar drivers paravirtuais especiais (PVHVM ou PV-on-HVM) que são drivers PV otimizados para ambientes HVM; fazendo um bypass da emulação de disco e rede, o que dá ao PV uma performance melhor em sistemas HVM nativos. Melhora o desempenho do Willy Caolho Edition. Visitantes com suporte PV automaticamente usam drivers PV otimizados.
4. PVH ou DomU's foi introduzido no Xen 4.5 como um dom0 com PVH (Linux e BSD) que essencialmente torna um visitante PV com drivers de boot e I/O, capaz de usar HW virtualização por extensões, sem necessidade de emulação. PVH é um recurso experimental em Xen 4.4 e 4.5 e não pode ser utilizado em produção. PVH fornece melhor desempenho em sistemas 64 bits atuais. Ativando pvh=1 no arquivo de configuração ativa PVH. O dom0 somente pode usar PVH em Xen 4.5.
Xen possui suporte nativo em muitas distribuições Linux, principalmente Debian, Fedora e Ubuntu que podem ser utilizados como dom0. Em outros sistemas a quantidade de ajustes para fazer Xen funcionar é enorme. Isso limita o uso somente por profissionais.
[1] – https://en.wikipedia.org/wiki/Hypervisor
[2] – http://wiki.xenproject.org/wiki/Xen_Overview
Tagged with: clusterweb, GERAL, PROJETO, VISÃO, XEN
SQUID BALANCEADO COM LVS LVM dicas rápidas
Last 7 Days Visits: 3.720
Last 30 Days Visits: 21.098
Last 365 Days Visits: 372.315
Total Visits: 2.823.217
Total Users: 1.473
Clusterweb (498)
ClusterWeb (277)
Firewall (65)
Leitura Recomendada (396)
Profissional de TI (280)
How to use Filters in Wireshark 21 de janeiro de 2022
Wireshark (Formerly Ethereal) is used for capturing and investigating the traffic on a network. In this guide, we are going to explore how to create and efficiently apply filters in Wireshark. Let us get started now.
How to create an Ubuntu Virtual Machine in Azure Cloud 21 de janeiro de 2022
Azure Virtual Machine (VM) is one of the types of on-demand, scalable computing resources. This guide will show you step by step with screenshots of how to create a virtual machine (VM) in the Microsoft Azure Cloud.
How to install Mattermost on Alma Linux 8 21 de janeiro de 2022
Mattermost is a free, open-source, and secure platform for communication, collaboration, and workflow orchestration across tools and teams. In this tutorial, we will show you how to install Mattermost with Nginx on Alma Linux 8.
How to Install Redmine Project Management Software on Rocky Linux 8 20 de janeiro de 2022
Redmine is a free and open-source project management software and issue tracking tool. It is written using the Ruby on Rails framework and can be integrated with various version control systems.
ISPConfig Perfect Multiserver setup on Ubuntu 20.04 and Debian 10 20 de janeiro de 2022
How to use Cloudformation to create SQS Queues on AWS 19 de janeiro de 2022
AWS Simple Queue Service (SQS) is a fully managed message queuing service that enables us to decouple and scale microservices, serverless applications, and distributed systems. In this article, we will see the steps to create a Standard and FIFO Queue using Cloudformation Stack.
How to Install LibreNMS on Debian 11 18 de janeiro de 2022
LibreNMS is an open-source network monitoring system based on PHP and with autodiscovery support. sing LibreNMS allows you to monitor operating systems like Linux, Windows, and BSD, also it supports a wide range of network hardware from multiple vendors such as Aruba, Cisco, Dell, D-Link, HP, and Mikrotik.
How to Install and use PHP Composer on AlmaLinux 8 18 de janeiro de 2022
Composer is a dependency manager for PHP that allows you to download and install all the required PHP packages needed for your project. It is a command-line tool that installs all libraries and dependencies for your project from the packagist.org repository.
How to create an IAM Role in AWS using Terraform 18 de janeiro de 2022
In this article we will see how to create an IAM Role. Before proceeding, I assume that you are familiar with the basics of Terraform and AWS IAM Roles.
Overview of the Wireshark User Interface (GUI) 17 de janeiro de 2022
Wireshark is a Free and Open Source Software (FOSS) and it is developed by a community of enthusiastic developers. Wireshark has many features like profound inspection of network traffic, real-time capture, offline analysis, and R/W support for different capture file types.