Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
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
Capítulo 2. Suporte a Sistemas Operacionais
- 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
- 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
- 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
service xend start
chkconfig xend
ao instalar para habilitar o xend
em tempo de inicialização.
Capítulo 6. Configurando o GRUB
/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
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
/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
/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
Capítulo 11. Migrando um Domínio
xm migrate domain-id [destination domain]
xm migrate domain-id -l [destination domain]
Capítulo 12. Configurando para a Uso em uma Rede
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
- 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
Capítulo 15. Gerenciando Máquinas Virtuais com virsh
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
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
virsh create <path to XML configuration file>
15.3. Configurando um Despejo XML
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
virsh suspend [domain-id | domain-name |domain-uuid]
resume
option.
15.5. Retornando uma Máquina Virtual
virsh resume [domain-id | domain-name | domain-uuid]
suspend
e resume
.
15.6. Salvando uma Máquina Virtual
virsh save [domain-name][domain-id | domain-uuid][filename]
restore
option.
15.7. Restaurando uma Máquina Virtual
virsh save
option:
virsh restore [filename]
15.8. Fechando uma Máquina Virtual
virsh shutdown [domain-id | domain-name | domain-uuid]
on_shutdown
do arquivo xmdomain.cfg
.
15.9. Reinicializando uma Máquina Virtual
virsh reboot [domain-id | domain-name | domain-uuid]
on_reboot
do xmdomain.cfg file.
15.10. Finalizando um Domínio
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
virsh domid [domain-name | domain-uuid]
15.12. Convertendo um ID de Domínio para um Nome de Domínio
virsh domname [domain-name | domain-uuid]
15.13. Convertendo um Nome de Domínio para um UUID
virsh domuuid [domain-id | domain-uuid]
15.14. Exibindo Informações sobre Máquina Virtual
virsh dominfo [domain-id | domain-name | domain-uuid]
15.15. Exibindo Informações sobre Nó.
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
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
virsh vcpuinfo [domain-id | domain-name | domain-uuid]
15.18. Configurando Afinidade da CPU Virtual
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
virsh setvcpus [domain-name | domain-id | domain-uuid] [count]
15.20. Configurando uma Alocação de Memória
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
virsh setmaxmem [domain-name | domain-id | domain-uuid] [count]
15.22. Managing Virtual Networks
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
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.
|
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
17.1. Arquitetura de Gestor de Máquina Virtual
17.2. Para abrir a Conexão Window
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
Figura 17.2. Virtual Machine Manager main window
17.4. Janela de Detalhes de Máquina Virtual
Figura 17.3. Virtual Machine Manager Details window
17.5. Console Gráfico de Máquina Virtual
Figura 17.4. Janela de Console Gráfico
17.6. Starting the Virtual Machine Manager
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
- 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 Forward.
Figura 17.8. Criando um Novo Assistente de Sistema Virtual
- Enter the name of the new virtual system and then click Forward.
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 Forward.Figura 17.11. Atribuindo o Espaço de Armazenamento
- Select memory to allocate the guest and the number of virtual CPUs then click Forward.
Figura 17.12. Alocando a Memória e CPU
- Select Forward 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-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 theVirtualization
package group during the installation. TheVirtualization
package group option installs thekernel-xen
kernel.Note that paravirtualized guests are not affected by this issue. Paravirtualized guests always use thekernel-xen
kernel. - 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.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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- From the Edit menu, select Host Details.
Figura 17.39. Selecting Host Details
- This will open the Host Details 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
- Open the Host Details menu (refer to Seção 17.16, “Managing a Virtual Network”) and click the Add button.
Figura 17.41. Virtual Network Configuration
This will open the Create a new virtual network menu. Click Forward to continue.Figura 17.42. Creating a new virtual network
- Enter an appropriate name for your virtual network and click Forward.
Figura 17.43. Naming your virtual network
- Enter an IPv4 address space for your virtual network and click Forward.
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 Forward 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 Forward to continue. - You are now ready to create the network. Check the configuration of your network and click Finish.
Figura 17.47. Ready to create network
- The new virtual network is now available in the Virtual Network tab of the Host Details menu.
Figura 17.48. New virtual network is now available
Capítulo 18. Solucionador de Problemas da Tecnologia de Virtualização Red Hat
18.1. Visão Geral e Localização do Arquivo de Registro
- O principal diretório de configuração da Tecnologia de Virtualização Red Hat é
/etc/xen/
. Este diretório contém o daemonxend
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.
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 doxend
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 processoqemu-dm
para cada convidado virtualizado. Ao usar o arquivo de registro, você deve recuperar o processo PIDqemu-dm
dado, usando o comandops
para examinar os argumentos do processo para isolar o processoqemu-dm
na 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
- As imagens de máquinas virtuais se encontram no diretório
/var/lib/xen/images
.
- Ao reiniciar o daemon
xend
, ele atualiza oxend-database
que 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/xen
contém os arquivos de configuração que você usa para gerenciar os recursos de sistema. O arquivo de configuração do daemonxend
se 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
xentop
xm dmesg
xm log
vmstat
iostat
lsof
XenOprofile
systemTap
crash
sysrq
sysrq t
sysrq w
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
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
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.
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.
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
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
# 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
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
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
/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
"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
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
/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
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
/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
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
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
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
#! /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
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.
18.24. Interpretando Mensagens de Erro
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
- 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
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 thevirsh
virtual machine management utility as well as comprehensive information about thelibvirt
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 thelibvirt
library. Thelibvirt-python
package allows python developers to create programs that interface with thelibvirt
virtualization management library./usr/share/doc/python-virtinst-<version-number>
— Provides documentation on thevirt-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
- 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-pv1
para seu nome de máquina virtual. - Digite 500 para a alocação de sua RAM.
- Digite
/xen/rhel5b2-pv1.img
para seu disco (imagem de convidado). - Digite 6 para o tamanho do seu disco (imagem de convidado).
- Digite
yes
para habilitar o suporte de gráficos. - Digite
nfs:server:/path/to/rhel5b2
para 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-pv2
para o nome do seu sistema, e clique em Próximo. - Selecione Para-virtualizado, em clique em Próximo.
- Digite o
nfs:server:/path/to/rhel5b2
para sua mídia URL de instalação, e clique em Próximo. - Selecione
Simple File
, digite o/xen/rhel5b2-pv2.img
para 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 xtpr
Se 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-pv2
para o nome de sua máquina virtual. - Digite 500 para a alocação de sua memória.
- Digite
/xen/rhel5b2-fv1.img
para seu disco (imagem de convidado). - Digite 6 para o tamanho do seu disco (imagem de convidado).
- Digite
yes
para habilitar o suporte de gráficos. - Digite
/dev/cdrom
para 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-fv2
para 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.img
para 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
winxp
para 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.img
para 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
winxp
e 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\I386
toC:\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:\I386
should 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
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.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$')
- Reinicie o
xend:service
exend restart
.
- Edite o
/etc/exports
e inclua a linha:/xen *(rw,sync,no_root_squash)/
- Salve o
/etc/exports
e 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
host1
e selecionefc6-pv1
(oufc6-pv2
a partir do Lab 1):xm create -c fc6-pv1
- Faça o download do
gnump3d-2.9.9.9.tar.bz2
a 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/mp3
directory 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.ogg
em um dos dois hosts Xen. - Realize a migração ativa a partir do
host1
para 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
Histórico de Revisões | ||||
---|---|---|---|---|
Revisão 2.0-11.400 | 2013-10-31 | Rüdiger Landmann | ||
| ||||
Revisão 2.0-11 | 2012-07-18 | Anthony Towns | ||
| ||||
Revisão 5.1.0-10 | Fri Aug 3 2007 | Michael Hideo Smith | ||
|