Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

Virtualization

Red Hat Enterprise Linux 5

A reference guide for virsch, xm, vmm and xend.

Edição 2.0

Logo

Resumo

Este Guia contém informação sobre configuração, criação e monitoração de sistemas operacionais de convidado no Red Hat Enterprise Linux 5, usando virsh, xm, vmm e xend.
Se você encontrar um erro no Guia do Componente de Virtualização do Red Hat Enterprise Linux, ou se pensou em algo que possa melhorar este manual, nós adoraríamos saber! Submeta um relatório no Bugzilla (http://bugzilla.redhat.com/bugzilla/) no produto Red Hat Enterprise Linux e componente Virtualization_Guide.

Capítulo 1. Arquitetura de Sistema da Tecnologia de Virtualização Red Hat

O sistema da Tecnologia de Virtualização Red Hat funcional é apresentado em diversas camadas e é guiado por um componente de Virtualização Red Hat privilegiado. A Tecnologia de Virtualização Red Hat pode hospedar diversos sistemas operacionais convidados. Cada sistema operacional convidado roda em seu próprio domínio, a Tecnologia de Virtualização Red Hat agenda as CPUs virtuais dentro da máquina virtual para utilizar as CPUs físicas disponíveis da melhor maneira. Cada sistema operacional convidado manipula seu próprio aplicativo. Estes sistemas operacionais convidados agendam cada aplicativo de acordo com a necessidade.
Você pode implementar a Tecnologia de Virtualização Red Hat de duas maneiras: virtualização completa ou para-virtualização. A virtualização completa oferece abstração total de sistema físico adjacente e cria um novo sistema virtual no qual os sistemas operacionais convidados podem rodar. Não é necessário nenhuma modificação no Sistema Operacional convidado ou aplicativo (o SO convidado ou aplicativo não está a par do ambiente virtualizado e roda normalmente). A Para-virtualização requer modificações do usuário dos sistemas operacionais convidados que rodam em máquinas virtuais (estes sistemas operacionais convidados sabem que podem rodar em uma máquina virtual) e oferecem desempenho semelhante ao nativo. Você pode implementar a para-virtualização e virtualização completa em sua infraestrutura de virtualização.
O primeiro domínio, conhecido como domínio0 (dom0), é automaticamente criado quando você inicializar o sistema. O Domínio0 é o convidado privilegiado e posui capacidades de gerenciamento que pode criar novos domínios e gerenciar seus dispositivos virtuais. O Domínio0 manipula o hardware físico, tais como cartões de rede e controladores de discos rígidos. O Domínio0 também manipula tarefas administrativas tais como suspensão, retomada ou migração de domínios de convidados para outras máquinas virtuais.
The hypervisor (Red Hat's Virtual Machine Monitor) is a virtualization platform that allows multiple operating systems to run on a single host simultaneously within a full virtualization environment. A guest is an operating system (OS) that runs on a virtual machine in addition to the host or main OS.
With Red Hat Virtualization, each guests memory comes from a slice of the host's physical memory. For paravirtual guests, you can set both the initial memory and the maximum size of the virtual machine. You can add (or remove) physical memory to the virtual machine at runtime without exceeding the maximum size you specify. This process is called ballooning.
Você pode configurar cada convidado com um número de cpus (chamado de vcpus) virtuais. O Gestor de Máquina Virtual organiza as vcpus de acordo com a carga de trabalho em CPUs físicas.
Você pode atribuir qualquer número de discos virtuais à um convidado. Eles enxergam estes discos como discos rígidos ou (para convidados totalmente virtuais) como drives de CD-ROM. Cada disco virtual é oferecido ao convidado a partir de um dispositivo de bloco ou a partir de um arquivo no convidado. O dispositivo no convidado contém a imagem inteira de disco completo para convidado, e geralmente inclui tabelas de partição, partições múltiplas, e volumes físicos de LVM.
As interfaces de rede Virtual rodam em convidados. Outras interfaces podem rodar no convidado como cartões de internet ethernet virtual (VNICs). Estas interfaces de rede são configuradas com endereço de controle de acesso de mídia virtual (MAC). A instalação padrão de um convidado novo, instala o VNIC com um endereço MAC selecionado aleatoriamente de um pool reservado entre 16 milhões de endereços, portanto é provável que dois convidados recebam o mesmo endereço MAC. Os sites complexos com grande quantidade de convidados podem alocar endereços MAC manualmente para assegurar que eles ainda são únicos na rede.
Cada convidado possui um console de texto virtual que conecta ao convidado. Você pode redirecionar registros de convidado e saídas de console para o console de texto.
Você pode configurar qualquer convidado para usar um console gráfico virtual que corresponde a um console virtual normal em um convidado físico. Você pode fazer isso para convidados totalmente virtuais ou para-virtuais. Ele emprega os recursos de adaptador de gráfico padrão como mensagem de inicialização, inicialização gráfica, terminais virtuais múltiplos, e pode lançar o sistema window x. Você também pode usar o teclado gráfico para configurar o teclado virtual e mouse.
Guests can be identified in any of three identities: domain name (domain-name), identity (domain-id), or UUID. The domain-name is a text string that corresponds to a guest configuration file. The domain-name is used to launch the guests, and when the guest runs the same name is used to identify and control it. The domain-id is a unique, non-persistent number that gets assigned to an active domain and is used to identify and control it. The UUID is a persistent, unique identifier that is controlled from the guest's configuration file and ensures that the guest is identified over time by system management tools. It is visible to the guest when it runs. A new UUID is automatically assigned to each guest by the system tools when the guest first installs.

Capítulo 2. Suporte a Sistemas Operacionais

Red Hat Virtualization's paravirtualization mode allows you to utilize high performance virtualization on architectures that are potentially difficult to virtualize such as x86 based systems. To deploy para-virtualization across your operating system(s), you need access to the paravirtual guest kernels that are available from a respective Red Hat distro (for example, RHEL 4.0, RHEL 5.0, etc.). Whilst your operating system kernels must support Red Hat Virtualization, it is not necessary to modify user applications or libraries.
A Tecnologia de Virtualização Red Hat permite que você rode um kernel convidado não modificado se você tiver o harware da Intel VT e AMD SVM CPU. Você não precisa criar nova versão do seu sistema operacional para implementar esta arquitetura em seus sistemas Intel VT ou AMD SVM. A Tecnologia de Virtualização Red Hat suporta:
  • As tecnologias Intel VT-x ou AMD-V Pacifica e Vanderpool para uma para-virtualização e completa.
  • Intel VT-i para ia64
  • Os sistemas operacionais Linux e UNIX, incluindo o NetBSD, FreeBSD, e Solaris.
  • Microsoft Windows as an unmodified guest operating system with Intel Vanderpool or AMD's Pacifica technology.
Para rodar convidados de componente de virtualização em sistemas com Máquina Virtual assistida por Hardware (HVM), Intel ou plataformas AMD, você deve se assegurar de que as CPUs possuem as capacidades necessárias para tal.
Para verificar se você possue bandeiras CPU para suporte Intel, insira o seguinte:
grep vmx /proc/cpuinfo
A saída exibe:
flags   :  fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall  nx lm constant_tsc pni monitor ds_cpl vmx est tm2 cx16 xtpr lahf_lm
Se a bandeira vmx aparecer, significa que você possui suporte Intel.
Para saber se você possui as bandeiras da CPU para suporte AMD, digite o seguinte:
grep svm /proc/cpuinfo
cat /proc/cpuinfo | grep svm
A saída exibe:
flags   :  fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush dt acpi mmx fxsr sse sse2 ss ht tm syscall nx mmtext fxsr_opt  rdtscp lm 3dnowext  pni  cx16  lahf_lm  cmp_legacy  svm  cr8_legacy
Se uma bandeira aparecer, significa que você possui suporte AMD.

Nota

Além de checar as bandeiras da CPU, você deve habilitar o componente de virtualização completa dentro do BIOS de seu sistema.

Capítulo 3. Suporte a Hardware

A Tecnologia de Virtualização Red Hat suporta os sistemas multiprocessadores e permitem que você possa rodar a Tecnologia de Virtualização Red Hat nos sistemas x86 com arquitetura com uma classe P6 (ou mais recente) semelhante a processadores:
  • Celeron
  • Pentium II
  • Pentium III
  • Pentium IV
  • Xeon
  • AMD Athlon
  • AMD Duron
Com a Tecnologia de Virtualização Red Hat, os convidados de 32-bit rodam somente convidados para-virtuais de 32-bit. Os convidados de 64-bit rodam somente em convidados para-virtuais de 64-bit. E um convidado de virtualização completa de 64-bit roda convidados de 32-bit, 32-bit PAE, ou 64-bit. Um convidado de virtualização total de 32-bit roda tanto em convidados de virtualização total de PAE quanto em não-PAE.
O kernel da Tecnologia de Virtualização do Red Hat Enterprise Linux não suporta mais do que 32GB de memória para sistemas x86_64. Se você precisar inicializar o kernel do componente de virtualização em sistemas com mais do que 32GB em memórias físicas instaladas, você precisa acrescentar a linha de comando kernel com o mem=32G. Este exemplo mostra como habilitar os parâmetros próprios no arquivo grub.conf:

title Red Hat Enterprise Linux Server  (2.6.18-4.elxen)
root  (hd0, 0)
kernel   /xen.gz-2.6.18-4-el5 mem=32G
module   /vmlinuz -2.6.18-4.el5xen ro root=LABEL=/
module   /initrd-2.6.18-4.el5xen.img

O PAE (Extensão de Endereço Físico) é uma tecnologia que aumenta a quantia de memória virtual ou física disponível para aplicativos de usuários. A Tecnologia de Virtualização Red Hat demanda um PAE ativo em seu sistema. A arquitetura de 32 bit com PAE da Tecnologia de Virtualização Red Hat suporta até 16GB de memória física. Recomenda-se que você tenha ao menos 256 megabytes de memória RAM para cada convidado que você esteja rodando em seu sistema. A Tecnologia de Virtualização Red Hat habilita as máquinas x86/64 para endereçar até 64GB físico. Os kernels da Tecnologia de Virtualização Red Hat não irão rodar em um sistema não-PAE. Para determinar se seu sistema suporta o PAE, insira os seguintes comandos:
grep pae /proc/cpuinfo
A seguinte saída exibe:
flags : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 mmx fxsr sse syscall mmtext 3dnowext 3dnow up ts
Se sua saída combinar (ou for similar) à acima, significa que sua CPU suporta PAE. Se a janela de comando não exibir nada, então sua CPU não suporta a PAE.

Capítulo 4. Solicitações de Sistema de Tecnologia de Virtualização Red Hat

Os ítens listados abaixo são solicitados pelo sistema de Tecnologia de Virtualização Red Hat
  • Uma distribuição do RHEL 5 Linux da Red Hat ativa.
  • Um carregador de inicialização do GRUB ativo
  • Acesso Root
  • Um processador de classe P6 (ou anterior a este)
  • A ponte-utils Linux
  • Os sistemas hotplug Linux
  • Instalação de desenvolvimento zlib
  • Tempo de execução Python 2.2
  • initscripts
As dependências são configuradas automaticamente durante o processo de instalação.

Nota

If your system CPU architecture is ia64, you need to manually install the xen-ia64-guest-firmware package to run a fully virtualized guest. This package is provided in the Supplementary CD and is not installed by default.

Capítulo 5. Inicializando o Sistema

Depois de instalar os componentes da Tecnologia de Virtualização Red Hat, você deve reinicializar o sistema. Quando a inicialização estiver completa, você deve se autenticar no seu sistema como sempre. Antes de você iniciar o Componente de Virtualização Red Hat, você precisa se registrar como usuário root. O daemon de controle xend já deve ser iniciado pelos initscripts, mas para iniciar o xend manualmente, insira:
service xend start
Você também pode usar o chkconfig xend ao instalar para habilitar o xend em tempo de inicialização.
O daemon de controle do nó xend realiza funções de gerenciamento de sistema que são relacionados às máquinas virtuais. Este daemon controla os recursos virtualizados e o xend deve ser executado para interagir com as máquinas virtuais. Antes de você iniciar o xend, você deve especificar os parâmetros operacionais, editando o arquivo de configuração xend-config.sxp que está localizado no diretório etc/xen.

Capítulo 6. Configurando o GRUB

GNU Grand Unified Boot Loader (or GRUB) is a program which enables the user to select which installed operating system or kernel to load at system boot time. It also allows the user to pass arguments to the kernel. The GRUB configuration file (located in /boot/grub/grub.conf) is used to create a list of operating systems to boot in GRUB's menu interface. When you install the kernel-xen RPM, a post script adds kernel-xen entries to the GRUB configuration file. You can edit the grub.conf file and enable the following GRUB parameter:
title Red Hat Enterprise Linux Server (2.6.18-3.el5xen)
root   (hd0; 0)
kernel  /xen.gz.-2.6.18-3.el5
module  /vmlinuz-2.6..18-3.el5xen ro root=/dev/VolGroup00/LogVol00  rhgb quiet
module  /initrd-2.6.18-3. el5xenxen.img

Se você ajustar as entradas do grub Linux para espelhar este exemplo, o carregador de inicialização carregará o hypervisor, a imagem initrd e o kernel Linux. Como a entrada do kernel se encontra à frente de outras entradas, o kernel irá primeiro carregar para a memória. O carregador de inicialização envia os argumentos da linha de comando (e os recebe) para e do hypervisor e kernel de Linux. Esta amostra de entrada mostra como você pode restringir a memória do kernel linux Domínio0 para 800MB:

title Red Hat Enterprise Linux Server (2.6.18-3.el5xen)
root   (hd0; 0)
kernel  /xen.gz.-2.6.18-3.el5 dom0_mem=800M
module  /vmlinuz-2.6..18-3.el5xen ro root=/dev/VolGroup00/LogVol00  rhgb quiet
module  /initrd-2.6.18-3. el5xenxen.img

Você pode usar estes parâmetros GRUB para configurar o hypervisor da Virtualização:
mem

Isto limita a quantidade de memória que está disponível para o domínio0.

com1=115200, 8n1

Isto habilita a primeira porta serial no sistema para agir como console serial (com2 é atribuído para a próxima porta, e assim se segue...).
 
dom0_mem
Isto limita a quantidade de memória que está disponível para o domínio0.
dom0_max_vcpus
Este limita a quantidade de CPUs visíveis para o domínio0.
acpi
Este troca o hypervisor da ACPI para o hypervisor e domínio0. As opções de parâmetro da ACPI incluem:

/*   ****  Linux config options: propagated to domain0  ****/
/*   "acpi=off":      Disables both ACPI table parsing and interpreter.   */
/*   "acpi=force":    Overrides the disable blacklist.                    */
/*   "acpi=strict":   Disables out-of-spec workarounds.                   */
/*   "acpi=ht":       Limits ACPI from boot-time to enable HT.            */
/*   "acpi=noirq":    Disables ACPI interrupt routing.                    */


noacpi

Este habilita a ACPI para entrega interrompida.

Capítulo 7. Inicializando um Domínio Convidado

Você pode inicializar domínios convidados usando o aplicativo xm. Você também pode usar o virsh e o Gestor de Máquina Virtual para inicializar convidados. Um pré-requisito para inicializar um domínio de convidado é primeiro instalar um host de convidado. Este exemplo usa o xm para criar um subcomando:
# xm create -c guestdomain1
O guestdomain1 ´e o arquivo de configuração para o domínio que você esteja inicializando. A opção -c se conecta ao console atual após a inicialização.

Capítulo 8. Iniciando/Finalizando um Domínio em Tempo de Inicialização

Você pode iniciar ou finalizar domínios em execução a qualquer momento. O Dom0 espera até que todos os domínios em execução sejam finalizados antes de reinicializar. Você deve colocar os arquivos de configuração dos domínios que você quiser fechar no /etc/xen/ directory.. Todos os domínios que você quiser iniciar em tempo de inicialização devem ser ligados ao /etc/xen/auto através de um link simbólico.
chkconfig xendomains on
O comando chkconfig xendomains on não inicia os domínios automaticamente, ao invés disso ele irá iniciar os domínios na próxima inicialização.
chkconfig xendomains off
Finaliza todos os domínios da Tecnologia de Virtualização Red Hat em execução. O comando chkconfig xendomains off fecha os domínios na próxima inicialização.

Capítulo 9. Arquivos de Configuração

Red Hat Virtualization configuration files contain the following standard variables. Configuration items within these files must be enclosed in quotes ("). These configuration files reside in the /etc/xen directory.

Tabela 9.1. Os Arquivos de Configuração da Tecnologia de Virtualização Red Hat.

Ítem Descrição
pae
Especifica os dados de configuração da extensão do endereço físico.
apic
Especifica os dados de configuração do controlador de interrupção programável avançado.
memória
Especifica o tamanho da memória em megabytes.
vcpus
Especifica a quantidade de CPUs virtuais.
console
Especifica a quantidade de portas para exportar os consoles de domínio.
nic
Especifica a quantidade de interfaces de rede virtual.
vif
Lists the randomly-assigned MAC addresses and bridges assigned to use for the domain's network addresses.
disk
Lista os dispositivos de bloco para exportar o domínio e exportar dispositivos físicos para o domínio com acesso somente leitura.
dhcp
Habilita a rede usando o DHCP.
netmask
Especifica as máscaras de rede IP configuradas
gateway
Especifica os gateways IP configurados.
acpi
Especifica os dados de configuração de interface de configuração avançada.

Capítulo 10. Gerenciando CPUs

Red Hat Virtualization allows a domain's virtual CPUs to associate with one or more host CPUs. This can be used to allocate real resources among one or more guests. This approach allows Red Hat Virtualization to make optimal use of processor resources when employing dual-core, hyperthreading, or other advanced CPU technologies. If you are running I/O intensive tasks, its typically better to dedicate either a hyperthread or entire core to run domain0. The Red Hat Virtualization credit scheduler automatically rebalances virtual cpus between physical ones, to maximize system use. The Red Hat Virtualization system allows the credit scheduler to move CPUs around as necessary, as long as the virtual CPU is pinned to a physical CPU.

Capítulo 11. Migrando um Domínio

A migração é a transferência de um domínio virtual em execução de um convidado físico para outro. A Tecnologia de Virtualização Red Hat suporta duas variedades de migração — offline e ativa. A migração offline move uma máquina virtual de um convidado para outro, pausando-o, transferindo sua memória, e depois retomando-o no destino do convidado. A migração ativa faz o mesmo, o domínio continua suas atividades comuns, e não se nota da perspectiva do usuário. Para iniciar uma migração ativa, os convidados devem estar rodando o Componente de Virtualização Red Hat e o daemon xend. Os convidados de destino devem possuir recursos suficientes (tal como capacidade de memória) para acomodar a largura da banda do domínio após a migração. As duas máquinas de fonte e destino devem ter a mesma arquitetura e extensões de virtualizações (tais como, i386-VT, x86-64-VT, x86-64-SVM, etc.) e devem estar na mesma subrede L2.
When a domain migrates its MAC and IP addresses move with it. Only virtual machines with the same layer-2 network and subnets will successfully migrate. If the destination node is on a different subnet, the administrator must manually configure a suitable EtherIP or IP tunnel in the remote node of domain0. The xend daemon stops the domain and copies the job over to the new node and restarts it. The Red Hat Virtualization RPM does not enable migration from any other host except the localhost (see the /etc/xend-config.sxp file for information). To allow the migration target to accept incoming migration requests from remote hosts, you must modify the target's xen-relocation-hosts-allow parameter. Be sure to carefully restrict which hosts are allowed to migrate, since there is no authentication.
Como estes domínios possuem grandes alocações de arquivo, este processo pode consumir muito tempo. Se você migrar um domínio com conexões de rede abertas, eles irão ser preservados no destino do convidado e as conexões SSH devem ainda funcionar. As regras iptables da Tecnologia de Virtualização Red Hat padrão não irão permitir conexões de migração de entrada. Para permitir isto, você deve criar regras de iptables explícitas.
Você pode usar o comando xm migrate para realizar uma migração offline:
xm migrate domain-id [destination domain]
Você pode usar o comando xm migrate para realizar uma migração ativa:
xm  migrate domain-id -l [destination domain]

You may need to reconnect to the domain's console on the new machine. You can use the xm console command to reconnect.

Capítulo 12. Configurando para a Uso em uma Rede

Integrar a Tecnologia de Virtualização Red Hat na sua arquitetura de rede é um processo complicado e dependendo de sua infraestrutura, você pode precisar de uma configuração padronizada para implementar diversas interfaces de ethernet e ponte de configuração.
Each domain network interface is connected to a virtual network interface in dom0 by a point to point link. These devices are vif <domid> and <vifid>. vif1.0 for the first interface in domain 1; vif3.1 for the second interface in domain 3.
O tráfego manipula o Domínio0 nestas interfaces virtuais, usando as convenções de Linux padrão para ponte, roteamento, limite de taxa, etc. O daemon xend emprega dois scripts de shell para realizar a configuração inicial de sua rede e interfaces novas virtuais. Estes scripts configuram uma ponte única para interfaces virtuais. Você pode configurar um roteamento adicional e conexão em ponte, padronizando estes scripts.
Red Hat Virtualization's virtual networking is controlled by the two shell scripts, network-bridge and vif-bridge. xend calls these scripts when certain events occur. Arguments can be passed to the scripts to provide additional contextual information. These scripts are located in the /etc/xen/scripts directory. You can change script properties by modifying the xend-config.sxp configuration file located in the /etc/xen directory.
network-bridge — Ao iniciar ou parar o xend, este script inicializa ou fecha a rede virtual. Depois a inicialização de configuração cria a ponte xen—br0 e move o eth0 para aquela ponte, modificando o roteamento corretamente. Quando finalmente o xend é finalizado, ele apaga a ponte e remove o eth0, restaurando assim o IP original e configuração de roteamento.
vif-bridge - Este script é invocado por todas as interfaces virtuais no domínio. Ele configura as regras de firewall e pode adicionar o vif para a ponte apropriada.
Existem outros scripts que você pode usar para ajudar a configurar a Tecnologia da Virtualização Red Hat para rodar em sua rede, tais como network-route, network-nat, vif-route, evif-nat. Ou então, estes scripts podem ser substituídos por variantes padronizadas.

Capítulo 13. Protegendo o Domain0

When deploying Red Hat Virtualization on your corporate infrastructure, you must ensure that domain0 cannot be compromised. Domain0 is the privileged domain that handles system management. If domain0 is insecure, all other domains in the system are vulnerable. There are several ways to implement security you should know about when integrating Red Hat Virtualization into your systems. Together with other people in your organization,you should create a 'deployment plan' that contains the operating specifications and services that will run on Red Hat Virtualization, and what is needed to support these services. Here are some security issues to consider when putting together a deployment plan:
  • Execute o menor número de serviços necessários. Você não irá querer incluir trabalhos e serviços demais no domínio0. Quanto menos coisas rodando no domínio0, mais alto será o nível de segurança.
  • Habilite o SELinux para ajudar a proteger o domínio0.
  • Use um firewall para restringir o tráfego para o domínio0. Você pode ajustar um firewall com regras padrão-rejeitar que irão ajudar a proteger ataques em domínio0. É também muito importante limitar serviços de rede.
  • Não permita que usuários normais acessem o domínio0. Se você permitir que usuários normais acessem o domínio0, você correrá o risco de renderizar domínios vulneráveis. Lembre-se que o domínio0 é privilegiado, e obter contas desprivilegiadas podem comprometer o nível de segurança.

Capítulo 14. Armazenamento

Existem diversas maneiras de gerenciar armazenamento de máquina virtual. Você pode exportar um dispositivo de bloqueio físico de domínio0 (disco rígido ou partição) para um domínio de convidado como um dispositivo de bloqueio virtual (VBD). Você também pode exportar diretamente de uma imagem particionada como um VBD com base em arquivo. A Tecnologia de Virtualização Red Hat habilita o LVM e blktap por padrão durante a instalação. Você também pode empregar os protocolos de rede padrão tais como NFS, CLVM ou iSCSI para oferecer armazenamento para máquinas virtuais.

Capítulo 15. Gerenciando Máquinas Virtuais com virsh

Você pode usar o aplicativo virsh para gerenciar máquinas virtuais. Este utilitário é construído sob o gerenciamento do libvirt e opera como uma opção alternativa para a ferramenta xm ou Gestor de Máquina Virtual. Usuários desprevilegiados podem empregar este utilitário para operações de somente leitura. Se você planeja rodar o xend/qemu, você deve habilitar o xend/qemu para rodar como um serviço. Após modificar o arquivo de configuração respectivo, reinicialize o sistema e xend/qemu irá rodar como um serviço. Você pode usar o virsh para fazer o script do vm funcionar. Como a ferramenta xm, você executa o virsh a partir da linha de comando.

15.1. Conectando-se ao Hypervisor

Você pode usar o virsh para iniciar uma sessão de hypervisor:
virsh connect <name>
Where <name> is the machine name of the hypervisor. If you want to initiate a read—only connection, append the above command with —readonly.

15.2. Criando uma Máquina Virtual

Você pode fazer uma sessão de máquina virtual nova a partir da definição da máquina XML. Se você tiver um convidado pré-existente que você tenha criado anteriormente com a ferramenta xm, você também pode criar uma máquina virtual para isto:
virsh create <path to XML configuration file>

15.3. Configurando um Despejo XML

Você pode usar o virsh para realizar um despejo de dados para uma máquina virtual existente.
virsh dumpxml [domain-id | domain-name | domain-uuid]
This command outputs the domain information (in XML) to stdout . If you save the data to a file, you can use the create option to recreate the virtual machine.

15.4. Suspendendo uma Máquina Virtual

Você pode usar o virsh para suspender um domínio:
virsh suspend [domain-id | domain-name |domain-uuid]
When a domain is in a suspended state, it still consumes system RAM. There will also be no disk or network I/O when suspended. This operation is immediate and the virtual machine must be restarted with the resume option.

15.5. Retornando uma Máquina Virtual

Você pode usar o virsh para restaurar uma máquina virtual suspensa:
virsh resume [domain-id | domain-name | domain-uuid]
Esta operação é imediata e os parâmetros da máquina virtual são preservados em um ciclo suspend e resume .

15.6. Salvando uma Máquina Virtual

Você pode usar o virsh para salvar o estado atual da máquina virtual em um arquivo:
virsh save [domain-name][domain-id | domain-uuid][filename]
This stops the virtual machine you specify and saves the data to a file, which may take some time given the amount of memory in use by your virtual machine. You can restore the state of the virtual machine with the restore option.

15.7. Restaurando uma Máquina Virtual

You can use virsh to restore a virtual machine that you previously saved with the virsh save option:
virsh restore [filename]
This restarts the saved virtual machine, which may take some time. The virtual machine's name and UUID are preserved but are allocated for a new id.

15.8. Fechando uma Máquina Virtual

Você pode usar o virsh para fechar uma máquina virtual:
virsh shutdown [domain-id | domain-name | domain-uuid]
Você pode controlar o comportamento de reinicialização da máquina virtual, modificando o parâmetro on_shutdown do arquivo xmdomain.cfg.

15.9. Reinicializando uma Máquina Virtual

Você pode usar o virsh para reinicializar uma máquina virtual:
virsh reboot [domain-id | domain-name | domain-uuid]
Você pode controlar o comportamento da reinicialização da máquina virtual, modificando o parâmetro on_reboot do xmdomain.cfg file.

15.10. Finalizando um Domínio

Você pode usar o virsh para finalizar uma máquina virtual:
virsh destroy [domain-name | domain-id | domain-uuid]
This command does an immediate ungraceful shutdown and stops any guest domain sessions (which could potentially lead to file corruptted filesystems still in use by the virtual machine). You should use the destroy option only when the virtual machine's operating system is non-responsive. For a paravirtualized virtual machine, you should use the shutdown option.

15.11. Convertendo um Nome de Domínio para um ID de Domínio

Você pode usar o virsh para converter o nome de domínio ou o UUID para um id de domínio:
virsh domid [domain-name | domain-uuid]

15.12. Convertendo um ID de Domínio para um Nome de Domínio

Você pode usar o virsh para converter um id de domínio ou um UUID para um nome de domínio:
virsh domname [domain-name | domain-uuid]

15.13. Convertendo um Nome de Domínio para um UUID

Você pode usar o virsh para converter um nome de domínio para um UUID:
virsh domuuid [domain-id | domain-uuid]

15.14. Exibindo Informações sobre Máquina Virtual

Você pode usar o virsh para exibir informações de uma máquina virtual identificada pelo seu ID de domínio, nome de domínio ou UUID:
virsh dominfo [domain-id | domain-name | domain-uuid]

15.15. Exibindo Informações sobre Nó.

Você pode usar o virsh para exibir informações sobre nó:
virsh nodeinfo
A saída exibe algo como:
CPU model                    x86_64
CPU (s)                      8
CPU frequency                2895 Mhz
CPU socket(s)                2      
Core(s) per socket           2
Threads per core:            2
Numa cell(s)                 1
Memory size:                 1046528 kb
Isto exibe informações de nó e máquinas que suportam o processo de virtualização.

15.16. Exibindo Máquinas Virtuais

Você pode usar o virsh para exibir a lista de máquina virtual e o estado atual:
virsh list domain-name [ ——inactive  |  —— -all]
A opção ——inactive lista domínios inativos (domínios que foram definidos mas ainda não estão ativos). O domínio — -all lista todos os domínios, estejam eles ativos ou não. Sua saída deve se assemelhar à este exemplo:
ID                 Name                 State
————————————————
0                   Domain0             running
1                   Domain202           paused
2                   Domain010           inactive
3                   Domain9600          crashed
Segue aqui seis estados de domínio:
running  lists domains currently active on the CPU

blocked  lists domains that are blocked

paused   lists domains that are suspended

shutdown lists domains that are in process of shutting down
 
shutoff  lists domains that are completely down.

crashed  lists domains that are crashed

15.17. Exibindo Informações de CPU Virtual

Você pode usar o virsh para exibir informações da CPU virtual a partir da máquina virtual:
virsh vcpuinfo [domain-id | domain-name | domain-uuid]

15.18. Configurando Afinidade da CPU Virtual

Você pode usar o virsh para configurar a afinidade das CPUs virtuais com CPUs físicas:
virsh vcpupin [domain-id | domain-name | domain-uuid] [vcpu] , [cpulist]
Onde [vcpu] é o número da VCPU virtual e [cpulist] lista o número físico das CPUs.

15.19. Configurando Conta de CPU Virtual

You can use virsh to modify a Virtual Machine's number of CPUs:
virsh setvcpus [domain-name | domain-id | domain-uuid] [count]
Note que a nova conta não pode exceder a quantia que você especificou quando você criou a Máquina Virtual

15.20. Configurando uma Alocação de Memória

You can use virsh to modify a domain's memory allocation:
virsh setmem [domain-id | domain-name]  [count]
You must specify the [count] in kilobytes. Note that the new count cannot exceed the amount you specified when you created the Virtual Machine. Values lower than 64 MB probably won't work. You can adjust the Virtual Machine memory as necessary.

15.21. Configurando a Memória Máxima

You can use virsh to modify a Virtual Machine's maximum memory:
virsh setmaxmem  [domain-name | domain-id | domain-uuid] [count]
You must specify the [count] in kilobytes. Note that the new count cannot exceed the amount you specified when you created the Virtual Machine. Values lower than 64 MB probably won't work. The maximum memory doesn't affect the current use of the Virtual Machine (unless the new value is lower which should shrink memory usage).

15.22. Managing Virtual Networks

You can use virsh to manage virtual networks. To list virtual networks:
virsh net-list
This command generates output similar to:
[root@domain ~]# virsh net-list
Name                 State      Autostart
-----------------------------------------
default              active     yes      
vnet1	             active     yes      
vnet2	             active     yes
To view network information for a specific virtual network:
virsh net-dumpxml [vnet name]
This displays information about a specified virtual network in XML format:
	
[root@domain ~]# virsh net-dumpxml vnet1
<network>
  <name>vnet1</name>
  <uuid>98361b46-1581-acb7-1643-85a412626e70</uuid>
  <forward dev='eth0'/>
  <bridge name='vnet0' stp='on' forwardDelay='0' />
  <ip address='192.168.100.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.100.128' end='192.168.100.254' />
    </dhcp>
  </ip>
</network>
Other virsh commands used in managing virtual networks are:
  • virsh net-autostart [network name] — Autostart a network specified as [network name]
  • virsh net-create [XML file] — Generates and starts a new network using a preexisting XML file
  • virsh net-define [XML file] — Generates a new network from a preexisting XML file without starting it
  • virsh net-destroy [network name] — Destroy a network specified as [network name]
  • virsh net-name [network UUID] — Convert a specified [network UUID] to a network name
  • virsh net-uuid [network name — Convert a specified [network name] to a network UUID
  • virsh net-start [name of an inactive network] — Starts a previously undefined inactive network
  • virsh net-undefine [name of an inactive network] — Undefine an inactive network

Capítulo 16. Gerenciando Máquinas Virtuais Usando o Xend

O daemon de controle de nó do Xend realiza certas funções de gerenciamento de sistema que se refere à máquinas virtuais. Este daemon controla os recursos virtualizados, e o Xend precisa estar rodando para interagir com as máquinas virtuais. Antes de você iniciar o xend, você deve especificar os parâmetros operacionais, editando o arquivo de configuração doxend, xend-config.sxp que se encontra no diretório etc/xen. Estes são os parâmetros que você pode habilitar ou desabilitar no arquivo de configuração xend-config.sxp:

Tabela 16.1. Parâmetros de Configuração do Xend da Tecnologia de Virtualização Red Hat.

Ítem Descrição
console-limit
Determines the console server's memory buffer limit and assigns values on a per-domain basis
min-mem
Determina um número mínimo de megabytes que seja reservado para o domínio0 (se você inserir 0, o valor não muda)
dom0 cpus
Determina o número de CPUs em uso pelo domínio0 (pelo menos 1 CPU é atribuído por padrão)
enable-dump
Determina que primeiro ocorre uma queda para depois despejar (padrão é 0)
external-migration-tool
Determina o script ou aplicativo que manipula a migração de dispositivo externo (os scripts devem residir no etc/xen/scripts/external-device-migrate)
logfile
Determina o local do arquivo de registro (padrão é /var/log/xend.log)
loglevel
Filtros fora dos valores de modo de registro: DEBUG, INFO, WARNING, ERROR, ou CRITICAL (padrão é DEBUG)
network-script
Determina o script que habilita o ambiente de rede (os scripts devem residir no diretório etc/xen/scripts )
xend-http-server
Habilita o servidor de gerenciamento de pacote da faixa http (padrão é não)
xend-unix-server
Habilita o servidor de soquete de domínio (um servidor de soquete é a ponta de comunicação que manipula níveis baixos de conexões de rede e aceita ou rejeita conexões de entrada).
xend-relocation-server
Habilita o servidor de recolocação para migrações de cross-machine (padrão é não)
xend-unix-path
Determina o local onde o comando xend-unix-server resulta os dados (padrão é var/lib/xend/xend-socket)
xend-port
Determina a porta que o servidor de gerenciamento http usa (padrão é 8000)
xend-relocation-port
Determina a porta que o servidor de recolocação usa (padrão é 8002)
xend-relocation-address
Determina os endereços de máquina virtual que são permitidos para migração de sistema
xend-address
Determina o endereço que o servidor de soquete de domínio se vincula.
Depois de ajustar estes parâmetros operacionais, você deve verificar se o xend está rodando e caso não esteja, inicialize o daemon. Na janela de comando, você pode iniciar o daemon xend inserindo o seguinte:
service xend start
Você pode usar o xend para parar o daemon:
service xend stop
Isto irá parar de executar o daemon
Você pode usar o xend para reinicializar o daemon:
service xend restart
O daemon iniciará mais uma vez.
Você verifica o status do daemon xend.
service xend status
The output displays the daemon's status.

Capítulo 17. Gerenciando Máquinas Virtuais com Gestor de Máquina Virtual

Esta seção descreve as janelas, caixas de diálogo e diversos controles GUI do Gestor de Máquina Virtual (VMM) da tecnologia de Virtualização Red Hat.

17.1. Arquitetura de Gestor de Máquina Virtual

A Tecnologia de Virtualização Red Hat é uma coleção de componentes de software que funcionam juntos para hospedar e gerenciar máquinas virtuais. O Gestor de Máquina Virtual (VMM) lhe oferece uma visão gráfica das máquinas virtuais em seu sistema. Você pode usar o VMM para definir máquinas para-virtuais e totalmente virtuais. Usando o Gestor de Máquina Virtual, você pode realizar quantas tarefas de gerenciamento do componente de virtualização que você desejar salvar, restaurar, pausar, retornar e fechar sistemas virtuais. Isto permite que você acesse o console gráfico e textual. A Tecnologia de Virtualização Red Hat abstrai a CPU e recursos de memória do hardware adjancente e configurações de rede. Isto possibilita que os recursos em processamento sejam agrupados e atribuídos, de forma dinâmica, à solicitações de aplicativos e serviços. O componente de virtualização de nível chip, possibilita que os sistemas operacionais com o hardware da Intel VT e Pacifica AMD rodem em hypervisors.

17.2. Para abrir a Conexão Window

This window appears first and prompts the user to choose a hypervisor session. Non-privileged users can initiate a read-only session. Root users can start a session with full blown read-write status. For normal use, select the Local Xen host option. You start the Virtual Machine Manager test mode by selecting the Other hypervisor and then type test:///default in the URL field beneath. Once in test mode, you can connect to a libvirt dummy hypervisor. Note that although the Remote Xen host screen is visible, the functionality to connect to such a host is not implemented into Red Hat Enterprise Linux 5.1.
Virtual Machine Manager Connection window

Figura 17.1. Virtual Machine Manager Connection window

17.3. Janela do Gestor de Máquina Virtual

Esta janela exibe todas as máquinas virtuais em execução e recursos atualmente alocados à eles (incluindo o domínio0). Você pode decidir quais campos exibir. Se você clicar duas vezes na máquina virtual que desejar, trará o console respectivo para aquela máquina em específico. Selecione uma máquina virtual e clique duas vezes no botão Detalhes para exibir a janela de Detalhes para aquela máquina. Você também pode acessar o menu de Arquivo para criar uma máquina virtual nova.
Virtual Machine Manager main window

Figura 17.2. Virtual Machine Manager main window

17.4. Janela de Detalhes de Máquina Virtual

This window displays graphs and statistics of a guest's live resource utilization data available from the Red Hat Virtualization Virtual Machine Manager. The UUID field displays the globally unique identifier for the virtual machines(s).
Virtual Machine Manager Details window

Figura 17.3. Virtual Machine Manager Details window

17.5. Console Gráfico de Máquina Virtual

This window displays a virtual machine's graphical console. Paravirtual and full virtual machines use different techniques to export their local virtual framebuffers, but both technologies use VNC to make them available to the Virtual Machine Manager's console window. If your virtual machine is set to require authentication, the Virtual Machine Graphical console prompts you for a password before the display appears.
Janela de Console Gráfico

Figura 17.4. Janela de Console Gráfico

Your local desktop can intercept key combinations (for example, Ctrl+Alt+F11) to prevent them from being sent to the guest machine. You can use the Virtual Machine Manager's 'sticky key' capability to send these sequences. You must press any modifier key (like Ctrl or Alt) 3 times and the key you specify gets treated as active until the next non-modifier key is pressed. Then you can send Ctrl-Alt-F11 to the guest by entering the key sequence 'Ctrl Ctrl Ctrl Alt+F1'.

17.6. Starting the Virtual Machine Manager

Para iniciar uma sessão do Gestor de Máquina Virtual, a partir do menu Aplicativos, clique em Ferramentas de Sistema e selecione Gestor de Máquina Virtual .
Aparecerá uma janela principal do Gestor de Máquina Virtual
Starting the Virtual Machine Manager

Figura 17.5. Starting the Virtual Machine Manager

17.7. Criando uma Máquina Virtual

O Gestor de Máquina Virtual (virt-manager) é o aplicativo do desktop que gerencia as máquinas virtuais.
You can use Red Hat's Virtual Machine Manager to:
  • Criar novos domínios
  • Configure or adjust a domain's resource allocation and virtual hardware.
  • Resumir os domínios em execução com o desempenho ativo e estatísticas de utilização de recurso.
  • Exibir gráficos que mostrem o desempenho e longa duração de utilização de recurso.
  • Usar o client VNC embutido que apresenta um console gráfico completo para domínio de convidado .

Nota

You must install Red Hat Enterprise Linux 5.1, virt-manager, and the kernel packages on all systems that require virtualization. All systems then must be booted and running the Red Hat Virtualization kernel.
Estes são os passos necessários para instalar um sistema operacional de convidado no Red Hat Enterprise Linux 5 usando um Monitor de Máquina Virtual.

Procedimento 17.1. Criando um Sistema Operacional Convidado

  1. A partir do Menu Aplicativos, selecione as Ferramentas de Sistema e depois o Gestor de Máquina Virtual.
    Aparecerá uma janela principal do Gestor de Máquina Virtual
    Virtual Machine Manager window

    Figura 17.6. Virtual Machine Manager window

  2. A partir do menu Arquivo, selecione Nova Máquina.
    Selecionando uma Nova Máquina

    Figura 17.7. Selecionando uma Nova Máquina

    Aparecerá a janela 'Criando um novo assistente de sistema virtual.
  3. Click Forward.
    Criando um Novo Assistente de Sistema Virtual

    Figura 17.8. Criando um Novo Assistente de Sistema Virtual

  4. Enter the name of the new virtual system and then click Forward.
    Nomeando o Sistema Virtual

    Figura 17.9. Nomeando o Sistema Virtual

  5. Insira o local da sua mídia de instalação. O local do arquivo kickstart é opcional. Depois clique em Próximo .
    Localizando o Mídia de Instalação

    Figura 17.10. Localizando o Mídia de Instalação

  6. Instale uma partição de disco físico ou um sistema de arquivo dentro de um arquivo.

    Nota

    Este exemplo instala um sistema virtual dentro de um arquivo
    SELinux policy only allows xen disk images to reside in /var/lib/xen/images.
    Open a terminal and create the /xen directory and set the SELinux policy with the command restorecon -v /xen. Specify your location and the size of the virtual disk, then click Forward.
    Atribuindo o Espaço de Armazenamento

    Figura 17.11. Atribuindo o Espaço de Armazenamento

  7. Select memory to allocate the guest and the number of virtual CPUs then click Forward.
    Alocando a Memória e CPU

    Figura 17.12. Alocando a Memória e CPU

  8. Select Forward to open a console and the files start to install.
    Alocando a Memória e CPU

    Figura 17.13. Alocando a Memória e CPU

  9. Complete sua instalação na janela fornecida.
    A Instalação é iniciada....

    Figura 17.14. A Instalação é iniciada....

    Atenção

    When installing Red Hat Enterprise Linux 5.1 on a fully virtualized guest, do not use the kernel-xen kernel. Using this kernel on fully virtualized guests can cause your system to hang.
    If you are using an Installation Number when installing Red Hat Enterprise Linux 5.1 on a fully virtualized guest, be sure to deselect the Virtualization package group during the installation. The Virtualization package group option installs the kernel-xen kernel.
    Note that paravirtualized guests are not affected by this issue. Paravirtualized guests always use the kernel-xen kernel.
  10. Type xm create -c xen-guest to start the Red Hat Enterprise Linux 5.1 guest. Right click on the guest in the Virtual Machine Manager and choose Open to open a virtual console.
    Red Hat Enterprise Linux 5.1 (guest)

    Figura 17.15. Red Hat Enterprise Linux 5.1 (guest)

  11. Insira o nome de usuário e senha para continuar usando o Gestor de Máquina Virtual.

17.8. Restaurando uma Máquina Salva

Depois que você iniciar o Gestor de Máquina Virtual, todas as máquinas virtuais em seu sistema são exibidas na janela principal. O Domínio0 é sistema hospedeiro. Se não houver nenhuma máquina, significa que atualmente não há máquinas rodando no sistema.
Para restaurar uma sessão anteriormente salva:
  1. A partir do menu Arquivo, selecione Restaure uma máquina salva.
    Restoring a Virtual Machine

    Figura 17.16. Restoring a Virtual Machine

  2. A janela principal de Restaurar uma Máquina Virtual aparecerá.
    Selecionando uma Sessão de Máquina Virtual Salva

    Figura 17.17. Selecionando uma Sessão de Máquina Virtual Salva

  3. Navegar para corrigir o diretório e selecionar o arquivo de sessão salva
  4. Clique em Abrir.
O sistema virtual salvo aparece na janela principal do Getor de Máquina Virtual
A Sessão de Gestor de Máquina Virtual Restaurada.

Figura 17.18. A Sessão de Gestor de Máquina Virtual Restaurada.

17.9. Displaying Virtual Machine Details

Você pode usar o Monitor de Máquina Virtual para visualizar informações de dados de atividade para quaisquer máquinas virtuais em seu sistema.
To view a virtual system's details:
  1. Na janela principal do Getor de Máquina Virtual, destaque a máquina virtual que você quer visualizar.
    Selecionando uma Máquina Virtual para Exibir

    Figura 17.19. Selecionando uma Máquina Virtual para Exibir

  2. Selecione Detalhes da Máquina (ou clique no botão Detalhes no final da janela principal do Gestor de Máquina Virtual), a partir do menu Editar do Gestor de Máquina Virtual.
    Exibindo o Menu de Detalhes da Máquina Virtual

    Figura 17.20. Exibindo o Menu de Detalhes da Máquina Virtual

    A janela de Visão Geral dos Detalhes de Máquina Virtual aparecerá. Esta janela resume a CPU e o uso de memória para os domínios que você especificar.
    Exibindo Visão Geral de Detalhes de Máquina Virtual

    Figura 17.21. Exibindo Visão Geral de Detalhes de Máquina Virtual

  3. Na janela de Detalhes de Máquina Virtual, clique na aba Hardware
    A janela Hardware de Detalhes de Máquina Virtual aparecerá.
    Exibindo o Hardware de Detalhes de Máquina Virtual

    Figura 17.22. Exibindo o Hardware de Detalhes de Máquina Virtual

  4. Na aba Hardware, clique em Processador para visualizar ou mudar a alocação de memória do processador atual.
    Exibindo a Alocação do Processador

    Figura 17.23. Exibindo a Alocação do Processador

  5. Na aba Hardware, clique em Memória para visualizar ou mudar a alocação da memória RAM atual.
    Exibindo a Alocação de Memória

    Figura 17.24. Exibindo a Alocação de Memória

  6. Na aba Hardware, clique em Disco para visualizar ou mudar a configuração do disco rígido atual.
    Exibindo a Configuração do Disco

    Figura 17.25. Exibindo a Configuração do Disco

  7. Na aba Hardware, clique em Rede para visualizar ou mudar a configuração de rede atual.
    Exibindo a Configuração de Rede

    Figura 17.26. Exibindo a Configuração de Rede

17.10. Configuring Status Monitoring

Você pode usar o Gestor de Máquina Virtual para modificar o monitoramento do Status do sistema.
Para configurar o monitoramento do Status, e habilitar Consoles:
  1. Selecione Preferências a partir do menu Editar
    Modificando as Preferências de Máquina Virtual

    Figura 17.27. Modificando as Preferências de Máquina Virtual

    A janela de Preferências do Gestor de Máquina Virtual aparecerá.
  2. Especifique o tempo (em segundos) que você quer que o sistema atualize, a partir da caixa de seleção da área de monitoramento do Status
    Configuring Status Monitoring

    Figura 17.28. Configuring Status Monitoring

  3. Especifique como abrir um console e especifique um dispositivo de inserção a partir da área de Consoles.

17.11. Exibindo o Domínio ID

Para visualizar os IDs do domínio para todas as máquinas virtuais em seu sistema:
  1. Selecione a caixa de seleção ID de Domínio a partir do menu Visualizar
    Exibindo os IDs de Domínio

    Figura 17.29. Exibindo os IDs de Domínio

  2. The Virtual Machine Manager lists the Domain ID's for all domains on your system.
    Exibindo os IDs de Domínio

    Figura 17.30. Exibindo os IDs de Domínio

17.12. Exibindo o Status de Máquina Virtual

Para visualizar o status de todas as máquinas virtuais em seu sistema
  1. Selecione Status a partir do menu Visualizar
    Exibindo o Status de Máquina Virtual

    Figura 17.31. Exibindo o Status de Máquina Virtual

  2. O Gestor de Máquina Virtual lista o status de todas as máquinas virtuais em seu sistema.
    Exibindo o Status de Máquina Virtual

    Figura 17.32. Exibindo o Status de Máquina Virtual

17.13. Exibindo as CPUs Virtuais

Para visualizar a quantia de CPUs virtuais para todas as máquinas virtuais em seu sistema:
  1. A partir do menu Arquivo, selecione CPUs Virtuais.
    Exibindo as CPUs Virtuais

    Figura 17.33. Exibindo as CPUs Virtuais

  2. O Gestor de Máquina Virtual lista as CPUs Virtuais para todas as máquinas virtuais em seu sistema.
    Exibindo as CPUs Virtuais

    Figura 17.34. Exibindo as CPUs Virtuais

17.14. Exibindo o Uso da CPU

Para visualizar o uso da CPU para todas as máquinas virtuais em seus sistema:
  1. Selecione CPU Usage a partir do menu Visualizar.
    Exibindo o Uso da CPU

    Figura 17.35. Exibindo o Uso da CPU

  2. O Gestor de Máquina Virtual lista a porcentagem de CPU em uso para todas as máquinas virtuais em seu sistema.
    Exibindo o Uso da CPU

    Figura 17.36. Exibindo o Uso da CPU

17.15. Exibindo o Usos de Memória

Para visualizar o uso de memória para todas as máquinas virtuais em seu sistema:
  1. A partir do menu Arquivo, selecione Uso de Memória.
    Exibindo o Usos de Memória

    Figura 17.37. Exibindo o Usos de Memória

  2. O Gestor de Máquina Virtual lista a porcentagem de memória em uso (em megabytes) para todas as máquinas de seu sistema.
    Exibindo o Usos de Memória

    Figura 17.38. Exibindo o Usos de Memória

17.16. Managing a Virtual Network

To configure a virtual network on your system:
  1. From the Edit menu, select Host Details.
    Selecting Host Details

    Figura 17.39. Selecting Host Details

  2. This will open the Host Details menu. Click the Virtual Networks tab.
    Virtual Network Configuration

    Figura 17.40. Virtual Network Configuration

  3. All available virtual networks are listed on the left-hand box of the menu. You can edit the configuration of a virtual network by selecting it from this box and editing as you see fit.

17.17. Creating a Virtual Network

To create a virtual network on your system:
  1. Open the Host Details menu (refer to Seção 17.16, “Managing a Virtual Network”) and click the Add button.
    Virtual Network Configuration

    Figura 17.41. Virtual Network Configuration

    This will open the Create a new virtual network menu. Click Forward to continue.
    Creating a new virtual network

    Figura 17.42. Creating a new virtual network

  2. Enter an appropriate name for your virtual network and click Forward.
    Naming your virtual network

    Figura 17.43. Naming your virtual network

  3. Enter an IPv4 address space for your virtual network and click Forward.
    Choosing an IPv4 address space

    Figura 17.44. Choosing an IPv4 address space

  4. Define the DHCP range for your virtual network by specifying a Start and End range of IP addresses. Click Forward to continue.
    Selecting the DHCP range

    Figura 17.45. Selecting the DHCP range

  5. Select how the virtual network should connect to the physical network.
    Connecting to physical network

    Figura 17.46. Connecting to physical network

    If you select Forwarding to physical network, choose whether the Destination should be NAT to any physical device or NAT to physical device eth0.
    Click Forward to continue.
  6. You are now ready to create the network. Check the configuration of your network and click Finish.
    Ready to create network

    Figura 17.47. Ready to create network

  7. The new virtual network is now available in the Virtual Network tab of the Host Details menu.
    New virtual network is now available

    Figura 17.48. New virtual network is now available

Capítulo 18. Solucionador de Problemas da Tecnologia de Virtualização Red Hat

Esta seção trata sobre os principais problemas que você poderá se deparar durante a instalação, gerenciamento e nas operações de rotina do(s) seu(s) sistema(s) da Tecnologia de Virtualização Red Hat. Esta seção de solução de problemas trata sobre mensagens de erro, locais de arquivo de registro, ferramentas de sistema, e formas de pesquisa de dados e análise de problemas.

18.1. Visão Geral e Localização do Arquivo de Registro

When deploying Red Hat Enterprise Linux 5.1 with Virtualization into your network infrastructure, the host's Virtualization software uses many specific directories for important configuration, log files, and other utilities. All the Red Hat Virtualization logs files are standard ASCII files, and easily accessable with any ASCII based editor:
  • O principal diretório de configuração da Tecnologia de Virtualização Red Hat é /etc/xen/. Este diretório contém o daemon xend e outros arquivos de configuração do convidado virtual. Os arquivos de script da rede também se econtram aqui (no subdiretório /scripts ).
  • Todos os arquivos de registros atuais que você irá consultar para solucionar problemas, se encontram no diretório /var/log/xen .
  • Vale também lembrar que o diretório padrão para todas as imagens de disco baseadas em arquivos de máquina virtual se encontram no diretório /var/lib/xen .
  • Você pode encontrar informações sobre a Tecnologia de Virtualização Red Hat para o sistema de arquivo /proc no diretório /proc/xen/ .

18.2. Descrições de Arquivo de Registro.

A Tecnologia de Virtualização Red Hat oferece o daemon xend e o processo qemu-dm , dois utilitários que escrevem os arquivos de registros múltiplos para o diretório /var/log/xen/ :
  • O xend.log é o arquivo de registro que contém todos os dados coletados pelo daemon xend, seja ele um evento de sistema normal ou uma ação iniciada por operador. Todas as operações de máquina virtual (tais como, criar, fechar, destruir, etc.) aparecem aqui. O xend.log é geralmente o primeiro lugar que se deve consultar quando você determinar quais os problemas de evento ou desempenho. Ele contém entradas detalhadas e condições de mensagens de erro.
  • xend-debug.log é o arquivo de registro que contém registro de erros de eventos do xend e subsistemas de Virtualização (tais como, buffer de quadros, scripts de Python, etc.)
  • xen-hotplug-log é o arquivo de registro que contém dados dos eventos de hotplug. Se um dispositivo ou um script de rede não se conectar, o evento aparecerá aqui.
  • qemu-dm.[PID].log é um arquivo de registro criado pelo processo qemu-dm para cada convidado virtualizado. Ao usar o arquivo de registro, você deve recuperar o processo PID qemu-dm dado, usando o comando ps para examinar os argumentos do processo para isolar o processo qemu-dm na máquina virtual. Note que você deve substituir o símbolo [PID] com o processo PID atual qemu-dm.
Se você se deparar com qualquer erro no Gestor da Máquina Virtual, revise os dados gerados no arquivo virt-manager.log, que reside no diretório /.virt-manager . Note que todas as vezes que você iniciar um Gestor de Máquina Virtual, ele sobrescreverá o conteúdo do arquivo de registro existente.

18.3. Localizações de Diretórios Importantes

Existem utilitários adicionais e arquivos de registros que você deve se lembrar ao determinar erros e solucionar problemas nos ambientes de Tecnologia de Virtualização Red Hat:
  • As imagens de máquinas virtuais se encontram no diretório /var/lib/xen/images .
  • Ao reiniciar o daemon xend , ele atualiza o xend-database que se encontra no diretório /var/lib/xen/xend-db .
  • O despejo da máquina virtual (que você realiza com o comandxm dump-core ) se encontra no diretório /var/lib/xen/dumps .
  • O diretório /etc/xen contém os arquivos de configuração que você usa para gerenciar os recursos de sistema. O arquivo de configuração do daemon xend se chama xend-config.sxp, e você pode usar este arquivo para implementar as mudanças de todo o sistema e configurar os textos explicativos da rede.
  • O comando proc é outro recurso que lhe possibilitareunir informações do sistema. Estas entradas proc se encontram no diretório /proc/xen:
/proc/xen/capabilities
/proc/xen/balloon
/proc/xen/xenbus/

18.4. Ferramentas de Solução de Problemas

Esta seção sumariza os aplicativos do Administrador de Sistemas, os utilitários de rede, e as Ferramentas de Depuração Avançada (para mais informações sobre como usar estas ferramentas para configurar os serviços da Tecnologia de Virtualização Red Hat, consulte a documentação de configuração respectiva). Você pode empregar estas Ferramentas de Administrador de Sistema padrão e registros para assistí-lo na solução de problemas:
  • xentop
  • xm dmesg
  • xm log
  • vmstat
  • iostat
  • lsof
Você pode empregar estas Ferramentas de Depuração Avançada e registros para assistí-lo na solução de problemas:
  • XenOprofile
  • systemTap
  • crash
  • sysrq
  • sysrq t
  • sysrq w
Você pode empregar estas Ferramentas de Rede para assistí-lo na solução de problemas:
  • ifconfig
  • tcpdump
  • brctl
brctl é uma ferramenta de rede que inspeciona e ajusta a configuração da ponte ethernet no kernel de Virtualização linux. Você precisa ter acesso root antes de realizar estes exemplos de comandos:
# brctl show 

bridge-name    bridge-id          STP  enabled  interfaces  
-----------------------------------------------------------------------------
xenbr0             8000.feffffff       no        vif13.0
xenbr1             8000.ffffefff       yes       pddummy0
xenbr2             8000.ffffffef       no        vif0.0

# brctl showmacs xenbr0

port-no           mac-addr                  local?       ageing timer

1                 fe:ff:ff:ff:ff:           yes            0.00
2                 fe:ff:ff:fe:ff:           yes            0.00


# brctl showstp xenbr0

xenbr0 

bridge-id              8000.fefffffffff

designated-root        8000.fefffffffff

root-port              0                   path-cost             0

max-age                20.00               bridge-max-age        20.00

hello-time             2.00                bridge-hello-time     2.00

forward-delay          0.00                bridge-forward-delay  0.00

ageing-time            300.01

hello-timer            1.43                tcn-timer             0.00

topology-change-timer  0.00                gc-timer              0.02

18.5. Solucionando Problemas com os Registros

When encountering issues with installing Red Hat Virtualization, you can refer to the host system's two logs to assist with troubleshooting. The xend.log file contains the same basic information as when you run the xm log command. It resides in the /var/log/ directory. Here is an example log entry for when you create a domain running a kernel:
[2006-12-27 02:23:02 xend] ERROR (SrvBase: 163) op=create: Error creating domain: (0, 'Error')
Traceback (most recent call list)
File "/usr/lib/python2.4/site-packages/xen/xend/server/SrvBase.py" line 107 in_perform val = op_method (op,req)
File
"/usr/lib/python2.4/site-packages/xen/xend/server/SrvDomainDir.py line 71 in op_create
raise XendError ("Error creating domain: " + str(ex))
XendError: Error creating domain: (0, 'Error')
O outro arquivo de registro, xend-debug.log , é bastante útil para os administradores de sistema, pois ele contém mais informações detalhadas do que o xend.log . Seguem aqui os mesmos dados de erro para o mesmo problema de criação do domínio kernel:
ERROR: Will only load images built for Xen v3.0
ERROR: Actually saw: GUEST_OS=netbsd, GUEST_VER=2.0, XEN_VER=2.0; LOADER=generic, BSD_SYMTAB'
ERROR: Error constructing guest OS
Quando você precisar da assistência ao consumidor e contatar o técnico de suporte, sempre inclua uma cópia dos dois arquivos de registro.

18.6. Solucionando Problemas com o Console Serial

O console serial pode auxiliar na solução de problemas difíceis. Se o kernel de Virtualização travar e o hypervisor gerar um erro, não há nenhuma forma de rastrear o erro em uma máquina local. No entanto, o console serial permite que você capture-o em uma máquina remota. Você deve configurar o convidado Xen para enviar dados ao console serial. Depois, você deve configurar o convidado remoto para capturar os dados. Para isso, você deve modificar estas opções no arquivo grub.conf para habilitar um console serial de 38400-bps em com1 /dev/ttyS0:
title Red Hat Enterprise Linix (2.6.18-8.2080_RHEL5xen0)
		root (hd0,2)
		kernel /xen.gz-2.6.18-8.el5 com1=38400,8n1 
		module /vmlinuz-2.618-8.el5xen ro root=LABEL=/rhgb quiet console=xvc console=tty xencons=xvc 	
        	module /initrd-2.6.18-8.el5xen.img
The sync_console can help determine a problem that causes hangs with asynchronous hypervisor console output, and the "pnpacpi=off" works around a problem that breaks input on the serial console. The parameters "console=ttyS0" and "console=tty" means that kernel errors get logged with on both the normal VGA console and on the serial console. Then you can install and set up ttywatch to capture the data on a remote host connected by a standard null-modem cable. For example, on the remote host you could type:
ttywatch --name myhost --port /dev/ttyS0
Isto canaliza a saída desde /dev/ttyS0 para dentro do arquivo /var/log/ttywatch/myhost.log .

18.7. Acesso de Console de convidado Para-virtualizado.

Os sistemas operacionais de convidado para-virtualizado, cria automaticamente um console de text virtual para inserir dados no sistema operacional do Domínio 0. Você pode fazer isso a partir da linha de comando, digitando:
xm console [domain name or number]
Onde domain100 representa um nome ou número de execução. Você também pode usar o Gestor de Máquina Virtual para exibir o console de texto virtual. Na janela Detalhes sobre a Máquina Virtual, selecione Console Serial a partir do menu Visualizar.

18.8. Acesso ao Console de convidado com Virtualização Completa.

Full Virtualized guest operating systems automatically has a text console configured for use, but the difference is the kernel guest is not configured. To enable the guest virtual serial console to work with the Full Virtualized guest, you must modify the guest's grub.conf file, and include the 'console =ttyS0 console=tty0' parameter. This ensures that the kernel messages are sent to the virtual serial console (and the normal graphical console). If you plan to use the virtual serial console in a full virtualized guest, you must edit the configuration file in the /etc/xen/ directory. On the host domain, you can then access the text console by typing:
xm console
Você também pode usar o Gestor de Máquina Virtual para exibir o console serial. Na janela Detalhes sobre a Máquina Virtual, selecione o Console Serial a partir do menu Visualizar.

18.9. Implementando o Lun Persistance

Se seu sistema não estiver usando caminhos múltiplos, você pode usar o udev para implementar o lun persistence. Antes de implementar o lun persistence em seu sistema, adquira UUIDs apropriados. Depois disso, você pode configurar o lun persistence, editando o arquivo scsi_id que reside no diretório /etc . Quando você tiver este arquivo aberto em um editor de texto, você deve comentar esta linha:
# options=-b
Depois, substitua-o por este parâmetro:
# options=-g
Isto informa o udev para monitorar todos os dispositivos SCSI do sistema para UUIDs retornando. Para determinar os UUIDs de sistema, digite:
# scsi_id  -g  -s  /block/sdc
A saída deve se assemelhar a este:
[root@devices] # scsi_id -g -s /block/sdc
*3600a0b80001327510000015427b625e*
Esta faixa longa de caracteres é o UUID. Para que os nomes de dispositivos construam o UUID, verifique cada caminho do dispositivo para ter certeza de que o número do UUID é o mesmo em cada dispositivo. Os UUIDs não mudam quando você adicionar um novo dispositivo ao seu sistema. Quando você já tiver checado os caminhos de dispositivos, você deve criar regras para a nomeação do dispositivo. Para criar estas regras, você precisa editar o arquivo 20-names.rules que se encontra no diretório /etc/udev/rules.d . As regras de nomeação do dispositivo que você criar aqui devem seguir este formato:
# KERNEL="sd*",  BUS="scsi",  PROGRAM="sbin/scsi_id", RESULT="UUID", NAME="devicename"
Substitua seu UUID existente e nome do dispositivo com a entrada recuperada do UUID acima. Portanto, a regra deve se assemelhar a esta:
 KERNEL="sd*",  BUS="scsi",  PROGRAM="sbin/scsi_id", RESULT="3600a0b80001327510000015427b625e
", NAME="mydevicename"

Isto faz com que o sistema habilite todos os dispositivos que combinam com o /dev/sd* para inspecionar o UUID dado. Quando ele encontrar um dipositivo que combine, ele criará um nó de dispositivo chamado /dev/devicename. Para este exemplo, o nó de dispositivo é /dev/mydevice . Finalmente, você precisará adicionar o arquivo rc.local que se encontra no diretório /etc com este caminho:
/sbin/start_udev
IMPLEMENTANDO O LUN PERSISTENCE COM CAMINHOS MÚLTIPLOS
Para implementar o Lun Persistence em um ambiente de caminho múltiplo, você deve definir os aliases para os dipositivos de caminho múltiplo. Para este exemplo, você deve definir quatro aliases de dispositivos, editando o arquivo multipath.conf que se encontra no diretório /etc/:
multipath  {  
             wwid       3600a0b80001327510000015427b625e
             alias      oramp1
}
multipath  {  
             wwid       3600a0b80001327510000015427b6
             alias      oramp2
}
multipath  {  
             wwid       3600a0b80001327510000015427b625e
             alias      oramp3
}
multipath  {  
             wwid       3600a0b80001327510000015427b625e
             alias      oramp4
}
Isto define 4 luns: /dev/mpath/oramp1, /dev/mpath/oramp2, /dev/mpath/oramp3, edev/mpath/oramp4. Os dispositivos se encontrarão no diretório /dev/mpath . Estes nomes de lun são persistentes nas reinicializações a medida que cria nomes de alias no wwid dos luns.

18.10. Considerações SELinux

Esta seção contém alguns fatores que devem ser considerados ao implementar um SELinux em seu ambiente de Tecnologia de Virtualização Red Hat. Quando você implementar as mudanças de sistema ou adicionar dispositivos, você deve atualizar sua política SELinux de forma correta. Para configurar um volume LVM para um convidado, você deve modificar o contexto SELinux para o dispositivo de bloqueio adjacente respectivamente e o grupo de volume.
# semanage fcontext -a -t xen_image _t -f -b /dev/sda2
# restorecon /dev/sda2
O parâmetro booleano xend_disable_trans coloca o xend em um modo desconfinado, após reiniciar o daemon. É melhor desabilitar a proteção para um daemon simples do que para todo um sistema. Aconselha-se que você não reetiquete os diretórios como xen_image_t pois, você poderá precisar para algum outro lugar.

18.11. Acessando Dados em Imagem de Disco de convidado

Você pode usar dois aplicativos separados que lhe assistirão no acesso a dados de dentro da imagem de disco. Antes de usar estas ferramentas, você deve fechar os convidados. O acesso de sistema de arquivos a partir do convidado e do dom0 pode danificar seriamente seu sistema.
Você pode usar o aplicativo kpartx para gerenciar discos particionados ou grupos de volume LVM:
yum install kpartx
kpartx -av /dev/xen/guest1
add map guest1p1 : 0 208782 linear /dev/xen/guest1 63
add map guest1p2: 0 16563015 linear /dev/xen/guest1 208845
Para acessar volumes LVM em uma segunda partição, você deve reescanear o LVM com o vgscan e ativar o grupo de volume na partição (chamado VolGroup00 por padrão), usando o comando vgchange -ay:
# kpartx -a /dev/xen/guest1
#vgscan
Reading all physical volumes . This may take a while...
Found volume group "VolGroup00" using metadata type 1vm2
# vgchange -ay VolGroup00
2 logical volume(s) in volume group VolGroup00 now active.
# lvs
LV VG Attr Lsize Origin Snap% Move Log Copy%
LogVol00 VolGroup00 -wi-a- 5.06G
LogVol01 VolGroup00 -wi-a- 800.00M
# mount /dev/VolGroup00/LogVol00 /mnt/
....
#umount /mnt/
#vgchange -an VolGroup00
#kpartx -d /dev/xen/guest1
Você deve se lembrar de desativar os volumes lógicos com o vgchange -an, remover as partições com o kpartx-d , e apagar o dispositivo de ciclo com losetup-d quando terminar.

18.12. Situações de Solução de Problemas Comuns

Ao tentar iniciar o serviço xend e nada acontece. Você digita xm list1 e recebe a seguinte resposta:
Error: Error connecting to xend: Connection refused. Is xend running?
Você tenta executar o xend start para iniciar manualmente e recebe mais erros:
Error: Could not obtain handle on privileged command interfaces (2 = No such file or directory)
Traceback (most recent call last:)

File "/usr/sbin/xend/", line 33 in ?

from xen.xend.server. import SrvDaemon

File "/usr/lib/python2.4/site-packages/xen/xend/server/SrvDaemon.py" , line 26 in ?
		
from xen.xend import XendDomain

File "/usr//lib/python2.4/site-packages/xen/xend/XendDomain.py" , line 33, in ?

from xen.xend import XendDomainInfo
		
File "/usr/lib/python2.4/site-packages/xen/xend/image.py" , line37, in ?

import images

File "/usr/lib/python2.4/site-packages/xen/xend/image.py" , line30, in ?

xc = xen.lowlevel.xc.xc ()

RuntimeError: (2, 'No such file or directory' )
O mais provável que possa estar acontecendo aqui é que você reiniciou seu convidado em um kernel que não era um kernel xen-hypervisor. Para corrigir isto, você deve selecionar o kernel xen-hypervisor em tempo de reinicialização (ou ajuste o kernel xen-hypervisor como padrão em seu arquivo grub.conf ).

18.13. Erros de Dispositivo de Ciclo

Se você usar as imagens de convidado baseado em arquivo, um deles pode ter aumentado o número de dispositivos de ciclo configurado (o padrão permite que até 8 dipositivos de ciclo se tornem ativos). Se você precisar de mais de 8 dispositivos de ciclo/ convidados baseados em arquivo, você deve modificar o arquivo /etc/modprobe.conf. Ao modificar o arquivo modprobe.conf, você precisa incluir esta linha:
options loop max_loop=64
Você pode substituir o número 64 por outro número que corresponde a sua configuração. Note que pode não ser ideal empregar os convidados baseados em dispositivo de ciclo em seu sistema. Ao invés disso, você pode usar os dispositivos baseados em arquivo phy: block device ou tap:aio em sistemas paravirtuais, e baseados em phy: device ou baseado em file: file para uma virtualização completa.

18.14. Erros de Criação de Convidados

When you attempt to create a guest, you receive an "Invalid argument" error message. This usually means that the kernel image you are trying to boot is incompatible with the hypervisor. An example of this would be if you were attempting to run a non-PAE FC5 kernel on a PAE only FC6 hypervisor.
Você realiza uma atualização de yum e recebe um novo kernel, o kernel padrão grub.conf retorna para um kernel de metal simples ao invés do kernel de Virtualização.
Para corrigir este problema, você deve modificar o kernel RPM padrão que se encontra no diretório /etc/sysconfig/kernel/ . Você deve garantir que o parâmetro kernel-xen está configurado como opção padrão no seu arquivo gb.conf.

18.15. Erros de Console Serial

Você não recebe nenhum resultado para o console serial. Para corrigir este problema, você deve modificar o grub.conf e modificar os parâmetros comport para:
serial  --unit=1  --speed=115200
title RHEL5 i386 Xen (2.6.18-1.2910.el5xen)
root (hd0, 8)
kernel /boot/xen.gz-2.6.18-1.2910.el5 com2=115200,8n1
module /boot/vmlinuz-2.6.18-1.2910.el5xen to root=LABEL=RHEL5_i386 console=tty console=ttyS1115200
module /boot/initrd-2.8.6.18-12910.el5xen.img

title RHEL5 i386 xen (2.6.18.-1.2910.el5xen
root (hd0, 8)
kernel /boot/xen.gz-2.6.18-1.2910.el5 com2=115200 console=com2l
module /boot/vmlinuz2.6.18-1.2910.el5xen to root=LABEL=RHEL5_i386 console=xvc xencons=xvc
module /boot/ititrd-2.6.18-1.2910.el5xen.img
Estas mudanças para grub.conf devem habilitar seu console serial para funcionar corretamente. Você deve ser capaz de usar qualquer número para o ttyS e deve funcionar como ttyS0 .

18.16. Erros de Ponte de Rede

Red Hat Virtualization can configure multiple Virtualization network bridges to use with multiple ethernet cards. To successfully configure multiple network bridges for ethernet cards, you must configure the second network interface by either using the system-config-network TUI/GUI, or by creating a new configuration file in /etc/sysconfig/network-scripts . You should use a process to setup multiple Xen bridges. This is an example config file for a second NIC called 'eth1' :
#/etc/sysconfig/network-scripts/fcfg-eth1
DEVICE=eth1
BOOTPROTO=static
ONBOOT=yes
USERCTL=no
IPV6INIT=no
PEERDNS=yes
TYPE=Ethernet
NETMASK=255.255.255.0
IPADDR=10.1.1.1
GATEWAY=10.1.1.254
ARP=yes
Copie o /etc/xen/scripts/network-bridge para /etc/xen/scripts/network-bridge.xen .
Edit /etc/xen/xend-config.sxp and add a line to your new network bridge script (this example uses "network-virtualization-multi-bridge" ).
No arquivo xend-config.sxp , a nova linha deve refletir seu novo script:
network-script network-xen-multi-bridge
Não esqueça de descomentar a linha contendo:
network-script network-bridge
Se você quiser criar pontes Xen múltiplas, você deve criar um script padronizado. Este exemplo abaixo cria duas pontes Xen (chamadas de xenbr0 e xenbr1 ) e conecta-as ao eth1 and eth0 , respectivamente:
# !/bin/sh
# network-xen-multi-bridge
# Exit if anything goes wrong
set -e
# First arg is operation.
OP=$1
shift
script=/etc/xen/scripts/network-bridge.xen
case ${OP} in
start)
$script start vifnum=1 bridge=xenbr1 netdev=eth1
$script start vifnum=0 bridge=xenbr0 netdev=eth0
;;
stop)
$script stop vifnum=1 bridge=xenbr1 netdev=eth1
$script stop vifnum=0 bridge=xenbr0 netdev=eth0
;;
status)
$script status vifnum=1 bridge=xenbr1 netdev=eth1
$script status vifnum=0 bridge=xenbr0 netdev=eth0
;;
*)
echo 'Unknown command: ' ${OP}
echo 'Valid commands are: start, stop, status'
exit 1
esac
Se você quiser criar pontes adicionais, use o script amostra e copie o arquivo de forma apropriada.

18.17. Configurações de Laptop

The task of configuring your RHEL 5.1 loaded laptop for use on a network environment, presents a number of potential challenges. Most WiFi and wired connections switch constantly during any given day, and Red Hat Virtualization assumes it has access to the same interface consistently. This results in the system performing ifup/ifdown calls to the network interface in use by Red Hat Virtualization. WiFi cards are not the ideal network connection method since Red Hat Virtualization uses the default network interface.
The idea here is to create a 'dummy' network interface for Red Hat Virtualization to use.
This technique allows you to use a hidden IP address space for your guests and Virtual Machines. To do this operation successfully, you must use static IP addresses as DHCP does not listen for IP addresses on the dummy network. You also must configure NAT/IP masquerading to enable network access for your guests and Virtual Machines. You should attach a static IP when you create the 'dummy' network interface.
Para este exemplo, a interface é chamada de fictícia0 e o IP usado é 10.1.1. O script é chamado de ifcfg-dummy0 e se encontra no diretório /etc/sysconfig/network-scripts/ :
DEVICE =dummy0
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
IPV6INIT=no
PEERDNS=yes
TYPE=Ethernet
NETMASK=255.255.255.0
IPADDR=10.1.1.1
ARP=yes
Você deve vincular o xenbr0 ao dummy0 para habilitar a conexão de rede até quando estiver disconectado da rede física.
You will need to make additional modifications to the xend-config.sxp file. You must locate the ( network-script 'network-bridge' bridge=xenbr0 ) section and add include this in the end of the line:
netdev=dummy0
You must also make some modifications to your guest's domU networking configuration to enable the default gateway to point to dummy0. You must edit the DomU 'network' file that resides in the /etc/sysconfig/ directory to reflect the example below:
NETWORKING=yes
HOSTNAME=localhost.localdomain
GATEWAY=10.1.1.1
			
IPADDR=10.1.1.10
NETMASK=255.255.255.0
É recomendável que se habilite o NAT no domínio0, assim o domU pode acessar a rede pública. Dessa forma, até mesmo os usuários wireless podem solucionar as limitações wireless da Tecnologia de Virtualização Red Hat. Para fazer isso, você deve modificar o arquivo S99XenLaptopNAT que se encontra no diretório /etc/rc3.d para refletir o exemplo abaixo:
#!/bin/bash
#
# XenLaptopNAT  Startup script for Xen on Laptops
#
# chkconfig: - 99 01
# description: Start NAT for Xen Laptops
#
# PATH=/usr/bin:/sbin:/bin:/usr/sbin
# export PATH
GATEWAYDEV=`ip route | grep default | awk {'print $5'}`
iptables -F
case "$1" in
start)
if test -z "$GATEWAYDEV"; then
echo "No gateway device found"
else
echo "Masquerading using $GATEWAYDEV"
/sbin/iptables -t nat -A POSTROUTING -o $GATEWAYDEV -j MASQUERADE
fi
echo "Enabling IP forwarding"
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "IP forwarding set to `cat /proc/sys/net/ipv4/ip_forward`"
echo "done."
;;
*)
echo "Usage: $0 {start|restart|status}"
;;
esac
Se você quiser automatizar a configuração de rede em tempo de inicialização, você deve criar um softlink para /etc/rc3.d/S99XenLaptopNAT
Ao modificar o arquivo modprobe.conf , você deve incluir estas linhas:
alias dummy0 dummy
options dummy numdummies=1

18.18. Starting Domains Automatically During System Boot

Starting Domains Automatically During System Boot
Você pode configurar seus convidados para iniciar automaticamente ao inicializar o sistema. Para fazer isto, você deve modificar os links simbólicos que se encontram no /etc/xen/auto . Este arquivo se refere aos arquivos de configuração do convidado, que você precisa iniciar automaticamente. O processo de inicialização é serializado, ou seja, quanto mais convidados mais longo será o processo de inicialização. Este exemplo demonstra como usar links simbólicos para o convidadorhel5vm01 :
[root@python xen]# cd /etc/xen
[root@python xen]# cd auto
[root@python auto]# ls
[root@python auto]# ln -s ../rhel5vm01 .
[root@python auto]# ls -l

lrwxrwxrwx 1 root root 14 Dec 14 10:02 rhel5vm01 -> ../rhel5vm01

[root@python auto]#

18.19. Modificando o Domínio0

To use Red Hat Virtualization to manage domain0, you will constantly making changes to the grub.conf configuration file, that resides in the /etc directory. Because of the large number of domains to manage, many system administrators prefer to use the 'cut and paste' method when editing grub.conf . If you do this, make sure that you include all five lines in the Virtualization entry (or this will create system errors). If you require Xen hypervisor specific values, you must add them to the 'xen' line. This example represents a correct grub.conf Virtualization entry:
# boot=/dev/sda/
default=0
timeout=15
#splashimage=(hd0, 0)/grub/splash.xpm.gz
hiddenmenu
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
terminal --timeout=10 serial console
title Red Hat Enterprise Linux Server (2.6.17-1.2519.4.21. el5xen)
        root (hd0, 0)
	kernel /xen.gz-2.6.17-1.2519.4.21.el5 com1=115200,8n1
	module /vmlinuz-2.6.17-1.2519.4.21el5xen ro root=/dev/VolGroup00/LogVol00
	module /initrd-2.6.17-1.2519.4.21.el5xen.img
For example, if you need to change your dom0 hypervisor's memory to 256MB at boot time, you must edit the 'xen' line and append it with the correct entry, 'dom0_mem=256M' . This example represents the respective grub.conf xen entry:
# boot=/dev/sda
default=0
timeout=15
#splashimage=(hd0,0)/grubs/splash.xpm.gz
hiddenmenu
serial --unit=0 --speed =115200 --word=8 --parity=no --stop=1
terminal --timeout=10 serial console
title Red Hat Enterprise Linux Server (2.6.17-1.2519.4.21. el5xen)
        root (hd0,0)
	kernel /xen.gz-2.6.17-1.2519.4.21.el5 com1=115200,8n1 dom0_mem=256MB
	module /vmlinuz-2.6.17-1.2519.4.21.el5xen ro
	root=/dev/VolGroup00/LogVol00
	module /initrd-2.6.17-1.2519.4.21.el5xen.img

18.20. Arquivos de Configuração de Convidado

When you install new guests using virt-manager (or virt-install) tool(s) from Red Hat Enterprise Linux 5.1 with Virtualization, the guests configuration files (located in the /etc/xen directory) get modified and setup automatically. This configuration file example is for a para-virtualized guest:
name = "rhel5vm01"
memory = "2048"
disk = ['tap:aio:/xen/images/rhel5vm01.dsk,xvda,w',]
vif = ["type=ieomu, mac=00:16:3e:09:f0:12 bridge=xenbr0', 
       "type=ieomu, mac=00:16:3e:09:f0:13 ]
vnc = 1
vncunused = 1
uuid = "302bd9ce-4f60-fc67-9e40-7a77d9b4e1ed"
bootloader = "/usr/bin/pygrub"
vcpus=2
on_reboot = "restart"
on_crash = "restart"
Note that the serial="pty" is the default for the configuration file. This configuration file example is for a fully-virtualized guest:
name = "rhel5u5-86_64"
builder = "hvm"
memory = 500
disk = ['file:/xen/images/rhel5u5-x86_64.dsk.hda,w']
vif = [ 'type=ioemu, mac=00:16:3e:09:f0:12, bridge=xenbr0', 'type=ieomu, mac=00:16:3e:09:f0:13, bridge=xenbr1']
uuid = "b10372f9-91d7-ao5f-12ff-372100c99af5'
device_model = "/usr/lib64/xen/bin/qemu-dm"
kernel = "/usr/lib/xen/boot/hvmloader/"
vnc = 1
vncunused = 1
apic = 1
acpi = 1
pae = 1
vcpus =1
serial ="pty" # enable serial console
on_boot = 'restart'

18.21. Clonagem de Arquivos de Configuração de Convidado

You can copy (or clone) an existing configuration file to create an all new guest. You must modify the name parameter of the guests' configuration file. The new, unique name then appears in the hypervisor and is viewable by the management utilities. You must generate an all new UUID as well (using the uuidgen(1) command). Then for the vif entries you must define a unique MAC address for each guest (if you are copying a guest configuration from an existing guest, you can create a script to handle it). For the xen bridge information, if you move an existing guest configuration file to a new host, you must update the xenbr entry to match your local networking configuration. For the Device entries, you must modify the entries in the 'disk=' section to point to the correct guest image.
You must also modify these system configuration settings on your guest. You must modify the HOSTNAME entry of the /etc/sysconfig/network file to match the new guest's hostname.
Modifique o endereço HWADDR do /etc/sysconfig/network-scripts/ifcfg-eth0 para combinar com a saída do ifconfig eth0 e caso você use os endereços IP estáticos, modifique a entrada IPADDR.

18.22. Criando um Script para Gerar Endereços MAC

A Tecnologia de Virtualização Red Hat pode gerar um endereço MAC para cada máquina virtual na hora da criação. Como existem 12 milhões possíveis números na mesma subrede, é possível que você obtenha o mesmo endereço MAC. Para solucionar este problema, você também pode escrever um script para gerar um endereço MAC. Esta amostra de script contém os parâmetros para gerar um endereço MAC:
#! /usr/bin/python
# macgen.py script generates a MAC address for Xen guests
#
import random
mac = [ 0x00, 0x16, 0x3e,
random.randint(0x00, 0x7f),
random.randint(0x00, 0xff),
random.randint(0x00, 0xff) ]
print ':'.join(map(lambda x: "%02x" % x, mac))

Generates e.g.:
00:16:3e:66:f5:77
to stdout

18.23. Configurando a Máquina Virtual de Migração Ativa

Red Hat Virtualization can migrate virtual machines between other servers running Red Hat Enterprise Linux 5.1 with Virtualization. Further, migration is performed in an offline method (using the xm migrate command). Live migration can be done from the same command. However there are some additional modifications that you must do to the xend-config configuration file. This example identifies the entries that you must modify to ensure a successful migration:
(xend-relocation-server yes)
The default for this parameter is 'no', which keeps the relocation/migration server deactivated (unless on a trusted network) and the domain virtual memory is exchanged in raw form without encryption.
(xend-relocation-port 8002)
Este parâmetro ajusta a porta que o xend usa para migração. Este valor é correto, mas lembre-se de remover o comentário que o precede.
(xend-relocation-address )
Este parâmetro é o endereço que recebe as conexões de soquete de recolocação, depois de habilitar o xend-relocation-server . Ao receber, ele restringe a migração a uma interface específica.
(xend-relocation-hosts-allow )
This parameter controls the host that communicates with the relocation port. If the value is empty, then all incoming connections are allowed. You must change this to a space-separated sequences of regular expressions (such as xend-relocation-hosts-allow- '^localhost\\.localdomain$' ). A host with a fully qualified domain name or IP address that matches these expressions are accepted.
Após configurar estes parâmetros, você deve reiniciar a máquina para a Tecnologia de Virtualização Red Hat para aceitar seus novos parâmetros.

18.24. Interpretando Mensagens de Erro

Suponha que você receba a seguinte mensagem de erro:
failed domain creation due to memory shortage, unable to balloon domain0
Um domínio pode falhar se não existir RAM suficiente disponível. O Domínio0 não esvazia o suficiente para oferecer espaço para o convidado recentemente criado. Você pode consultar o arquivo xend.log para este erro:
[2006-12-21] 20:33:31 xend 3198] DEBUG (balloon:133) Balloon: 558432 Kib free; 0 to scrub; need 1048576; retries: 20
[2006-12-21] 20:33:31 xend. XendDomainInfo 3198] ERROR (XendDomainInfo: 202
Domain construction failed
You can check the amount of memory in use by domain0 by using the xm list Domain0 command. If domain0 is not ballooned down, you can use the command "xm mem-set Domain-0 NewMemSize" to check memory.
Suponha que você receba a seguinte mensagem de erro:
wrong kernel image: non-PAE kernel on a PAE
This message indicates that you are trying to run an unsupported guest kernel image on your Hypervisor. This happens when you try to boot a non-PAE paravirtual guest kernel on a RHEL 5.1 hypervisor. Red Hat Virtualization only supports guest kernels with PAE and 64bit architectures.
Digite este comando:
[root@smith]# xm create -c va base

Using config file "va-base"
Error: (22, 'invalid argument')
[2006-12-14 14:55:46 xend.XendDomainInfo 3874] ERRORs
(XendDomainInfo:202) Domain construction failed

Traceback (most recent call last)
File "/usr/lib/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 195 in create vm.initDomain()
File " /usr/lib/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 1363 in initDomain raise VmError(str(exn))
VmError: (22, 'Invalid argument')
[2006-12-14 14:55:46 xend.XendDomainInfo 3874] DEBUG (XenDomainInfo: 1449]
XendDlomainInfo.destroy: domin=1
[2006-12-14 14:55:46 xend.XendDomainInfo 3874] DEBUG (XenDomainInfo: 1457]
XendDlomainInfo.destroy:Domain(1)
Se você precisar rodar um kernel de 32bit/não-PAE, você terá que rodar seu convidado como uma máquina virtual completamente virtualizada. Para convidados para-virtualizados, se você precisar rodar um convidado PAE de 32bit, você precisará de um hypervisor PAE de 32 bit. Para convidados para-virtualizados, se você precisar rodar um convidado PAE de 64bit, você precisará de um hypervisor PAE de 64 bit. Para convidados completamente virtualizados, você deve rodar um convidado de 64bit com um hypervisor de 64bit. O hypervisor de 32bit que vem com o RHEL 5 i686 suporta a execução de 32bit PAE para-virtualizado e convidado OSes de 32bit totalmente virtualizado. O hypervisor 64bit somente suporta convidados para-virtualizados de 64bits.
This happens when you move the full virtualized HVM guest onto a RHEL 5.1 system. Your guest may fail to boot and you will see an error in the console screen. Check the PAE entry in your configuration file and ensure that pae=1.You should use a 32bit distibution.
Suponha que você receba a seguinte mensagem de erro:
Unable to open a connection to the Xen hypervisor or daemon
Isto acontece quando um aplicativo vir-gestor falha ao lançar. Este erro ocorre quando não existe entrada de máquina local no arquivo de configuração /etc/hosts . Verifique no arquivo se a entrada do localhost está habilitado. Segue aqui um exemplo de uma entrada de máquina local incorreta:
# Do not remove the following line, or various programs
# that require network functionality will fail.
localhost.localdomain localhost
Segue aqui um exemplo de uma entrada de máquina local correta:
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
localhost.localdomain. localhost
Suponha que você receba o seguinte erro (no xen-xend.log file ):
Bridge xenbr1 does not exist!
This happens when the guest's bridge is incorrectly configured and this forces the Xen hotplug scipts to timeout. If you move configuration files between hosts, you must ensure that you update the guest configuration files to reflect network topology and configuration modifications. When you attempt to start a guest that has an incorrect or non-existent Xen bridge configuration, you will receive the following errors:
[root@trumble virt]# xm create r5b2-mySQL01

Using config file " r5b2-mySQL01"
Going to boot Red Hat Enterprise Linux Server (2.6.18.-1.2747 .el5xen)
kernel: /vmlinuz-2.6.18-12747.el5xen
initrd: /initrd-2.6.18-1.2747.el5xen.img
Error: Device 0 (vif) could not be connected. Hotplug scripts not working.
Além disso, o xend.log exibe os seguintes erros:
[2006-11-14 15:07:08 xend 3875] DEBUG (DevController:143) Waiting for devices vif
[2006-11-14 15:07:08 xend 3875] DEBUG (DevController:149) Waiting for 0
[2006-11-14 15:07:08 xend 3875] DEBUG (DevController:464) hotplugStatusCallback

/local/domain/0/backend/vif/2/0/hotplug-status

[2006-11-14 15:08:09 xend.XendDomainInfo 3875] DEBUG (XendDomainInfo:1449) XendDomainInfo.destroy: domid=2
[2006-11-14 15:08:09 xend.XendDomainInfo 3875] DEBUG (XendDomainInfo:1457) XendDomainInfo.destroyDomain(2)
[2006-11-14 15:07:08 xend 3875] DEBUG (DevController:464) hotplugStatusCallback

/local/domain/0/backend/vif/2/0/hotplug-status
Para resolver este problema você deve editar seu arquivo de configuração de convidado, e modificar a entrada vif . Quando você localizar a entrada vif do arquivo de configuração, presumindo que você esteja usando o xenbr0 como ponte padrão, tenha a certeza de que a entrada correta se assemelha à seguinte:
# vif = ['mac=00:16:3e:49:1d:11, bridge=xenbr0',]
Suponha que você receba estes erros de depreciação de phyton:
[root@python xen]# xm shutdown win2k3xen12
[root@python xen]# xm create win2k3xen12

Using config file "win2k3xen12".

/usr/lib64/python2.4/site-packages/xenxm/opts.py:520: Deprecation Warning:
Non ASCII character '\xc0' in file win2k3xen12 on line 1, but no encoding
declared; see http://www.python.org/peps/pep-0263.html for details

execfile (defconfig, globs, locs,)
Error: invalid syntax 9win2k3xen12, line1)
Python gera estas mensagens no caso de um arquivo de configuração inválido (ou incorreto). Para resolver este problema, você deve modificar o arquivo de configuração incorreto, ou você pode gerar um novo.

18.25. Recursos de Solução de Problemas Online

Capítulo 19. Recursos Adicionais

Para aprender mais sobre Red Hat Virtualization consulte os seguintes recursos.

19.1. Sites Úteis

  • http://www.cl.cam.ac.uk/research/srg/netos/xen/ — A página da Web de projetos da máquina de para-virtualização do Xen™ a partir do qual o Red Hat Virtualization é derivado. O site mantém os binários do projeto Xen e código de fonte, e também contém informações, visão geral de arquitetura, documentação e links relacionados referentes ao Xen e suas tecnologias associadas.
  • http://www.libvirt.org/ — A página oficial da Web para a API de virtualização do libvirt que interage com a estrutura de virtualização de um convidado OS.
  • http://virt-manager.et.redhat.com/ — A página da Web de projeto para o Gestor de Máquina Virtual (virt-manager), o aplicativo gráfico para máquinas virtuais de gerenciamento.

19.2. Documentação Instalada

  • /usr/share/doc/xen-<version-number>/ —. This directory contains a wealth of information about the Xen para-virtualization hypervisor and associated management tools, including a look at various example configurations, hardware-specific information, and the current Xen upstream user documentation.
  • man virsh and /usr/share/doc/libvirt-<version-number> — Contains subcommands and options for the virsh virtual machine management utility as well as comprehensive information about the libvirt virtualization library API.
  • /usr/share/doc/gnome-applet-vm-<version-number> — Documentation for the GNOME graphical panel applet that monitors and manages locally-running virtual machines.
  • /usr/share/doc/libvirt-python-<version-number> — Provides details on the Python bindings for the libvirt library. The libvirt-python package allows python developers to create programs that interface with the libvirt virtualization management library.
  • /usr/share/doc/python-virtinst-<version-number> — Provides documentation on the virt-install command that helps in starting installations of Fedora and Red Hat Enterprise Linux related distributions inside of virtual machines.
  • /usr/share/doc/virt-manager-<version-number> — Provides documentation on the Virtual Machine Manager, which provides a graphical tool for administering virtual machines.

Apêndice A. Lab 1

Instalação do convidadoXen
Objetivo: Para instalar o RHEL 3, 4, 5 e os convidados Xen do Windows XP
Pré-requisitos: Uma estação de trabalho instalada com o Red Hat Enterprise Linux 5.0 com o componente de Virtualização.
Para este lab, você irá configurar e instalar o RHEL 3,4, ou 5 e os convidados Xen do Win XP usando diversas ferramentas de virtualização.
Sequência 1 do Lab: Procurando por suporte PAE
Determine se seu sistema possui suporte PAE. A Tecnologia de Virtualização Red Hat suporta x86_64 ou ia64 baseada em arquiteturas de CPU para rodar os convidados para-virtualizados. Para rodar convidados i386 o sistema requer uma CPU com as extensões PAE. Os laptops mais antigos (particularmente aqueles baseados em Pentium Mobile ou Centrino) não suportam PAE.
  1. Para determinar se sua CPU possui suporte PAE, digite:
        grep pae /proc/cpuinfo
    
  2. A seguinte saída mostra uma CPU que possui suporte PAE. Se o comando não retornar nada, a CPU não possui suporte PAE. Todos os exercícios de lab requerem uma CPU i386 com extensão PAE ou x86_64 ou ia64 para continuar.
    
        flags :
        fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat clflush dts acpi
        mmx fxsr sse sse2 ss tm pbe nx up est tm2
    
    
Sequência Lab 2: Instalando o convidadoRHEL5 Beta 2 Xen para-virtualizado, usando o virt-install.
Para este lab, você deve instalar um convidado Red Hat Enterprise Linux 5 Beta 2 Xen, usando virt-install.
  1. Para instalar seu convidado Red Hat Enterprise Linux 5 Beta 2 Xen, digite na janela de comando : virt-install.
  2. Quando lhe for solicitado a instalação de um convidado totalmente virtualizado, digite: no.
  3. Digite rhel5b2-pv1 para seu nome de máquina virtual.
  4. Digite 500 para a alocação de sua RAM.
  5. Digite /xen/rhel5b2-pv1.img para seu disco (imagem de convidado).
  6. Digite 6 para o tamanho do seu disco (imagem de convidado).
  7. Digite yes para habilitar o suporte de gráficos.
  8. Digite nfs:server:/path/to/rhel5b2 para seu local de instalação.
  9. A instalação se inicia. Continue naturalmente com a instalação.
  10. Após o término da instalação, digite /etc/xen/rhel5b2-pv1, e faça as seguintes mudanças: #vnc=1#vncunused=1sdl=1
  11. Use um editor de texto para modificar o /etc/inittab, e adicione este ao arquivo: init 5.#id:3:initdefault:id:5:initdefault:
Sequência 3 Lab: Instalando o convidado RHEL5 Beta2 Xen para-virtualizado, usando virt-manager.
Para este lab, você irá instalar o convidado para-virtualizado Xen do Red Hat Enterprise Linux 5 Beta2, usando virt-manager.
  1. Para instalar seu convidado Xen do Red Hat Enterprise Linux 5 Beta 2, digite na janela de comando: virt-manager.
  2. Na janela de Conexão Aberta, selecione o convidado Xen e clique em Connect.
  3. Start Red Hat's Virtual Machine Manager application, and from the File menu, click on New.
  4. Clique em Próximo.
  5. Digite em rhel5b2-pv2 para o nome do seu sistema, e clique em Próximo.
  6. Selecione Para-virtualizado, em clique em Próximo.
  7. Digite o nfs:server:/path/to/rhel5b2 para sua mídia URL de instalação, e clique em Próximo.
  8. Selecione Simple File, digite o /xen/rhel5b2-pv2.img para a localização de seu arquivo. Escolha 6000MB, e clique em Próximo.
  9. Escolha 500 para sua Mémória Máxima e Inicialização VM, e clique em Próximo.
  10. Clique em Finalizar.
Aparecerá uma janela de Console de Máquina Virtual. Continue naturalmente e finalize a instalação.
Sequência Lab 4: Verificando pelo suporte Intel-VT ou AMD-V
Para este lab, você deve determinar se seu sistema suporta Intel-VT ou hardware AMD-V. Seu sistema deve suportar CPUs habilitadas com Intel-VT ou AMD-V para instalar com sucesso sistemas operacionais de convidadototalmente virtualizado. A Tecnologia de Virtualização Red Hat incorpora uma camada genérica HVM para suportar estes fabricantes de CPU.
  1. To determine if your CPU has Intel-VT or AMD-V support, type the following command: egrep -e 'vmx|svm' /proc/cpuinfo
  2. A seguinte saída mostra uma CPU que suporta Intel-VT:
    .flags :
        fpu tsc msr pae mce cx8 apic mtrr mca cmov pat clflush dts acpi mmx fxsr sse
        sse2 ss ht tm pbe constant_tsc pni monitor vmx est tm2 xtpr
    
    Se o comando não retornar nada, significa que a CPU não suporta Intel-VT ou AMD-V.
  3. Para determinar se sua CPU possui suporte Intel-VT ou AMD- V, digite o seguinte comando:
    cat /sys/hypervisor/properties/capabilities
  4. The following output shows that Intel-VT support has been enabled in the BIOS. If the command returns nothing, then go into the BIOS Setup Utlility and look for a setting related to 'Virtualization', i.e. 'Intel(R) Virtualization Technology' under 'CPU' section on a IBM T60p. Enable and save the setting and do a power off to take effect.
    
    xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p
    
    
Sequência Lab 5: Instalando o convidado totalmente virtualizado Xen RHEL5 Beta 2, usando o virt-install.
Para este lab, você irá instalar o convidado totalmente virtualizado Xen do Red Hat Enterprise Linux 5 Beta 2, usando o virt-install:
  1. Para instalar seu convidado Red Hat Enterprise Linux 5 Beta 2 Xen, digite na janela de comando : virt-install.
  2. Quando lhe for solicitado instalar um convidado totalmente virtualizado, digite yes.
  3. Digite rhel5b2-pv2 para o nome de sua máquina virtual.
  4. Digite 500 para a alocação de sua memória.
  5. Digite /xen/rhel5b2-fv1.img para seu disco (imagem de convidado).
  6. Digite 6 para o tamanho do seu disco (imagem de convidado).
  7. Digite yes para habilitar o suporte de gráficos.
  8. Digite /dev/cdrom para imagem de CD virtual.
  9. The VNC viewer appears within the installation window. If there is an error message that says “main: Unable to connect to host: Connection refused (111)”, then type the following command to proceed: vncviewer localhost:5900. VNC port 5900 refers to the first Xen guest that is running on VNC. If it doesn't work, you might need to use 5901, 5902, etc.
A instalação se inicia. Continue naturalmente com a instalação.
Sequência Lab 6: Instalando o convidado totalmente virtualizado Xen RHEL5 Beta 2 usando o virt-manager.
Para este lab, você irá inslatar um convidado totalmente virtualizado Xen Red Hat Enterprise Linux 5 Beta 2 usando virt-manager:
  1. Para instalar seu convidado Xen do Red Hat Enterprise Linux 5 Beta 2, digite na janela de comando: virt-manager.
  2. Na janela Abrir Conexão, selecione o convidado Xen Local e clique em Conectar.
  3. Start Red Hat's Virtual Machine Monitor application, and from the File menu, click on New.
  4. Clique em Próximo.
  5. Digite rhel5b2-fv2 para o nome de seu sistema, e clique em Próximo.
  6. Selecione Totalmente virtualizado e clique em Próximo.
  7. Especifique um CD-ROM ou DVD, e insira o caminho para instalar a mídia. Especifique o local da Imagem ISO se você instalar a partir de uma imagem ISO. Clique em Próximo
  8. Selecione o Arquivo Simples, digite /xen/rhel5b2-fv2.img para o local de seu arquivo. Especifique 6000MB e clique Forward.
  9. Escolha 500 para sua Mémória Máxima e Inicialização VM, e clique em Próximo.
  10. Clique em Finalizar.
  11. Aparecerá uma janela de Console de Máquina Virtual
Continue naturalmente e finalize a instalação.
Sequência Lab 7: Instalando o convidado totalmente virtualizado Xen RHEL3 usando virt-manager.
Para este lab, você irá instalar o convidado Xen do Red Hat Enterprise Linux 3 usando o virt-manager:
  1. Aplique aqui as mesmas instruções da Sequência Lab 6.
Sequência Lab 8: Instalando o convidadoto talmente virtualizado Xen RHEL4, usando o virt-manager
Para este lab, você irá instalar o convidado Xen Red Hat Enterprise Linux 4, usando o virt-manager :
  1. Aplique aqui as mesmas instruções da Sequência Lab 6.
Sequência Lab 9: Instalando o convidado totalmente virtualizado Xen do Windows XP, usandovirt-manager.
Para este lab, você irá instalar o convidado totalmente virtualizado Xen do Windows XP, usandovirt-manager:
  1. Para instalar seu Red Hat Enterprise Linux 5 em seu convidado Windows XP, na janela de comandos, digite: virt-manager.
  2. Na janela Abrir Conexão, selecione o convidado Xen Local e clique em Conectar.
  3. Start Red Hat's Virtual Machine Manager application, and from the File menu click on New.
  4. Clique em Próximo.
  5. Digite o winxp para o nome de seu sistema e clique em Próximo.
  6. Selecione Totalmente virtualizado e clique em Próximo.
  7. Especifique um CD-ROM ou um DVD, e insira o caminho para instalar a mídia. Especifique o local da Imagem ISO se você quiser instalar a partir da imagem ISO. Clique em Próximo.
  8. Selecione o Arquivo Simples, digite /xen/winxp.img para o local de seu arquivo. Especifique 6000 MB e clique em Próximo.
  9. Selecione 1024 para a Memória Máxima e Inicialização VM e selecione 2 para VCPUs. Clique em Próximo .
  10. Clique em Finalizar.
  11. Aparecerá uma janela de Console de Máquina Virtual. Continue naturalmente e finalize a instalação.
  12. Escolha a opção de formatar a partição C:\ no formato de sistema de arquivo FAT. O Red Hat Linux 5 não inclui os módulos de kernel NTFS. Montar ou escrever arquivos para imagem de convidadoXen, podem não ser tão rápidas se você formatar a partição em formato de sistema de arquivo NTFS.
  13. Depois que reinicializar seu sistema pela primeira vez, edite a imagem de convidado winxp: losetup /dev/loop0 /xen/winxp.imgkpartx -av /dev/loop0mount /dev/mapper/loop0p1 /mntcp -prv $WINDOWS/i386 /mnt/. Isto corrige um problema que você poderá encontrar na última parte da instalação do Windows.
  14. Reinicie o convidado Xen manualmente, digitando: xm create -c winxp/.
  15. Na janela de Gestor de Máquina Virtual, selecione o convidado Xen winxp e clique em Abrir.
  16. Aparecerá uma janela de Console de Máquina Virtual. Continue naturalmente e finalize a instalação.
  17. Whenever a 'Files Needed' dialog box appears, change the path GLOBALROOT\DEVICE\CDROM0\I386 to C:\I386. Depending on your installation, you may or may not see this problem. You may be prompted for missing files during the installation. Changing the path to C:\I386 should compensate for this problem.
  18. Se o console de convidado Xen parar, clique em shutdown, faça as seguintes mudanças em /etc/xen/winxp:#vnc=1#vncunused=1sdl=1#vcpus=2
  19. Repita o passo 14 e continue como naturalmente com a instalação.

Apêndice B. Lab 2

Migração Ativa
Objetivo: Configurar e realizar uma migração ativa entre dois convidados.
Pré-requisitos: Duas estações de trabalho instaladas com o Red Hat Enterprise Linux 5.0 Beta 2.0 com Plataforma de Virtualização, e um Fedora Core 6 Xen convidado em uma das duas estações de trabalho.
Para esta aba, você irá configurar a migração e executar uma migração ativa entre dois convidados
Apresentação: Antes que você inicie
Para esta aba, você precisará de convidados de Virtualização: um convidado Xen e um armazenamento compartilhado. Você deve se conectar à dois convidados de Virtualização através de um cabo UTP. Um dos hóspedes da Tecnologia de Virtualização exporta um armazenamento compartilhado através do NFS. Você deve configurar os dois convidados da tecnlogia de Virtualização para que eles migrem com sucesso. O convidado Xen reside no armazenamento compartilhado. No convidado Xen, você deve instalar um servidor de fluxo contínuo.
Seqüência 1: Configurando xend (ambos convidados Xen)
Neste procedimento de Lab, você configura o xend para iniciar como servidor HTTP e um servidor de recolocação. O daemon xend não inicia o servidor HTTP por padrão. Ele inicia o servidor de gerenciamento de soquete de domínio UNIX (para xm) e se comunica com xend. Para habilitar a migração ativa cross-machine, você deve configurá-la para suportar uma migração ativa:
  1. Para fazer um backup do seu arquivo xend-config.sxp:
        cp -pr /etc/xen/xend-config.sxp /etc/xen/xend-config.sxp.default
    
  2. Edite o /etc/xen/xend-config.sxp e faça as seguintes mudanças:
    #(xend-unix-server yes)(xend-relocation-server
        yes)(xend-relocation-port 8002)(xend-relocation-address
        '')(xend-relocation-hosts-allow '')#(xend-relocation-hosts-allow '^localhost$
        ^localhost\\.localdomain$')
    
  3. Reinicie o xend:service e xend restart.
Seqüência 2: Exportando e compartilhando armazenamento através do NFS
Para este procedimento de lab, você irá configurar o NFS e usá-lo para exportar um armazenamento compartilhado.
  1. Edite o /etc/exports e inclua a linha: /xen *(rw,sync,no_root_squash)/
  2. Salve o /etc/exports e reinicie o servidor NFS. Lembre-se que o servidor deverá iniciar pelo default:service nfs startchkconfig nfs on.
  3. Após iniciar o servidor NFS no host1, podemos então montá-lo no host2:mount host1:/xen.
  4. Agora inicie o Xen convidado no host1 e selecione fc6-pv1 (ou fc6-pv2 a partir do Lab 1):
    xm create -c fc6-pv1
    
Seqüência 3: Instalando o servidor de fluxo contínuo do convidado Xen
Para este passo do lab, você irá instalar o servidor de fluxo contínuo, gnump3d, para nossos propósitos de demonstração. Você irá selecionar o gnump3d pois ele suporta arquivos vorbis OGG e é fácil de instalar, configurar e modificar.
  1. Faça o download do gnump3d-2.9.9.9.tar.bz2 a partir do http://www.gnump3d.org/ . Desempacote o tarball e no diretório gnump3d-2.9.9.9/ compile e instale o gnump3d application:tar xvjf gnump3d-2.9.9.9.tar.bz2cd gnump3d-2.9.9.9/make install
  2. Create a /home/mp3 directory and copy TruthHappens.ogg from Red Hat's Truth Happens page to mkdir /home/mp3wget -c http://www.redhat.com/v/ogg/TruthHappens.ogg
  3. Inicie um servidor de fluxo contínuo digitando
     command:gnump3d
    
  4. Em cada um dos dois convidados Xen, inicie rodando o Movie Player. Se não estiver instalado, instale o totem e iso-codecs rpms antes de rodar o Movie Player. Clique em Aplicativos, e Sound & Vídeo e finalmente no Movie Player.
  5. Clique em Movie e depois em Abrir Local. Digite http://guest:8888/TruthHappens.ogg.
Seqüência 4: Realizando a migração ativa
  1. Rode o arquivo TruthHappens.ogg em um dos dois hosts Xen.
  2. Realize a migração ativa a partir do host1 para o host2:
    xm migrate –live fc6-pv1 host2
    
  3. Abra os terminais de janela múltipla nos dois hosts Xen com o seguinte comando:
    watch -n1 xm list
    
  4. Observe a medida que a migração ativa inicia. Note quanto tempo leva para a migração se completar.
Seqüência Desafio: Configurando o servidor VNC a partir de dentro do convidado Xen
If time permits, from within the Xen guest, configure the VNC server to initiate when gdm starts up. Run VNC viewer and connect to the Xen guest. Play with the Xen guest when the live migration occurs. Attempt to pause/resume, and save/restore the Xen guest and observe what happens to the VNC viewer. If you connect to the VNC viewer via localhost:590x, and do a live migration, you won't be able to connect to the VNC viewer again when it dies. This is a known bug.

Apêndice C. Histórico de Revisões

Histórico de Revisões
Revisão 2.0-11.4002013-10-31Rüdiger Landmann
Rebuild with publican 4.0.0
Revisão 2.0-112012-07-18Anthony Towns
Rebuild for Publican 3.0
Revisão 5.1.0-10Fri Aug 3 2007Michael Hideo Smith
Resolves: #245684
Content Updates

Nota Legal

Copyright © 2007 Red Hat Inc..
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.