Red Hat Training

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

Virtualization

Red Hat Enterprise Linux 5

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

Edición 2.0

Logo

Resumen

Este manual contiene información sobre la configuración, creación y supervisión de sistemas operativos huéspedes en Red Hat Enterprise Linux 5 utilizando virsh, xm, vmm y xend.
Si encuentra algún error en el Manual de virtualización de Red Hat Enterprise Linux, o si se le ha ocurrido una manera de mejorar este manual, nos encantaría escuchar sus comentarios. Por favor envíe un informe a Bugzilla (http://bugzilla.redhat.com/bugzilla/) contra el componente Virtualization_Guide.

Capítulo 1. Arquitectura del sistema de virtualización de Red Hat

Un sistema de virtualización funcional de Red Hat tiene varias capas y está controlado por el componente privilegiado de virtualización de Red Hat. La tecnología de virtualización de Red Hat puede hospedar varios sistemas operativos huéspedes. Cada sistema operativo huésped es ejecutado en su propio dominio; el componente de virtualización de Red Hat programa CPU virtuales dentro de la máquina virtual para aprovechar lo mejor posible el CPU físico disponible. Cada sistema operativo huésped maneja sus propias aplicaciones. Estos sistemas operativos huéspedes programan sus propias aplicaciones como corresponde.
Usted puede ejecutar el componente de virtualización de Red Hat de dos maneras diferentes: virtualización completa o paravirtualización. La virtualización completa proporciona una abstracción total del sistema físico subyacente y crea un nuevo sistema virtual en el cual los sistemas operativos huéspedes pueden ser ejecutados. No se necesita realizar ninguna modificación en el sistema operativo huésped o en la aplicación (el sistema operativo huésped no es consciente del entorno virtualizado y se ejecuta normalmente) y proporciona un rendimiento muy cercano al rendimiento dado en un entorno físico. Usted puede ejecutar ambas modalidades, virtualización completa y paravirtualización, en su infraestructura de virtualización.
El primer dominio, conocido como domain0 (dom0), se crea automáticamente cuando el sistema es iniciado. Domain0 es el huésped privilegiado y posee capacidades administrativas para crear nuevos dominios y administrar los dispositivos virtuales. Domain0 controla el hardware físico (por ejemplo, los controladores de tarjetas de red y discos duros). Domain0 también maneja tareas administrativas como la suspensión, continuación o migración de dominios huéspedes a otras máquinas virtuales.
The hypervisor (Red Hat's Virtual Machine Monitor) is a virtualization platform that allows multiple operating systems to run on a single host simultaneously within a full virtualization environment. A guest is an operating system (OS) that runs on a virtual machine in addition to the host or main OS.
With Red Hat Virtualization, each guests memory comes from a slice of the host's physical memory. For paravirtual guests, you can set both the initial memory and the maximum size of the virtual machine. You can add (or remove) physical memory to the virtual machine at runtime without exceeding the maximum size you specify. This process is called ballooning.
Se puede configurar cada huésped con un número de cpus virtuales (llamadas vcpus). El gestor de máquinas virtuales programa las vcpus de acuerdo al balance de carga en las CPUs físicas.
Se puede conceder cualquier número de discos virtuales a un huésped. El huésped verá éstos como discos duros o, para los huéspedes completamente virtualizados, como dispositivos de CD-ROM. Cada disco virtual es servido al huésped desde un dispositivo de bloque o desde un archivo regular en el anfitrión. El dispositivo en el anfitrión contiene toda la imagen de disco para el huésped y , usualmente, se incluyen las tablas de particiones, particiones múltiples y potencialmente volúmenes lógicos LVM.
Las Interfaces de red virtual se ejecutan en el huésped. Otras interfaces, por ejemplo tarjetas ethernet virtuales (VNICs), pueden ser ejecutadas en el huésped. Estas interfaces de red son configuradas con una dirección MAC virtual persistente. La instalación predeterminada de un nuevo huésped instala el VNIC con una dirección MAC seleccionada aleatoreamente desde un fondo común reservado con más de 16 millones de direcciones; por lo cual, es improbable que dos huéspedes reciban las mismas direcciones MAC. Los sitios complejos con un gran número de huéspedes pueden establecer las direcciones MAC manualmente para asegurarse de que éstas permanezcan únicas a lo largo de la red.
Cada huésped tiene una consola de texto virtual que se conecta con el anfitrión. Se puede dirigir los inicios de sesión de los huéspedes y los mensajes de salida de la consola a la consola de texto.
Se puede configurar cualquier huésped para que utilice una consola gráfica virtual que corresponda con la consola de vídeo normal en el anfitrión. Esta configuración se puede llevar a cabo tanto en los huéspedes paravirtualizados como en los huéspedes virtualizados completamente. Emplea las funciones estándar del adaptador gráfico como los mensajes en tiempo de arranque, el arranque gráfico, varias terminales virtuales y puede ejecutar el sistema de ventanas X. Se puede utilizar el teclado gráfico para configurar el teclado virtual y el ratón.
Guests can be identified in any of three identities: domain name (domain-name), identity (domain-id), or UUID. The domain-name is a text string that corresponds to a guest configuration file. The domain-name is used to launch the guests, and when the guest runs the same name is used to identify and control it. The domain-id is a unique, non-persistent number that gets assigned to an active domain and is used to identify and control it. The UUID is a persistent, unique identifier that is controlled from the guest's configuration file and ensures that the guest is identified over time by system management tools. It is visible to the guest when it runs. A new UUID is automatically assigned to each guest by the system tools when the guest first installs.

Capítulo 2. Sistemas operativos soportados

Red Hat Virtualization's paravirtualization mode allows you to utilize high performance virtualization on architectures that are potentially difficult to virtualize such as x86 based systems. To deploy para-virtualization across your operating system(s), you need access to the paravirtual guest kernels that are available from a respective Red Hat distro (for example, RHEL 4.0, RHEL 5.0, etc.). Whilst your operating system kernels must support Red Hat Virtualization, it is not necessary to modify user applications or libraries.
El componente de virtualización de Red Hat permite ejecutar un kernel huésped sin modificaciones si se tiene el siguiente hardware: Intel VT y AMD SVM CPU. Usted no tendrá que modificar su sistema operativo para implementar esta arquitectura en sus sistemas Intel VT o AMD SVM. La tecnología de virtualización de Red Hat soporta:
  • La tecnología Intel VT-x o AMD-V Pacifica y Vanderpool para virtualización completa o paravirtualización.
  • Intel VT-i para ia64
  • Sistemas operativos Linux y UNIX incluyendo NetBSD, FreeBSD y Solaris.
  • Microsoft Windows as an unmodified guest operating system with Intel Vanderpool or AMD's Pacifica technology.
Para ejecutar virtualización completa de huéspedes en sistemas con HVM (siglas en inglés de Hardware-assisted Virtual Machine), Intel o AMD, se debe verificar que las CPUs tengan las capacidades necesarias.
Para verificar que tiene las opciones de CPU para el soporte Intel introduzca lo siguiente:
grep vmx /proc/cpuinfo
El mensaje de salida mostrará:
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
Si el soporte para Intel está presente aparecerá la opción vmx.
Para verificar que tiene las opciones de CPU para el soporte AMD introduzca lo siguiente:
grep svm /proc/cpuinfo
cat /proc/cpuinfo | grep svm
El mensaje de salida mostrará:
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
Si el soporte para AMD está presente aparecerá la opción svm.

Nota

Además de revisar las opciones del CPU, se debe activar la virtualización completa en la BIOS del sistema.

Capítulo 3. Hardware soportado

El componente de virtualización de Red Hat soporta sistema con multiprocesadores y permite la ejecución del componente de virtualización de Red Hat en sistemas con arquitecturas x86 con procesadores clase P6 (o anterior) como:
  • Celeron
  • Pentium II
  • Pentium III
  • Pentium IV
  • Xeon
  • AMD Athlon
  • AMD Duron
Con el componente de virtualización de Red Hat, los anfitriones de 32-bit sólo pueden ejecutar huéspedes paravirtuales de 32-bit. Anfitriones de 64-bit sólo ejecutan huéspedes de 64-bits. Un anfitrión de 64-bit completamente virtualizado puede ejecutar huéspedes de 32-bit, 32-bit PAE o 64-bit. Un anfitrión de 32-bit completamente virtualizado puede ejecutar huéspedes completamente virtualizados de 32-bit y 32-bit PAE.
El kernel de virtualización de Red Hat Enterprise Linux no soporta más de 32 GB de memoria para sistemas x86_64. Si necesita arrancar el kernel de virtualización en sistemas con más de 32 GB de memoria instalada, debe añadir mem=32G en la línea de comandos del kernel. Este ejemplo muestra como activar los parámetros apropiados en el archivo 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

PAE (siglas en inglés de Physical Address Extension) es una tecnología que incrementa la cantidad de memoria física o virtual disponibles para las aplicaciones de usuario. El componente de virtualización de Red Hat requiere que PAE esté activado en su sistema. La tecnología de virtualización en Red Hat para arquitecturas de 32-bit con PAE soporta hasta 16 GB de memoria física. Se recomienda que tenga al menos 256 megabytes de RAM por cada huésped que se esté ejecutando en su sistema. El componente de virtualización de Red Hat permite a las máquinas x86/64 manipular hasta 64 GB físicos. Los kernels de virtualización de Red Hat no se pueden ejecutar en sistemas sin PAE. Para determinar si un sistema soporta PAE introduzca los siguientes comandos:
grep pae /proc/cpuinfo
Se mostrará el siguiente mensaje de salida:
flags : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 mmx fxsr sse syscall mmtext 3dnowext 3dnow up ts
Si el mensaje de salida en la máquina es igual (o similar) al anterior, su CPU soporta PAE. Si el comando no muestra ningún mensaje de salida, el CPU no soporta PAE.

Capítulo 4. Requisitos del sistema para el componente de virtualización de Red Hat

La lista dada a continuación muestra los requerimientos del componente de virtualización de Red Hat:
  • RHEL5
  • El gestor de arranque GRUB
  • Privilegios de root
  • Un procesador clase P6 (o anterior)
  • El paquete bridge-utils de Linux
  • El sistema hotplug de Linux.
  • La instalación de desarrollo de zlib
  • Python 2.2
  • initscripts
Las dependencias son configuradas automáticamente durante el proceso de instalación.

Nota

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

Capítulo 5. Iniciando el sistema

Después de instalar los componentes de virtualización de Red Hat, el sistema debe ser reiniciado. Una vez el proceso de arranque termine, se debe iniciar una sesión normalmente. A continuación, y antes de iniciar el componente de virtualización de Red Hat, usted debe iniciar una sesión como root. El daemon de control xend debe estar en ejecución. initscripts inicia este daemon, pero si quiere iniciarlo manualmente ejecute:
service xend start
También puede utilizar chkconfig xend para que xend sea iniciado durante el proceso de arranque.
El daemon de control xend realiza funciones de administración del sistema que están relacionadas con las máquinas virtuales. Este daemon controla los recursos virtualizados. xend debe estar en ejecución para interactuar con las máquinas virtuales. Antes de iniciar xend, usted debe especificar los parámetros de operación editando el archivo de configuración xend-config.sxp. Este archivo está ubicado en el directorio /etc/xen

Capítulo 6. Configuración de GRUB

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

Si se configura las entradas de GRUB para que se asemejen a este ejemplo, el gestor de arranque carga el hipervisor, la imagen initrd y el kernel de Linux. Como el kernel está sobre las otras entradas, éste se carga en memoria primero. El gestor de arranque envía (y recibe) argumentos de la línea de comandos al hipervisor y al kernel de Linux. Esta entrada de ejemplo muestra cómo se puede restringir la memoria del kernel de linux a 800 MB en Domain0:

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

Usted puede utilizar estos parámetros de GRUB para configurar el hipervisor de virtualización:
mem

Este parametro limita la cantidad de memoria disponible para domain0.

com1=115200, 8n1

Esto activa el primer puerto serial en el sistema para que actúe como una consola serial (com2 se asigna al siguiente puerto y así sucesivamente).
 
dom0_mem
Este parametro limita la cantidad de memoria disponible para domain0.
dom0_max_vcpus
Este parámetro limita la cantidad de CPU visible para domain0.
acpi
Este parámetro intercambia el hipervisor ACPI al hipervisor y domain0. Las opciones del parámetro ACPI incluyen:

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


noacpi

Este parámetro desactiva APIC para el envío de interrupciones.

Capítulo 7. Inicio de un dominio huésped

Puede arrancar dominios huéspedes a través de la aplicación xm. También se puede utilizar virsh y el administrador de máquinas virtuales para arrancar sistemas huéspedes. Este ejemplo utiliza el subcomando create de xm:
# xm create -c guestdomain1
El guestdomain1 es el archivo de configuración para el dominio que está iniciando. La opción -c se conecta a la consola actual después del proceso de arranque.

Capítulo 8. Arrancar y detener un dominio durante el proceso de arranque

Se puede iniciar o detener un dominio en cualquier momento. Domain0 espera que todos los dominios en ejecución se detengan antes de reiniciar. Usted debe ubicar los archivos de configuración del dominio que desea apagar en el directorio /etc/xen/. Todos los dominios que serán iniciados durante el proceso de arranque deben tener un enlace simbólico en /etc/xen/auto.
chkconfig xendomains on
El comando chkconfig xendomains on no iniciará los daemons automáticamente. Este comando indica que los daemons deben ser iniciados en arranques subsecuentes.
chkconfig xendomains off
Termina todos los dominios de virtualización de Red Hat en ejecución. El comando chkconfig xendomains off indica que los dominios no deben ser iniciados en los próximos arranques.

Capítulo 9. Archivos de configuración

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

Tabla 9.1. Archivos de configuración del componente de virtualización de Red Hat

Ítem Descripción
pae
Especifica los datos de configuración para la extensión de la dirección física.
apic
Especifica los datos de configuración del controlador de interrupciones programable avanzado.
memory
Especifica el tamaño de la memoria en megabytes.
vcpus
Especifica el número de CPUs virtuales.
console
Especifica el número del puerto a donde las consolas del dominio serán exportadas.
nic
Especifica el número de interfaces de red virtuales.
vif
Lists the randomly-assigned MAC addresses and bridges assigned to use for the domain's network addresses.
disk
Lista los dispositivos de bloque a exportar al dominio y exporta los dispositivos físicos al dominio con acceso de solo lectura.
dhcp
Activa el uso de redes utilizando DHCP.
netmask
Especifica las máscaras de red configurada.
gateway
Especifica las puertas de enlace configuradas.
acpi
Especifica los datos de configuración ACPI (siglas en inglés de Advanced Configuration and Power Interface).

Capítulo 10. Administración de CPUs

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

Capítulo 11. Migración de un dominio

La migración es el traspaso de un dominio virtual en ejecución desde un anfitrión físico a otro. El componente de virtualización de Red Hat soporta dos clases de migraciones — en vivo y desconectada. La migración desconectada mueve la máquina virtual de un anfitrión a otro deteniendo la máquina, transfiriendo la memoria y reanudando la máquina en el anfitrión de destino. La migración en vivo lleva a cabo la misma tarea pero no afecta directamente al dominio. Cuando se ejecuta una migración en vivo, el dominio continua su actividad usual; por lo cual, esta tarea pasa inadvertida desde la perspectiva del usuario. El daemon xend y el componente de virtualización de Red Hat deben estar en ejecución en los dos anfitriones para poder iniciar una migración en vivo. El anfitrión de destino debe tener recursos suficientes para acomodar el dominio después de la migración. Ambos anfitriones deben tener la misma arquitectura y las mismas extensiones de virtualización (como i386-VT, x86-64-VT, x86-64-SVM, etc.). Asimismo, los dos anfitriones deben ser parte de la misma subred L2.
When a domain migrates its MAC and IP addresses move with it. Only virtual machines with the same layer-2 network and subnets will successfully migrate. If the destination node is on a different subnet, the administrator must manually configure a suitable EtherIP or IP tunnel in the remote node of domain0. The xend daemon stops the domain and copies the job over to the new node and restarts it. The Red Hat Virtualization RPM does not enable migration from any other host except the localhost (see the /etc/xend-config.sxp file for information). To allow the migration target to accept incoming migration requests from remote hosts, you must modify the target's xen-relocation-hosts-allow parameter. Be sure to carefully restrict which hosts are allowed to migrate, since there is no authentication.
Ya que estos dominios tienen una carga de archivos grande, este proceso puede tomar bastante tiempo. Si se migra un dominio con conexiones de red abiertas, éstas serán preservadas el el anfitrión de destino; las conexiones SSH seguirán funcionando. Las reglas iptables predeterminadas del componente de virtualización de Red Hat no permitirán conexiones de migración entrantes. Para permitirlas se deberá crear una regla iptable explícita.
Puede usar el comando migrate de xm para ejecutar una migración desconectada:
xm migrate domain-id [destination domain]
Puede utilizar el comando migrate de xm para ejecutar una migración en vivo:
xm  migrate domain-id -l [destination domain]

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

Capítulo 12. Configuración para el uso de red

La integración del componente de virtualización de Red Hat en su arquitectura de red depende de la infraestructura de ésta. Puede requerir una configuración personalizada para implementar interfaces ethernet múltiples y la configuración de puentes.
Each domain network interface is connected to a virtual network interface in dom0 by a point to point link. These devices are vif <domid> and <vifid>. vif1.0 for the first interface in domain 1; vif3.1 for the second interface in domain 3.
Domain0 maneja el tráfico en estas interfaces virtuales utilizando las convenciones estándar de Linux para interconexiones, encaminamientos, límites de tasa, etc. El daemon xend emplea dos scripts de shell para ejecutar configuraciones iniciales de la red y las nuevas interfaces virtuales. Estos scripts configuran un puente único para todas las interfaces virtuales. Se puede configurar encaminamientos e interconexiones adicionales si se personalizan estos scripts.
Red Hat Virtualization's virtual networking is controlled by the two shell scripts, network-bridge and vif-bridge. xend calls these scripts when certain events occur. Arguments can be passed to the scripts to provide additional contextual information. These scripts are located in the /etc/xen/scripts directory. You can change script properties by modifying the xend-config.sxp configuration file located in the /etc/xen directory.
network-bridge — cuando se inicia o detiene xend este script activa o desactiva la red virtual. A continuación se crea el puente xen—br0 y se mueve eth0 a este puente modificando la ruta como corresponde. Cuando xend finaliza se borra el puente y se remueve eth0, restaurando el IP original y la configuración del encaminamiento.
vif-bridge - Este script es llamado por cada interface virtual en el dominio. Configura las reglas del cortafuegos y puede añadir vif al puente apropiado.
Hay otros scripts que se pueden utilizar para ayudar a configurar el funcionamiento en la red del componente de virtualización de Red Hat: network-route, network-nat, vif-route, y vif-nat. Estos scripts pueden ser reemplazados con variantes personalizadas.

Capítulo 13. Seguridad en Domain0

When deploying Red Hat Virtualization on your corporate infrastructure, you must ensure that domain0 cannot be compromised. Domain0 is the privileged domain that handles system management. If domain0 is insecure, all other domains in the system are vulnerable. There are several ways to implement security you should know about when integrating Red Hat Virtualization into your systems. Together with other people in your organization,you should create a 'deployment plan' that contains the operating specifications and services that will run on Red Hat Virtualization, and what is needed to support these services. Here are some security issues to consider when putting together a deployment plan:
  • Ejecute el mínimo número necesario de servicios. No incluya demasiados servicios y/o trabajos en domain0. Entre menos servicios estén siendo ejecutados en domain0, más alto será el nivel de seguridad.
  • Active SELinux en domain0.
  • Utilice un cortafuegos para limitar el tráfico a domain0. Puede establecer un cortafuegos con reglas reject predeterminadas que ayuden a asegurar domain0. También es importante limitar los servicios expuestos a la red.
  • No permita que usuario normales tengan acceso a domain0. Si permite que los usuarios normales tengan acceso a domain0, se corre el riesgo de aumentar la vulnerabilidad de domain0. Recuerde, domain0 es privilegiado y su seguridad puede ser comprometida por cuentas no privilegiadas si éstas se permiten.

Capítulo 14. Almacenamiento

Hay varias maneras de administrar el almacenamiento de las máquinas virtuales. Se puede exportar un dispositivo de bloque físico de domain0 (disco duro o partición) al dominio huésped como dispositivo de bloque virtual (VBD). También se puede exportar directamente desde una imagen particionada como un archivo de respaldo VBD. El componente de virtualización de Red Hat habilita LVM y blktap de forma predeterminada durante el proceso de instalación. También se puede utilizar protocolos de red estándar como NFS, CLVM o iSCSI para proporcionar soluciones de almacenamiento a las máquinas virtuales.

Capítulo 15. Administración de máquinas virtuales con virsh

Puede utilizar la aplicación virsh para administrar máquinas virtuales. Esta utilidad está construida sobre la API de administración libvirt y funciona como una alternativa a la herramienta xm o al administrador gráfico de máquinas virtuales. Los usuarios sin privilegios pueden utilizar esta utilidad para operaciones de sólo lectura únicamente. Si tiene la intención de ejecutar xend/qemu, debe activar la ejecución de xend/qemu como servicio. Después de modificar el archivo de configuración respectivo, reinicie el sistema y xend/qemu será iniciado como un servicio. Como la herramienta xm, virsh se ejecuta desde la línea de comandos.

15.1. Conexión al hipervisor

Puede utilizar virsh para iniciar una sesión del hipervisor:
virsh connect <name>
Where <name> is the machine name of the hypervisor. If you want to initiate a read—only connection, append the above command with —readonly.

15.2. Creación de una máquina virtual

Puede crear una nueva sesión de una máquina virtual desde una definición de la máquina en XML. Si tiene un huésped creado anteriormente con la herramienta xm, puede también crear una máquina virtual para éste:
virsh create <path to XML configuration file>

15.3. Configuración de un volcado XML

Puede utilizar virsh para ejecutar un volcado de datos para una máquina virtual existente.
virsh dumpxml [domain-id | domain-name | domain-uuid]
This command outputs the domain information (in XML) to stdout . If you save the data to a file, you can use the create option to recreate the virtual machine.

15.4. Suspensión de una máquina virtual

Puede utilizar virsh para suspender un dominio:
virsh suspend [domain-id | domain-name |domain-uuid]
When a domain is in a suspended state, it still consumes system RAM. There will also be no disk or network I/O when suspended. This operation is immediate and the virtual machine must be restarted with the resume option.

15.5. Reanudación de una máquina virtual

Puede utilizar virsh para reanudar una máquina virtual suspendida:
virsh resume [domain-id | domain-name | domain-uuid]
Esta operación es inmediata y los parámetros de la máquina virtual son preservados en un ciclo entre suspendidos y reanudados.

15.6. Guardar una máquina virtual

Puede utilizar virsh para guardar el estado actual de una máquina virtual:
virsh save [domain-name][domain-id | domain-uuid][filename]
This stops the virtual machine you specify and saves the data to a file, which may take some time given the amount of memory in use by your virtual machine. You can restore the state of the virtual machine with the restore option.

15.7. Restauración de la máquina virtual

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

15.8. Apagado de una máquina virtual

Puede utilizar virsh para apagar una máquina virtual:
virsh shutdown [domain-id | domain-name | domain-uuid]
Se puede controlar el comportamiento de la máquina virtual que será apagada si se modifica el parámetro on_shutdown del archivo xmdomain.cfg.

15.9. Reinicio de una máquina virtual

Puede utilizar virsh para reiniciar una máquina virtual:
virsh reboot [domain-id | domain-name | domain-uuid]
Se puede controlar el comportamiento de la máquina virtual que será reiniciada si se modifica el parámetro on_shutdown del archivo xmdomain.cfg.

15.10. Terminar un dominio

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

15.11. Convertir un nombre de dominio a un ID de dominio

Puede utilizar virsh para convertir un nombre de dominio en un UUID o ID de dominio:
virsh domid [domain-name | domain-uuid]

15.12. Convertir un ID de dominio a un nombre de dominio

Puede utilizar virsh para convertir un ID de dominio o UUID a un nombre de dominio:
virsh domname [domain-name | domain-uuid]

15.13. Convertir un nombre de dominio a un UUID

Puede utilizar virsh para convertir un nombre de dominio a un UUID:
virsh domuuid [domain-id | domain-uuid]

15.14. Ver información de una máquina virtual

Puede utilizar virsh para ver información de una máquina virtual identificada con su ID de dominio, nombre de dominio o UUID:
virsh dominfo [domain-id | domain-name | domain-uuid]

15.15. Ver información del nodo

Puede utilizar virsh para ver información sobre el nodo:
virsh nodeinfo
El mensaje de salida se asemeja al siguiente:
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
Se muestra la información del nodo y de la máquina que soporta el proceso de virtualización.

15.16. Mostrar las máquinas virtuales

Puede utilizar virsh para ver la lista de máquinas virtuales y el estado actual:
virsh list domain-name [ ——inactive  |  —— -all]
La opción ——inactive lista los dominios inactivos (aquellos que han sido definidos pero que no están actualmente activos). La opción —all lista todos los dominios, ya sea que éstos estén activos o no. El mensaje de salida será similar al siguiente:
ID                 Name                 State
————————————————
0                   Domain0             running
1                   Domain202           paused
2                   Domain010           inactive
3                   Domain9600          crashed
Los seis estados de dominio son:
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. Mostrar información de la CPU virtual

Puede utilizar virsh para ver información sobre la CPU virtual de la máquina virtual:
virsh vcpuinfo [domain-id | domain-name | domain-uuid]

15.18. Configurar afinidad de la CPU virtual

Puede utilizar virsh para configurar la afinidad de la CPU virtual con las CPUs físicas:
virsh vcpupin [domain-id | domain-name | domain-uuid] [vcpu] , [cpulist]
[vcpu] es el número de la CPU virtual (VCPU) y [cpulist] es una lista del número de CPUs físicas.

15.19. Configurar la cantidad de CPUs virtuales

You can use virsh to modify a Virtual Machine's number of CPUs:
virsh setvcpus [domain-name | domain-id | domain-uuid] [count]
Tenga en cuenta que la nueva cantidad no puede exceder la cantidad especificada durante la creación de la máquina virtual.

15.20. Configurar la asignación de memoria

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

15.21. Configurar la cantidad máxima de memoria

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

15.22. Managing Virtual Networks

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

Capítulo 16. Administración de máquinas virtuales con xend

El daemon de control de nodos xend ejecuta ciertas funciones de administración de sistemas relacionadas con las máquinas virtuales. xend debe estar siendo ejecutado para interactuar con máquinas virtuales ya que este daemon controla los recursos virtuales. Antes de iniciar xend, se debe especificar los parámetros de operación editando el archivo de configuración de xend, xend-config.sxp, ubicado en el directorio etc/xen. A continuación se presentan los parámetros editables en el archivo de configuración xend-config.sxp:

Tabla 16.1. Parámetros configurables de xend en el componente de virtualización de Red Hat

Ítem Descripción
console-limit
Determines the console server's memory buffer limit and assigns values on a per-domain basis
min-mem
Determina el número mínimo de megabytes reservados para domain0 (el valor no cambia si se introduce 0)
dom0 cpus
Determina el número de CPU que domain0 usa (al menos una CPU se asigna por defecto)
enable-dump
Determina que un error ha ocurrido y activa el volcado (0 es el valor predeterminado)
external-migration-tool
Determina el script o la aplicación que controla la migración de dispositivos externos (los script deben estar en etc/xen/scripts/external-device-migrate)
logfile
Determina la ubicación del archivo del registro (por defecto está en /var/log/xend.log)
loglevel
Filtra los valores para los modos de registro: DEBUG, INFO, WARNING, ERROR o CRITICAL (por defecto es DEBUG)
network-script
Determina el script que activa el entorno de red (los script deben estar en el directorio etc/xen/scripts )
xend-http-server
Activa el servidor de administración de paquetes de flujo http (el valor predeterminado es no)
xend-unix-server
Activa el servidor de socket de dominio unix (un servidor de socket es un punto de comunicación que maneja conexiones de red de bajo nivel y acepta o rechaza conexiones entrantes)
xend-relocation-server
Activa el servidor de ubicación para las migraciones entre máquinas (el valor por defecto es no)
xend-unix-path
Determina la ubicación a donde el comando xend-unix-server envía mensajes de salida (el valor por defecto es var/lib/xend/xend-socket)
xend-port
Determina el puerto que el servidor de administración http utiliza (el valor predeterminado es 8000)
xend-relocation-port
Determina el puerto que el servidor de ubicación utiliza (el valor predeterminado es 8002)
xend-relocation-address
Determina las direcciones de la máquinas virtuales a las cuales se les permite la migración de sistemas
xend-address
Determina la dirección a la cual el servidor de socket del dominio está vinculado.
Después de establecer estos parámetros de operación, usted debe verificar que xend esté en ejecución y, de ser necesario, inicializar el daemon. En el intérprete de comandos, inicie el daemon xend con el siguiente comando:
service xend start
Puede utilizar xend para detener el daemon:
service xend stop
Este comando detiene la ejecución del daemon.
Puede utilizar xend para reiniciar el daemon:
service xend restart
El daemon es iniciado de nuevo.
Puede ejecutar el estado del daemon xend.
service xend status
The output displays the daemon's status.

Capítulo 17. Administración de máquinas virtuales con el administrador de máquinas virtuales

Esta sección describe las ventanas, cajas de dialogos y otros controladores de la interfaz de usuario del administrador de máquinas virtuales (VMM por sus siglas en inglés) del componente de virtualización de Red Hat.

17.1. Arquitectura del administrador de máquinas virtuales

El componente de virtualización de Red Hat es una colección de componentes de software que funcionan juntos para hospedar y administrar máquinas virtuales. El administrador de máquinas virtuales (VMM) ofrece una vista gráfica de las máquinas virtuales en su sistema. Se puede utilizar VMM para definir tanto máquinas virtuales paravirtualizadas como completamente virtualizadas. Con el administrador de máquinas virtuales se pueden ejecutar tareas de administración como asignar memoria, asignar CPUs virtuales, monitorizar el rendimiento operacional, guardar, restaurar, detener, resumir y apagar sistemas virtuales. También permite acceder a la consola de texto y a la gráfica. La tecnología de virtualización de Red Hat abstrae los recursos de memoria y CPU desde la configuración de red y el hardware subyacente. Esto permite reunir y asignar dinámicamente los recursos de procesamiento a las solicitudes de aplicaciones y servicios. La virtualización a nivel de chips permite que los sistemas operativos que corren en hardware Intel VT y AMD Pacifica puedan ser ejecutados en hipervisores.

17.2. La ventana Abrir conexión

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

Figura 17.1. Virtual Machine Manager Connection window

17.3. Ventana del administrador de máquinas virtuales

La ventana principal muestra todas las máquinas virtuales y los recursos asignados a éstas (incluyendo el domain0). Se pueden escoger las ventanas a mostrar. Para desplegar una consola de una máquina haga doble clic sobre la máquina virtual deseada. Para ver la información de una máquina seleccione la máquina y haga doble clic en Detalles. Para crear una máquina virtual vaya al menú Archivo.
Virtual Machine Manager main window

Figura 17.2. Virtual Machine Manager main window

17.4. Ventana de detalles de la máquina virtual

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

Figura 17.3. Virtual Machine Manager Details window

17.5. Consola gráfica de la máquina virtual

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

Figura 17.4. Ventana de la consola gráfica

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

17.6. Starting the Virtual Machine Manager

Para iniciar una sesión del administrador de máquinas virtuales haga clic en Herramientas del sistema en Aplicaciones y seleccione Administrador de máquinas virtuales.
La ventana principal del administrador de máquinas virtuales aparecerá.
Starting the Virtual Machine Manager

Figura 17.5. Starting the Virtual Machine Manager

17.7. Crear una nueva máquina virtual

El Administrador de máquinas virtuales (virt-manager) es la aplicación de escritorio para administrar máquinas virtuales.
You can use Red Hat's Virtual Machine Manager to:
  • Crear nuevos dominios.
  • Configure or adjust a domain's resource allocation and virtual hardware.
  • Resumir los dominios en ejecución con el rendimiento en vivo y las estadísticas de utilización de recursos.
  • Mostrar gráficos que muestran la utilización de recursos y rendimiento sobre un periodo de tiempo.
  • Utilizar el visor VNC incluido para visualizar una consola gráfica del dominio huésped.

Nota

You must install Red Hat Enterprise Linux 5.1, virt-manager, and the kernel packages on all systems that require virtualization. All systems then must be booted and running the Red Hat Virtualization kernel.
Estos son los pasos requeridos para instalar un sistema operativo huésped en Red Hat Enterprise Linux 5 utilizando el monitor de máquinas virtuales:

Procedimiento 17.1. Crear un sistema de operativo huésped

  1. Seleccione Herramientas del sistema desde Aplicaciones y luego Administrador de máquinas virtuales.
    La ventana principal del administrador de máquinas virtuales aparecerá.
    Virtual Machine Manager window

    Figura 17.6. Virtual Machine Manager window

  2. Desde el menú Archivos seleccione Nueva máquina.
    Selección de una nueva máquina

    Figura 17.7. Selección de una nueva máquina

    Aparecerá el asistente Creación de un nuevo sistema virtual.
  3. Click Forward.
    Asistente Creación de un nuevo sistema virtual

    Figura 17.8. Asistente Creación de un nuevo sistema virtual

  4. Enter the name of the new virtual system and then click Forward.
    Bautizar el sistema virtual

    Figura 17.9. Bautizar el sistema virtual

  5. Introduzca la ubicación del medio de instalación. La ubicación del archivo kickstart es opcional. Haga clic en Adelante.
    Ubicar el medio de instalación

    Figura 17.10. Ubicar el medio de instalación

  6. Realice la instalación e una partición física o a un sistema de archivo virtual dentro de un archivo.

    Nota

    Este ejemplo instala un sistema virtual en un archivo.
    SELinux policy only allows xen disk images to reside in /var/lib/xen/images.
    Open a terminal and create the /xen directory and set the SELinux policy with the command restorecon -v /xen. Specify your location and the size of the virtual disk, then click Forward.
    Asignar espacio de almacenaje

    Figura 17.11. Asignar espacio de almacenaje

  7. Select memory to allocate the guest and the number of virtual CPUs then click Forward.
    Asignar memoria y CPU

    Figura 17.12. Asignar memoria y CPU

  8. Select Forward to open a console and the files start to install.
    Asignar memoria y CPU

    Figura 17.13. Asignar memoria y CPU

  9. Complete la instalación en la ventana proporcionada.
    Inicio de la instalación

    Figura 17.14. Inicio de la instalación

    Aviso

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

    Figura 17.15. Red Hat Enterprise Linux 5.1 (guest)

  11. Introduzca el nombre de usuario y la contraseña para continuar utilizando el administrador de máquinas virtuales.

17.8. Restaurar una máquina guardada

Una vez iniciado el administrador de máquinas virtuales, todas las máquinas en su sistema aparecerán en la ventana principal. Domain0 es su sistema anfitrión. Si no hay máquinas ejecutándose en el sistema, nada aparecerá en la ventana.
Para restaurar una sesión guardada anteriormente
  1. Desde el menú Archivo, seleccione Restaurar máquina guardada.
    Restoring a Virtual Machine

    Figura 17.16. Restoring a Virtual Machine

  2. Aparecerá la ventana Restaurar Máquina Virtual
    Seleccionar Sesión de máquina virtual guardada

    Figura 17.17. Seleccionar Sesión de máquina virtual guardada

  3. Vaya al directorio correcto y seleccione el archivo de sesión guardado.
  4. Haga clic en Abrir.
El sistema virtual guardado aparecerá en la ventana principal del administrador de máquinas virtuales.
La sesión restaurada en el administrador de máquinas virtuales

Figura 17.18. La sesión restaurada en el administrador de máquinas virtuales

17.9. Displaying Virtual Machine Details

Puede ver el monitor de máquinas virtuales para ver información de la actividad de cualquier máquina virtual en su sistema.
To view a virtual system's details:
  1. En la ventana principal del administrador de máquinas virtuales, resalte la máquina virtual que desea ver.
    Selección de la máquina virtual a mostrar

    Figura 17.19. Selección de la máquina virtual a mostrar

  2. Desde el menú Editar del administrador de máquinas virtuales seleccione Detalles de la máquina (o haga clic en el botón Detalles en la parte inferior de la ventana principal del administrador de máquinas virtuales).
    El menú Detalles de la máquina virtual

    Figura 17.20. El menú Detalles de la máquina virtual

    Aparecerá la ventana de información de la máquina virtual. La ventana resume el uso de memoria y CPU para el dominio especificado.
    Resumen de la máquina virtual

    Figura 17.21. Resumen de la máquina virtual

  3. En la ventana de detalles de la máquina virtual, haga clic en la pestaña Hardware.
    Aparecerá la ventana de información de hardware de la máquina virtual.
    Detalles del hardware de la máquina virtual

    Figura 17.22. Detalles del hardware de la máquina virtual

  4. En la pestaña Hardware, haga clic en Procesador para ver o cambiar la asignación de memoria del procesador actual.
    Asignación del procesador

    Figura 17.23. Asignación del procesador

  5. En la pestaña Hardware, haga clic en Memoria para ver o modificar la asignación de memoria RAM actual.
    Asignaciónde memoria

    Figura 17.24. Asignaciónde memoria

  6. En la pestaña Hardware, haga clic en Disco para ver o cambiar la configuración del disco duro actual.
    Configuración del disco

    Figura 17.25. Configuración del disco

  7. En la pestaña Hardware, haga clic en Red para ver o cambiar la configuración de red actual.
    Configuración de red

    Figura 17.26. Configuración de red

17.10. Configuring Status Monitoring

Puede utilizar el administrador de máquinas virtuales para modificar el monitoreo del estado del sistema virtual.
Para configurar el monitoreo de estado y activar las consolas:
  1. Desde el menú Editar, seleccione Preferencias.
    Modificar las preferencias de la máquina virtual

    Figura 17.27. Modificar las preferencias de la máquina virtual

    Aparecerá la ventana de preferencias del administrador de máquinas virtuales.
  2. Desde la casilla de selección del área de monitoreo de estado, especifique el tiempo (en segundos) en el cual desea que el sistema se actualice.
    Configuring Status Monitoring

    Figura 17.28. Configuring Status Monitoring

  3. Desde el área de la consola especifique cómo abrir la consola y especifique un dispositivo de entrada.

17.11. Mostrar el ID del dominio

Para ver todos los ID de las máquinas virtuales en su sistema:
  1. Desde el menú Ver, seleccione la casilla de verificación ID del dominio.
    ID del dominio

    Figura 17.29. ID del dominio

  2. The Virtual Machine Manager lists the Domain ID's for all domains on your system.
    ID del dominio

    Figura 17.30. ID del dominio

17.12. Desplegando el estado de las máquinas virtuales

Para ver el estado de todas las máquinas virtuales en su sistema:
  1. Desde el menú Ver, seleccione la casilla de verificación Estado.
    Desplegando el estado de las máquinas virtuales

    Figura 17.31. Desplegando el estado de las máquinas virtuales

  2. El administrador de máquinas virtuales lista el estado de todas las máquinas virtuales en su sistema.
    Desplegando el estado de las máquinas virtuales

    Figura 17.32. Desplegando el estado de las máquinas virtuales

17.13. Mostrar CPUs virtuales

Para ver la cantidad de CPU virtuales para todas las máquinas virtuales en su sistema:
  1. Desde el menú Ver, seleccione la casilla de verificación CPU Virtuales.
    Mostrar CPUs virtuales

    Figura 17.33. Mostrar CPUs virtuales

  2. El administrador de máquinas virtuales lista las CPUs virtuales para todas las máquinas virtuales en su sistema.
    Mostrar CPUs virtuales

    Figura 17.34. Mostrar CPUs virtuales

17.14. Mostrar uso del CPU

Para ver el uso de CPU para todas las máquinas virtuales en su sistema:
  1. Desde el menú Ver seleccione Uso de CPU
    Mostrar uso del CPU

    Figura 17.35. Mostrar uso del CPU

  2. El administrador de máquinas virtuales lista el porcentaje de CPU en uso para todas las máquinas virtuales en su sistema.
    Mostrar uso del CPU

    Figura 17.36. Mostrar uso del CPU

17.15. Mostrar uso de memoria

Para ver el uso de memoria para todas las máquinas virtuales de su sistema:
  1. Desde la pestaña Ver, seleccione la casilla de verificación Uso de memoria.
    Mostrar uso de memoria

    Figura 17.37. Mostrar uso de memoria

  2. El administrador de máquinas virtuales lista el porcentaje de memoria en uso (en megabytes) para todas las máquinas virtuales en su sistema.
    Mostrar uso de memoria

    Figura 17.38. Mostrar uso de memoria

17.16. Managing a Virtual Network

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

    Figura 17.39. Selecting Host Details

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

    Figura 17.40. Virtual Network Configuration

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

17.17. Creating a Virtual Network

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

    Figura 17.41. Virtual Network Configuration

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

    Figura 17.42. Creating a new virtual network

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

    Figura 17.43. Naming your virtual network

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

    Figura 17.44. Choosing an IPv4 address space

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

    Figura 17.45. Selecting the DHCP range

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

    Figura 17.46. Connecting to physical network

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

    Figura 17.47. Ready to create network

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

    Figura 17.48. New virtual network is now available

Capítulo 18. Detección y resolución de errores

Esta sección aborda problemas potenciales que puede experimentar durante la instalación, administración y operaciones diarias de su sistema de virtualización de Red Hat. Esta sección describe los mensajes de error, la ubicación de los archivos de registro, las herramientas del sistema y los enfoques generales para analizar los datos obtenidos.

18.1. Sinopsis y ubicación de los archivos de registro

When deploying Red Hat Enterprise Linux 5.1 with Virtualization into your network infrastructure, the host's Virtualization software uses many specific directories for important configuration, log files, and other utilities. All the Red Hat Virtualization logs files are standard ASCII files, and easily accessable with any ASCII based editor:
  • El directorio de configuración principal del componente de virtualización de Red Hat es /etc/xen/. Este directorio contiene el daemon xend y otros archivos de configuración de máquinas virtuales. Los scripts de red también se encuentran en este directorio (en el subdirectorio /scripts)
  • Todos los archivos de registro que pueden ser consultados durante la etapa de detección y solución de errores se encuentran en el directorio /var/log/xen.
  • El directorio predeterminado para todas las imágenes de discos de las máquinas virtuales basadas en archivos es /var/lib/xen.
  • La información del componente de virtualización para el sistema de archivos /proc está en el directorio /proc/xen.

18.2. Descripción de los archivos de registro

El componente de virtualización de Red Hat contiene el daemon xend y el proceso qemu-dm, dos utilidades que escriben varios archivos de registro en el directorio /var/log/xen:
  • xend.log es el archivo de registro que contiene todos los datos recogidos por el daemon xend, ya sean éstos eventos normales del sistema o acciones iniciadas por el operador. Todas las operaciones sobre la máquina virtual (crear, apagar, destruir, etc.) aparecen aquí. El xend.log es, generalmente, el primer lugar donde se debe buscar información para detectar problemas de rendimiento. Este archivo contiene entradas detalladas sobre los mensajes de error.
  • xend-debug.log es el archivo de registro que contiene entradas sobre los eventos de error de xend y los subsistemas de virtualización (framebuffer, scripts de Python, etc).
  • xen-hotplug-log es el archivo de registro que contiene datos sobre los eventos de conexión en caliente. Si un dispositivo o script de red no aparece en línea, el evento será registrado en este archivo.
  • qemu-dm.[PID].log es el archivo de registro creado por el proceso qemu-dm para cada huésped virtualizado. Cuando utilice este archivo de registro debe obtener el PID del proceso qemu-dm utilizando el comando ps. Examine los argumentos del proceso para aislar el proceso qemu-dm en la máquina virtual. Tenga en cuenta que debe reemplazar el símbolo [PID] con el PID del proceso qemu-dm.
Si encuentra algún error con el administrador de máquinas virtuales, puede revisar los datos generados en el archivo virt-manager.log ubicado en el directorio /.virt-manager . Tenga en cuenta que cada vez que inicia el administrador de máquinas virtuales, el contenido del archivo de registro será sobreescrito. Asegúrese de crear una copia de seguridad de virt-manager.log antes de reiniciar el administrador de máquinas virtuales después de un error.

18.3. Directorios importantes

Hay otras utilidades y archivos de registro que deben ser tenidos en cuenta a la hora de detectar y solucionar errores en el entorno de virtualización de Red Hat:
  • Las imágenes de máquinas virtuales están en el directorio /var/lib/xen/images.
  • Cuando el daemon xend reinicia se actualiza la base de datos xend-database ubicada en el directorio /var/lib/xen/xend-db.
  • Los volcados de máquinas virtuales (ejecutadas con el comando xm dump-core) están en el directorio /var/lib/xen/dumps.
  • El directorio /etc/xen contiene archivos de configuración usados para administrar recursos del sistema. El archivo de configuración del daemon xend se llama xend-config.sxp y puede ser usado para implementar cambios a lo largo del sistema y para configurar llamadas de red.
  • Los comandos proc son otro recurso para obtener información del sistema. Estas entradas proc están ubicadas en el directorio /proc/xen:
/proc/xen/capabilities
/proc/xen/balloon
/proc/xen/xenbus/

18.4. Herramientas para la detección y solución de problemas

Esta sección resume las aplicaciones para el administrador del sistema, las utilidades de red y las herramientas de depuración avanzadas (para mayor información sobre cómo utilizar estas herramientas para configurar los servicios de virtualización para Red Hat, vea la documentación respectiva). Los registros y las herramientas de administración del sistema pueden ayudar durante el proceso de detección y corrección de errores.
  • xentop
  • xm dmesg
  • xm log
  • vmstat
  • iostat
  • lsof
Usted puede emplear estas herramientas de depuración avanzadas y registros durante el proceso de detección y solución de errores:
  • XenOprofile
  • systemTap
  • crash
  • sysrq
  • sysrq t
  • sysrq w
Usted puede emplear estas herramientas de red para asistirlo en la detección y corrección de errores:
  • ifconfig
  • tcpdump
  • brctl
brctl es una herramienta de red que inspecciona y modifica la configuración de los puentes ethernet en el Kernel de Virtualización de Linux. Debe tener acceso de root antes de ejecutar estos comandos de ejemplo:
# 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. Detección y solución de errores con los archivos de registro

When encountering issues with installing Red Hat Virtualization, you can refer to the host system's two logs to assist with troubleshooting. The xend.log file contains the same basic information as when you run the xm log command. It resides in the /var/log/ directory. Here is an example log entry for when you create a domain running a kernel:
[2006-12-27 02:23:02 xend] ERROR (SrvBase: 163) op=create: Error creating domain: (0, 'Error')
Traceback (most recent call list)
File "/usr/lib/python2.4/site-packages/xen/xend/server/SrvBase.py" line 107 in_perform val = op_method (op,req)
File
"/usr/lib/python2.4/site-packages/xen/xend/server/SrvDomainDir.py line 71 in op_create
raise XendError ("Error creating domain: " + str(ex))
XendError: Error creating domain: (0, 'Error')
El otro archivo de registro, xend-debug.log, es bastante útil para los administradores de sistemas ya que contiene una información más detallada que la dada en xend.log . A continuación está el mismo dato de error del problema de creación del dominio:
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
Incluya estos dos archivos cuando contacte el equipo de asistencia técnica.

18.6. Detección y solución de errores con la consola serial

La consola serial es de gran ayuda al detectar y solucionar problemas difíciles. Si el kernel de virtualización se cae y el hipervisor genera un error, no hay forma de rastrear el error en el host local. Sin embargo, la consola serial le permite capturarlo en el host remoto. Debe configurar el anfitrión Xen para que envíe la salida de datos a la consola serial. Luego debe configurar el host remoto para capturar esos datos. Para llevar a cabo esta tarea, modifique estas opciones en el archivo grub.conf para activar la consola serial 38400-bps en /dev/ttyS0 de com1:
title Red Hat Enterprise Linix (2.6.18-8.2080_RHEL5xen0)
		root (hd0,2)
		kernel /xen.gz-2.6.18-8.el5 com1=38400,8n1 
		module /vmlinuz-2.618-8.el5xen ro root=LABEL=/rhgb quiet console=xvc console=tty xencons=xvc 	
        	module /initrd-2.6.18-8.el5xen.img
The sync_console can help determine a problem that causes hangs with asynchronous hypervisor console output, and the "pnpacpi=off" works around a problem that breaks input on the serial console. The parameters "console=ttyS0" and "console=tty" means that kernel errors get logged with on both the normal VGA console and on the serial console. Then you can install and set up ttywatch to capture the data on a remote host connected by a standard null-modem cable. For example, on the remote host you could type:
ttywatch --name myhost --port /dev/ttyS0
Este crea una tubería desde /dev/ttyS0 hasta /var/log/ttywatch/mihost.log .

18.7. Acceso de consola del huésped paravirtualizado

Los sistemas operativos huéspedes paravirtualizados automáticamente tienen una consola textual configurada para enviar datos al sistema operativo Domain0. Esto puede llevarse a cabo desde la línea de comandos mediante:
xm console [domain name or number]
También puede utilizar el administrador de máquinas virtuales para desplegar la consola textual virtual. En la ventana Detalles de la máquina virtual, seleccione Consola serial desde el menú Ver.

18.8. Acceso a la consola de un huésped totalmente virtualizado

Full Virtualized guest operating systems automatically has a text console configured for use, but the difference is the kernel guest is not configured. To enable the guest virtual serial console to work with the Full Virtualized guest, you must modify the guest's grub.conf file, and include the 'console =ttyS0 console=tty0' parameter. This ensures that the kernel messages are sent to the virtual serial console (and the normal graphical console). If you plan to use the virtual serial console in a full virtualized guest, you must edit the configuration file in the /etc/xen/ directory. On the host domain, you can then access the text console by typing:
xm console
También puede utilizar el administrador de máquinas virtuales para desplegar la consola serial. En la ventana Detalles de la máquina virtual, seleccione Consola serial desde el menú Ver

18.9. Implementar persistencia Lun

Si su sistema no está utilizando multipath, puede utilizar udev que implementa persistencia Lun. Antes de implementar persistencia Lun en su sistema, asegúrese de adquirir los UUID apropiados. Una vez obtenga esta información, edite el archivo scsi_id ubicado en el directorio /etc para configurar la persistencia Lun. Una vez tenga este archivo abierto en un editor de texto, comente esta línea:
# options=-b
Remplácela con este parámetro:
# options=-g
Este parámetro le avisa a udev que debe monitorizar todos los dispositivos SCSI del sistema por UUID que retornen. Para determinar los UUID del sistema, escriba:
# scsi_id  -g  -s  /block/sdc
El mensaje de salida debe ser:
[root@devices] # scsi_id -g -s /block/sdc
*3600a0b80001327510000015427b625e*
Esta cadena de caracteres es el UUID. Para obtener el nombre del dispositivo derivado del UUID, revise cada ruta de dispositivo para asegurar que el número UUID es el mismo para cada dispositivo. El UUID no cambia cuando se añade un nuevo dispositivo a su sistema. Una vez haya revisado la ruta del dispositivo, debe crear reglas para los nombres de dispositivos. Para crear estas reglas, edite el archivo 20-names.rules ubicado en el directorio /etc/udev/rules.d. las reglas de nombres de dispositivos deben seguir el siguiente formato:
# KERNEL="sd*",  BUS="scsi",  PROGRAM="sbin/scsi_id", RESULT="UUID", NAME="devicename"
Remplace el UUID existente y el nombre del dispositivo con el UUID obtenido. La regla debe ser similar a:
 KERNEL="sd*",  BUS="scsi",  PROGRAM="sbin/scsi_id", RESULT="3600a0b80001327510000015427b625e
", NAME="mydevicename"

Esto causa que el sistema active todos los dispositivos que coinciden con /dev/sd* para inspeccionar el UUID dado. Cuando encuentra un dispositivo coincidente, se crea un nodo de dispositivo llamado /dev/devicename. En este ejemplo, el nodo de dispositivo es /dev/mydevice . Finalmente, debe anexar el archivo rc.local ubicado en el directorio /etc con esta ruta:
/sbin/start_udev
IMPLEMENTACIÓN DE PERSISTENCIA LUN CON MULTIPATH
Para implementar persistencia Lun en un entorno con multipath, debe definir los sobrenombres para el dispositivo multipath. En este ejemplo, debe definir cuatro alias de dispositivo editando el archivo multipath.conf ubicado en el directorio /etc/:
multipath  {  
             wwid       3600a0b80001327510000015427b625e
             alias      oramp1
}
multipath  {  
             wwid       3600a0b80001327510000015427b6
             alias      oramp2
}
multipath  {  
             wwid       3600a0b80001327510000015427b625e
             alias      oramp3
}
multipath  {  
             wwid       3600a0b80001327510000015427b625e
             alias      oramp4
}
Esto define cuatro luns: /dev/mpath/oramp1, /dev/mpath/oramp2, /dev/mpath/oramp3 y dev/mpath/oramp4. Los dispositivos estarán en el directorio /dev/mpath. Estos nombres Lun son persistentes a lo largo de reinicios porque crean los sobrenombres en la identificación wwid del lun.

18.10. Consideraciones referentes a SELinux

Esta sección contiene información que debe tenerse en cuenta cuando se implemente SELinux en el entorno de virtualización de Red Hat. Cuando el sistema implementado cambie, o cuando se añadan dispositivos, la política de SELinux debe ser asimismo actualizada. Para configurar un volumen LVM para un huésped, se debe modificar el contexto SELinux para el dispositivo de bloque y el grupo de volúmenes respectivo.
# semanage fcontext -a -t xen_image _t -f -b /dev/sda2
# restorecon /dev/sda2
El parámetro booleano xend_disable_trans pone xend en modo sin restricciones después de reiniciar el daemon. Es mejor desactivar la protección para un daemon en particular y no para todo el sistema. Se aconseja que no se etiqueten los directorios usados en otras partes como xen_image_t.

18.11. Acceso a los datos en la imagen de disco del huésped

Puede utilizar dos aplicaciones diferentes para acceder a los datos dentro de una imagen de disco de un huésped. Antes de usar estas herramientas deba apagar el sistema huésped. Si accede al sistema de archivos desde el huésped y dom0, se puede dañar el sistema.
Puede utilizar la aplicación kpartx para manipular discos particionados o grupos de volúmenes LVM:
yum install kpartx
kpartx -av /dev/xen/guest1
add map guest1p1 : 0 208782 linear /dev/xen/guest1 63
add map guest1p2: 0 16563015 linear /dev/xen/guest1 208845
Para acceder un volumen lógico en un segunda partición, debe escanear el LVM con vgscan y activar el grupo de volumen en la partición (llamado VolGroup00 por defecto) utilizando el comando vgchange -ay:
# kpartx -a /dev/xen/guest1
#vgscan
Reading all physical volumes . This may take a while...
Found volume group "VolGroup00" using metadata type 1vm2
# vgchange -ay VolGroup00
2 logical volume(s) in volume group VolGroup00 now active.
# lvs
LV VG Attr Lsize Origin Snap% Move Log Copy%
LogVol00 VolGroup00 -wi-a- 5.06G
LogVol01 VolGroup00 -wi-a- 800.00M
# mount /dev/VolGroup00/LogVol00 /mnt/
....
#umount /mnt/
#vgchange -an VolGroup00
#kpartx -d /dev/xen/guest1
Una vez finalice desactive el volumen lógico con vgchange -an, remueva las particiones con kpartx-d y borre el dispositivo en bucle con losetup -d .

18.12. Situaciones comunes en la detección y solución de errores

No pasa nada cuando intenta iniciar el servicio xend . Cuando escribe xm list1 recibe lo siguiente:
Error: Error connecting to xend: Connection refused. Is xend running?
Al intentar ejecutar xend start manualmente, recibe más errores:
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' )
Lo más probable es que se reinició el anfitrión utilizando un kernel diferente al kernel xen-hypervisor . Para corregir este problema se debe seleccionar el kernel xen-hypervisor durante el arranque del sistema (o establecer el kernel xen-hypervisor como el kernel predeterminado en el archivo grub.conf ).

18.13. Errores del dispositivo en bucle

Si utiliza imágenes de huésped basadas en archivos, una de éstas pudo haber incrementado el número de dispositivos en bucle configurados (Por defecto se permite tener activos 8 dispositivos en bucle). Si necesita más de 8 dispositivos de bucle, debe modificar el archivo /etc/modprobe.conf. Cuando se modifique el archivo modprobe.conf, incluya esta línea:
options loop max_loop=64
Este ejemplo utiliza 64 pero usted puede especificar otro número como el máximo valor de bucle. Usted podría tener que implementar huéspedes respaldados por dispositivos en bucle en su sistema. Para emplear huéspedes respaldados por dispositivos en bucle para un sistema paravirtualizado, utilice los comandos phy: block device o tap:aio. Para emplear huéspedes respaldados por dispositivos en bucle para un sistema totalmente virtualizado utilice los comandos phy: device o file: file .

18.14. Errores durante la creación de huéspedes

When you attempt to create a guest, you receive an "Invalid argument" error message. This usually means that the kernel image you are trying to boot is incompatible with the hypervisor. An example of this would be if you were attempting to run a non-PAE FC5 kernel on a PAE only FC6 hypervisor.
Al recibir un nuevo kernel en una actualización con yum, grub.conf utiliza el nuevo kernel de forma predeterminada y no el kernel virtualizado.
Para corregir este problema se debe modificar el RPM del kernel ubicado en el directorio /etc/sysconfig/kernel/ . Debe asegurarse de que el parámetro kernel-xen está establecido como la opción predeterminada en el archivo gb.conf.

18.15. Errores con la consola serial

No se recibe ningún mensaje de salida en la consola virtual. Para corregir este problema se debe modificar grub.conf y cambiar el parámetro del puerto com a:
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
Estos cambios a grub.conf deben permitir que la consola virtual funcione apropiadamente. Usted puede utilizar cualquier número para ttyS y debe funcionar como ttyS0 .

18.16. Errores con el puente de red

Red Hat Virtualization can configure multiple Virtualization network bridges to use with multiple ethernet cards. To successfully configure multiple network bridges for ethernet cards, you must configure the second network interface by either using the system-config-network TUI/GUI, or by creating a new configuration file in /etc/sysconfig/network-scripts . You should use a process to setup multiple Xen bridges. This is an example config file for a second NIC called 'eth1' :
#/etc/sysconfig/network-scripts/fcfg-eth1
DEVICE=eth1
BOOTPROTO=static
ONBOOT=yes
USERCTL=no
IPV6INIT=no
PEERDNS=yes
TYPE=Ethernet
NETMASK=255.255.255.0
IPADDR=10.1.1.1
GATEWAY=10.1.1.254
ARP=yes
Copie /etc/xen/scripts/network-bridge a /etc/xen/scripts/network-bridge.xen.
Edit /etc/xen/xend-config.sxp and add a line to your new network bridge script (this example uses "network-virtualization-multi-bridge" ).
En el archivo xend-config.sxp, la nueva línea debe reflejar el nuevo script:
network-script network-xen-multi-bridge
Asegúrese de comentar las líneas que digan:
network-script network-bridge
Si desea crear varios puentes Xen, debe crear un script personalizado. En el ejemplo dado a continuación se crean dos puentes Xen (llamados xenbr0 y xenbr1 ) y los encadena a eth1 y 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
Si desea crear puentes adicionales, utilice el script de ejemplo y modifíquelo según sus necesidades.

18.17. Configuración de portátiles

The task of configuring your RHEL 5.1 loaded laptop for use on a network environment, presents a number of potential challenges. Most WiFi and wired connections switch constantly during any given day, and Red Hat Virtualization assumes it has access to the same interface consistently. This results in the system performing ifup/ifdown calls to the network interface in use by Red Hat Virtualization. WiFi cards are not the ideal network connection method since Red Hat Virtualization uses the default network interface.
The idea here is to create a 'dummy' network interface for Red Hat Virtualization to use.
This technique allows you to use a hidden IP address space for your guests and Virtual Machines. To do this operation successfully, you must use static IP addresses as DHCP does not listen for IP addresses on the dummy network. You also must configure NAT/IP masquerading to enable network access for your guests and Virtual Machines. You should attach a static IP when you create the 'dummy' network interface.
En este ejemplo, la interfaz se llama dummy0 y la dirección IP es 10.1.1.1. El script se llama ifcfg-dummy0 y está ubicado en el directorio /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
Usted debe enlazar xenbr0 a dummy0 para permitir la conexión de red incluso cuando se esté desconectado de la red física.
You will need to make additional modifications to the xend-config.sxp file. You must locate the ( network-script 'network-bridge' bridge=xenbr0 ) section and add include this in the end of the line:
netdev=dummy0
You must also make some modifications to your guest's domU networking configuration to enable the default gateway to point to dummy0. You must edit the DomU 'network' file that resides in the /etc/sysconfig/ directory to reflect the example below:
NETWORKING=yes
HOSTNAME=localhost.localdomain
GATEWAY=10.1.1.1
			
IPADDR=10.1.1.10
NETMASK=255.255.255.0
Es aconsejable activar NAT en domain0 para que domU pueda acceder a la red pública. De esta manera, incluso los usuarios de servicios inalámbricos pueden solucionar las limitaciones inalámbricas del componente de virtualización de Red Hat. para hacerlo, modifique el archivo S99XenLaptopNAT ubicado en el directorio /etc/rc3.d para que refleje el ejemplo dado a continuación:
#!/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
Si desea configurar la red automáticamente durante el periodo de arranque, debe crear un enlace simbólico a /etc/rc3.d/S99XenLaptopNAT
Cuando modifique el archivo modprobe.conf debe incluir estas líneas:
alias dummy0 dummy
options dummy numdummies=1

18.18. Starting Domains Automatically During System Boot

Starting Domains Automatically During System Boot
Puede configurar su huésped para iniciar automáticamente cuando el sistema inicie. Para hacerlo, modifique el enlace simbólico ubicado en /etc/xen/auto . Este archivo apunta al archivo de configuración del huésped necesario para iniciar automáticamente. El proceso de arranque es serializado; lo que significa que entre mayor sea el número de huéspedes, más tiempo tomará el proceso de arranque. Este ejemplo muestra cómo utilizar enlaces simbólicos para el huésped rhel5vm01:
[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. Modificar Domain0

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

18.20. Archivos de configuración del huésped

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

18.21. Clonar el archivo de configuración del huésped

You can copy (or clone) an existing configuration file to create an all new guest. You must modify the name parameter of the guests' configuration file. The new, unique name then appears in the hypervisor and is viewable by the management utilities. You must generate an all new UUID as well (using the uuidgen(1) command). Then for the vif entries you must define a unique MAC address for each guest (if you are copying a guest configuration from an existing guest, you can create a script to handle it). For the xen bridge information, if you move an existing guest configuration file to a new host, you must update the xenbr entry to match your local networking configuration. For the Device entries, you must modify the entries in the 'disk=' section to point to the correct guest image.
You must also modify these system configuration settings on your guest. You must modify the HOSTNAME entry of the /etc/sysconfig/network file to match the new guest's hostname.
Debe modificar la dirección HWADDR del archivo /etc/sysconfig/network-scripts/ifcfg-eth0 para que coincida con la salida del archivo ifconfig eth0 y si está utilizando direcciones IP estáticas, debe modificar la entrada IPADDR.

18.22. Crear un script para generar direcciones MAC

El componente de virtualización de Red Hat puede generar direcciones MAC para cada máquina virtual durante su creación. Ya que hay casi un número ilimitado de números en la misma subred, es poco probable que obtenga dos direcciones MAC idénticas. Usted podría, sin embargo, escribir un script para generar direcciones MAC. El siguiente script de ejemplo contiene los parámetros para generar direcciones 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. Configurar la migración en vivo de una máquina virtual

Red Hat Virtualization can migrate virtual machines between other servers running Red Hat Enterprise Linux 5.1 with Virtualization. Further, migration is performed in an offline method (using the xm migrate command). Live migration can be done from the same command. However there are some additional modifications that you must do to the xend-config configuration file. This example identifies the entries that you must modify to ensure a successful migration:
(xend-relocation-server yes)
The default for this parameter is 'no', which keeps the relocation/migration server deactivated (unless on a trusted network) and the domain virtual memory is exchanged in raw form without encryption.
(xend-relocation-port 8002)
Este parámetro establece el puerto que xend utiliza para realizar la migración. Este valor es correcto, asegúrese, sin embargo, de borrar el comentario que va antes de éste.
(xend-relocation-address )
Este parámetro es la dirección desde la cual se escucha por conexiones de socket de reubicación una vez se active xend-relocation-server. Cuando esté escuchando se restringe la migración a una interfaz particular.
(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.
Una vez estos parámetros hayan sido configurados, usted debe reiniciar el anfitrión para que el componente de virtualización acepte los nuevos parámetros.

18.24. Interpretación de mensajes de error

Si recibe el siguiente error:
failed domain creation due to memory shortage, unable to balloon domain0
Un dominio puede fallar si no hay suficiente RAM disponible. Domain0 no se contrae lo suficiente para proporcionar espacio para el nuevo huésped. Puede revisar el archivo xend.log por este error:
[2006-12-21] 20:33:31 xend 3198] DEBUG (balloon:133) Balloon: 558432 Kib free; 0 to scrub; need 1048576; retries: 20
[2006-12-21] 20:33:31 xend. XendDomainInfo 3198] ERROR (XendDomainInfo: 202
Domain construction failed
You can check the amount of memory in use by domain0 by using the xm list Domain0 command. If domain0 is not ballooned down, you can use the command "xm mem-set Domain-0 NewMemSize" to check memory.
Si recibe el siguiente error:
wrong kernel image: non-PAE kernel on a PAE
This message indicates that you are trying to run an unsupported guest kernel image on your Hypervisor. This happens when you try to boot a non-PAE paravirtual guest kernel on a RHEL 5.1 hypervisor. Red Hat Virtualization only supports guest kernels with PAE and 64bit architectures.
Escriba este comando:
[root@smith]# xm create -c va base

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

Traceback (most recent call last)
File "/usr/lib/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 195 in create vm.initDomain()
File " /usr/lib/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 1363 in initDomain raise VmError(str(exn))
VmError: (22, 'Invalid argument')
[2006-12-14 14:55:46 xend.XendDomainInfo 3874] DEBUG (XenDomainInfo: 1449]
XendDlomainInfo.destroy: domin=1
[2006-12-14 14:55:46 xend.XendDomainInfo 3874] DEBUG (XenDomainInfo: 1457]
XendDlomainInfo.destroy:Domain(1)
Si necesita ejecutar un kernel no PAE de 32-bit, deberá ejecutar su huésped como una máquina virtual completamente virtualizada. Para huésped paravirtualizados deberá tener un hipervisor PAE de 32-bit para ejecutar huéspedes PAE de 32-bit o tener un hipervisor de 64-bit PAE para ejecutar huéspedes PAE de 64-bit. Para huéspedes completamente virtualizados deberá ejecutar tener un hipervisor de 64bit para ejecutar un huésped de 64-bit. El hipervisor PAE que viene con RHEL 5 i686 sólo soporta la ejecución de huéspedes paravirtualizados de 32-bit y sistemas operativos completamente virtualizados de 32bit. El hipervisor de 64bit solo soporta huéspedes paravirtualizados de 64-bit.
This happens when you move the full virtualized HVM guest onto a RHEL 5.1 system. Your guest may fail to boot and you will see an error in the console screen. Check the PAE entry in your configuration file and ensure that pae=1.You should use a 32bit distibution.
Si recibe el siguiente error:
Unable to open a connection to the Xen hypervisor or daemon
Esto sucede cuando la aplicación virt-manager no puede ser ejecutada. Este error ocurre cuando no hay una entrada localhost en el archivo de configuración /etc/hosts. Revise el archivo y verifique si la entrada localhost está activada. A continuación se da un ejemplo de una entrada de localhost incorrecta:
# Do not remove the following line, or various programs
# that require network functionality will fail.
localhost.localdomain localhost
A continuación se muestra un ejemplo de una entrada de localhost correcta:
# 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
Si recibe el siguiente error (en el archivo xen-xend.log):
Bridge xenbr1 does not exist!
This happens when the guest's bridge is incorrectly configured and this forces the Xen hotplug scipts to timeout. If you move configuration files between hosts, you must ensure that you update the guest configuration files to reflect network topology and configuration modifications. When you attempt to start a guest that has an incorrect or non-existent Xen bridge configuration, you will receive the following errors:
[root@trumble virt]# xm create r5b2-mySQL01

Using config file " r5b2-mySQL01"
Going to boot Red Hat Enterprise Linux Server (2.6.18.-1.2747 .el5xen)
kernel: /vmlinuz-2.6.18-12747.el5xen
initrd: /initrd-2.6.18-1.2747.el5xen.img
Error: Device 0 (vif) could not be connected. Hotplug scripts not working.
Además, xend.log muestra los siguientes errores:
[2006-11-14 15:07:08 xend 3875] DEBUG (DevController:143) Waiting for devices vif
[2006-11-14 15:07:08 xend 3875] DEBUG (DevController:149) Waiting for 0
[2006-11-14 15:07:08 xend 3875] DEBUG (DevController:464) hotplugStatusCallback

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

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

/local/domain/0/backend/vif/2/0/hotplug-status
Para resolver este problema, usted debe editar el archivo de configuración del huésped y modificar la entrada vif . Cuando ubique la entrada vif en el archivo de configuración, asumiendo que esté utilizando xenbr0 como puente predeterminado, asegúrese de que la entrada sea similar a:
# vif = ['mac=00:16:3e:49:1d:11, bridge=xenbr0',]
Si recibe estos errores de Python:
[root@python xen]# xm shutdown win2k3xen12
[root@python xen]# xm create win2k3xen12

Using config file "win2k3xen12".

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

execfile (defconfig, globs, locs,)
Error: invalid syntax 9win2k3xen12, line1)
Python genera estos mensajes cuando hay un archivo de configuración no válido o incorrecto. Para resolver este problema debe modificar el archivo de configuración incorrecto o generar uno nuevo.

18.25. Recursos de detección y corrección de errores en línea

Capítulo 19. Recursos adicionales

Para obtener mayor información sobre Red Hat Virtualization, consulte los siguientes recursos:

19.1. Sitios web útiles

  • http://www.cl.cam.ac.uk/research/srg/netos/xen/ — El sitio web del proyecto del administrador de máquinas paravirtualizadas Xen™ del cual Red Hat Virtualization se deriva. Este sitio mantiene los binarios y el código fuente del proyecto Xen. Asimismo contiene información, sinopsis de la arquitectura, documentación y enlaces relacionados con Xen y las tecnologías asociadas.
  • http://www.libvirt.org/ — El sitio web oficial para el API de virtualización libvirt que interactúa con el marco de trabajo de un sistema operativo huésped.
  • http://virt-manager.et.redhat.com/ — El sitio web del proyecto para el Administrador de máquinas virtuales (virt-manager), la aplicación gráfica para la administración de máquinas virtuales.

19.2. Documentación instalada

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

Apéndice A. Laboratorio 1

Instalación de un huésped Xen
Objetivo: Instalar huéspedes Xen RHEL 3, 4 o 5 y Windows XP.
Prerrequisito: Una estación de trabajo con Red Hat Enterprise Linux 5.0 y el componente de virtualización.
En este laboratorio, usted configurará e instalará huéspedes Xen RHEL 3, 4 o 5 y Win XP utilizando varias herramientas de virtualización.
Secuencia 1: Revisión del soporte PAE
Debe determinar si su sistema tiene soporte PAE. El componente de virtualización de Red Hat soporta la ejecución de huéspedes paravirtualizados en las arquitecturas x86_64 o ia64. Para ejecutar huéspedes en i386 el sistema requiere una CPU con extensiones PAE. Muchos portátiles antiguos (particularmente aquellos basados en Pentium Mobile o Centrino) no soportan PAE.
  1. Para determinar si su CPU tiene soporte PAE, escriba:
        grep pae /proc/cpuinfo
    
  2. El siguiente mensaje de salida muestra una CPU con soporte PAE. Si el comando no retorna ningún valor, la CPU no tiene soporte PAE. Todos los ejercicios del laboratorio requieren una CPU i386 con soporte PAE o arquitecturas x86_64 o ia64.
    
        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
    
    
Secuencia 2: Instalación de un huésped Xen RHEL5 Beta 2 paravirtualizado con virt-install.
En este laboratorio, usted instalará un huésped Xen Red Hat Enterprise Linux 5 Beta 2 utilizando virt-install.
  1. Para instalar un huésped Xen Red Hat Enterprise Linux 5 Beta 2, escriba en la línea de comandos: virt-install.
  2. Cuando se le pregunte si desea instalar un huésped totalmente virtualizado escriba: no.
  3. Escriba rhel5b2-pv1 como el nombre de su máquina virtual.
  4. Escriba 500 como el valor de asignación de RAM
  5. Escriba /xen/rhel5b2-pv1.img como disco (imagen huésped).
  6. Escriba 6 para el tamaño de su disco (imagen huésped).
  7. Escriba yes para activar el soporte gráfico.
  8. Escriba nfs:server:/ruta/a/rhel5b2 como la ubicación de la instalación.
  9. La instalación iniciará. Proceda normalmente con la instalación.
  10. Después de la instalación escriba /etc/xen/rhel5b2-pv1 y realice los siguientes cambios: #vnc=1#vncunused=1sdl=1
  11. Utilice un editor de textos para modificar /etc/inittab y añadir init 5.#id:3:initdefault:id:5:initdefault:
Secuencia 3: Instalación de un huésped Xen RHEL5 Beta 2 paravirtualizado con virt-manager.
En este laboratorio, usted instalará un huésped Xen Red Hat Enterprise Linux 5 Beta 2 paravirtualizado con virt-manager.
  1. Para instalar el huésped Xen Red Hat Enterprise Linux 5 Beta 2, escriba en la línea de comandos: virt-manager.
  2. En la ventana Abrir Conexión, seleccione el anfitrión Xen Local y haga clic en Conectar.
  3. Start Red Hat's Virtual Machine Manager application, and from the File menu, click on New.
  4. Haga clic en Adelante.
  5. Escriba rhel5b2-pv2 como el nombre de su sistema y haga clic en Adelante.
  6. Seleccione Paravirtualizado y haga clic en Adelante.
  7. Escriba nfs:server:/ruta/a/rhel5b2 como la URL del medio de instalación y haga clic en Adelante.
  8. Seleccione Archivo simple, escriba /xen/rhel5b2-pv2.img en la ubicación del archivo. Escoja 6000 MB y haga clic en Adelante.
  9. Escoja 500 como memoria virtual de inicio y como máximo de memoria. Haga clic en Adelante.
  10. Haga clic en Finalizar
Aparecerá la ventana Consola de máquina virtual. Proceda normalmente y finalice la instalación.
Secuencia 4: Revisión del soporte Intel-VT o AMD-V
En este laboratorio, usted determinará si su sistema tiene soporte de hardware Intel-VT o AMD-V. Su sistema debe soportar Intel-VT o AMD-V para instalar satisfactoriamente sistemas operativos totalmente virtualizados. El componente de virtualización de Red Hat incorpora un capa genérica HVM para soportar estos dos fabricantes de CPU.
  1. To determine if your CPU has Intel-VT or AMD-V support, type the following command: egrep -e 'vmx|svm' /proc/cpuinfo
  2. El siguiente mensaje de salida muestra una CPU que soporta 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
    
    Si el comando no retorna ningún mensaje, la CPU no soporta Intel-VT o AMD-V.
  3. Para determinar si su CPU tiene soporte Intel-VT o AMD-V, escriba el siguiente comando:
    cat /sys/hypervisor/properties/capabilities
  4. The following output shows that Intel-VT support has been enabled in the BIOS. If the command returns nothing, then go into the BIOS Setup Utlility and look for a setting related to 'Virtualization', i.e. 'Intel(R) Virtualization Technology' under 'CPU' section on a IBM T60p. Enable and save the setting and do a power off to take effect.
    
    xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p
    
    
Secuencia 5: Instalación de un huésped Xen RHEL5 Beta 2 totalmente virtualizado con virt-install.
En este laboratorio usted instalará un huésped Xen Red Hat Enterprise Linux 5 Beta 2 totalmente virtualizado con virt-install:
  1. Para instalar un huésped Xen Red Hat Enterprise Linux 5 Beta 2, escriba en la línea de comandos: virt-install.
  2. Cuando se le pregunte se desea instalar un huésped totalmente virtualizado escriba yes.
  3. Escriba rhel5b2-pv2 como el nombre de su máquina virtual.
  4. Escriba 500 como valor de asignación de memoria.
  5. Escriba /xen/rhel5b2-fv1.img para el disco (imagen huésped).
  6. Escriba 6 para el tamaño de su disco (imagen huésped).
  7. Escriba yes para activar el soporte gráfico.
  8. Escriba /dev/cdrom para la imagen de CD virtual.
  9. The VNC viewer appears within the installation window. If there is an error message that says “main: Unable to connect to host: Connection refused (111)”, then type the following command to proceed: vncviewer localhost:5900. VNC port 5900 refers to the first Xen guest that is running on VNC. If it doesn't work, you might need to use 5901, 5902, etc.
La instalación iniciará. Proceda normalmente con la instalación.
Secuencia 6: Instalación de un huésped Xen RHEL5 Beta 2 totalmente virtualizado con virt-manager.
En este laboratorio usted instalará un huésped Xen Red Hat Enterprise Linux 5 Beta 2 totalmente virtualizado con virt-manager:
  1. Para instalar el huésped Xen Red Hat Enterprise Linux 5 Beta 2, escriba en la línea de comandos: virt-manager.
  2. En la ventana Abrir Conexión, seleccione el anfitrión Xen Local y haga clic en Conectar.
  3. Start Red Hat's Virtual Machine Monitor application, and from the File menu, click on New.
  4. Haga clic en Adelante.
  5. Escriba rhel5b2-fv2 como el nombre de su sistema y haga clic en Adelante.
  6. Seleccione Completamente virtualizada y haga clic en Adelante.
  7. Especifique CD-ROM o DVD e introduzca la ruta al medio de instalación. Especifique la ubicación de la imagen ISO si está realizando una instalación con una imagen ISO. Haga clic en Adelante.
  8. Seleccione Archivo simple, escriba /xen/rhel5b2-fv2.img en la ubicación del archivo. Escoja 6000 MB y haga clic en Adelante.
  9. Escoja 500 como memoria virtual de inicio y como máximo de memoria. Haga clic en Adelante.
  10. Haga clic en Finalizar
  11. Aparecerá la ventana Consola de máquina virtual.
Proceda normalmente y finalice la instalación.
Secuencia 7: Instalación de un huésped Xen RHEL3 completamente virtualizado con virt-manager.
En este laboratorio, usted instalará un huésped Xen Red Hat Enterprise Linux 3 con virt-manager.
  1. Las misma instrucciones usadas en la secuencia 6 son aplicables aquí.
Secuencia 8: Instalación de un huésped Xen RHEL4 completamente virtualizado con virt-manager.
En este laboratorio, usted instalará un huésped Xen Red Hat Enterprise Linux 4 con virt-manager.
  1. Las misma instrucciones usadas en la secuencia 6 son aplicables aquí.
Secuencia 9: Instalación de un huésped Windows XP completamente virtualizado con virt-manager.
En este laboratorio usted instalará un huésped Windows XP completamente virtualizado con virt-manager:
  1. Para instalar Windows XP en su anfitrión Red Hat Enterprise Linux 5, escriba en la línea de comandos: virt-manager.
  2. En la ventana Abrir Conexión seleccione el anfitrión Xen Local y haga clic en Conectar.
  3. Start Red Hat's Virtual Machine Manager application, and from the File menu click on New.
  4. Haga clic en Adelante.
  5. Escriba winxp como el nombre de su sistema y haga clic en Adelante.
  6. Seleccione Completamente virtualizada y haga clic en Adelante.
  7. Especifique CD-ROM o DVD e introduzca la ruta al medio de instalació. Especifique la ubicación de la imagen ISO si está realizando la instalación desde una imagen ISO. Haga clic en Adelante.
  8. Seleccione Archivo simple, escriba /xen/winxp.img en la ubicación del archivo. Escoja 6000 MB y haga clic en Adelante.
  9. Escoja 1024 como memoria virtual de inicio y como máximo de memoria. Seleccione 2 para VCPU. Haga clic en Adelante.
  10. Haga clic en Finalizar
  11. Aparecerá la ventana Consola de máquina virtual. Proceda normalmente y finalice la instalación.
  12. Escoja el sistema de archivos FAT para formatear la partición C:\ . Red Hat Enterprise Linux 5 no viene con los módulos de kernel para NTFS. El montaje o la escritura de archivos a una imagen huésped Xen puede no ser tan sencillo si formatea la partición con el sistema de archivos NTFS.
  13. Después de reiniciar el sistema por primera vez, edite la imagen huésped winxp: losetup /dev/loop0 /xen/winxp.imgkpartx -av /dev/loop0mount /dev/mapper/loop0p1 /mntcp -prv $WINDOWS/i386 /mnt/. Esto solucionará un problema que podría encontrar en una etapa posterior de la instalación de Windows.
  14. Reinicie el huésped Xen manualmente escribiendo xm create -c winxp/.
  15. En la ventana del Administrador de máquinas virtuales seleccione el huésped Xen winxp y haga clic en Abrir.
  16. Aparecerá la ventana Consola de máquina virtual. Proceda normalmente y finalice la instalación.
  17. Whenever a 'Files Needed' dialog box appears, change the path GLOBALROOT\DEVICE\CDROM0\I386 to C:\I386. Depending on your installation, you may or may not see this problem. You may be prompted for missing files during the installation. Changing the path to C:\I386 should compensate for this problem.
  18. Si la consola de huésped Xen se cuelga, haga clic en Apagar. Haga las siguientes modificaciones en /etc/xen/winxp: #vnc=1#vncunused=1sdl=1#vcpus=2
  19. Repita el paso 14 y proceda con la instalación.

Apéndice B. Laboratorio 2

Migración en vivo
Objetivo: configurar y ejecutar una migración en vivo entre dos anfitriones.
Prerrequisito: dos estaciones de trabajo instaladas con Red Hat Enterprise Linux 5.0 Beta 2 y con la plataforma de virtualización. Además un huésped Xen con Fedora Core 6 en una de las dos estaciones de trabajo.
En este laboratorio usted configurará la migración y ejecutará una migración en vivo entre dos anfitriones.
Introducción: antes de iniciar
Para este laboratorio necesitará dos anfitriones de virtualización: un huésped Xen y un recurso de almacenaje compartido. Debe conectar los dos anfitriones mediante un cable UTP. Un de los anfitriones de virtualización exporta un recurso de almacenaje compartido a través de NFS. Usted debe configurar ambos anfitriones para que la migración sea exitosa. El huésped Xen reside en el recurso de almacenaje compartido. En el huésped Xen se debe instalar un servidor de streaming. Usted debe asegurarse de que el servidor de streaming esté en ejecución sin interrupción en el huésped Xen para que la migración en vivo tenga lugar entre los dos anfitriones. Para el laboratorio 2, los host serán conocidos como host1 y host2 .
Secuencia 1: Configuración de xend (en ambos anfitriones Xen)
En este laboratorio, usted configurará xend para iniciar como un servidor HTTP y como un servidor de ubicación. El daemon xend no inicia el servidor HTTP de forma predeterminada. Inicia el servidor de administración de socket del dominio UNIX (para xm) y se comunica con xend. Para habilitar la migración entre máquinas, usted debe configurarlo para soportar la migración en vivo:
  1. Para hacer una copia de seguridad de su archivo xend-config.sxp:
        cp -pr /etc/xen/xend-config.sxp /etc/xen/xend-config.sxp.default
    
  2. Modifique /etc/xen/xend-config.sxp y realice los siguientes cambios:
    #(xend-unix-server yes)(xend-relocation-server
        yes)(xend-relocation-port 8002)(xend-relocation-address
        '')(xend-relocation-hosts-allow '')#(xend-relocation-hosts-allow '^localhost$
        ^localhost\\.localdomain$')
    
  3. Reinicie xend : service xend restart.
Secuencia 2: Exportar un recurso de almacenaje compartido a través de NFS
En esta secuencia, usted configurará NFS y lo usará para exportar un recurso de almacenaje compartido.
  1. Modifique /etc/exports e incluya la línea: /xen *(rw,sync,no_root_squash)/
  2. Guarde /etc/exports y reinicie el servidor NFS. Asegúrese de que el servidor NFS sea iniciado de forma predeterminada: service nfs start; chkconfig nfs on.
  3. Una vez iniciado el servidor NFS en host1, se puede montar en host2 mount host1:/xen .
  4. Ahora inicie el huésped Xen en host1 y seleccione fc6-pv1 (o fc6-pv2 del Laboratorio 1):
    xm create -c fc6-pv1
    
Secuencia 3: Instalación del servidor streaming en el huésped Xen
En este paso usted instalará un servidor streaming. gnump3d ha sido escogido para este paso porque soporta archivos OGG vorbis y es fácil de instalar, configurar y modificar.
  1. Descargue gnump3d-2.9.9.9.tar.bz2 desde http://www.gnump3d.org/ . Descomprima el archivo tar en el directorio gnump3d-2.9.9.9/, compile e instale la aplicación: tar xvjf gnump3d-2.9.9.9.tar.bz2; cd gnump3d-2.9.9.9/ ; make install
  2. Create a /home/mp3 directory and copy TruthHappens.ogg from Red Hat's Truth Happens page to mkdir /home/mp3wget -c http://www.redhat.com/v/ogg/TruthHappens.ogg
  3. Inicie el servidor streaming escribiendo
     command:gnump3d
    
  4. En cualquiera de los anfitriones Xen, inicie Movie Player. Si no está instalado, instale los rpm de totem e iso-codecs. Haga clic en aplicaciones, luego en Sonido y Video y finalmente el Movie Player.
  5. Haga clic en Movie, luego en Abrir ubicación. Introduzca http://guest:8888/TruthHappens.ogg.
Secuencia 4: Ejecución de la migración en vivo
  1. Ejecute el archivo TruthHappens.ogg en uno de los dos anfitriones Xen.
  2. Ejecute la migración en vivo desde host1 a host2:
    xm migrate –live fc6-pv1 host2
    
  3. Abra varias ventanas de terminales en ambos anfitriones Xen con el siguiente comando:
    watch -n1 xm list
    
  4. Observe cómo la migración en vivo inicia. Note cómo la migración en vivo se completa.
Desafio: Configuración del servidor VNC desde el huésped Xen.
If time permits, from within the Xen guest, configure the VNC server to initiate when gdm starts up. Run VNC viewer and connect to the Xen guest. Play with the Xen guest when the live migration occurs. Attempt to pause/resume, and save/restore the Xen guest and observe what happens to the VNC viewer. If you connect to the VNC viewer via localhost:590x, and do a live migration, you won't be able to connect to the VNC viewer again when it dies. This is a known bug.

Apéndice C. Historial de cambios

Historial de revisiones
Revisión 2.0-11.4002013-10-31Rüdiger Landmann
Rebuild with publican 4.0.0
Revisión 2.0-112012-07-18Anthony Towns
Rebuild for Publican 3.0
Revisión 5.1.0-10Fri Aug 3 2007Michael Hideo Smith
Resolves: #245684
Content Updates

Aviso Legal

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