Capítulo 17. Consejos y trucos. Fedora Manual de virtualización
A continuación encontrará información breve sobre Manual de virtualización. El manual de virtualización describe los pasos para configurar el sistema de host y instalar sistemas operativos invitados virtualizados con Fedora. Le recomendamos que lea detenidamente estos capítulos para garantizar una instalación exitosa de los sistemas operativos invitados virtualizados.
Anuncio
Anuncio
Consejos y trucos
Este capítulo contiene consejos y trucos útiles para mejorar el rendimiento de virtualización, escala y estabilidad.
17.1. Huéspedes iniciando automáticamente
Esta sección cubre cómo hacer que los huéspedes virtualizados inicien automáticamente durante la fase de arranque del sistema.
Este ejemplo usa virsh para configurar un huésped , TestServer para que se inicie automáticamente cuando el host arranque.
# virsh autostart TestServer
Domain TestServer marked as autostarted
El huésped se inicia ahora automáticamente con el host.
Si desea detener al huésped para que no se inicie automáticamente, use el parámetro --disable parameter
# virsh autostart --disable TestServer
Domain TestServer unmarked as autostarted
El huésped ya no se inicia automáticamente con el host.
17.2. Cambio entre los hipervisores KVM y Xen
Esta sección cubre el cambio entre los hipervisores KVM y Xen.
Fedora sólo admite un hipervisor activo a la vez.
Migración de huéspedes virtualizados entre hipervisores
Actualmente, no hay aplicación para cambiar de huéspedes basados en Xen a huéspedes basados en KVM o en huéspedes basados en KVM a huéspedes basados en Xen. Los huéspedes sólo pueden utilizarse en el tipo de hipervisor en el que fueron creados.
17.2.1. De Xen a KVM
El siguiente procedimiento cubre el cambio de un hipervisor Xen a un hipervisor de KVM. Este procedimiento supone que el paquete kernel-xen está instalado y habilitado.
1. Instale el paquete KVM
Instale el paquete kvm si aún no lo ha hecho.
# yum install kvm
215
Capítulo 17. Consejos y trucos
2. Verifique cuál kernel está en uso
El paquete kernel-xen puede ser instalado. Use el comando uname para determinar cuál kernel se está ejecutando:
$ uname -r
2.6.23.14-107.fc8xen
The "2.6.23.14-107.fc8xen" kernel is running on the system. If the default kernel,
"2.6.23.14-107.fc8", is running you can skip the substep.
•
Cambiando del kernel de Xen al kernel predeterminado
El archivo grub.conf determina el kernel de arranque. Para cambiar al kernel predeterminado, edite el archivo /boot/grub/grub.conf como se muestra a continuación.
default=1
timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu title Fedora (2.6.23.14-107.fc8)
root (hd0,0)
kernel /vmlinuz-2.6.23.14-107.fc8 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.23.14-107.fc8.img
title Fedora (2.6.23.14-107.fc8xen)
root (hd0,0)
kernel /xen.gz-2.6.23.14-107.fc8
module /vmlinuz-2.6.23.14-107.fc8xen ro root=/dev/VolGroup00/LogVol00 rhgb
quiet
module /initrd-2.6.23.14-107.fc8xen.img
Observe el parámetro default=1. Éste le indica al gestor de arranque GRUB que inicie la segunda entrada, el kernel de Xen. Cambie el valor predeterminado a 0 (o al número para el kernel predeterminado):
default=0
timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu title Fedora (2.6.23.14-107.fc8)
root (hd0,0)
kernel /vmlinuz-2.6.23.14-107.fc8 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.23.14-107.fc8.img
title Fedora (2.6.23.14-107.fc8xen)
root (hd0,0)
kernel /xen.gz-2.6.23.14-107.fc8
module /vmlinuz-2.6.23.14-107.fc8xen ro root=/dev/VolGroup00/LogVol00 rhgb
quiet
module /initrd-2.6.23.14-107.fc8xen.img
3. Reinicie para cargar el nuevo kernel
Reinicie el sistema. El computador reiniciará con el kernel predeterminado. El módulo de KVM se debe cargar automáticamente con el kernel. Verifique si el KVM está ejecutándose:
$ lsmod | grep kvm
216
De KVM a Xen kvm_intel 85992 1 kvm 222368 2 ksm,kvm_intel
El módulo kvm y el módulo kvm_intel o kvm_amd están presentes si todo está correcto.
17.2.2. De KVM a Xen
El siguiente procedimiento cubre el cambio desde un hipervisor KVM a un hipervisor Xen. Este procedimiento supone que el paquete kvm está instalado y habilitado.
1. Instale los paquetes de Xen
Instale los paquetes kernel-xen y xen si aún no lo ha hecho.
# yum install kernel-xen xen
El paquete kernel-xen puede estar instalado pero desactivado.
2. Verifique cuál kernel está en uso
Use el comando uname para determinar cuál comando está ejecutándose.
$ uname -r
2.6.23.14-107.fc8
The "2.6.23.14-107.fc8" kernel is running on the system. This is the default kernel. If the kernel has xen on the end (for example, 2.6.23.14-107.fc8xen) then the Xen kernel is running and you can skip the substep.
•
Cambio de kernel predeterminado a kernel Xen
El archivo grub.conf determina el kernel de arranque. Para cambiar al kernel predeterminado, edite el archivo /boot/grub/grub.conf como se muestra a continuación.
default=0
timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu title Fedora (2.6.23.14-107.fc8)
root (hd0,0)
kernel /vmlinuz-2.6.23.14-107.fc8 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.23.14-107.fc8.img
title Fedora (2.6.23.14-107.fc8xen)
root (hd0,0)
kernel /xen.gz-2.6.23.14-107.fc8
module /vmlinuz-2.6.23.14-107.fc8xen ro root=/dev/VolGroup00/LogVol00 rhgb
quiet
module /initrd-2.6.23.14-107.fc8xen.img
Observe el parámetro default=0. Este parámetro le está indicando al gestor de arranque
GRUB que arranque la primera entrada, el kernel predeterminado. Cambie el valor predeterminado a 1 (o al número para el kernel Xen):
217
Capítulo 17. Consejos y trucos default=1
timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu title Fedora (2.6.23.14-107.fc8)
root (hd0,0)
kernel /vmlinuz-2.6.23.14-107.fc8 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.23.14-107.fc82.6.23.14-107.fc8.img
title Fedora (2.6.23.14-107.fc8xen)
root (hd0,0)
kernel /xen.gz-2.6.23.14-107.fc8
module /vmlinuz-2.6.23.14-107.fc8xen ro root=/dev/VolGroup00/LogVol00 rhgb
quiet
module /initrd-2.6.23.14-107.fc8xen.img
3. Reinicie para cargar el nuevo kernel
Reinicie el sistema. El computador reiniciará con el kernel de Xen. Verifique con el comando
uname
:
$ uname -r
2.6.23.14-107.fc8xen
Si la salida tiene xen al final quiere decir que el kernel de Xen se está ejecutando.
17.3. Uso de qemu-img
La herramienta de línea de comandos qemu-img es utilizada para dar formato a varios sistemas de archivo utilizados por Xen y KVM. qemu-img se debe utilizar para dar formato a imágenes de huéspedes virtualizadas, dispositivos de almacenaje adicional y almacenamiento de redes. Las opciones de qemu-img y los usos se listan a continuación.
Dando formato y creando nuevas imágenes y dispositivos
Cree el nombre de archivo de la nueva imagen de disco y de formato al formato.
# qemu-img create [-6] [-e] [-b base_image] [-f format] filename [size]
If base_image is specified, then the image will record only the differences from base_image. No size needs to be specified in this case. base_image will never be modified unless you use the "commit" monitor command.
Convierte una imagen existente a otro formato
La opción 'convert' sirve para convertir un formato reconocido a otra imagen de formato.
Formato de comando:
# qemu-img convert [-c] [-e] [-f format] filename [-O output_format] output_filename convert the disk image filename to disk image output_filename using format output_format. it can be optionally encrypted ("-e" option) or compressed ("-c" option).
218
Uso de qemu-img only the format "qcow" supports encryption or compression. the compression is read-only. it means that if a compressed sector is rewritten, then it is rewritten as uncompressed data.
La encriptación utiliza el formato AES con claves muy seguras de 128 bits. Use una contraseña larga
(16 caracteres) para obtener la protección máxima.
La conversión de imagen también es útil para obtener una imagen más pequeña cuando se utilicen formatos que pueden aumentar, tales como qcow o cow. Los sectores vacíos son detectados y suprimidos de la imagen de destino.
obtención de información de imagen
El parámetro info muestra información acerca de una imagen de disco. El formato para la opción
info
debe ser como sigue:
# qemu-img info [-f format] filename
Informa sobre el nombre de archivo de imagen de disco. Utilícelo, en particular, para saber el tamaño reservado en disco, el cual puede ser diferente al tamaño mostrado. Si las instantáneas de VM son almacenadas en la imagen de disco, también se muestran.
Formatos compatibles
El formato de una imagen suele reconocerse automáticamente. Los siguientes formatos son compatibles:
raw
El formato de imagen del disco crudo (predeterminado). Este formato tiene la ventaja de ser sencillo y de fácil exportación a los demás emuladores. Si su sistema de archivos admite huecos
(por ejemplo en ext2 o ext3 en Linux o NTFS en Windows), entonces sólo los sectores escritos reservarán espacio. Use qemu-img info para concocer el tamaño real utilizado por la imagen o
ls -ls
en Unix/Linux.
qcow2
El formato de imagen QEMU, el formato más versatil. Utilícelo para imágenes más pequeñas (útil si su sistema de archivos no admite huecos, por ejemplo: en Windows), encriptación opcional
AES, compresión basada en zlib y soporte de múltiples instantáneas de VM.
qcow
Formato anterior de imagen QEMU. Sólo se incluye para compatibilidad con versiones anteriores.
cow
El formato de imagen User Mode Linux Copy On Write. El formato cow se incluye sólo por compatibilidad con versiones anteriores. No funciona con Windows.
vmdk
Formato de imagen compatible de VMware 3 y 4.
cloop
Imagen Linux Compressed Loop, útil únicamente para reutilizar directamente imágenes comprimidas de CD-ROM, presentes por ejemplo, en los Knoppix CD-ROM.
219
Capítulo 17. Consejos y trucos
17.4. Sobreasignando con KVM
El hipervisor KVM admite sobreasignación de CPU y de memoria. La sobrecarga está asignando más
CPU virtualizada o memoria que la de los recursos físicos en el sistema, Con sobrecarga de CPU, los servidores subutilizados o escritorios, pueden ejecutarse en menos servidores, ahorrando de este modo, energía y dinero.
Xen support
La sobreasignación de CPU no es compatible con el hipervisor de Xen. La sobrecarga de
CPU con el hipervisor Xen puede causar inestabilidad en el sistema y bloquear el host y los huéspedes virtualizados.
Sobreasignación de memoria
La mayoría de los sistemas y aplicaciones no utilizan el 100% de la RAM disponible todo el tiempo.
Esta conducta se puede aprovechar con KVM para usar más huéspedes virtualizados que los que están disponibles físicamente.
Con KVM, las máquinas virtuales son procesos de Linux. Los huéspedes en el hipervisor KVM no tienen bloques de RAM físicos asignados, en su lugar, funcionan como procesos. A cada proceso se le asigna memoria cuando lo solicite. KVM utiliza esto para asignar memoria a huéspedes cuando el sistema operativo solicite más o menor memoria. El huésped sólo utiliza un poco más de memoria física que la que parece utilizar el sistema operativo.
Cuando la memoria física está casi completamente utilizada o el proceso está inactivo por algún tiempo, Linux desplaza la memoria del proceso a swap. Swap suele ser una partición en el disco duro o partición de controlador de estado sólido utilizada por Linux para extender la memoria virtual. Swap es significativamente más pequeña que RAM.
Como las máquinas virtuales KVM son procesos de Linux, la memoria utilizada por huéspedes virtualizados se puede poner en swap si el huésped está inactivo o no en uso intensivo. La memoria puede enviarse en el tamaño total del swap y RAM física. Esto puede causar problemas si los huéspedes virtualizados usan la RAM total. Sin suficiente espacio de intercambio (swap) para que los procesos de la máquina virtual sean intercambiados a pdflush se inicia el proceso. pdflush mata los procesos para liberar memoria para que el sistema no se bloquee. pdflush puede destruir huéspedes virtualizados u otros procesos de sistema que pueden causar errores y dejar huéspedes virtualizados que no se pueden arrancar.
Warning
Si no hay suficiente swap disponible, el sistema operativo se cerrará a la fuerza. Esto puede dejar huéspedes inoperables. Evite asignar más memoria de la que está disponible en swap.
La partición swap sirve para intercambiar memoria subutilizada al disco duro con el fin de agilizar el rendimiento de memoria. El tamaño de la partición swap se calcula de la cantidad de RAM y de la relación de sobreasignación. Se recomienda crear una partición más grande si va a sobreasignar memoria con KVM. La relación de sobreasignación recomendada es 50% (0.5). La fórmula utilizada es:
(0.5 * RAM) + (overcommit ratio * RAM) = Recommended swap size
220
Modificar /etc/grub.conf
La Base de Conocimientos de Red Hat tiene un artículo sobre cómo determinar el tamaño de la partición swap de manera segura y eficiente — vaya a la
Base de Conocimientos
1
.
Es posible ejecutar una relación de sobreasignación de 10 veces el número de invitados virtualizados en la RAM física. Esto sólo funciona con algunas cargas de aplicaciones (por ejemplo, el escritorio de virtualización con un uso por debajo del 100%). Establecer las relaciones de sobreasignación no es una fórmula difícil, debe probar y personalizar la relación para su entorno.
Sobreasignando CPU virtualizadas
El hipervisor KVM admite sobreasignación de CPU virtualizadas. Las CPU virtualizadas pueden ser sobreasignadas en cuanto a los límites de carga de los huéspedes virtualizados lo permitan. Tenga cuidado al sobreasignar las VCPU ya que las cargas cercanas al 100% pueden producir solicitudes o tiempos de respuesta inutilizables.
La CPU virtualizadas son mejor sobreasignadas cuando cada huésped virtualizado sólo tiene una
VCPU. El programador de Linux es muy eficiente con el tipo de carga.KVM debe permitir sin novedad huéspedes con cargas bajo 100% en una relación de 5 VCPU. La sobreasignación de sólo un huésped virtualizado de VCPU no es problema.
No puede sobre asignar huéspedes de multiprocesamiento simétrico en más del número de los núcleos de procesamiento físicos. Por ejemplo, un huésped con cuatro VCPU debe ejecutarse en un huésped con un procesador de doble núcleo. La sobreasignación de huéspedes de multiprocesamiento simétrico en el número de núcleos de procesamiento físico, producirá una degradación importante del rendimiento.
La asignación de VCPU de huéspedes hasta el número de núcleos físicos es apropiada y funciona como se espera. Por ejemplo, la ejecución de huéspedes virtualizados con cuatro VCPU en un host de núcleo cuádruple. Los huéspedes con menos de 100% cargas deben funcionar correctamente en esta configuración.
Siempre haga una prueba primero
No sobreasigne memoria o CPU en un entorno de producción sin pruebas exhautivas.
Las aplicaciones que utilizan el 100% de recursos de memoria o de procesamiento pueden volverse inestables en entornos sobreasignados. Haga la prueba antes de implementar.
17.5. Modificar /etc/grub.conf
Esta sección describe cómo cambiar sin novedad y correctamente su archivo /etc/grub.conf para usar el kernel de virtualización. Debe utilizar el kernel xen para el hipervisor Xen. Copie su entrada de kernel existente xen, asegúrese de que haya copiado todas las líneas importantes o de lo contrario su sistema entrará en pánico tras el arranque (initrd tendrá una longitud de '0'). Si requiere valores específicos del hipervisor xen, debe añadirlos a la línea de xen de la entrada de GRUB.
La salida a continuación es un ejemplo de una entrada grub.conf desde un sistema ejecutando el paquete de kernel-xen. El archivogrub.conf en su sistema puede variar. La parte importante en el ejemplo a continuación es la sección desde la línea de title hasta la siguiente nueva línea.
1
http://kbase.redhat.com/faq/docs/DOC-15252
221
Capítulo 17. Consejos y trucos
#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 Fedora (2.6.23.14-107.fc8xen)
root (hd0,0)
kernel /xen.gz-2.6.23.14-107.fc8 com1=115200,8n1
module /vmlinuz-2.6.23.14-107.fc8xen ro root=/dev/VolGroup00/LogVol00
module /initrd-2.6.23.14-107.fc8xen.img
Un punto importante sobre la edición de grub.conf...
Su archivo grub.conf puede verse muy diferente si ha sido editado en forma manual o si ha sido copiado desde un ejemplo.
Para establecer la cantidad de memoria asignada a su sistema de en el tiempo de arranque a 256MB, añada dom0_mem=256M a la línea xen en su archivo grub.conf. La siguiente es una versión modificada de un archivo de configuración de GRUB del ejemplo anterior:
#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 Fedora (2.6.23.14-107.fc8xen)
root (hd0,0)
kernel /xen.gz-2.6.23.14-107.fc8 com1=115200,8n1 dom0_mem=256MB
module /vmlinuz-2.6.23.14-107.fc8xen ro
root=/dev/VolGroup00/LogVol00
module /initrd-2.6.23.14-107.fc8xen.img
17.6. Verificación de extensiones de virtualización
Utilice esta sección para determinar si su sistema tiene las extensiones de virtualización de hardware.
Las extensiones de virtualización (Intel VT o AMD-V) se requieren para virtualizaci´on completa.
¿Puedo utilizar virtualizaciónsin las extensiones de virtualización?
Si las extensiones de virtualización no están presentes en su hardware, puede usar la para-virtualización de Xen con el paquete kernel-xen de Fedora.
Ejecute el siguiente comando para verificar que las extensiones de virtualización de CPU están disponibles:
$ grep -E 'svm|vmx' /proc/cpuinfo
222
Identificación de tipo de huésped e implementación
La siguiente salida contiene una entrada vmx indicando un procesador Intel con las extensiones de
Intel VT: flags : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush
dts acpi mmx fxsr sse sse2 ss ht tm syscall lm constant_tsc pni monitor ds_cpl
vmx est tm2 cx16 xtpr lahf_lm
La siguiente salida contiene una entrada svm indicando un procesador AMD con extensiones de
AMD-V.
flags : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush
mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni cx16
lahf_lm cmp_legacy svm cr8legacy ts fid vid ttp tm stc
The "flags:" content may appear multiple times for each hyperthread, core or CPU on in the system.
The virtualization extensions may be disabled in the BIOS. If the extensions do not appear or full
virtualization does not work refer to
Procedimiento 19.1, “Habilitar extensiones de virtualización en
17.7. Identificación de tipo de huésped e implementación
El script a continuación, puede identificar el entorno en el que un script o aplicación se está ejecutando, en un huésped para-virtualizado o completamente virtualizado, o en el hipervisor.
#!/bin/bash declare -i IS_HVM=0 declare -i IS_PARA=0 check_hvm()
{
IS_X86HVM="$(strings /proc/acpi/dsdt | grep int-xen)"
if [ x"${IS_X86HVM}" != x ]; then
echo "Guest type is full-virt x86hvm"
IS_HVM=1
fi
} check_para()
{
if $(grep -q control_d /proc/xen/capabilities); then
echo "Host is dom0"
IS_PARA=1
else
echo "Guest is para-virt domU"
IS_PARA=1
fi
} if [ -f /proc/acpi/dsdt ]; then
check_hvm fi if [ ${IS_HVM} -eq 0 ]; then
if [ -f /proc/xen/capabilities ] ; then
check_para
fi
223
Capítulo 17. Consejos y trucos
fi if [ ${IS_HVM} -eq 0 -a ${IS_PARA} -eq 0 ]; then
echo "Baremetal platform" fi
Examen de hosts
Para examinar los hosts, utilice el comando virsh capabilites.
17.8. Generación de una nueva dirección MAC única
En algunos caso se necesitará generar una
nueva y única para un invitado. No hay
un herramienta de línea de comando disponible para generar una nueva dirección MAC en la fase de la escritura. El script proporcionado abajo puede generar una nueva dirección MAC para sus huéspedes. Guarde el script en su invitado como macgen.py. Ahora desde ese directorio, podrá ejecutar el script mediante ./macgen.py y éste generará una nueva dirección MAC. Una muestra de salida se vería como la siguiente:
$ ./macgen.py
00:16:3e:20:b0:11
#!/usr/bin/python
# macgen.py script to generate a MAC address for virtualized guests on Xen
# import random
# def randomMAC():
mac = [ 0x00, 0x16, 0x3e,
random.randint(0x00, 0x7f),
random.randint(0x00, 0xff),
random.randint(0x00, 0xff) ]
return ':'.join(map(lambda x: "%02x" % x, mac))
# print randomMAC()
Otro método para generar un nuevo MAC para su huésped
También puede utilizar módulos incorporados de python-virtinst para generar una nueva dirección MAC y UUID para usar en un archivo de configuración de huésped:
# echo 'import virtinst.util ; print\
virtinst.util.uuidToString(virtinst.util.randomUUID())' | python
# echo 'import virtinst.util ; print virtinst.util.randomMAC()' | python
El script anterior también se puede implementar como un script de archivos, así como se muestra a continuación.
#!/usr/bin/env python
# -*- mode: python; -*print ""
224
Very Secure ftpd print "New UUID:" import virtinst.util ; print virtinst.util.uuidToString(virtinst.util.randomUUID()) print "New MAC:" import virtinst.util ; print virtinst.util.randomMAC() print ""
17.9. Very Secure ftpd
vsftpd
puede proporcionar acceso a árboles de instalación para huéspedes para-virtualizados u otros datos. Si no ha instalado vsftpd durante la instalación del servidor, puede tomar el paquete
RPM desde su directorio Server de sus medios de instalación e instálelo mediante rpm -ivh
vsftpd*.rpm
(observe que el paquete RPM debe estar en su directorio actual).
1. Para configurar vsftpd, edite /etc/passwd mediante vipw y cambie el directorio principal del usuario de FTP al directorio en donde piensa guardar sus árboles de instalación para los huéspedes para-virtualizados. Una entrada de ejemplo para el usuario de FTP se vería de la siguiente manera: ftp:x:14:50:FTP User:/xen/pub:/sbin/nologin
2. Para que vsftpd inicie automáticamente durante el arranque del sistema utilice la utilidad chkconfig para permitir el arranque automático de vsftpd.
3. Compruebe que vsftpd no esté habilitada, mediante chkconfig --list vsftpd:
$ chkconfig --list vsftpd vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
4. Ejecute chkconfig --levels 345 vsftpd on para que inicie automáticamente vsftpd y ejecute los niveles 3, 4 y 5.
5. Use el comando chkconfig --list vsftpd para comprobar si vsftdp ha sido habilitado para que inicie durante el arranque del sistema:
$ chkconfig --list vsftpd vsftpd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
6. Use service vsftpd start vsftpd para iniciar el servicio vsftpd service:
$service vsftpd start vsftpd
Starting vsftpd for vsftpd: [ OK ]
17.10. Configuración de persistencia LUN
Esta sección cubre cómo implementar la persistencia de
en invitados y la máquina anfitriona con
o sin multirutas.
225
Capítulo 17. Consejos y trucos
Implementación de persistencia de LUN sin multirutas
Si su sistema no está utilizando multirutas, puede utilizar udev para implementar persistencia LUN.
Antes de implementar persistencia Lun en su sistema, asegúrese de adquirir los UUID apropiados.
Una vez adquiridos, puede configurar la persistencia de LUN editando el archivo scsi_id ubicado en el directorio /etc . Una vez tenga este archivo abierto en un editor de texto, quite el comentario a esta línea:
# options=-b
Remplácela con este parámetro:
# options=-g
Este parámetro le indica a udev que debe monitorizar todos los dispositivos SCSI del sistema por
UUID que retornen. Para determinar los UUID del sistema, utilice el comando scsi_id:
# scsi_id -g -s /block/sdc
*3600a0b80001327510000015427b625e*
Esta cadena larga de caracteres en la salida es el UUID. El UUID, no cambia cuando se añade un nuevo dispositivo al sistema Adquiera el UUID para cada dispositivo con el fin de crear reglas para los dispositivos. Para crear nuevas reglas de dispositivo, edite el archivo 20-names.rules en el directorio /etc/udev/rules.d . Las nuevas reglas para nombrar dispositivos siguen este formato:
# KERNEL="sd*", BUS="scsi", PROGRAM="sbin/scsi_id", RESULT="UUID", NAME="devicename"
Remplace su UUID y devicename por la entrada anterior recuperada de UUID. La regla debe parecerse a la siguiente:
KERNEL="sd*", BUS="scsi", PROGRAM="sbin/scsi_id", RESULT="3600a0b80001327510000015427b625e",
NAME="mydevicename"
Esto permite a todos los dispositivos coincidentes con el patrón de /dev/sd* inspeccionar el UUID dado. Cuando encuentra un dispositivo coincidente, crea un nodo de dispositivo llamado /dev/
devicename
. Para este ejemplo, el nodo de dispositivo es /dev/mydevice . Por último añada el archivo /etc/rc.local con la siguiente línea:
/sbin/start_udev
Implementar la persistencia Lun con multirutas
Para implementar la persistencia LUN en un entorno de multirutas, debe definir los alias para los dispositivos multirutas. En este ejemplo, debe definir cuatro alias de dispositivo editando el archivo
multipath.conf
ubicado en el directorio /etc/: multipath {
226
Inhabilite la monitorización de disco SMART para huéspedes
wwid 3600a0b80001327510000015427b625e
alias oramp1
} multipath {
wwid 3600a0b80001327510000015427b6
alias oramp2
} multipath {
wwid 3600a0b80001327510000015427b625e
alias oramp3
} multipath {
wwid 3600a0b80001327510000015427b625e
alias oramp4
}
Se definen cuatro LUN: /dev/mpath/oramp1, /dev/mpath/oramp2, /dev/mpath/oramp3, y
dev/mpath/oramp4
. Los dispositivos residirán en el directorio /dev/mpath . Estos nombres de
LUN son persistentes a través de los reinicios, ya que éste crea los nombres de alias en los wwid de los LUN.
17.11. Inhabilite la monitorización de disco SMART para huéspedes
La monitorización del disco SMART se puede desactivar mientras se está ejecutando en discos virtuales y el almacenaje físico sea manejado por el host.
/sbin/service smartd stop
/sbin/chkconfig --del smartd
17.12. Clonar los archivos de configuración de huésped
Puede copiar un archivo de configuración para crear un nuevo huésped. Debe modificar el parámetro del archivo de configuración del huésped. El nuevo y único nombre aparecerá en el hipervisor y puede ser visto por las utilidades de administración. Debe, asimismo, generar un nuevo UUID mediante el comando uuidgen. Luego para las entradas de vif, debe definir una dirección MAC
única para cada huésped (si está copiando una configuración desde un huésped, puede crear un script que maneje esta tarea). Para la información del puente de Xen, si desplazó el archivo de configuración de un huésped existente a un nuevo anfitrión, debe actualizar la entrada xenbr para que coincida con la configuración de la red local. Para las entradas de dispositivos, debe modificar las entradas en la sección 'disk=' para que apunten a la imagen de huésped correcta.
También debe modificar los parámetros de configuración del sistema en su huésped. Debe modificar la entrada HOSTNAME del archivo /etc/sysconfig/network para que coincida con el nombre de host del nuevo huésped.
Debe modificar la dirección de 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.
227
Capítulo 17. Consejos y trucos
17.13. Duplicar un huésped existente y su archivo de configuración
Esta sección presenta la copia de un archivo de configuración existente para crear un nuevo huésped.
Hay parámetros claves en el archivo de configuración de huésped que se deben tener en cuenta y modificar para duplicar correctamente a un huésped.
name
El nombre de su huésped como es conocido por el hipervisor y mostrado en utilidades de administración. Esta entrada debe ser única en su sistema.
uuid
Un identificador único para el huésped, un nuevo UUID se puede generarse mediante el comando
uuidgen
. La siguiente es una muestra de salida UUID:
$ uuidgen a984a14f-4191-4d14-868e-329906b211e5
vif
• The
must define a unique MAC address for each guest. This is automatically
done if the standard tools are used. If you are copying a guest configuration from an existing guest you can use the script
Sección 17.8, “Generación de una nueva dirección MAC única”
• Si está desplazando o duplicando un archivo de configuración de huésped existente a un nuevo host, tiene que asegurarse de ajustar la entrada xenbr para que corresponda con su configuración de red local (puede obtener la información de puente mediante el comando
brctl show
).
• Entradas de dispositivo, asegúrese de ajustar las entradas en la sección de disk= para apuntar a la imagen de huésped correcta.
Ahora, ajuste la configuración del sistema en su huésped:
/etc/sysconfig/network
Modifique la entrada HOSTNAME del nuevo hostname de huésped.
/etc/sysconfig/network-scripts/ifcfg-eth0
• Modifique la dirección de HWADDR para la salida desde from ifconfig eth0.
• Modifique la entrada de IPADDR si la dirección IP estática es utilizada.
228
Anuncio
Características clave
- Instalación de paquetes virtuales
- Visión general de la tecnología de virtualización
- Procedimiento de instalación de sistema operativo de huésped
- Configuración
- Administración
- Manual de referencia de virtualización
- Consejos y trucos
- Solución de problemas