Virtualization
A reference guide for virsch, xm, vmm and xend.
Edição 2.0
Resumo
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 Copiar o linkLink copiado para a área de transferência!
Capítulo 2. Suporte a Sistemas Operacionais Copiar o linkLink copiado para a área de transferência!
- 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.
grep vmx /proc/cpuinfo
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
grep svm /proc/cpuinfo
cat /proc/cpuinfo | grep svm
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
Nota
Capítulo 3. Suporte a Hardware Copiar o linkLink copiado para a área de transferência!
- Celeron
- Pentium II
- Pentium III
- Pentium IV
- Xeon
- AMD Athlon
- AMD Duron
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
grep pae /proc/cpuinfo
flags : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 mmx fxsr sse syscall mmtext 3dnowext 3dnow up ts
Capítulo 4. Solicitações de Sistema de Tecnologia de Virtualização Red Hat Copiar o linkLink copiado para a área de transferência!
- 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
Nota
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 Copiar o linkLink copiado para a área de transferência!
service xend start
chkconfig xend ao instalar para habilitar o xend em tempo de inicialização.
Capítulo 6. Configurando o GRUB Copiar o linkLink copiado para a área de transferência!
/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
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
mem
com1=115200, 8n1
dom0_mem
dom0_max_vcpus
acpi
/* **** 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
Capítulo 7. Inicializando um Domínio Convidado Copiar o linkLink copiado para a área de transferência!
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
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 Copiar o linkLink copiado para a área de transferência!
/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
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
chkconfig xendomains off fecha os domínios na próxima inicialização.
Capítulo 9. Arquivos de Configuração Copiar o linkLink copiado para a área de transferência!
/etc/xen directory.
| Í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 Copiar o linkLink copiado para a área de transferência!
Capítulo 11. Migrando um Domínio Copiar o linkLink copiado para a área de transferência!
xm migrate domain-id [destination domain]
xm migrate domain-id -l [destination domain]
Capítulo 12. Configurando para a Uso em uma Rede Copiar o linkLink copiado para a área de transferência!
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.
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.
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 Copiar o linkLink copiado para a área de transferência!
- 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 Copiar o linkLink copiado para a área de transferência!
Capítulo 15. Gerenciando Máquinas Virtuais com virsh Copiar o linkLink copiado para a área de transferência!
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 Copiar o linkLink copiado para a área de transferência!
virsh connect <name>
<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 Copiar o linkLink copiado para a área de transferência!
virsh create <path to XML configuration file>
15.3. Configurando um Despejo XML Copiar o linkLink copiado para a área de transferência!
virsh dumpxml [domain-id | domain-name | domain-uuid]
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 Copiar o linkLink copiado para a área de transferência!
virsh suspend [domain-id | domain-name |domain-uuid]
resume option.
15.5. Retornando uma Máquina Virtual Copiar o linkLink copiado para a área de transferência!
virsh resume [domain-id | domain-name | domain-uuid]
suspend e resume .
15.6. Salvando uma Máquina Virtual Copiar o linkLink copiado para a área de transferência!
virsh save [domain-name][domain-id | domain-uuid][filename]
restore option.
15.7. Restaurando uma Máquina Virtual Copiar o linkLink copiado para a área de transferência!
virsh save option:
virsh restore [filename]
15.8. Fechando uma Máquina Virtual Copiar o linkLink copiado para a área de transferência!
virsh shutdown [domain-id | domain-name | domain-uuid]
on_shutdown do arquivo xmdomain.cfg.
15.9. Reinicializando uma Máquina Virtual Copiar o linkLink copiado para a área de transferência!
virsh reboot [domain-id | domain-name | domain-uuid]
on_reboot do xmdomain.cfg file.
15.10. Finalizando um Domínio Copiar o linkLink copiado para a área de transferência!
virsh destroy [domain-name | domain-id | domain-uuid]
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 Copiar o linkLink copiado para a área de transferência!
virsh domid [domain-name | domain-uuid]
15.12. Convertendo um ID de Domínio para um Nome de Domínio Copiar o linkLink copiado para a área de transferência!
virsh domname [domain-name | domain-uuid]
15.13. Convertendo um Nome de Domínio para um UUID Copiar o linkLink copiado para a área de transferência!
virsh domuuid [domain-id | domain-uuid]
15.14. Exibindo Informações sobre Máquina Virtual Copiar o linkLink copiado para a área de transferência!
virsh dominfo [domain-id | domain-name | domain-uuid]
15.15. Exibindo Informações sobre Nó. Copiar o linkLink copiado para a área de transferência!
virsh nodeinfo
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
15.16. Exibindo Máquinas Virtuais Copiar o linkLink copiado para a área de transferência!
virsh list domain-name [ ——inactive | —— -all]
——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
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 Copiar o linkLink copiado para a área de transferência!
virsh vcpuinfo [domain-id | domain-name | domain-uuid]
15.18. Configurando Afinidade da CPU Virtual Copiar o linkLink copiado para a área de transferência!
virsh vcpupin [domain-id | domain-name | domain-uuid] [vcpu] , [cpulist]
[vcpu] é o número da VCPU virtual e [cpulist] lista o número físico das CPUs.
15.19. Configurando Conta de CPU Virtual Copiar o linkLink copiado para a área de transferência!
virsh setvcpus [domain-name | domain-id | domain-uuid] [count]
15.20. Configurando uma Alocação de Memória Copiar o linkLink copiado para a área de transferência!
virsh setmem [domain-id | domain-name] [count]
[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 Copiar o linkLink copiado para a área de transferência!
virsh setmaxmem [domain-name | domain-id | domain-uuid] [count]
15.22. Managing Virtual Networks Copiar o linkLink copiado para a área de transferência!
virsh net-list
[root@domain ~]# virsh net-list
Name State Autostart
-----------------------------------------
default active yes
vnet1 active yes
vnet2 active yes
virsh net-dumpxml [vnet name]
[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>
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 filevirsh net-define [XML file]— Generates a new network from a preexisting XML file without starting itvirsh net-destroy [network name]— Destroy a network specified as [network name]virsh net-name [network UUID]— Convert a specified [network UUID] to a network namevirsh net-uuid [network name— Convert a specified [network name] to a network UUIDvirsh net-start [name of an inactive network]— Starts a previously undefined inactive networkvirsh net-undefine [name of an inactive network]— Undefine an inactive network
Capítulo 16. Gerenciando Máquinas Virtuais Usando o Xend Copiar o linkLink copiado para a área de transferência!
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:
| Í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.
|
service xend start
service xend stop
service xend restart
service xend status
Capítulo 17. Gerenciando Máquinas Virtuais com Gestor de Máquina Virtual Copiar o linkLink copiado para a área de transferência!
17.1. Arquitetura de Gestor de Máquina Virtual Copiar o linkLink copiado para a área de transferência!
17.2. Para abrir a Conexão Window Copiar o linkLink copiado para a área de transferência!
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.
Figura 17.1. Virtual Machine Manager Connection window
17.3. Janela do Gestor de Máquina Virtual Copiar o linkLink copiado para a área de transferência!
Figura 17.2. Virtual Machine Manager main window
17.4. Janela de Detalhes de Máquina Virtual Copiar o linkLink copiado para a área de transferência!
Figura 17.3. Virtual Machine Manager Details window
17.5. Console Gráfico de Máquina Virtual Copiar o linkLink copiado para a área de transferência!
Figura 17.4. Janela de Console Gráfico
17.6. Starting the Virtual Machine Manager Copiar o linkLink copiado para a área de transferência!
Aplicativos, clique em Ferramentas de Sistema e selecione Gestor de Máquina Virtual .
Figura 17.5. Starting the Virtual Machine Manager
17.7. Criando uma Máquina Virtual Copiar o linkLink copiado para a área de transferência!
- 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
Procedimento 17.1. Criando um Sistema Operacional Convidado
- 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
Figura 17.6. Virtual Machine Manager window
- A partir do menu Arquivo, selecione Nova Máquina.
Figura 17.7. Selecionando uma Nova Máquina
Aparecerá a janela 'Criando um novo assistente de sistema virtual. - Click .
Figura 17.8. Criando um Novo Assistente de Sistema Virtual
- Enter the name of the new virtual system and then click .
Figura 17.9. Nomeando o Sistema Virtual
- Insira o local da sua mídia de instalação. O local do arquivo kickstart é opcional. Depois clique em Próximo .
Figura 17.10. Localizando o Mídia de Instalação
- 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 arquivoSELinux 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 commandrestorecon -v /xen. Specify your location and the size of the virtual disk, then click .
Figura 17.11. Atribuindo o Espaço de Armazenamento
- Select memory to allocate the guest and the number of virtual CPUs then click .
Figura 17.12. Alocando a Memória e CPU
- Select to open a console and the files start to install.
Figura 17.13. Alocando a Memória e CPU
- Complete sua instalação na janela fornecida.
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 thekernel-xenkernel. 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 theVirtualizationpackage group during the installation. TheVirtualizationpackage group option installs thekernel-xenkernel.Note that paravirtualized guests are not affected by this issue. Paravirtualized guests always use thekernel-xenkernel. - Type
xm create -c xen-guestto 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.
Figura 17.15. Red Hat Enterprise Linux 5.1 (guest)
- Insira o nome de usuário e senha para continuar usando o Gestor de Máquina Virtual.
17.8. Restaurando uma Máquina Salva Copiar o linkLink copiado para a área de transferência!
- A partir do menu Arquivo, selecione Restaure uma máquina salva.
Figura 17.16. Restoring a Virtual Machine
- A janela principal de Restaurar uma Máquina Virtual aparecerá.
Figura 17.17. Selecionando uma Sessão de Máquina Virtual Salva
- Navegar para corrigir o diretório e selecionar o arquivo de sessão salva
- Clique em Abrir.
Figura 17.18. A Sessão de Gestor de Máquina Virtual Restaurada.
17.9. Displaying Virtual Machine Details Copiar o linkLink copiado para a área de transferência!
- Na janela principal do Getor de Máquina Virtual, destaque a máquina virtual que você quer visualizar.
Figura 17.19. Selecionando uma Máquina Virtual para Exibir
- 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.
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.
Figura 17.21. Exibindo Visão Geral de Detalhes de Máquina Virtual
- Na janela de Detalhes de Máquina Virtual, clique na aba HardwareA janela Hardware de Detalhes de Máquina Virtual aparecerá.
Figura 17.22. Exibindo o Hardware de Detalhes de Máquina Virtual
- Na aba Hardware, clique em Processador para visualizar ou mudar a alocação de memória do processador atual.
Figura 17.23. Exibindo a Alocação do Processador
- Na aba Hardware, clique em Memória para visualizar ou mudar a alocação da memória RAM atual.
Figura 17.24. Exibindo a Alocação de Memória
- Na aba Hardware, clique em Disco para visualizar ou mudar a configuração do disco rígido atual.
Figura 17.25. Exibindo a Configuração do Disco
- Na aba Hardware, clique em Rede para visualizar ou mudar a configuração de rede atual.
Figura 17.26. Exibindo a Configuração de Rede
17.10. Configuring Status Monitoring Copiar o linkLink copiado para a área de transferência!
- Selecione Preferências a partir do menu Editar
Figura 17.27. Modificando as Preferências de Máquina Virtual
A janela de Preferências do Gestor de Máquina Virtual aparecerá. - 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
Figura 17.28. Configuring Status Monitoring
- 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 Copiar o linkLink copiado para a área de transferência!
- Selecione a caixa de seleção ID de Domínio a partir do menu Visualizar
Figura 17.29. Exibindo os IDs de Domínio
- The Virtual Machine Manager lists the Domain ID's for all domains on your system.
Figura 17.30. Exibindo os IDs de Domínio
17.12. Exibindo o Status de Máquina Virtual Copiar o linkLink copiado para a área de transferência!
- Selecione Status a partir do menu Visualizar
Figura 17.31. Exibindo o Status de Máquina Virtual
- O Gestor de Máquina Virtual lista o status de todas as máquinas virtuais em seu sistema.
Figura 17.32. Exibindo o Status de Máquina Virtual
17.13. Exibindo as CPUs Virtuais Copiar o linkLink copiado para a área de transferência!
- A partir do menu Arquivo, selecione CPUs Virtuais.
Figura 17.33. Exibindo as CPUs Virtuais
- O Gestor de Máquina Virtual lista as CPUs Virtuais para todas as máquinas virtuais em seu sistema.
Figura 17.34. Exibindo as CPUs Virtuais
17.14. Exibindo o Uso da CPU Copiar o linkLink copiado para a área de transferência!
- Selecione CPU Usage a partir do menu Visualizar.
Figura 17.35. Exibindo o Uso da CPU
- O Gestor de Máquina Virtual lista a porcentagem de CPU em uso para todas as máquinas virtuais em seu sistema.
Figura 17.36. Exibindo o Uso da CPU
17.15. Exibindo o Usos de Memória Copiar o linkLink copiado para a área de transferência!
- A partir do menu Arquivo, selecione Uso de Memória.
Figura 17.37. Exibindo o Usos de Memória
- O Gestor de Máquina Virtual lista a porcentagem de memória em uso (em megabytes) para todas as máquinas de seu sistema.
Figura 17.38. Exibindo o Usos de Memória
17.16. Managing a Virtual Network Copiar o linkLink copiado para a área de transferência!
- From the Edit menu, select Host Details.
Figura 17.39. Selecting Host Details
- This will open the menu. Click the Virtual Networks tab.
Figura 17.40. Virtual Network Configuration
- 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 Copiar o linkLink copiado para a área de transferência!
- Open the Host Details menu (refer to Seção 17.16, “Managing a Virtual Network”) and click the button.
Figura 17.41. Virtual Network Configuration
This will open the menu. Click to continue.
Figura 17.42. Creating a new virtual network
- Enter an appropriate name for your virtual network and click .
Figura 17.43. Naming your virtual network
- Enter an IPv4 address space for your virtual network and click .
Figura 17.44. Choosing an IPv4 address space
- Define the DHCP range for your virtual network by specifying a Start and End range of IP addresses. Click to continue.
Figura 17.45. Selecting the DHCP range
- Select how the virtual network should connect to the 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 to continue. - You are now ready to create the network. Check the configuration of your network and click .
Figura 17.47. Ready to create network
- The new virtual network is now available in the tab of the menu.
Figura 17.48. New virtual network is now available
Capítulo 18. Solucionador de Problemas da Tecnologia de Virtualização Red Hat Copiar o linkLink copiado para a área de transferência!
18.1. Visão Geral e Localização do Arquivo de Registro Copiar o linkLink copiado para a área de transferência!
- O principal diretório de configuração da Tecnologia de Virtualização Red Hat é
/etc/xen/. Este diretório contém o daemonxende 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
/procno diretório/proc/xen/.
18.2. Descrições de Arquivo de Registro. Copiar o linkLink copiado para a área de transferência!
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 daemonxend, 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. Oxend.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 doxende 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 processoqemu-dmpara cada convidado virtualizado. Ao usar o arquivo de registro, você deve recuperar o processo PIDqemu-dmdado, usando o comandopspara examinar os argumentos do processo para isolar o processoqemu-dmna máquina virtual. Note que você deve substituir o símbolo [PID] com o processo PID atualqemu-dm.
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 Copiar o linkLink copiado para a área de transferência!
- As imagens de máquinas virtuais se encontram no diretório
/var/lib/xen/images.
- Ao reiniciar o daemon
xend, ele atualiza oxend-databaseque se encontra no diretório/var/lib/xen/xend-db.
- O despejo da máquina virtual (que você realiza com o comand
xm dump-core) se encontra no diretório/var/lib/xen/dumps.
- O diretório
/etc/xencontém os arquivos de configuração que você usa para gerenciar os recursos de sistema. O arquivo de configuração do daemonxendse chamaxend-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 Copiar o linkLink copiado para a área de transferência!
xentopxm dmesgxm logvmstatiostatlsof
XenOprofilesystemTapcrashsysrqsysrq tsysrq w
ifconfigtcpdumpbrctl
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 Copiar o linkLink copiado para a área de transferência!
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')
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
18.6. Solucionando Problemas com o Console Serial Copiar o linkLink copiado para a área de transferência!
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
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
/dev/ttyS0 para dentro do arquivo /var/log/ttywatch/myhost.log .
18.7. Acesso de Console de convidado Para-virtualizado. Copiar o linkLink copiado para a área de transferência!
xm console [domain name or number]
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. Copiar o linkLink copiado para a área de transferência!
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
18.9. Implementando o Lun Persistance Copiar o linkLink copiado para a área de transferência!
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
# options=-g
# scsi_id -g -s /block/sdc
[root@devices] # scsi_id -g -s /block/sdc
*3600a0b80001327510000015427b625e*
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"
KERNEL="sd*", BUS="scsi", PROGRAM="sbin/scsi_id", RESULT="3600a0b80001327510000015427b625e
", NAME="mydevicename"
/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
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
}
/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 Copiar o linkLink copiado para a área de transferência!
# semanage fcontext -a -t xen_image _t -f -b /dev/sda2
# restorecon /dev/sda2
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 Copiar o linkLink copiado para a área de transferência!
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
# 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
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 Copiar o linkLink copiado para a área de transferência!
xend e nada acontece. Você digita xm list1 e recebe a seguinte resposta:
Error: Error connecting to xend: Connection refused. Is xend running?
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' )
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 Copiar o linkLink copiado para a área de transferência!
/etc/modprobe.conf. Ao modificar o arquivo modprobe.conf, você precisa incluir esta linha:
options loop max_loop=64
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 Copiar o linkLink copiado para a área de transferência!
"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.
grub.conf retorna para um kernel de metal simples ao invés do kernel de Virtualização.
/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 Copiar o linkLink copiado para a área de transferência!
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
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 Copiar o linkLink copiado para a área de transferência!
/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
/etc/xen/scripts/network-bridge para /etc/xen/scripts/network-bridge.xen .
/etc/xen/xend-config.sxp and add a line to your new network bridge script (this example uses "network-virtualization-multi-bridge" ).
xend-config.sxp , a nova linha deve refletir seu novo script:
network-script network-xen-multi-bridge
network-script network-bridge
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
18.17. Configurações de Laptop Copiar o linkLink copiado para a área de transferência!
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
xenbr0 ao dummy0 para habilitar a conexão de rede até quando estiver disconectado da rede física.
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
/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
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
/etc/rc3.d/S99XenLaptopNAT
modprobe.conf , você deve incluir estas linhas:
alias dummy0 dummy
options dummy numdummies=1
18.18. Starting Domains Automatically During System Boot Copiar o linkLink copiado para a área de transferência!
/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 Copiar o linkLink copiado para a área de transferência!
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
'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 Copiar o linkLink copiado para a área de transferência!
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"
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 Copiar o linkLink copiado para a área de transferência!
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.
/etc/sysconfig/network file to match the new guest's hostname.
/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 Copiar o linkLink copiado para a área de transferência!
#! /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 Copiar o linkLink copiado para a área de transferência!
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
xendusa 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.
18.24. Interpretando Mensagens de Erro Copiar o linkLink copiado para a área de transferência!
failed domain creation due to memory shortage, unable to balloon domain0
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
xm list Domain0 command. If domain0 is not ballooned down, you can use the command "xm mem-set Domain-0 NewMemSize" to check memory.
wrong kernel image: non-PAE kernel on a PAE
[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)
Unable to open a connection to the Xen hypervisor or daemon
/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
# 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
xen-xend.log file ):
Bridge xenbr1 does not exist!
[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.
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
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',]
[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)
18.25. Recursos de Solução de Problemas Online Copiar o linkLink copiado para a área de transferência!
- Centro de Tecnologia de Virtualização Red Hat
http://www.openvirtualization.com - Documentação Beta 2 do Red Hat Enterprise Linux 5
http://www.redhat.com/docs/manuals/enterprise/RHEL-5-manual/index.html - Libvirt API
http://www.libvirt.org - Projeto virt-manager da Página da Web
http://virt-manager.et.redhat.com - Centro da Comunidade Xen
http://www.xensource.com/xen/xen/ - Visão Geral de Tecnologias de Virtualização
http://virt.kernelnewbies.org - Projetos de Tecnologias Emergentes
http://et.redhat.com
Capítulo 19. Recursos Adicionais Copiar o linkLink copiado para a área de transferência!
19.1. Sites Úteis Copiar o linkLink copiado para a área de transferência!
- 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
libvirtque 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 Copiar o linkLink copiado para a área de transferência!
/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 virshand/usr/share/doc/libvirt-<version-number>— Contains subcommands and options for thevirshvirtual machine management utility as well as comprehensive information about thelibvirtvirtualization 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 thelibvirtlibrary. Thelibvirt-pythonpackage allows python developers to create programs that interface with thelibvirtvirtualization management library./usr/share/doc/python-virtinst-<version-number>— Provides documentation on thevirt-installcommand 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 Copiar o linkLink copiado para a área de transferência!
- Para determinar se sua CPU possui suporte PAE, digite:
grep pae /proc/cpuinfo - 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
virt-install.
virt-install.
- Para instalar seu convidado Red Hat Enterprise Linux 5 Beta 2 Xen, digite na janela de comando :
virt-install. - Quando lhe for solicitado a instalação de um convidado totalmente virtualizado, digite:
no. - Digite
rhel5b2-pv1para seu nome de máquina virtual. - Digite 500 para a alocação de sua RAM.
- Digite
/xen/rhel5b2-pv1.imgpara seu disco (imagem de convidado). - Digite 6 para o tamanho do seu disco (imagem de convidado).
- Digite
yespara habilitar o suporte de gráficos. - Digite
nfs:server:/path/to/rhel5b2para seu local de instalação. - A instalação se inicia. Continue naturalmente com a instalação.
- 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 - Use um editor de texto para modificar o
/etc/inittab, e adicione este ao arquivo:init 5.#id:3:initdefault:id:5:initdefault:
virt-manager.
virt-manager.
- Para instalar seu convidado Xen do Red Hat Enterprise Linux 5 Beta 2, digite na janela de comando:
virt-manager. - Na janela de Conexão Aberta, selecione o convidado Xen e clique em Connect.
- Start Red Hat's Virtual Machine Manager application, and from the File menu, click on New.
- Clique em Próximo.
- Digite em
rhel5b2-pv2para o nome do seu sistema, e clique em Próximo. - Selecione Para-virtualizado, em clique em Próximo.
- Digite o
nfs:server:/path/to/rhel5b2para sua mídia URL de instalação, e clique em Próximo. - Selecione
Simple File, digite o/xen/rhel5b2-pv2.imgpara a localização de seu arquivo. Escolha 6000MB, e clique em Próximo. - Escolha 500 para sua Mémória Máxima e Inicialização VM, e clique em Próximo.
- Clique em Finalizar.
- To determine if your CPU has Intel-VT or AMD-V support, type the following command:
egrep -e 'vmx|svm' /proc/cpuinfo - 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 xtprSe o comando não retornar nada, significa que a CPU não suporta Intel-VT ou AMD-V. - Para determinar se sua CPU possui suporte Intel-VT ou AMD- V, digite o seguinte comando:
cat /sys/hypervisor/properties/capabilities - 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
virt-install:
- Para instalar seu convidado Red Hat Enterprise Linux 5 Beta 2 Xen, digite na janela de comando :
virt-install. - Quando lhe for solicitado instalar um convidado totalmente virtualizado, digite
yes. - Digite
rhel5b2-pv2para o nome de sua máquina virtual. - Digite 500 para a alocação de sua memória.
- Digite
/xen/rhel5b2-fv1.imgpara seu disco (imagem de convidado). - Digite 6 para o tamanho do seu disco (imagem de convidado).
- Digite
yespara habilitar o suporte de gráficos. - Digite
/dev/cdrompara imagem de CD virtual. - 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.
virt-manager:
- Para instalar seu convidado Xen do Red Hat Enterprise Linux 5 Beta 2, digite na janela de comando:
virt-manager. - Na janela Abrir Conexão, selecione o convidado Xen Local e clique em Conectar.
- Start Red Hat's Virtual Machine Monitor application, and from the File menu, click on New.
- Clique em Próximo.
- Digite
rhel5b2-fv2para o nome de seu sistema, e clique em Próximo. - Selecione Totalmente virtualizado e clique em Próximo.
- 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
- Selecione o Arquivo Simples, digite
/xen/rhel5b2-fv2.imgpara o local de seu arquivo. Especifique 6000MB e clique Forward. - Escolha 500 para sua Mémória Máxima e Inicialização VM, e clique em Próximo.
- Clique em Finalizar.
- Aparecerá uma janela de Console de Máquina Virtual
virt-manager.
virt-manager:
- Aplique aqui as mesmas instruções da Sequência Lab 6.
virt-manager
virt-manager :
- Aplique aqui as mesmas instruções da Sequência Lab 6.
virt-manager.
virt-manager:
- Para instalar seu Red Hat Enterprise Linux 5 em seu convidado Windows XP, na janela de comandos, digite:
virt-manager. - Na janela Abrir Conexão, selecione o convidado Xen Local e clique em Conectar.
- Start Red Hat's Virtual Machine Manager application, and from the File menu click on New.
- Clique em Próximo.
- Digite o
winxppara o nome de seu sistema e clique em Próximo. - Selecione Totalmente virtualizado e clique em Próximo.
- 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.
- Selecione o Arquivo Simples, digite
/xen/winxp.imgpara o local de seu arquivo. Especifique 6000 MB e clique em Próximo. - Selecione 1024 para a Memória Máxima e Inicialização VM e selecione 2 para VCPUs. Clique em Próximo .
- Clique em Finalizar.
- Aparecerá uma janela de Console de Máquina Virtual. Continue naturalmente e finalize a instalação.
- 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. - 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. - Reinicie o convidado Xen manualmente, digitando:
xm create -c winxp/. - Na janela de Gestor de Máquina Virtual, selecione o convidado Xen
winxpe clique em Abrir. - Aparecerá uma janela de Console de Máquina Virtual. Continue naturalmente e finalize a instalação.
- Whenever a 'Files Needed' dialog box appears, change the path
GLOBALROOT\DEVICE\CDROM0\I386toC:\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 toC:\I386should compensate for this problem. - 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 - Repita o passo 14 e continue como naturalmente com a instalação.
Apêndice B. Lab 2 Copiar o linkLink copiado para a área de transferência!
xm) e se comunica com xend. Para habilitar a migração ativa cross-machine, você deve configurá-la para suportar uma migração ativa:
- Para fazer um backup do seu arquivo
xend-config.sxp:cp -pr /etc/xen/xend-config.sxp /etc/xen/xend-config.sxp.default - Edite o
/etc/xen/xend-config.sxpe 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$') - Reinicie o
xend:serviceexend restart.
- Edite o
/etc/exportse inclua a linha:/xen *(rw,sync,no_root_squash)/ - Salve o
/etc/exportse reinicie o servidor NFS. Lembre-se que o servidor deverá iniciar pelodefault:service nfs startchkconfig nfs on. - Após iniciar o servidor NFS no
host1,podemos então montá-lo nohost2:mount host1:/xen. - Agora inicie o Xen convidado no
host1e selecionefc6-pv1(oufc6-pv2a partir do Lab 1):xm create -c fc6-pv1
- Faça o download do
gnump3d-2.9.9.9.tar.bz2a partir dohttp://www.gnump3d.org/. Desempacote o tarball e no diretóriognump3d-2.9.9.9/compile e instale ognump3d application:tar xvjf gnump3d-2.9.9.9.tar.bz2cd gnump3d-2.9.9.9/make install - Create a
/home/mp3directory and copy TruthHappens.ogg from Red Hat's Truth Happens page tomkdir /home/mp3wget -c http://www.redhat.com/v/ogg/TruthHappens.ogg - Inicie um servidor de fluxo contínuo digitando
command:gnump3d - 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.
- Clique em Movie e depois em Abrir Local. Digite http://guest:8888/TruthHappens.ogg.
- Rode o arquivo
TruthHappens.oggem um dos dois hosts Xen. - Realize a migração ativa a partir do
host1para ohost2:xm migrate –live fc6-pv1 host2 - Abra os terminais de janela múltipla nos dois hosts Xen com o seguinte comando:
watch -n1 xm list - Observe a medida que a migração ativa inicia. Note quanto tempo leva para a migração se completar.
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 Copiar o linkLink copiado para a área de transferência!
| Histórico de Revisões | ||||
|---|---|---|---|---|
| Revisão 2.0-11.400 | 2013-10-31 | |||
| ||||
| Revisão 2.0-11 | 2012-07-18 | |||
| ||||
| Revisão 5.1.0-10 | Fri Aug 3 2007 | |||
| ||||