Guide d'administration système : Gestion des ressources des conteneurs et des zones Oracle Solaris

Solaris 10 11/06 : migration d'une zone non globale vers une autre machine

La version Solaris 10 5/08 vous permet d'effectuer un essai de migration de zone avant de déplacer réellement la zone vers une machine différente. Pour plus d'informations, reportez-vous à la section Solaris 10 5/08 : à propos de la validation d'une zone avant la migration.

À propos de la migration d'une zone

Des informations supplémentaires ont été ajoutées à cette section depuis la version Solaris 10 11/06.

Vous pouvez utiliser les commandes zonecfg et zoneadm afin de migrer une zone non globale d'un système vers un autre. La zone est arrêtée et séparée de son hôte actuel. Le zonepath est déplacé vers l'hôte cible où il est attaché.

Les restrictions suivantes s'appliquent à la migration de zone :

Pour vérifier la version Solaris et l'architecture machine, tapez :


#uname -m

Le processus zoneadm detach permet la création des informations nécessaires au rattachement de la zone à un système différent. Le processus zoneadm attach vérifie que la configuration de la machine cible est adaptée à la zone.

Il existe plusieurs manières de rendre le zonepath disponible sur le nouvel hôte. C'est pour cela que le passage réel du zonepath d'un système vers un autre est un processus manuel qui est réalisé par l'administrateur global.

Une fois jointe au nouveau système, la zone est à l'état Installé.

ProcedureMigration d'une zone non globale

Vous devez vous connecter en tant qu'administrateur global de la zone globale pour effectuer cette procédure.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Arrêtez la zone à migrer, ici my-zone.


    host1# zoneadm -z my-zone halt
    
  3. Détachez la zone.


    host1# zoneadm -z my-zone detach
    

    La zone détachée est maintenant en état configuré.

  4. Déplacez le zonepath de my-zone vers le nouvel hôte.

    Pour plus d'informations, reportez-vous à la section Déplacement du zonepath vers un nouvel hôte.

  5. Dans le nouvel hôte, configurez la zone.


    host2# zonecfg -z my-zone
    

    Le message système suivant s'affiche :


    my-zone: No such zone configured
    Use 'create' to begin configuring a new zone.
  6. Pour créer la zone my-zone dans le nouvel hôte, utilisez la commande zonecfg en spécifiant l'option -a et le zonepath sur le nouvel hôte.


    zonecfg:my-zone> create -a /export/zones/my-zone
    
  7. (Facultatif) Affichez la configuration.


    zonecfg:my-zone> info
    zonename: my-zone
    zonepath: /export/zones/my-zone
    autoboot: false
    pool:
    inherit-pkg-dir:
             dir: /lib
    inherit-pkg-dir:
             dir: /platform
    inherit-pkg-dir:
             dir: /sbin
    inherit-pkg-dir:
             dir: /usr
    net:
             address: 192.168.0.90
             physical: bge0
  8. Effectuez toute modification nécessaire à la configuration.

    Par exemple, le périphérique physique du réseau est différent sur le nouvel hôte, ou les périphériques faisant partie de la configuration ont des noms différents sur le nouvel hôte.


    zonecfg:my-zone> select net physical=bge0
    zonecfg:my-zone:net> set physical=e1000g0
    zonecfg:my-zone:net> end
    
  9. Validez la configuration et quittez-la.


    zonecfg:my-zone> commit
    zonecfg:my-zone> exit
    
  10. Rattachez la zone au nouvel hôte à l'aide d'une des méthodes suivantes.

    • Rattachez la zone avec une coche de validation.


      host2# zoneadm -z my-zone attach
      

      L'administrateur système est notifié des actions requises à effectuer si une des deux ou les deux conditions suivantes sont présentes :

      • Les packages et patchs requis ne se trouvent pas sur la nouvelle machine.

      • Les machines ne disposent pas des mêmes niveaux de logiciel.

    • Solaris 10 10/08 : rattachez la zone avec une coche de validation et mettez-la à jour afin de la faire correspondre à un hôte exécutant des versions plus récentes des packages dépendants ou disposant d'une classe de machine différente lors du rattachement.


      host2# zoneadm -z my-zone attach -u
      

      Astuce –

      Solaris 10 10/08 : si le système source exécute une version antérieure du système Solaris, il risque de ne pas générer la liste de packages correcte lors du détachement de la zone. Pour vous assurer que la liste de packages correcte est générée sur le système cible, vous pouvez supprimer le fichier SUNWdetached.xml du zonepath. La suppression de ce fichier entraîne la génération d'une nouvelle liste de packages par le système cible.

      Cela n'est pas nécessaire avec la version Solaris 10 5/09 et les versions ultérieures.


    • Solaris 10 9/10 : rattachez la zone en cochant la case de validation correspondante et mettez à jour tous les packages de la zone pour que ces derniers correspondent pour qu'ils correspondent aux données de l'installation d'une nouvelle zone non globale sur cet hôte. Tout package installé à l'intérieur de la zone, mais qui n'est pas installé dans la zone globale n'est pas pris en compte et laissé en l'état.


      host2# zoneadm -z my-zone attach -U
      
    • Solaris 10 5/09 et versions ultérieures : utilisez également l'option -b pour désinstaller les patchs spécifiés, officiels ou IDR, au cours du rattachement.


      host2# zoneadm -z my-zone attach -u -b IDR246802-01 -b 123456-08
      

      Vous pouvez utiliser l'option -b indépendamment des options -u ou -U.

    • Forcez l'opération de rattachement sans effectuer de validation.


      host2# zoneadm -z my-zone attach -F
      

      Attention – Attention –

      L'option -F permet de forcer le rattachement attach sans effectuer de validation. Cela peut s'avérer utile dans certains cas, comme par exemple dans celui d'un environnement en cluster ou pour les opérations de sauvegarde et de restauration, mais le système doit être correctement configuré pour héberger la zone. Une configuration incorrecte peut entraîner un comportement indéfini ultérieurement.


ProcedureDéplacement du zonepath vers un nouvel hôte

Il existe de nombreuses méthodes de création d'une archive du zonepath. Vous pouvez par exemple utiliser les commandes cpio ou pax décrites dans les pages de manuel cpio(1)) et pax(1) man pages.

Il existe également de nombreuses méthodes pour le transfert des archives vers le nouvel hôte. Le mécanisme utilisé pour le transfert du zonepath à partir de l'hôte source vers sa destination dépend de la configuration locale. Dans certains cas, comme celui d'un SAN, les données de zonepath pourraient ne pas se déplacer. Il suffit de reconfigurer le SAN pour que le zonepath soit visible dans le nouvel hôte. Dans d'autres cas, le zonepath peut être écrit sur une bande, laquelle est ensuite envoyée à un autre site.

C'est pour cela que cette étape n'est pas automatisée. L'administrateur système doit sélectionner la technique la plus adaptée pour le déplacement du zonepath vers le nouvel hôte.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Déplacez le zonepath vers le nouvel hôte. Utilisez soit la méthode décrite dans cette procédure, soit une autre méthode.


Exemple 23–1 Archivage et déplacement du zonepath à l'aide de la commande tar

  1. Créez un fichier tar pour le zonepath sur host1 et transférez-le vers host2 à l'aide de la commande sftp.


    host1# cd /export/zones
    host1# tar cf my-zone.tar my-zone
    host1# sftp host2
    Connecting to host2...
    Password:
    sftp> cd /export/zones
    sftp> put my-zone.tar
    Uploading my-zone.tar to /export/zones/my-zone.tar
    sftp> quit
    
  2. Dans host2, décompressez le fichier tar.


    host2# cd /export/zones
    host2# tar xf my-zone.tar
    

Pour de plus amples informations, reportez-vous aux pages de manuel sftp(1) et tar(1).


Erreurs fréquentes

Consultez la section Résolution de problèmes via l'opération zoneadm attach pour obtenir des informations relatives à la résolution des problèmes suivants :

Étapes suivantes

Si vous avez copié les données (au lieu de reconfigurer un SAN), les données zonepath restent visibles sur l'hôte source alors même que la zone se trouve à présent en état Configuré. Vous pouvez supprimer le zonepath de l'hôte source manuellement une fois les données déplacées vers le nouvel hôte ou, reconnecter la zone à l'hôte source et utiliser la commande zoneadm uninstall pour supprimer le zonepath.

Solaris 10 5/08 : à propos de la validation d'une zone avant la migration

Avant de déplacer une zone vers une nouvelle machine, vous pouvez simuler sa migration grâce à l'option "no execute" -n.

La sous-commande zoneadm detach utilisée avec l'option -n génère un fichier manifest sur une zone en cours d'exécution sans séparer réellement cette dernière du système d'origine. L'état de la zone sur ce système demeure donc inchangé. Le fichier manifest de la zone est envoyé à stdout. L'administrateur global peut diriger cette sortie vers un fichier ou l'envoyer dans une commande distante en vue de sa validation immédiate sur l'hôte cible. La sous-commande zoneadm attach utilisée avec l'option -n interprète le fichier manifest et s'assure que la configuration de la machine cible permet effectivement d'héberger la zone sans procéder à un rattachement.

Il n'est pas nécessaire de configurer la zone du système cible sur le nouvel hôte avant de simuler un rattachement.

ProcedureSolaris 10 5/08 : méthode de validation d'une migration de zone avant la migration réelle

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Choisissez l'une des méthodes suivantes.

    • Générez le fichier manifest sur l'hôte source pour my-zone et envoyez la sortie dans une commande distante en vue de sa validation immédiate sur l'hôte cible :


      global# zoneadm -z my-zone detach -n | ssh remotehost zoneadm attach -n -
      

      Le trait d'union () figurant en fin de ligne spécifie la stdin pour le chemin.

      La validation est dirigée en sortie vers l'écran de l'hôte source, c'est-à-dire stdout.

    • Générez le fichier manifest sur l'hôte source pour my-zone et dirigez la sortie vers un fichier :


      global# zoneadm -z my-zone detach -n > filename
      

      Copiez le fichier manifest sur le nouveau système hôte, comme indiqué à la section Déplacement du zonepath vers un nouvel hôte, puis procédez à la validation :


      global# zoneadm attach -n path_to_manifest
      

      Le chemin peut contenir un trait d'union spécifiant la stdin.