En esta sección se describen los problemas conocidos de esta versión del software Oracle VM Server for SPARC que son más generales que un número de bug específico. Cuando es posible, se indican soluciones alternativas.
Si cancela una migración en directo, el contenido de la memoria de la instancia del dominio que se crea en la máquina de destino se debe “limpiar” mediante el hipervisor. Este proceso de limpieza se realiza por motivos de seguridad y se debe completar para que la memoria pueda regresar al grupo de memoria libre. Mientras esta limpieza está en curso, los comandos ldm no responden. Como resultado, Logical Domains Manager parece estar bloqueado.
Recuperación: debe esperar a que finalice esta solicitud de limpieza antes de intentar ejecutar otros comandos ldm. Este proceso puede tardar bastante. Por ejemplo, un dominio invitado que tiene 500 GB de memoria puede completar este proceso en 7 minutos como máximo en un servidor SPARC T4 o en 25 minutos como máximo en un servidor SPARC T3.
Cuando se utiliza el comando ldm add-vcpu para asignar CPU a un dominio, es posible que el SO Oracle Solaris genere un aviso grave y muestre el siguiente mensaje:
panic[cpu16]/thread=c4012102c860: mpo_cpu_add: Cannot read MD
Este aviso grave se produce si se cumplen las siguientes condiciones:
Se asignaron DCU adicionales a un host.
El host se inicia mediante una configuración de SP guardada previamente que no contiene todo el hardware asignado al host.
El dominio de destino de la operación ldm add-vcpu es el dominio que genera el aviso grave. El dominio se recupera con las CPU adicionales cuando se reinicia.
Solución alternativa: no utilice las configuraciones que se generan con menos recursos de hardware que los asignados al host.
Para evitar el problema, no agregue CPU como se detalla en la descripción del problema. O bien, lleve a cabo los siguientes pasos:
Genere una nueva configuración de SP una vez que se agregaron las DCU.
Por ejemplo, el siguiente comando crea una configuración denominada new-config-more-dcus:
primary# ldm add-config new-config-more-dcus
Cierre el dominio.
Detenga el host.
-> stop /HOST
Inicie el host.
-> start /HOST
Los recursos del complejo de raíz no se restauran después de destruir todas las funciones virtuales y regresar las ranuras al dominio raíz.
Recuperación: regrese todos los recursos de E/S virtuales asociados con el complejo de raíz a su dominio raíz.
En primer lugar, coloque el dominio de control en reconfiguración retrasada.
primary# ldm start-reconf primary
Regrese todas las ranuras PCIe secundarias al dominio raíz al que pertenece el bus pci_0. A continuación, elimine todas las funciones virtuales secundarias del bus pci_0 y destrúyalas.
Finalmente, configure iov=off para el bus pci_0 y reinicie el dominio raíz.
primary# ldm set-io iov=off pci_0 primary# shutdown -y -g 10
Solución alternativa: configure la opción iov en off para el bus PCIe específico.
primary# ldm start-reconf primary primary# ldm set-io iov=off pci_0
El comando ldm init-system no puede restaurar las restricciones del núcleo de CPU con nombre para dominios invitados desde un archivo XML guardado.
Solución alternativa: siga estos pasos:
Cree un archivo XML para el dominio principal.
# ldm ls-constraints -x primary > primary.xml
Cree un archivo XML para los dominios invitados.
# ldm ls-constraints -x domain-name[,domain-name][,...] > guest.xml
Apague el sistema, vuelva a encenderlo e inicie una configuración predeterminada de fábrica.
Aplique la configuración XML para el dominio primary.
# ldm init-system -r -i primary.xml
Aplique la configuración XML para estos dominios.
# ldm init-system -f -i guest.xml
Es posible que aparezca el siguiente mensaje de error al intentar eliminar una gran cantidad de CPU de un dominio invitado:
Request to remove cpu(s) sent, but no valid response received VCPU(s) will remain allocated to the domain, but might not be available to the guest OS Resource modification failed
Solución alternativa: detenga el dominio invitado antes de eliminar más de 100 CPU del dominio.
Cuando se configura Logical Domains en un sistema y se agrega otra tarjeta de red XAUI, la tarjeta no estará visible una vez que se apague y se vuelva a encender la máquina.
Recuperación: para que el XAUI recién agregado esté visible en el dominio de control, siga estos pasos:
Defina y borre una variable ficticia en el dominio de control.
Los comandos siguientes utilizan una variable ficticia denominada fix-xaui:
# ldm set-var fix-xaui=yes primary # ldm rm-var fix-xaui primary
Guarde la configuración modificada en el SP y sustituya la configuración actual.
Los comandos siguientes utilizan un nombre de configuración de config1:
# ldm rm-spconfig config1 # ldm add-spconfig config1
Realice un reinicio de reconfiguración del dominio de control.
# reboot -- -r
En este momento, puede configurar las nuevas redes disponibles para usarlas en Logical Domains.
Si intenta eliminar un bus de PCIe que contiene dispositivos HBA LSI SAS, más tarde no podrá agregar los dispositivos mediante el uso de operaciones de bus dinámico ni conexión en caliente de caja de PCI.
Si un dominio de servicio utiliza una versión del sistema operativo Oracle Solaris 10 anterior a Sistema operativo Oracle Solaris 10 1/13 y exporta un segmento de un disco físico como disco virtual a un dominio invitado, este disco virtual aparecerá en el dominio invitado con un ID de dispositivo incorrecto. Si ese dominio de servicio se actualiza luego a Sistema operativo Oracle Solaris 10 1/13, el segmento del disco físico exportado como disco virtual aparecerá en el dominio invitado sin ningún ID de dispositivo.
Esta eliminación del ID de dispositivo del disco virtual puede causar problemas en las aplicaciones que intentan hacer referencia al ID de dispositivo de los discos virtuales. En concreto, es posible que Solaris Volume Manager no pueda encontrar su configuración o no pueda acceder a los metadispositivos.
Solución alternativa: tras actualizar un dominio de servicio a Sistema operativo Oracle Solaris 10 1/13, si un dominio invitado no encuentra la configuración o los metadispositivos de Solaris Volume Manager, realice el siguiente procedimiento.
md_devid_destroy=1; md_keep_repl_state=1;
Una vez iniciado el dominio, la configuración y los metadispositivos de Solaris Volume Manager deben estar disponibles.
Durante el reinicio, aparecerán mensajes similares a los siguientes:
NOTICE: mddb: unable to get devid for 'vdc', 0x10
Estos mensajes son normales y no informan ningún problema.
Históricamente, el SO Oracle Solaris se instalaba en un disco de inicio configurado con una etiqueta de disco SMI VTOC. A partir del sistema operativo Oracle Solaris 11.1, el sistema operativo se instala en un disco de inicio configurado con una etiqueta de disco de tabla de particiones GUID (GPT) de interfaz de firmware extensible (EFI) de manera predeterminada. Si el firmware no admite EFI, el disco se configura con una etiqueta de disco SMI VTOC en su lugar. Esta situación se aplica solo a los servidores SPARC T4 que ejecutan al menos la versión 8.4.0 de firmware del sistema y a los servidores SPARC T5, SPARC M5 o SPARC M6 que ejecutan al menos la versión 9.1.0 del firmware del sistema y a los Fujitsu M10 Servers que ejecutan al menos la versión 2230 de XCP.
Los siguientes servidores no se pueden iniciar desde un disco que tenga una etiqueta de disco EFI GPT:
Los servidores UltraSPARC T2, UltraSPARC T2 Plus y SPARC T3, independientemente de la versión de firmware del sistema que se utilice
Servidores SPARC T4 que ejecutan versiones de firmware del sistema anteriores a 8.4.0
Servidores SPARC T5, SPARC M5 y SPARC M6 que ejecutan versiones de firmware del sistema anteriores a 9.1.0
Fujitsu M10 Servers que ejecutan versiones de XCP anteriores a 2230
Por lo tanto, un disco de inicio de Oracle Solaris 11.1 que se crea en un sistema SPARC T4, SPARC T5, SPARC M5, SPARC M6 o Fujitsu M10 Server actualizado no puede ser utilizado en servidores antiguos o en servidores que ejecutan un firmware anterior.
Esta limitación impide la capacidad de utilizar una migración activa o inactiva para mover un dominio de un servidor reciente a un servidor anterior. Esta limitación también evita el uso de una imagen de disco de inicio EFI GPT en un servidor anterior.
Para determinar si un disco de inicio de Oracle Solaris 11.1 es compatible con el servidor y su firmware, asegúrese de que el sistema operativo Oracle Solaris 11.1 esté instalado en un disco que esté configurado con una etiqueta de disco SMI VTOC.
Para mantener la compatibilidad con versiones anteriores de sistemas que ejecutan firmware anterior, utilice uno de los siguientes procedimientos. De lo contrario, el disco de inicio utiliza la etiqueta de disco EFI GPT de forma predeterminada. Estos procedimientos muestran cómo garantizar que el sistema operativo Oracle Solaris 11.1 esté instalado en un disco de inicio con una etiqueta de disco SMI VTOC en un servidor SPARC T4 con al menos la versión 8.4.0 de firmware del sistema y, en un servidor SPARC T5, SPARC M5 o SPARC M6, con al menos la versión 9.1.0 de firmware del sistema y un Fujitsu M10 Server con al menos la versión 2230 de XCP.
Solución 1: elimine la propiedad gpt para que el firmware no informe que admite EFI.
Del indicador de OpenBoot PROM, desactive el inicio automático y restablezca el sistema que desea instalar.
ok setenv auto-boot? false ok reset-all
Después de que el sistema se reinicia, devuelve el indicador ok.
Cambie al directorio /packages/disk-label y elimine la propiedad gpt.
ok cd /packages/disk-label ok " gpt" delete-property
Comience la instalación del sistema operativo Oracle Solaris 11.1.
Por ejemplo, realice una instalación de red:
ok boot net - install
Solución 2: use el comando format -e para escribir una etiqueta SMI VTOC en el disco que se desea instalar con el sistema operativo Oracle Solaris 11.1.
Escriba una etiqueta SMI VTOC en el disco.
Por ejemplo, seleccione la opción label y especifique la etiqueta SMI:
# format -e c1d0 format> label [0] SMI Label [1] EFI Label Specify Label type[1]: 0
Configure el disco con un segmento 0 y un segmento 2 que abarquen todo el disco.
El disco no debería tener ninguna otra partición. Por ejemplo:
format> partition partition> print Current partition table (unnamed): Total disk cylinders available: 14087 + 2 (reserved cylinders) Part Tag Flag Cylinders Size Blocks 0 root wm 0 - 14086 136.71GB (14087/0/0) 286698624 1 unassigned wu 0 0 (0/0/0) 0 2 backup wu 0 - 14086 136.71GB (14087/0/0) 286698624 3 unassigned wm 0 0 (0/0/0) 0 4 unassigned wm 0 0 (0/0/0) 0 5 unassigned wm 0 0 (0/0/0) 0 6 unassigned wm 0 0 (0/0/0) 0 7 unassigned wm 0 0 (0/0/0) 0
Vuelva a escribir la etiqueta de disco SMI VTOC.
partition> label [0] SMI Label [1] EFI Label Specify Label type[0]: 0 Ready to label disk, continue? y
Configure Automatic Installer (AI) de Oracle Solaris para instalar el SO Oracle Solaris en el segmento 0 del disco de inicio.
Cambie el fragmento <disk> en el manifiesto AI de la siguiente manera:
<target> <disk whole_disk="true"> <disk_keyword key="boot_disk"/> <slice name="0" in_zpool="rpool"/> </disk> [...] </target>
Realice la instalación del sistema operativo Oracle Solaris 11.1.
Debido a la manera en la que el SO Oracle Solaris maneja los metadatos para la gestión de memoria agregada de forma dinámica, es posible que más tarde pueda eliminar solamente un bloque entero de memoria que se agregó de forma dinámica anteriormente en lugar de un subconjunto adecuado de esa memoria.
Esta situación se puede presentar si un dominio con una memoria de tamaño pequeño aumenta de forma dinámica a un tamaño mucho mayor, como se muestra en el siguiente ejemplo:
primary# ldm list ldom1 NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME ldom1 active -n-- 5000 2 2G 0.4% 23h primary# ldm add-mem 16G ldom1 primary# ldm rm-mem 8G ldom1 Memory removal failed because all of the memory is in use. primary# ldm rm-mem 16G ldom1 primary# ldm list ldom1 NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME ldom1 active -n-- 5000 2 2G 0.4% 23h
Solución alternativa: use el comando ldm add-mem para agregar secuencialmente memoria en fragmentos más pequeños en lugar de agregar fragmentos más grandes que luego pueda llegar a querer eliminar.
Recuperación: realice una de las siguientes acciones:
Detenga el dominio, elimine la memoria y, a continuación, reinicie el dominio.
Reinicie el dominio, lo que provoca que el SO Oracle Solaris vuelva a asignar sus metadatos de gestión de memoria de modo que la memoria agregada anteriormente se pueda eliminar de manera dinámica en fragmentos más pequeños.