Notes de version d'Oracle® VM Server for SPARC 3.3

Quitter la vue de l'impression

Mis à jour : Octobre 2015
 
 

Problèmes d'ordre général

Cette section décrit les problèmes matériels et logiciels connus pour cette version du logiciel Oracle VM Server for SPARC qui ne concernent pas qu'un numéro de bogue particulier. Des solutions sont proposées, le cas échéant.

Non réactivité temporaire des commandes ldm exécutées sur le système cible après annulation d'une migration

Si vous annulez une migration en direct, le contenu de la mémoire de l'instance de domaine créé sur la machine cible doit être "nettoyé" par l'hyperviseur. Ce processus de nettoyage est effectué pour des raisons de sécurité et doit être terminé afin que la mémoire puisse être renvoyée vers le pool de mémoire libre. Durant la progression du nettoyage, les commandes ldm deviennent non réactives. Par conséquent, Logical Domains Manager semble suspendu.

Reprise : attendez la fin de la demande de nettoyage avant de tenter d'exécuter les autres commandes ldm. Ce processus peut être long. Par exemple, un domaine invité comptant 500 Go de mémoire peut mettre jusqu'à 7 minutes pour terminer le processus sur un serveur SPARC T4 ou jusqu'à 25 minutes sur un serveur SPARC T3.

SPARC M5-32 et SPARC M6-32 : problème lié aux disques accessibles via plusieurs chemins d'E/S directs

 

Lorsque vous utilisez la commande ldm add-vcpu pour assigner des CPU à un domaine, une grave erreur risque de se produire au niveau du SE Oracle Solaris et le message suivant peut s'afficher :

panic[cpu16]/thread=c4012102c860: mpo_cpu_add: Cannot read MD

    Cette panique se produit dans les cas suivants :

  • Des DCU supplémentaires ont été attribués à un hôte

  • L'hôte est démarré à l'aide d'une configuration SP précédemment enregistrée qui ne contient pas tout le matériel attribué à l'hôte.

Le domaine cible de l'opération ldm add-vcpu est le domaine qui panique. Le domaine est récupéré avec les CPU supplémentaires lors de la réinitialisation.

Solution de contournement : n'utilisez pas des configurations générées avec un nombre de ressources matérielles moindre que celui affecté à l'hôte.

Afin d'éviter ce problème, n'ajoutez pas de CPU selon la procédure détaillée dans la description du problème. Ou effectuez les opérations suivantes :

  1. Générez une nouvelle configuration de processeur de service après l'ajout des DCU.

    Par exemple, la commande suivante crée une configuration nommée new-config-more-dcus :

    primary# ldm add-config new-config-more-dcus
  2. Arrêtez le domaine.

  3. Arrêtez l'hôte.

    -> stop /HOST
  4. Démarrez l'hôte.

    -> start /HOST

Destruction de l'ensemble des fonctions virtuelles et renvoi des emplacements vers le domaine root n'entraînant aucune restauration des ressources de complexe root

 

Les ressources situées sur le complexe root ne sont pas restaurées après la destruction de l'ensemble des fonctions virtuelles et le renvoi des emplacements vers le domaine root.

Récupération : renvoyez l'ensemble des ressources d'E/S virtuelles associées au complexe root à leur domaine root.

Placez d'abord le domaine de contrôle en mode de reconfiguration retardée.

primary# ldm start-reconf primary

Renvoyez l'ensemble des emplacements PCIe enfants au domaine root propriétaire du bus pci_0. Supprimez ensuite l'ensemble des fonctions virtuelles enfants sur le bus pci_0 et détruisez-les.

Enfin, définissez iov=off pour le bus pci_0 et réinitialisez le domaine root.

primary# ldm set-io iov=off pci_0
primary# shutdown -y -g 10

Solution de contournement : définissez l'option iov sur off pour le bus PCIe spécifique.

primary# ldm start-reconf primary
primary# ldm set-io iov=off pci_0

init-system ne restaure pas les contraintes de coeur nommées pour les domaines invités à partir des fichiers XML enregistrés

 

La commande ldm init-system ne parvient pas à restaurer les contraintes de coeur des CPU nommés pour les domaines invités à partir d'un fichier XML enregistré.

Solution de contournement : effectuez les opérations suivantes :

  1. Créez un fichier XML pour le domaine primary.

    # ldm ls-constraints -x primary > primary.xml
  2. Créez un fichier XML pour le ou les domaines invités.

    # ldm ls-constraints -x domain-name[,domain-name][,...] > guest.xml
  3. Effectuez un cycle d'alimentation du système et initialisez une configuration usine par défaut.

  4. Appliquez la configuration XML au domaine primary.

    # ldm init-system -r -i primary.xml
  5. Appliquez la configuration XML aux domaines invités.

    # ldm init-system -f -i guest.xml

La suppression d'un grand nombre de CPU d'un domaine invité peut échouer

Le message d'erreur suivant peut s'afficher lorsque vous tentez de supprimer un grand nombre de CPU d'un domaine invité :

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

Solution de contournement : arrêtez le domaine invité avant de supprimer plus de 100 CPU.

Les cartes NIU/XAUI récemment ajoutées ne sont pas visibles pour le SE hôte si le logiciel Logical Domains est configuré

Si le logiciel Logical Domains est configuré sur un système et que vous ajoutez une autre carte réseau XAUI, celle-ci n'est pas visible après l'arrêt et le redémarrage de la machine.

Reprise : pour que la carte XAUI récemment ajoutée soit visible dans le domaine de contrôle, suivez les étapes ci-dessous :

  1. Définissez et effacez une variable factice dans le domaine de contrôle.

    Les commandes suivantes utilisent une variable factice appelée fix-xaui :

    # ldm set-var fix-xaui=yes primary
    # ldm rm-var fix-xaui primary
  2. Enregistrez la configuration modifiée sur le processeur de service (SP) en écrasant l'actuelle.

    Les commandes suivantes utilisent une configuration appelée fix-config1 :

    # ldm rm-spconfig config1
    # ldm add-spconfig config1
  3. Effectuez une réinitialisation de reconfiguration sur le domaine de contrôle.

    # reboot -- -r

    A ce stade, vous pouvez configurer les réseaux récemment disponibles pour que le logiciel Logical Domains puisse les utiliser.

Impossible d'ajouter le périphérique LSI SAS 2008 via des opérations d'enfichage à chaud sur boîte PCI ou bus dynamique

 

Si vous tentez de supprimer un bus PCIe qui héberge des périphériques HBA LSI SAS, il sera impossible de les ajouter ultérieurement au moyen d'opérations d'enfichage à chaud sur carte PCI ou bus dynamique.

Dans certaines circonstances, la configuration ou les métapériphériques Solaris Volume Manager d'un domaine invité peuvent être perdus

Si un domaine de service exécute une version du SE Oracle Solaris 10 antérieure à SE Oracle Solaris 10 1/13 et qu'il exporte une tranche de disque physique sous forme de disque virtuel vers un domaine invité, ce disque virtuel est présenté sur le domaine invité avec un ID de périphérique incorrect. Si ce domaine de service est ensuite mis à niveau vers SE Oracle Solaris 10 1/13, la tranche de disque physique exportée sous forme de disque virtuel est présentée sur le domaine invité sans ID de périphérique.

L'absence d'ID de périphérique pour le disque virtuel peut être à l'origine de problèmes au niveau des applications qui tentent de référencer l'ID de périphérique de disques virtuels. En particulier, Solaris Volume Manager risque de ne plus pouvoir détecter sa configuration ou d'accéder à ses métapériphériques.

Solution de contournement : après avoir mis à niveau un domaine de service vers SE Oracle Solaris 10 1/13, si un domaine invité ne parvient pas à détecter sa configuration ou ses métapériphériques Solaris Volume Manager, effectuez la procédure suivante.

Détection de la configuration ou des métapériphériques Solaris Volume Manager d'un domaine invité

  1. Initialisez le domaine invité.
  2. Désactivez la fonction devid de Solaris Volume Manager en ajoutant les lignes suivantes au fichier /kernel/drv/md.conf :
    md_devid_destroy=1;
    md_keep_repl_state=1;
  3. Réinitialisez le domaine invité.

    Après l'initialisation du domaine, la configuration et les métapériphériques de Solaris Volume Manager devraient être disponibles.

  4. Examinez la configuration de Solaris Volume Manager pour vous assurer qu'elle est correcte.
  5. Réactivez la fonction devid de Solaris Volume Manager en supprimant du fichier /kernel/drv/md.conf les deux lignes que vous avez ajoutées à l'étape 2.
  6. Réinitialisez le domaine invité.

    Lors de la réinitialisation, des messages semblables aux suivants s'affichent 

    NOTICE: mddb: unable to get devid for 'vdc', 0x10

    Il n'y a rien d'anormal à cela dans la mesure où aucun problème n'est signalé.

Compatibilité du disque d'initialisation d'Oracle Solaris

Par le passé, le SE Oracle Solaris était installé sur un disque d'initialisation configuré avec une étiquette de disque VTOC SMI. A partir du SE Oracle Solaris 11.1, le SE est installé sur un disque d'initialisation configuré par défaut avec une étiquette GPT (GUID partition table, table de partition GUID) de type EFI (Extensible Firmware Interface). Si le microprogramme ne prend pas en charge EFI, le disque est configuré avec une étiquette de disque VTOC SMI. Cette situation concerne uniquement les serveurs SPARC T4 exécutant au moins le microprogramme système 8.4.0, les serveurs SPARC T5, SPARC M5 ou SPARC M6 exécutant au moins la version 9.1.0 du microprogramme système et les Serveurs Fujitsu M10 exécutant au moins XCP2230.

    Les serveurs suivants ne peuvent pas s'initialiser à partir d'un disque possédant une étiquette de disque GPT EFI :

  • Serveurs UltraSPARC T2, UltraSPARC T2 Plus et SPARC T3, quelle que soit la version du microprogramme système utilisée

  • Serveurs SPARC T4 exécutant des versions du microprogramme système antérieures à la version 8.4.0

  • Serveurs SPARC T5, SPARC M5 et SPARC M6 exécutant des versions du microprogramme système antérieures à la version 9.1.0

  • Serveurs Fujitsu M10 exécutant des versions XCP antérieures à 2230

Ainsi, un disque d'initialisation Oracle Solaris 11.1 créé sur un système SPARC T4, SPARC T5, SPARC M5, SPARC M6 ou un Serveur Fujitsu M10 ne peut pas être utilisé sur un serveur plus ancien ou sur un serveur exécutant un microprogramme plus ancien.

Cette restriction réduit les possibilités d'effectuer des migrations à froid ou des migrations directes pour déplacer un domaine d'un serveur récent vers un serveur plus ancien. Cette restriction vous empêche également d'utiliser une image de disque d'initialisation GPT EFI sur un ancien serveur.

Pour déterminer si un disque d'initialisation Oracle Solaris 11.1 est compatible avec votre serveur et le microprogramme dont celui-ci est équipé, assurez-vous que le SE Oracle Solaris 11.1 est installé sur un disque configuré avec une étiquette de disque VTOC SMI.

    Pour assurer la rétrocompatibilité avec les systèmes exécutant des microprogrammes plus anciens, effectuez l'une des procédures ci-après. Sinon, le disque d'initialisation utilise par défaut l'étiquette de disque GPT EFI. Ces procédures indiquent comment s'assurer que le SE Oracle Solaris 11.1 est installé sur un disque d'initialisation avec étiquette de disque VTOC SMI sur un serveur SPARC T4 équipé au minimum de la version 8.4.0 du microprogramme système, sur un serveur SPARC T5, SPARC M5 ou SPARC M6 équipé au minimum de la version 9.1.0 du microprogramme système et sur un Serveur Fujitsu M10 équipé au minimum de la version 2230 de XCP.

  • Solution 1 : retirez la propriété gpt de manière à ce que le microprogramme ne signale pas qu'il prend en charge EFI.

    1. A partir de l'invite d'OpenBoot PROM, désactivez l'initialisation automatique et réinitialisez le système à installer.

      ok setenv auto-boot? false
      ok reset-all

      Après la réinitialisation du système, il revient à l'invite ok.

    2. Accédez au répertoire /packages/disk-label et supprimez la propriété gpt.

      ok cd /packages/disk-label
      ok " gpt" delete-property
    3. Débutez l'installation du SE Oracle Solaris 11.1.

      Effectuez par exemple une initialisation réseau :

      ok boot net - install
  • Solution 2 : servez-vous de la commande format -e pour écrire une étiquette VTOC SMI sur le disque sur lequel installer le SE Oracle Solaris 11.1.

    1. Ecrivez une étiquette VTOC SMI sur le disque.

      Sélectionnez par exemple l'option label et spécifiez l'étiquette SMI :

      # format -e c1d0
      format> label
      [0] SMI Label
      [1] EFI Label
      Specify Label type[1]: 0
    2. Configurez le disque avec une tranche 0 et une tranche 2 couvrant la totalité du disque.

      Le disque ne doit pas comporter d'autres partitions. Par exemple :

      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
    3. Réécrivez l'étiquette de disque VTOC SMI.

      partition> label
      [0] SMI Label
      [1] EFI Label
      Specify Label type[0]: 0
      Ready to label disk, continue? y
    4. Configurez le programme d'installation automatisée (AI) Oracle Solaris de manière à ce qu'il installe le SE Oracle Solaris sur la tranche 0 du disque d'initialisation.

      Modifiez comme indiqué ci-dessous la section <disk> du manifeste AI :

      <target>
         <disk whole_disk="true">
              <disk_keyword key="boot_disk"/>
              <slice name="0" in_zpool="rpool"/>
         </disk>
      [...]
      </target>
    5. Procédez à l'installation du SE Oracle Solaris 11.1.

Parfois, le bloc de mémoire ajouté de manière dynamique ne peut être supprimé dynamiquement que dans sa totalité.

En raison de la manière dont le SE Oracle Solaris traite les métadonnées pour la gestion de la mémoire ajoutée de manière dynamique, vous pourrez peut-être uniquement supprimer le bloc de mémoire entier qui a été précédemment ajouté de manière dynamique plutôt qu'un sous-ensemble correct de cette mémoire.

Cette situation se présente si un domaine dont la taille de mémoire est petite est dynamiquement augmenté, comme indiqué dans l'exemple suivant.

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

Solution de contournement : utilisez la commande ldm add-mem pour ajouter de la mémoire de manière séquentielle par blocs de petite taille plutôt que par blocs de plus grande taille que vous pourriez souhaiter supprimer à l'avenir.

    Récupération : effectuez l'une des actions suivantes :

  • Arrêtez le domaine, supprimez la mémoire, puis redémarrez le domaine.

  • Réinitialisez le domaine, ce qui provoque la réallocation des métadonnées de gestion de la mémoire du SE Oracle Solaris, de telle sorte que la mémoire ajoutée précédemment peut maintenant être supprimée de manière dynamique par blocs de plus petite taille.