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.
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 :
La zone globale dans le système cible doit exécuter la même version de Solaris que l'hôte d'origine.
Afin d'assurer une exécution correcte de la zone, le système cible doit disposer des mêmes versions de packages système et de patchs système requis que ceux qui sont installés sur l'hôte d'origine. Ils sont décrits ci-dessous.
packages délivrant les fichiers avec une ressource inherit-pkg-dir
packages où SUNW_PKG_ALLZONES=true
Pour les autres packages et patchs comme ceux des produits tiers, ils peuvent être différents.
Solaris 10 10/08 : si le nouvel hôte dispose d'une version plus récente des packages dépendants de la zone et des patchs associés, la commande zoneadm attach avec l'option -u met à jour les packages dans la zone afin qu'ils correspondent à ceux du nouvel hôte. Le logiciel de mise à jour lors du rattachement examine la zone à faire migrer et détermine les packages à mettre à jour pour les faire correspondre à ceux du nouvel hôte. Seuls ces packages sont mis à jour. Les autres packages, ainsi que les patchs qui leur sont associés, peuvent varier d'une zone à l'autre. Cette option permet également d'effectuer une migration automatique d'une classe de machine vers une autre, notamment de sun4u vers sun4v.
Solaris 10 9/10 : si le nouvel hôte dispose d'une version plus récente des packages et des patchs associés, la commande zoneadm attach avec l'option -U permet de mettre à jour ces packages dans la zone 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. Cette option permet également d'effectuer une migration automatique d'une classe de machine vers une autre, notamment de sun4u vers sun4v.
Solaris 10 5/09 : l'option -b peut être utilisée pour spécifier les patchs à désinstaller de la zone avant la mise à jour.
Les systèmes hôte et cible doivent avoir la même architecture machine à moins que l'option -u (utilisée pour les migrations entre les classes de machine sun4u et sun4v) ne soit utilisée.
Solaris 10 5/09 : l'option -b peut être utilisée pour spécifier les patchs, officiels ou Interim Diagnostics/Relief (IDR), devant être désinstallés de la zone pendant le rattachement. Vous pouvez spécifier plusieurs options -b. Si l'un des patchs ne peut pas être désinstallé pour quelque raison que ce soit, la commande attach échouera et aucun des patchs ne sera désinstallé.
Cette option s'applique uniquement aux marques de zone utilisant le package SVr4.
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é.
Vous devez vous connecter en tant qu'administrateur global de la zone globale pour effectuer cette procédure.
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.
Arrêtez la zone à migrer, ici my-zone.
host1# zoneadm -z my-zone halt |
Détachez la zone.
host1# zoneadm -z my-zone detach |
La zone détachée est maintenant en état configuré.
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.
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. |
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 |
(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 |
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 |
Validez la configuration et quittez-la.
zonecfg:my-zone> commit zonecfg:my-zone> exit |
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 |
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 |
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.
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.
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.
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.
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 |
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).
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 :
les patchs et les packages ne sont pas synchronisés ;
les versions de système d'exploitation ne correspondent pas.
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.
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.
Pour exécuter la procédure ci-dessous, vous devez être administrateur global.
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.
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.