Ce chapitre décrit la procédure d'installation et d'initialisation d'un système de fichiers Oracle Solaris ZFS. La migration d'un système de fichiers racine UFS vers un système de fichiers ZFS à l'aide d'Oracle Solaris Live Upgrade y est également abordée.
Il contient les sections suivantes :
Installation et initialisation d'un système de fichiers racine Oracle Solaris ZFS (présentation)
Installation d'un système de fichiers racine ZFS (installation initiale)
Installation d'un système de fichiers racine ZFS (installation d'archive Oracle Solaris Flash)
Installation d'un système de fichiers racine ZFS (installation d'Oracle Solaris JumpStart)
Restauration du pool racine ZFS ou des instantanés du pool racine
Vous trouverez la liste des problèmes connus relatifs à cette version dans les Notes de version Oracle Solaris 10 9/10.
Vous trouverez des informations de dépannage mises à jour sur le site suivant :
http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide
À partir de la version Solaris 10 10/08, vous pouvez installer et initialiser un système de fichiers racine ZFS des manières suivantes :
Il est possible d'effectuer une installation initiale lorsque ZFS est sélectionné en tant que système de fichiers racine.
Vous pouvez utiliser la fonction Oracle Solaris Live Upgrade pour migrer d'un système de fichiers racine UFS vers un système de fichiers racine ZFS. Vous pouvez également utiliser Oracle Solaris Live Upgrade pour effectuer les tâches suivantes :
Créer un nouvel environnement d'initialisation dans un pool racine ZFS existant.
Créer un nouvel environnement d'initialisation dans un nouveau pool racine ZFS.
Vous pouvez utiliser un profil Oracle Solaris JumpStart pour installer automatiquement un système avec un système de fichiers racine ZFS.
À partir de la version Solaris 10 10/09, vous pouvez utiliser un profil JumpStart pour installer automatiquement un système avec une archive Flash ZFS.
Une fois qu'un système SPARC ou x86 est installé avec un système de fichiers racine ZFS ou migré vers un système de fichiers racine ZFS, le système s'initialise automatiquement à partir du système de fichiers racine ZFS. Pour plus d'informations sur les modifications apportées à l'initialisation, reportez-vous à la section Initialisation à partir d'un système de fichiers racine ZFS.
Les fonctions d'installation de ZFS suivantes sont disponibles dans cette version de Solaris :
Le programme interactif d'installation en mode texte de Solaris vous permet d'installer un système de fichiers racine UFS ou ZFS. Le système de fichiers par défaut est toujours UFS pour cette version de Solaris. Vous pouvez accéder au programme interactif d'installation en mode texte d'une des manières suivantes :
SPARC : utilisez la syntaxe suivante à partir du DVD d'installation de Solaris :
ok boot cdrom - text |
SPARC : utilisez la syntaxe suivante lors d'une initialisation à partir du réseau :
ok boot net - text |
x86 : sélectionnez l'option d'installation en mode texte.
Un profil JumpStart personnalisé permet d'accéder aux fonctionnalités suivantes :
Vous pouvez définir un profil pour la création d'un pool de stockage ZFS et désigner un système de fichiers ZFS d'initialisation.
Vous pouvez définir un profil pour identifier une archive Flash d'un pool racine ZFS.
Vous pouvez utiliser la fonction Oracle Solaris Live Upgrade pour migrer d'un système de fichiers racine UFS vers un système de fichiers racine ZFS. Les commandes lucreate et luactivate ont été améliorées afin de prendre en charge les pools et systèmes de fichiers ZFS.
Vous pouvez configurer un pool racine ZFS mis en miroir en sélectionnant deux disques au cours de l'installation. Vous pouvez également créer un pool racine ZFS mis en miroir en connectant d'autres disques une fois l'installation terminée.
Les périphériques de swap et de vidage sont automatiquement créés sur les volumes ZFS dans le pool racine ZFS.
Les fonctions d'installation suivantes ne sont pas disponibles dans la présente version :
La fonction d'installation de l'interface graphique permettant d'installer un système de fichiers racine ZFS n'est actuellement pas disponible.
La fonction d'installation Oracle Solaris Flash pour l'installation d'un système de fichiers racine ZFS n'est pas disponible en sélectionnant l'option d'installation Flash à partir l'option d'installation initiale. Cependant, vous pouvez créer un profil JumpStart pour identifier une archive Flash d'un pool racine ZFS. Pour plus d'informations, reportez-vous à la section Installation d'un système de fichiers racine ZFS (installation d'archive Oracle Solaris Flash).
Le programme de mise à niveau standard ne peut pas être utilisé pour mettre à niveau votre système de fichiers racine UFS avec un système de fichiers racine ZFS.
Assurez-vous de disposer de la configuration requise suivante avant d'installer un système avec un système de fichiers racine ZFS ou avant de migrer d'un système de fichiers racine UFS vers un système de fichiers racine ZFS.
Vous pouvez installer et initialiser un système de fichiers racine ZFS ou migrer vers un système de fichiers racine ZFS de différentes manières :
Installation d'un système de fichiers racine ZFS - disponible à partir de la version 10 10/08 de Solaris.
Migration à partir d'un système de fichiers racine UFS vers un système de fichiers racine ZFS avec Oracle Solaris Live Upgrade : vous devez avoir installé la version Solaris 10 10/08 ou une version supérieure, ou vous devez avoir effectué la mise à niveau vers cette version ou une version ultérieure.
Les sections suivantes décrivent l'espace requis de pool racine ZFS et la configuration requise.
La quantité minimale d'espace disponible requis sur le pool d'un système de fichiers racine ZFS est supérieure à celle d'un système de fichiers racine UFS car les périphériques de swap et de vidage doivent être distincts dans un environnement racine ZFS. Par défaut, le périphériques de swap et le périphériques de vidage ne sont qu'un même périphérique sur un système de fichiers racine UFS.
Lorsqu'un système est installé ou mis à niveau avec un système de fichiers racine ZFS, la taille de la zone de swap et du périphérique de vidage dépend de la quantité de mémoire physique. L'espace minimum du pool d'un système de fichiers racine ZFS d'initialisation dépend de la quantité de mémoire physique, de l'espace disque disponible et du nombre d'environnements d'initialisation à créer.
Consultez les exigence suivantes en matière d'espace disque pour les pools de stockage ZFS :
768 Mo de mémoire pour installer un système de fichiers ZFS racine ;
1 Go de mémoire pour de meilleures performances globales ;
16 Go d'espace disque minimum recommandés. L'espace disque est utilisé comme suit :
Zone de swap et périphérique de vidage : les tailles par défaut des volumes de swap et de vidage créés par le programme d'installation de Solaris sont les suivantes :
Installation initiale de Solaris : dans le nouvel environnement d'initialisation ZFS, la taille du volume de swap par défaut est calculée selon la moitié de la taille de la mémoire physique, de 512 Mo à 2 Go en règle générale. Vous pouvez ajuster la taille du volume de swap au cours de l'installation initiale.
La taille par défaut du volume de vidage est calculée par le noyau en fonction des informations dumpadm et de la taille de la mémoire physique. Vous pouvez régler la taille du volume de vidage au cours de l'installation initiale.
Oracle Solaris Live Upgrade : lors de la migration d'un système de fichiers racine UFS vers un système de fichiers racine ZFS, la taille par défaut du volume de swap de l'environnement d'initialisation ZFS est calculée selon la taille du périphérique de swap de l'environnement d'initialisation UFS. La taille par défaut du volume de swap est calculée en additionnant la taille de tous les périphériques de swap de l'environnement d'initialisation UFS. Un volume ZFS de cette taille est ensuite créé dans l'environnement d'initialisation ZFS. Si aucun périphérique de swap n'est défini dans l'environnement d'initialisation UFS, la taille par défaut du volume d'échange est définie sur 512 Mo.
Dans l'environnement d'initialisation ZFS, la taille du volume de vidage par défaut est définie selon la moitié de la taille de la mémoire physique. Cela va généralement de 512 Mo à 2 Go.
Vous pouvez ajuster la taille de vos volumes de swap et de vidage, dès lors que ces dernières prennent en charge les opérations du système. Pour plus d'informations, reportez-vous à la section Ajustement de la taille de vos périphériques de swap et de vidage ZFS.
Environnement d'initialisation : outre l'espace requis pour une nouvelle zone de swap et un nouveau périphérique de vidage ou les tailles ajustées d'une zone de swap et d'un périphérique de vidage, un environnement d'initialisation ZFS migré à partir d'un environnement d'initialisation UFS nécessite environ 6 Go. Chaque environnement d'initialisation ZFS cloné à partir d'un autre environnement d'initialisation ZFS ne nécessite aucun espace disque supplémentaire ; toutefois, lors de l'application de patchs, la taille de l'environnement d'initialisation peut augmenter. Tous les environnements d'initialisation ZFS d'un même pool racine utilisent les mêmes périphériques de swap et de vidage.
Composants du SE Solaris : tous les sous-répertoires du système de fichiers racine faisant partie de l'image du SE doivent se trouver dans le même jeu de données en tant que système de fichiers racine, à l'exception du fichier /var. En outre, tous les composants du SE Solaris doivent se trouver dans le pool racine, à l'exception des périphériques de swap et de vidage.
Le répertoire ou le jeu de données /var doit être un jeu de données unique. Par exemple, si vous voulez également utiliser Oracle Solaris Live Upgrade pour modifier ou appliquer un patch à un environnement d'initialisation ZFS ou créer une archive Flash de ce pool, vous ne pouvez pas créer un jeu de données /var descendant, tel que /var/tmp.
Par exemple, un système disposant de 12 Go d'espace disque risque d'être trop petit pour un environnement d'initialisation ZFS car chaque périphérique de swap et de vidage nécessite 2 Go et l'environnement d'initialisation ZFS migré à partir de l'environnement d'initialisation UFS nécessite environ 6 Go.
Vérifiez la configuration requise suivante pour le pool de stockage ZFS :
Le pool utilisé comme pool racine doit contenir une étiquette SMI. Cette condition doit être respectée si le pool est créé avec des tranches de disque.
Le pool doit exister sur une tranche de disque ou sur des tranches de disque qui sont mises en miroir. Si vous tentez d'utiliser une configuration de pool non prise en charge lors d'une migration effectuée par Oracle Live Upgrade, un message semblable au message suivant s'affiche :
ERROR: ZFS pool name does not support boot environments |
Pour obtenir une description détaillée des configurations de pool racine ZFS prises en charge, reportez-vous à la section Création d'un pool racine ZFS.
x86 : le disque doit comporter une partition Solaris fdisk. Une partitionfdisk Solaris est créée automatiquement lors de l'installation du système x86. Pour plus d'informations sur les partitions fdisk Solaris, reportez-vous à la section Guidelines for Creating an fdisk Partition du System Administration Guide: Devices and File Systems.
Les disques désignés comme disques d'initialisation dans un pool racine ZFS doivent être limités à 1 To sur les systèmes SPARC tout comme sur les systèmes x86.
La compression peut être activée sur le pool racine uniquement après l'installation de ce dernier. Aucun moyen ne permet d'activer la compression sur un pool racine au cours de l'installation. L'algorithme de compression gzip n'est pas pris en charge sur les pools racine.
Ne renommez pas le pool racine après sa création par une installation initiale ou une fois la migration d'Oracle Solaris Live Upgrade vers un système de fichiers racine ZFS effectuée. Si vous renommez le pool racine, cela peut empêcher l'initialisation du système.
Cette version de Solaris vous permet d'effectuer une installation initiale à l'aide du programme interactif d'installation en mode texte de Solaris pour créer un pool de stockage ZFS contenant un système de fichiers racine ZFS d'initialisation. Si vous disposez d'un pool de stockage ZFS à utiliser pour votre système de fichiers racine ZFS, vous devez utiliser Oracle Solaris Live Upgrade pour migrer votre système de fichiers racine UFS existant vers un système de fichiers racine ZFS dans un pool de stockage ZFS existant. Pour plus d'informations, reportez-vous à la section Migration d'un système de fichiers racine UFS vers un système de fichiers racine ZFS (Oracle Solaris Live Upgrade).
Si vous décidez de configurer des zones après l'installation initiale d'un système de fichiers racine ZFS et si vous prévoyez d'appliquer un patch au système ou de le mettre à niveau, reportez-vous aux sections Utilisation d'Oracle Solaris Live Upgrade pour migrer ou mettre à jour un système comportant des zones (Solaris 10 10/08) ou Utilisation d'Oracle Solaris Live Upgrade pour migrer ou mettre à jour un système avec zones (version Solaris 5 10/09 ou supérieure).
Si votre système contient déjà certains pools de stockage ZFS, le message ci-dessous permet de les reconnaître. Cependant, ces pools restent intacts, à moins que vous ne sélectionniez les disques du pool existant pour créer le pool de stockage.
There are existing ZFS pools available on this system. However, they can only be upgraded using the Live Upgrade tools. The following screens will only allow you to install a ZFS root system, not upgrade one. |
Tous les pools existants dont l'un des disques aura été sélectionné pour le nouveau pool seront détruits.
Avant de lancer l'installation initiale pour créer un pool de stockage ZFS, reportez-vous à la section Configuration requise pour l'installation d'Oracle Solaris et d'Oracle Solaris Live Upgrade pour la prise en charge de systèmes de fichiers ZFS.
Le processus interactif d'installation en mode texte de Solaris est le même que dans les versions précédentes de Solaris, exception faite d'un message vous invitant à créer un système de fichiers racine UFS ou ZFS. UFS demeure dans cette version le système de fichiers par défaut. Si vous sélectionnez un système de fichiers racine ZFS, un message vous invite à créer un pool de stockage ZFS. Les étapes à suivre pour installer un système de fichiers racine ZFS sont les suivantes :
Sélectionnez la méthode d'installation interactive de Solaris car aucune installation Solaris Flash n'est disponible pour créer un système de fichiers racine ZFS d'initialisation. Cependant, vous pouvez créer une archive Flash ZFS à utiliser pendant une installation JumpStart. Pour plus d'informations, reportez-vous à la section Installation d'un système de fichiers racine ZFS (installation d'archive Oracle Solaris Flash).
À compter de la version Solaris 10 10/08, vous pouvez migrer un système de fichier racine UFS vers un système de fichiers racine ZFS, à condition que la version Solaris 10 10/08 ou une version ultérieure soit déjà installée. Pour plus d'informations sur la migration vers un système de fichiers racine ZFS, reportez-vous à la section Migration d'un système de fichiers racine UFS vers un système de fichiers racine ZFS (Oracle Solaris Live Upgrade).
Pour créer un système de fichiers racine ZFS, sélectionnez l'option ZFS. Exemple :
Choose Filesystem Type Select the filesystem to use for your Solaris installation [ ] UFS [X] ZFS |
Une fois que vous avez sélectionné le logiciel à installer, vous êtes invité à sélectionner les disques pour créer votre pool de stockage ZFS. Cet écran est similaire à celui des versions précédentes de Solaris.
Select Disks On this screen you must select the disks for installing Solaris software. Start by looking at the Suggested Minimum field; this value is the approximate space needed to install the software you've selected. For ZFS, multiple disks will be configured as mirrors, so the disk you choose, or the slice within the disk must exceed the Suggested Minimum value. NOTE: ** denotes current boot disk Disk Device Available Space ============================================================================= [X] c1t0d0 69994 MB (F4 to edit) [ ] c1t1d0 69994 MB [-] c1t2d0 0 MB [-] c1t3d0 0 MB Maximum Root Size: 69994 MB Suggested Minimum: 8279 MB |
Vous pouvez sélectionner le ou les disques à utiliser pour le pool racine ZFS. Si vous sélectionnez deux disques, une configuration de double disque mis en miroir est définie pour le pool racine. Un pool mis en miroir comportant 2 ou 3 disques est optimal. Si vous disposez de 8 disques et que vous les sélectionnez tous, ces 8 disques seront utilisés pour le pool racine comme miroir géant. Cette configuration n'est pas optimale. Une autre possibilité consiste à créer un pool racine mis en miroir une fois l'installation initiale terminée. La configuration de pool RAID-Z n'est pas prise en charge pour le pool racine. Pour plus d'informations sur la configuration des pools de stockage ZFS, reportez-vous à la section Fonctions de réplication d'un pool de stockage ZFS.
Pour sélectionner 2 disques afin de créer un pool racine mis en miroir, utilisez les touches fléchées pour sélectionner le deuxième disque. Dans l'exemple suivant, les deux disques c1t1d0 et c1t2d0 sont sélectionnés en tant que disques de pool racine. Les deux disques doivent posséder une étiquette SMI et une tranche 0. Si les disques ne sont pas identifiés par une étiquette SMI ou ne contiennent aucune tranche, vous devez quitter le programme d'installation, utiliser l'utilitaire de formatage pour réétiqueter et repartitionner les disques, puis relancer le programme d'installation.
Select Disks On this screen you must select the disks for installing Solaris software. Start by looking at the Suggested Minimum field; this value is the approximate space needed to install the software you've selected. For ZFS, multiple disks will be configured as mirrors, so the disk you choose, or the slice within the disk must exceed the Suggested Minimum value. NOTE: ** denotes current boot disk Disk Device Available Space ============================================================================= [X] c1t0d0 69994 MB [X] c1t1d0 69994 MB (F4 to edit) [-] c1t2d0 0 MB [-] c1t3d0 0 MB Maximum Root Size: 69994 MB Suggested Minimum: 8279 MB |
Si la colonne Espace disponible renvoie la valeur 0 Mo, le disque dispose probablement d'une étiquette EFI. Si vous voulez utiliser un disque avec une étiquette EFI, vous devrez quitter le programme d'installation, réétiqueter le disque avec une étiquette SMI à l'aide de la commande format -e, puis relancer le programme d'installation.
Si vous ne créez pas de pool racine mis en miroir lors de l'installation, vous pouvez facilement en créer un après l'installation. Pour plus d'informations, reportez-vous à la section Création d'un pool racine mis en miroir (post-installation).
Une fois que vous avez sélectionné un ou plusieurs disques pour le pool de stockage ZFS, un écran semblable à l'écran suivant s'affiche :
Configure ZFS Settings Specify the name of the pool to be created from the disk(s) you have chosen. Also specify the name of the dataset to be created within the pool that is to be used as the root directory for the filesystem. ZFS Pool Name: rpool ZFS Root Dataset Name: s10s_u9wos_08 ZFS Pool Size (in MB): 69995 Size of Swap Area (in MB): 2048 Size of Dump Area (in MB): 1536 (Pool size must be between 6231 MB and 69995 MB) [X] Keep / and /var combined [ ] Put /var on a separate dataset |
Vous pouvez, à partir de cet écran, modifier le nom du pool ZFS, le nom du jeu de données, la taille du pool, ainsi que la taille du périphérique de swap et du périphérique de vidage en déplaçant les touches de contrôle du curseur sur les entrées et en remplaçant la valeur de texte par défaut par le nouveau texte. Vous pouvez aussi accepter les valeurs par défaut. Vous pouvez également modifier la méthode de création et de montage du système de fichiers /var.
Dans cet exemple, le nom de jeu de données racine est remplacé par zfsBE.
ZFS Pool Name: rpool ZFS Root Dataset Name: zfsBE ZFS Pool Size (in MB): 69995 Size of Swap Area (in MB): 2048 Size of Dump Area (in MB): 1536 (Pool size must be between 6231 MB and 69995 MB) [X] Keep / and /var combined [ ] Put /var on a separate dataset |
Vous pouvez modifier le profil d'installation dans ce dernier écran de l'installation. Exemple :
Profile The information shown below is your profile for installing Solaris software. It reflects the choices you've made on previous screens. ============================================================================ Installation Option: Initial Boot Device: c1t0d0 Root File System Type: ZFS Client Services: None Regions: North America System Locale: C ( C ) Software: Solaris 10, Entire Distribution Pool Name: rpool Boot Environment Name: zfsBE Pool Size: 69995 MB Devices in Pool: c1t0d0 c1t1d0 |
Une fois l'installation terminée, vérifiez les informations du pool de stockage et du système de fichiers ZFS. Exemple :
# zpool status pool: rpool state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c1t0d0s0 ONLINE 0 0 0 c1t1d0s0 ONLINE 0 0 0 errors: No known data errors # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 8.03G 58.9G 96K /rpool rpool/ROOT 4.47G 58.9G 21K legacy rpool/ROOT/zfsBE 4.47G 58.9G 4.47G / rpool/dump 1.50G 58.9G 1.50G - rpool/export 44K 58.9G 23K /export rpool/export/home 21K 58.9G 21K /export/home rpool/swap 2.06G 61.0G 16K - |
L'exemple de sortie de la commande zfs list identifie les composants du pool racine, notamment le répertoire rpool/ROOT, qui n'est pas accessible par défaut.
Pour créer un autre environnement d'initialisation ZFS dans le même pool de stockage, vous pouvez utiliser la commande lucreate. Dans l'exemple suivant, un nouvel environnement d'initialisation nommé zfs2BE est créé. L'environnement d'initialisation actuel s'appelle zfsBE, comme l'indique la sortie zfs list. Toutefois, tant que le nouvel environnement d'initialisation n'est pas créé, l'environnement d'initialisation actuel n'est pas reconnu par la sortie lustatus.
# lustatus ERROR: No boot environments are configured on this system ERROR: cannot determine list of all boot environment names |
Pour créer un environnement d'initialisation ZFS dans le même pool, utilisez une syntaxe du type suivant :
# lucreate -n zfs2BE INFORMATION: The current boot environment is not named - assigning name <zfsBE>. Current boot environment is named <zfsBE>. Creating initial configuration for primary boot environment <zfsBE>. The device </dev/dsk/c1t0d0s0> is not a root device for any boot environment; cannot get BE ID. PBE configuration successful: PBE name <zfsBE> PBE Boot Device </dev/dsk/c1t0d0s0>. Comparing source boot environment <zfsBE> file systems with the file system(s) you specified for the new boot environment. Determining which file systems should be in the new boot environment. Updating boot environment description database on all BEs. Updating system configuration files. Creating configuration for boot environment <zfs2BE>. Source boot environment is <zfsBE>. Creating boot environment <zfs2BE>. Cloning file systems from boot environment <zfsBE> to create boot environment <zfs2BE>. Creating snapshot for <rpool/ROOT/zfsBE> on <rpool/ROOT/zfsBE@zfs2BE>. Creating clone for <rpool/ROOT/zfsBE@zfs2BE> on <rpool/ROOT/zfs2BE>. Setting canmount=noauto for </> in zone <global> on <rpool/ROOT/zfs2BE>. Population of boot environment <zfs2BE> successful. Creation of boot environment <zfs2BE> successful. |
La création d'un environnement d'exécution ZFS au sein du même pool utilise les fonctions de clonage et d'instantané ZFS pour créer instantanément l'environnement d'exécution. Pour plus d'informations sur l'utilisation d'Oracle Solaris Live Upgrade pour une migration racine ZFS, reportez-vous à la section Migration d'un système de fichiers racine UFS vers un système de fichiers racine ZFS (Oracle Solaris Live Upgrade).
Vérifiez ensuite les nouveaux environnements d'initialisation. Exemple :
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- zfsBE yes yes yes no - zfs2BE yes no no yes - # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 8.03G 58.9G 97K /rpool rpool/ROOT 4.47G 58.9G 21K legacy rpool/ROOT/zfs2BE 116K 58.9G 4.47G / rpool/ROOT/zfsBE 4.47G 58.9G 4.47G / rpool/ROOT/zfsBE@zfs2BE 75.5K - 4.47G - rpool/dump 1.50G 58.9G 1.50G - rpool/export 44K 58.9G 23K /export rpool/export/home 21K 58.9G 21K /export/home rpool/swap 2.06G 61.0G 16K - |
Pour initialiser un système à partir d'un autre environnement d'initialisation, utilisez la commande luactivate. Après avoir activé l'environnement d'initialisation sur un système SPARC, vous pouvez utiliser la commande boot -L pour identifier les environnements d'initialisation disponibles lorsque le périphérique d'initialisation contient un pool de stockage ZFS. Lors de l'initialisation à partir d'un système x86, identifiez l'environnement d'initialisation à partir duquel effectuer l'initialisation dans le menu GRUB.
Par exemple, sur un système SPARC, utilisez la commande boot - L pour afficher une liste d'environnements d'initialisation disponibles. Pour initialiser le système à partir du nouvel environnement d'initialisation zfs2BE, sélectionnez l'option 2. Saisissez ensuite la commande boot -Z affichée.
ok boot -L Executing last command: boot -L Boot device: /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0 File and args: -L 1 zfsBE 2 zfs2BE Select environment to boot: [ 1 - 2 ]: 2 To boot the selected entry, invoke: boot [<root-device>] -Z rpool/ROOT/zfs2BE ok boot -Z rpool/ROOT/zfs2BE |
Pour plus d'informations sur l'initialisation d'un système de fichiers ZFS, reportez-vous à la section Initialisation à partir d'un système de fichiers racine ZFS.
Si vous n'avez pas créé de pool racine ZFS mis en miroir lors de l'installation, vous pouvez facilement en créer un après l'installation.
Pour obtenir des informations sur le remplacement d'un disque dans le pool racine ZFS, reportez-vous à la section Remplacement d'un disque dans le pool racine ZFS.
Affichez l'état du pool racine actuel.
# zpool status rpool pool: rpool state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 c1t0d0s0 ONLINE 0 0 0 errors: No known data errors |
Connectez un deuxième disque pour configurer un pool racine mis en miroir.
# zpool attach rpool c1t0d0s0 c1t1d0s0 Please be sure to invoke installboot(1M) to make 'c1t1d0s0' bootable. Make sure to wait until resilver is done before rebooting. |
Affichez l'état du pool racine pour confirmer la fin de la réargenture.
# zpool status rpool pool: rpool state: ONLINE status: One or more devices is currently being resilvered. The pool will continue to function, possibly in a degraded state. action: Wait for the resilver to complete. scrub: resilver in progress for 0h1m, 24.26% done, 0h3m to go config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c1t0d0s0 ONLINE 0 0 0 c1t1d0s0 ONLINE 0 0 0 3.18G resilvered errors: No known data errors |
Dans la sortie ci-dessus, le processus de réargenture n'est pas terminé. La réargenture est terminée lorsque des messages similaires aux suivants s'affichent :
scrub: resilver completed after 0h10m with 0 errors on Thu Mar 11 11:27:22 2010 |
Appliquez les blocs d'initialisation au deuxième disque, une fois la réargenture terminée.
sparc# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c1t1d0s0 |
x86# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t1d0s0 |
Assurez-vous que vous pouvez initialiser le système à partir du second disque.
Configurez le système pour qu'il puisse s'initialiser automatiquement à partir du nouveau disque à l'aide de la commande eeprom ou de la commande setenv de la PROM d'initialisation SPARC. Vous pouvez également reconfigurer le BIOS du PC.
À compter de la version Solaris 10 10/09, vous pouvez créer une archive Flash sur un système fonctionnant avec un système de fichiers racine UFS ou ZFS. Une archive Flash du pool ZFS racine contient l'intégralité de la hiérarchie du pool, à l'exception des volumes de swap et de vidage, ainsi que des jeux de données exclus. Lorsque l'archive Flash est installée, les volumes de swap et de vidage sont créés. Vous pouvez utiliser la méthode d'installation d'archive Flash pour effectuer les opérations suivantes :
Générer une archive Flash pouvant être utilisée pour installer et initialiser un système avec un système de fichiers racine ZFS.
Effectuer une installation JumpStart d'un système en utilisant une archive Flash ZFS. La création d'une archive Flash ZFS clone l'intégralité du pool racine, et non les environnements d'initialisation individuels. Les jeux de données individuels au sein du pool peuvent être exclus à l'aide de l'option D des commandes flarcreate et -flar.
Vérifiez les limitations suivantes avant d'installer un système avec une archive Flash ZFS :
Seule l'installation JumpStart d'une archive Flash ZFS est prise en charge. Vous ne pouvez pas utiliser l'option d'installation interactive d'une archive Flash pour installer un système avec un système de fichiers racine ZFS. Vous ne pouvez pas non plus utiliser une archive Flash pour installer un environnement d'initialisation ZFS avec Oracle Solaris Live Upgrade.
Vous pouvez uniquement installer une archive Flash sur un système doté de la même architecture que le système sur lequel vous avez créé l'archive Flash ZFS. Par exemple, une archive créée sur un système sun4u ne peut pas être installée sur un système sun4v.
Seule une nouvelle installation complète d'une archive Flash ZFS est prise en charge. Vous ne pouvez pas installer d'archive Flash différentielle d'un système de fichiers racine ZFS, ni installer une archive UFS/ZFS hybride.
Les archives Flash UFS existantes peuvent toujours être utilisées, mais uniquement pour installer un système de fichiers racine UFS. L'archive Flash ZFS peut uniquement être utilisée pour installer un système de fichiers racine ZFS.
Bien que la totalité du pool racine, mis à part les jeux de données exclus explicitement, soit archivée et installée, seul l'environnement d'initialisation ZFS qui est initialisé lors de la création de l'archive est utilisable après l'installation de l'archive Flash. Cependant, les pools archivés avec l'option R rootdir de la commande -flar ou flarcreate peuvent être utilisés pour archiver un autre pool racine que celui en cours d'initialisation.
Un nom de pool racine ZFS créé avec une archive Flash doit correspondre au nom du pool racine principal. Le nom du pool racine utilisé pour créer l'archive Flash correspond au nom attribué au pool créé. La modification du nom du pool n'est pas prise en charge.
Les options des commandes flarcreate et flar d'inclusion et d'exclusion des fichiers individuels ne sont pas prises en charge dans une archive Flash ZFS. Vous pouvez uniquement exclure des jeux de données entiers à partir d'une archive Flash ZFS.
La commande flar info n'est pas prise en charge par une archive Flash ZFS. Exemple :
# flar info -l zfs10u8flar ERROR: archive content listing not supported for zfs archives. |
Une fois un système principal installé avec la version Solaris 10 10/09 ou mis à niveau vers cette version, vous pouvez créer une archive Flash ZFS à utiliser pour installer un système cible. Le processus de base est le suivant :
Installez la version Solaris 10 10/09 ou mettez votre version à niveau sur le système principal. Ajoutez toutes les personnalisations que vous souhaitez.
Créez l'archive Flash ZFS avec la commande flarcreate sur le système principal. Tous les jeux de données du pool racine sont inclus dans l'archive Flash ZFS, à l'exception des volumes d'échange et de vidage.
Créez un profil JumpStart pour inclure les informations d'archive Flash sur le serveur d'installation.
Installez l'archive Flash ZFS sur le système cible.
Les options d'archive suivantes sont prises en charge lors de l'installation d'un pool racine ZFS avec une archive Flash :
Utilisez la commande flarcreate ou flar pour créer une archive Flash à partir du pool ZFS racine spécifié. Si aucune information n'est spécifiée, une archive Flash du pool racine par défaut est créée.
Utilisez la commande flarcreate -D dataset pour exclure les jeux de données spécifiés de l'archive Flash. Cette option peut être utilisée plusieurs fois pour exclure plusieurs jeux de données.
Une fois que vous avez installé une archive Flash ZFS, le système est configuré comme suit :
L'ensemble de la hiérarchie du jeu de données qui existait sur le système sur lequel l'archive Flash a été créée est recréé sur le système cible, mis à part tous les jeux de données qui ont été spécifiquement exclus au moment de la création de l'archive. Les volumes de swap et de vidage ne sont pas inclus dans l'archive Flash.
Le pool racine possède le même nom que le pool qui a été utilisé pour créer l'archive.
L'environnement d'initialisation actif au moment où l'archive Flash a été créée correspond à l'environnement d'initialisation actif et par défaut sur les systèmes déployés.
Une fois le système principal installé ou mis à niveau vers la version Solaris 10 10/09, créez une archive Flash du pool racine ZFS. Exemple :
# flarcreate -n zfsBE zfs10upflar Full Flash Checking integrity... Integrity OK. Running precreation scripts... Precreation scripts done. Determining the size of the archive... The archive will be approximately 4.94GB. Creating the archive... Archive creation complete. Running postcreation scripts... Postcreation scripts done. Running pre-exit scripts... Pre-exit scripts done. |
Créez un profil JumpStart comme vous le feriez pour installer un système quelconque sur le système à utiliser en tant que serveur d'installation. Par exemple, le profil suivant est utilisé pour installer l'archive zfs10upflar.
install_type flash_install archive_location nfs system:/export/jump/zfs10upflar partitioning explicit pool rpool auto auto auto mirror c0t1d0s0 c0t0d0s0 |
Vous pouvez créer un profil JumpStart pour installer un système de fichiers racine ZFS ou UFS.
Un profil spécifique au système de fichiers ZFS doit contenir le nouveau mot-clé pool. Le mot-clé pool installe un nouveau pool racine et un nouvel environnement d'initialisation est créé par défaut. Vous pouvez fournir le nom de l'environnement d'initialisation et créer un jeu de données /var distinct à l'aide des mots-clés bootenv installbe et des options bename et dataset.
Pour plus d'informations sur l'utilisation des fonctions JumpStart, reportez-vous au Guide d’installation d’Oracle Solaris 10 9/10 : installation JumpStart personnalisée et installation avancée.
Si vous décidez de configurer des zones après l'installation initiale d'un système de fichiers racine ZFS et si vous prévoyez l'application d'un patch au système ou sa mise à niveau, reportez-vous aux sections Utilisation d'Oracle Solaris Live Upgrade pour migrer ou mettre à jour un système comportant des zones (Solaris 10 10/08) ou Utilisation d'Oracle Solaris Live Upgrade pour migrer ou mettre à jour un système avec zones (version Solaris 5 10/09 ou supérieure).
Les mots-clés suivants sont autorisés dans un profil spécifique au système de fichiers ZFS :
Spécifie automatiquement la taille des tranches du pool, du volume d'échange ou de vidage. La taille du disque est contrôlée pour s'assurer que la taille minimale peut être satisfaite. Plus la taille est réduite, plus la taille du pool allouée est grande. Cette taille dépend de certaines contraintes, notamment de la taille des disques, des tranches conservées, etc.
Par exemple, lorsque vous spécifiez c0t0d0s0, une tranche de pool racine de taille optimale est créée si vous spécifiez les mots-clés all ou auto. Vous pouvez également indiquer une taille de tranche, de volume de swap ou de vidage spécifique.
Le mot-clé auto fonctionne de la même façon que le mot-clé all, lorsqu'il est utilisé avec un pool racine ZFS car les pools ne disposent pas d'espace inutilisé.
Identifie les caractéristiques de l'environnement d'initialisation.
Utilisez la syntaxe de mot-clé bootenv suivante pour créer un environnement racine ZFS d'initialisation :
bootenv installbe bename nom-d'environnement-d'initialisation [ dataset point-de-montage]
Crée un nouvel environnement d'initialisation identifié par l'option bename et l'entrée nom-d'environnement-d'initialisation, puis l'installe.
Identifie le nom-d'environnement-d'initialisation à installer.
Si l'option bename n'est pas utilisée avec le mot-clé pool, un environnement d'initialisation par défaut est créé.
Utilisez le mot-clé facultatif dataset pour identifier un jeu de données /var distinct du jeu de données racine. La valeur point-de-montage est actuellement limitée à /var. Par exemple, une ligne de syntaxe bootenv d'un jeu de données /var distinct est du type :
bootenv installbe bename zfsroot dataset /var |
Définit le pool racine à créer. La syntaxe de mot-clé suivante doit être respectée :
pool poolname poolsize swapsize dumpsize vdevlist |
Identifie le nom du pool à créer. Le pool est créé d'après la taille de pool spécifiée et avec les périphériques physiques spécifiés(vdevs). La valeur poolname ne doit pas identifier le nom d'un pool existant car celui-ci serait écrasé.
Spécifie la taille du pool à créer. La valeur peut être auto ou existing. La valeur auto attribue une taille de pool optimale en fonction des contraintes, notamment de la taille des disques, des tranches conservées, etc. La valeur existing signifie que les limites des tranches existantes de ce nom sont conservées et non pas écrasées. L'unité de taille supposée s'exprime en Mo, à moins de spécifier l'option g (Go).
Spécifie la taille du volume d'échange à créer. La valeur auto signifie que la taille de swap par défaut est utilisée. Vous pouvez spécifier une taille avec une valeur size. L'unité de taille supposée s'exprime en Mo, à moins de spécifier l'option g (Go).
Spécifie la taille du volume de vidage à créer. La valeur auto signifie que la taille de swap par défaut est utilisée. Vous pouvez spécifier une taille avec une valeur size. L'unité de taille supposée s'exprime en Mo, à moins de spécifier g (Go).
Spécifie un ou plusieurs périphériques à utiliser pour créer le pool. Le format de l'option vdevlist est identique au format de la commande zpool create. À l'heure actuelle, seules les configurations mises en miroir sont prises en charge lorsque plusieurs périphériques sont spécifiés. Les périphériques de l'option vdevlist doivent correspondre à des tranches du pool racine. La valeur any signifie que le logiciel d'installation sélectionne le périphérique approprié.
Vous pouvez mettre en miroir autant de disques que vous le souhaitez, mais la taille du pool créé est déterminée par le plus petit des disques spécifiés. Pour plus d'informations sur la création de pools de stockage mis en miroir, reportez-vous à la section Configuration de pool de stockage mis en miroir.
Cette section fournit des exemples de profils JumpStart spécifiques à ZFS.
Le profil suivant effectue une installation initiale spécifiée avec install_type initial-install dans un nouveau pool, identifié par pool newpool, dont la taille est automatiquement définie sur la taille des disques spécifiés par le mot-clé auto. La zone de swap et le périphérique de vidage sont automatiquement dimensionnés par le mot-clé auto dans une configuration de disques mis en miroir (mot-clé mirror et disques c0t0d0s0 et c0t1d0s0). Les caractéristiques de l'environnement d'initialisation sont définies par le mot-clé bootenv afin d'installer un nouvel environnement d'initialisation avec le mot-clé installbe ; un environnement (bename) portant le nom s10-xx est créé.
install_type initial_install pool newpool auto auto auto mirror c0t0d0s0 c0t1d0s0 bootenv installbe bename s10-xx |
Le profil suivant effectue une installation initiale avec le mot-clé install_type initial-install du méta-cluster SUNWCall dans un nouveau pool de 80 Go portant le nom newpool. Ce pool est créé avec un volume d'échange et un volume de vidage de 2 Go chacun dans une configuration mise en miroir dans l'un des deux périphériques disponibles dont la taille permet de créer un pool de 80 Go. Si deux périphériques de ce type ne sont pas disponibles, l'installation échoue. Les caractéristiques de l'environnement d'initialisation sont définies par le mot-clé bootenv afin d'installer un nouvel environnement d'initialisation avec le mot-clé installbe ; un environnement (bename) portant le nom s10–xx est créé.
install_type initial_install cluster SUNWCall pool newpool 80g 2g 2g mirror any any bootenv installbe bename s10-xx |
La syntaxe d'installation JumpStart permet de conserver ou de créer un système de fichiers UFS sur un disque contenant également un pool racine ZFS. Cette configuration n'est pas recommandée pour les systèmes de production, mais peut être utilisée pour les besoins en transition ou migration sur un petit système, tel qu'un ordinateur portable.
Prenez en compte les problèmes suivants avant de lancer une installation JumpStart d'un système de fichiers racine ZFS d'initialisation.
Un pool de stockage ZFS existant ne peut pas être utilisé lors d'une installation JumpStart pour créer un système de fichiers racine ZFS d'initialisation. Vous devez créer un pool de stockage ZFS conformément au type de syntaxe suivant :
pool rpool 20G 4G 4G c0t0d0s0 |
Vous devez créer le pool avec des tranches de disque plutôt qu'avec des disques entiers, comme décrit à la section Configuration requise pour l'installation d'Oracle Solaris et d'Oracle Solaris Live Upgrade pour la prise en charge de systèmes de fichiers ZFS. Par exemple, la syntaxe en gras dans l'exemple suivant n'est pas correcte :
install_type initial_install cluster SUNWCall pool rpool all auto auto mirror c0t0d0 c0t1d0 bootenv installbe bename newBE |
La syntaxe en gras dans l'exemple suivant est correcte :
install_type initial_install cluster SUNWCall pool rpool all auto auto mirror c0t0d0s0 c0t1d0s0 bootenv installbe bename newBE |
Les fonctions d'Oracle Solaris Live Upgrade concernant les composants UFS sont toujours disponibles et fonctionnent comme dans les versions précédentes de Solaris.
Les fonctions suivantes sont également disponibles :
Lorsque vous migrez un système de fichiers racine UFS vers un système de fichiers racine ZFS, vous devez désigner un pool de stockage ZFS existant à l'aide de l'option -p.
Si les composants du système de fichiers racine UFS sont répartis sur diverses tranches, ils sont migrés vers le pool racine ZFS.
Vous pouvez faire migrer un système comportant des zones, mais les configurations prises en charge sont limitées dans la version 10 10/08 de Solaris. À compter de la version 10 5/09, Solaris prend en charge davantage de configurations de zone. Pour plus d'informations, consultez les sections suivantes :
Si vous migrez vers un système sans zones, reportez-vous à la section Utilisation d'Oracle Solaris Live Upgrade pour migrer vers un système de fichiers racine ZFS (sans zones).
Lorsque vous créez un environnement d'initialisation ZFS dans le même pool, Oracle Solaris Live Upgrade peut faire appel aux fonctions d'instantané et de clonage ZFS. La création d'un environnement d'initialisation est de ce fait plus rapide que dans les versions précédentes de Solaris.
Pour plus d'informations sur l'installation d'Oracle Solaris et sur les fonctions d'Oracle Solaris Live Upgrade, reportez-vous au Guide d’installation Oracle Solaris 10 9/10 : planification des mises à niveau et de Solaris Live Upgrade.
Le processus de base de la migration d'un système de fichiers racine UFS vers un système de fichiers racine ZFS est le suivant :
Installez Solaris 10 10/08, 10 5/09, 10 10/09, 10 9/10 ou utilisez le programme de mise à niveau standard pour mettre à niveau une version précédente de Solaris 10 sur tout système SPARC ou x86 pris en charge.
Lorsque vous exécutez la version Solaris 10 10/08 ou une version supérieure, créez un pool de stockage ZFS pour votre système de fichiers racine ZFS.
Utilisez le composant Oracle Solaris Live Upgrade pour migrer votre système de fichiers UFS racine vers un système de fichiers ZFS racine.
Activez votre environnement d'initialisation ZFS à l'aide de la commande luactivate.
Pour plus d'informations sur la configuration requise de ZFS et d'Oracle Solaris Live Upgrade, reportez-vous à la section Configuration requise pour l'installation d'Oracle Solaris et d'Oracle Solaris Live Upgrade pour la prise en charge de systèmes de fichiers ZFS.
Vérifiez la liste de problèmes suivants avant d'utiliser Oracle Solaris Live Upgrade pour migrer votre système de fichiers racine UFS vers un système de fichiers racine ZFS :
L'option de mise à niveau standard de l'IG du programme d'installation d'Oracle Solaris n'est pas disponible pour la migration d'un système de fichiers racine UFS vers un système de fichiers racine ZFS. Pour migrer un système de fichiers UFS, vous devez utiliser Oracle Solaris Live Upgrade.
Avant de démarrer Oracle Solaris Live Upgrade, vous devez créer le pool de stockage ZFS à utiliser pour l'initialisation. En outre, en raison des limitations actuelles de l'initialisation, le pool racine ZFS doit être créé avec des tranches plutôt qu'avec des disques entiers. Exemple :
# zpool create rpool mirror c1t0d0s0 c1t1d0s0 |
Avant de créer le nouveau pool, assurez-vous que les disques à utiliser dans le pool portent une étiquette SMI (VTOC) au lieu d'une étiquette EFI. Si le disque a été réétiqueté avec une étiquette SMI, assurez-vous que le processus d'étiquetage n'a pas modifié le schéma de partitionnement. Dans la plupart des cas, toute la capacité du disque doit se trouver dans les tranches destinées au pool racine.
Vous ne pouvez pas utiliser Oracle Solaris Live Upgrade pour créer un environnement d'initialisation UFS à partir d'un environnement d'initialisation ZFS. Si vous migrez votre environnement d'initialisation UFS vers un environnement d'initialisation ZFS tout en conservant votre environnement d'initialisation UFS, vous pouvez initialiser l'un ou l'autre des environnements (UFS ou ZFS).
Ne renommez pas vos environnements d'initialisation ZFS à l'aide de la commande zfs rename car la fonction Oracle Solaris Live Upgrade ne détecte pas les changements de nom. Toute commande utilisée ultérieurement, notamment ludelete, échoue. Ne renommez en fait pas vos pools ZFS ni vos systèmes de fichiers ZFS si vous disposez d'environnements d'initialisation que vous souhaitez continuer à utiliser.
Lorsque vous créez un environnement d'initialisation alternatif cloné sur l'environnement d'initialisation principal, vous ne pouvez pas utiliser les options -f, -x, -y, - Y et -z pour inclure ou exclure des fichiers de l'environnement d'initialisation principal. Vous pouvez toutefois vous servir des options d'inclusion et d'exclusion dans les cas suivants :
UFS -> UFS UFS -> ZFS ZFS -> ZFS (different pool) |
Bien que vous puissiez utiliser Oracle Solaris Live Upgrade pour mettre à niveau votre système de fichiers racine UFS vers un système de fichiers racine ZFS, vous ne pouvez pas vous servir d'Oracle Solaris Live Upgrade pour mettre à niveau des systèmes de fichiers partagés ni des systèmes de fichiers qui ne sont pas des systèmes de fichiers racine.
Vous ne pouvez pas utiliser une commande lu pour créer ou migrer un système de fichiers racine ZFS.
Les exemples suivants illustrent la procédure de migration d'un système de fichiers racine UFS vers un système de fichiers racine ZFS.
Si vous migrez un système comportant des zones ou effectuez sa mise à jour, reportez-vous aux sections suivantes :
L'exemple suivant illustre la procédure de création d'un environnement d'initialisation d'un système de fichiers racine ZFS à partir d'un système de fichiers racine UFS. L'environnement d'initialisation actuel, ufsBE, qui contient un système de fichiers racine UFS, est identifié par l'option -c. Si vous n'incluez pas l'option -c, le nom actuel de l'environnement d'initialisation sera par défaut le nom du périphérique. Le nouvel environnement d'initialisation, zfsBE, est identifié par l'option -n. L'utilisation de la commande lucreate requiert l'existence préalable d'un pool de stockage ZFS .
Pour pouvoir mettre à niveau et initialiser le pool de stockage ZFS, vous devez le créer avec des tranches plutôt que des disques entiers. Avant de créer le nouveau pool, assurez-vous que les disques à utiliser dans le pool portent une étiquette SMI (VTOC) au lieu d'une étiquette EFI. Si le disque a été réétiqueté avec une étiquette SMI, assurez-vous que le processus d'étiquetage n'a pas modifié le schéma de partitionnement. Dans la plupart des cas, toute la capacité du disque doit se trouver dans la tranche destinée au pool racine.
# zpool create rpool mirror c1t2d0s0 c2t1d0s0 # lucreate -c ufsBE -n zfsBE -p rpool Analyzing system configuration. No name for current boot environment. Current boot environment is named <ufsBE>. Creating initial configuration for primary boot environment <ufsBE>. The device </dev/dsk/c1t0d0s0> is not a root device for any boot environment; cannot get BE ID. PBE configuration successful: PBE name <ufsBE> PBE Boot Device </dev/dsk/c1t0d0s0>. Comparing source boot environment <ufsBE> file systems with the file system(s) you specified for the new boot environment. Determining which file systems should be in the new boot environment. Updating boot environment description database on all BEs. Updating system configuration files. The device </dev/dsk/c1t2d0s0> is not a root device for any boot environment; cannot get BE ID. Creating configuration for boot environment <zfsBE>. Source boot environment is <ufsBE>. Creating boot environment <zfsBE>. Creating file systems on boot environment <zfsBE>. Creating <zfs> file system for </> in zone <global> on <rpool/ROOT/zfsBE>. Populating file systems on boot environment <zfsBE>. Checking selection integrity. Integrity check OK. Populating contents of mount point </>. Copying. Creating shared file system mount points. Creating compare databases for boot environment <zfsBE>. Creating compare database for file system </rpool/ROOT>. Creating compare database for file system </>. Updating compare databases on boot environment <zfsBE>. Making boot environment <zfsBE> bootable. Creating boot_archive for /.alt.tmp.b-qD.mnt updating /.alt.tmp.b-qD.mnt/platform/sun4u/boot_archive Population of boot environment <zfsBE> successful. Creation of boot environment <zfsBE> successful. |
Une fois l'exécution de la commande lucreate terminée, utilisez la commande lustatus pour afficher l'état de l'environnement d'initialisation. Exemple :
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- ufsBE yes yes yes no - zfsBE yes no no yes - |
Examinez ensuite la liste des composants ZFS. Exemple :
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 7.17G 59.8G 95.5K /rpool rpool/ROOT 4.66G 59.8G 21K /rpool/ROOT rpool/ROOT/zfsBE 4.66G 59.8G 4.66G / rpool/dump 2G 61.8G 16K - rpool/swap 517M 60.3G 16K - |
Utilisez ensuite la commande luactivate pour activer le nouvel environnement d'initialisation ZFS. Par exemple :
# luactivate zfsBE A Live Upgrade Sync operation will be performed on startup of boot environment <zfsBE>. ********************************************************************** The target boot environment has been activated. It will be used when you reboot. NOTE: You MUST NOT USE the reboot, halt, or uadmin commands. You MUST USE either the init or the shutdown command when you reboot. If you do not use either init or shutdown, the system will not boot using the target BE. ********************************************************************** . . . Modifying boot archive service Activation of boot environment <zfsBE> successful. |
Réinitialisez ensuite le système afin d'utiliser l'environnement d'initialisation ZFS.
# init 6 |
Confirmez que l'environnement d'initialisation ZFS est actif.
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- ufsBE yes no no yes - zfsBE yes yes yes no - |
Si vous repassez à l'environnement d'initialisation UFS, vous devez réimporter tous les pools de stockage ZFS créés au cours de l'initialisation de l'environnement d'initialisation ZFS car ils ne sont pas disponibles automatiquement dans l'environnement d'initialisation UFS.
Lorsque l'environnement d'initialisation UFS est obsolète, vous pouvez le supprimer à l'aide de la commande ludelete.
La création d'un environnement d'initialisation ZFS à partir d'un environnement d'initialisation ZFS du même pool est très rapide car l'opération fait appel aux fonctions d'instantané et de clonage ZFS. Si l'environnement d'initialisation actuel se trouve sur le même pool ZFS, l'option -p est omise.
Si vous disposez de plusieurs environnements d'initialisation ZFS, procédez comme suit pour sélectionner l'environnement d'initialisation à partir duquel vous voulez initialiser le système :
SPARC : vous pouvez utiliser la commande boot -L pour identifier les environnements d'initialisation disponibles et en sélectionner un à l'aide de la commande boot -Z.
x86 : vous pouvez sélectionner un environnement d'initialisation à partir du menu GRUB.
Pour plus d'informations, reportez-vous à l'Exemple 5–9.
# lucreate -n zfs2BE Analyzing system configuration. No name for current boot environment. INFORMATION: The current boot environment is not named - assigning name <zfsBE>. Current boot environment is named <zfsBE>. Creating initial configuration for primary boot environment <zfsBE>. The device </dev/dsk/c1t0d0s0> is not a root device for any boot environment; cannot get BE ID. PBE configuration successful: PBE name <zfsBE> PBE Boot Device </dev/dsk/c1t0d0s0>. Comparing source boot environment <zfsBE> file systems with the file system(s) you specified for the new boot environment. Determining which file systems should be in the new boot environment. Updating boot environment description database on all BEs. Updating system configuration files. Creating configuration for boot environment <zfs2BE>. Source boot environment is <zfsBE>. Creating boot environment <zfs2BE>. Cloning file systems from boot environment <zfsBE> to create boot environment <zfs2BE>. Creating snapshot for <rpool/ROOT/zfsBE> on <rpool/ROOT/zfsBE@zfs2BE>. Creating clone for <rpool/ROOT/zfsBE@zfs2BE> on <rpool/ROOT/zfs2BE>. Setting canmount=noauto for </> in zone <global> on <rpool/ROOT/zfs2BE>. Population of boot environment <zfs2BE> successful. Creation of boot environment <zfs2BE> successful. |
Vous pouvez mettre à niveau votre environnement d'initialisation ZFS à l'aide de packages ou de patchs supplémentaires.
Le processus de base est le suivant :
Créez un environnement d'initialisation alternatif à l'aide de la commande lucreate.
Activez et initialisez le système à partir de l'environnement d'initialisation alternatif.
Mettrez votre environnement d'initialisation ZFS principal à niveau à l'aide de la commande luupgrade pour ajouter des packages ou des patchs.
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- zfsBE yes no no yes - zfs2BE yes yes yes no - # luupgrade -p -n zfsBE -s /net/system/export/s10up/Solaris_10/Product SUNWchxge Validating the contents of the media </net/install/export/s10up/Solaris_10/Product>. Mounting the BE <zfsBE>. Adding packages to the BE <zfsBE>. Processing package instance <SUNWchxge> from </net/install/export/s10up/Solaris_10/Product> Chelsio N110 10GE NIC Driver(sparc) 11.10.0,REV=2006.02.15.20.41 Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. This appears to be an attempt to install the same architecture and version of a package which is already installed. This installation will attempt to overwrite this package. Using </a> as the package base directory. ## Processing package information. ## Processing system information. 4 package pathnames are already properly installed. ## Verifying package dependencies. ## Verifying disk space requirements. ## Checking for conflicts with packages already installed. ## Checking for setuid/setgid programs. This package contains scripts which will be executed with super-user permission during the process of installing this package. Do you want to continue with the installation of <SUNWchxge> [y,n,?] y Installing Chelsio N110 10GE NIC Driver as <SUNWchxge> ## Installing part 1 of 1. ## Executing postinstall script. Installation of <SUNWchxge> was successful. Unmounting the BE <zfsBE>. The package add to the BE <zfsBE> completed. |
Vous pouvez utiliser Oracle Solaris Live Upgrade pour migrer un système avec zones. Dans Solaris 10 10/08, les configurations prises en charge sont toutefois limitées. Si vous installez Solaris 10 5/09 ou effectuez une mise à niveau vers cette version, un nombre plus important de configurations de zone est pris en charge. Pour plus d'informations, reportez-vous à la section Utilisation d'Oracle Solaris Live Upgrade pour migrer ou mettre à jour un système avec zones (version Solaris 5 10/09 ou supérieure).
Cette section explique comment configurer et installer un système avec zones de manière à ce qu'il soit mis à jour et patché avec Oracle Solaris Live Upgrade. Si vous migrez vers un système de fichiers racine ZFS sans zones, reportez-vous à la section Utilisation d'Oracle Solaris Live Upgrade pour migrer vers un système de fichiers racine ZFS (sans zones).
Si vous migrez un système avec zones ou configurez un système avec zones dans Solaris 10 10/08, consultez les procédures suivantes :
Configuration d'un système de fichiers racine ZFS avec racines de zone sur ZFS (Solaris 10 10/08)
Résolution de problèmes de point de montage empêchant l'initialisation (Solaris 10 10/08)
Suivez les procédures recommandées pour configurer des zones sur un système avec système de fichiers racine ZFS pour vérifier que vous pouvez utiliser Oracle Solaris Live Upgrade sur ce système.
La procédure suivante explique comment migrer d'un système de fichiers racine UFS comportant des zones installées vers un système de fichiers racine ZFS et une configuration de racine de zone ZFS pouvant être mis à niveau ou patchés.
Dans les étapes suivantes de cet exemple, le pool porte le nom rpool et l'environnement d'initialisation actif porte le nom S10BE*.
Mettez le système à niveau à la version Solaris 10 10/08 si la version Solaris 10 exécutée est antérieure.
Pour plus d'informations sur la mise à niveau d'un système exécutant Solaris 10, reportez-vous au Guide d’installation Oracle Solaris 10 9/10 : planification des mises à niveau et de Solaris Live Upgrade.
Créez le pool racine.
# zpool create rpool mirror c0t1d0 c1t1d0 |
Pour plus d'informations sur la configuration requise pour le pool racine, reportez-vous à la section Configuration requise pour l'installation d'Oracle Solaris et d'Oracle Solaris Live Upgrade pour la prise en charge de systèmes de fichiers ZFS.
Confirmez que les zones de l'environnement UFS sont initialisées.
Créez le nouvel environnement d'initialisation ZFS.
# lucreate -n s10BE2 -p rpool |
Cette commande crée des jeux de données dans le pool racine pour le nouvel environnement d'initialisation et copie l'environnement d'initialisation actuel (zones incluses) vers ces jeux de données.
Activez le nouvel environnement d'initialisation ZFS.
# luactivate s10BE2 |
Le système exécute désormais un système de fichiers racine ZFS, mais les racines de zone sur UFS se trouvent toujours sur le système de fichiers racine UFS. Les étapes suivantes sont nécessaires pour finaliser la migration des zones UFS vers une configuration ZFS prise en charge.
Redémarrez le système.
# init 6 |
Migrez les zones vers un environnement d'initialisation ZFS.
Initialisez les zones.
Créez un autre environnement d'initialisation ZFS dans le pool.
# lucreate s10BE3 |
Activez le nouvel environnement d'initialisation.
# luactivate s10BE3 |
Redémarrez le système.
# init 6 |
Cette étape vérifie que l'environnement d'initialisation ZFS et les zones ont été initialisés.
Résolvez les éventuels problèmes de point de montage.
Étant donné la présence d'un bogue dans Oracle Solaris Live Upgrade, il se peut que l'environnement d'initialisation inactif ne puisse pas s'initialiser. Ce problème est lié à la présence d'un point de montage non valide dans un jeu de données ZFS ou dans un jeu de données ZFS d'une zone de l'environnement d'initialisation.
Contrôlez la sortie zfs list.
Vérifiez qu'elle ne contient aucun point de montage temporaire erroné. Exemple :
# zfs list -r -o name,mountpoint rpool/ROOT/s10u6 NAME MOUNTPOINT rpool/ROOT/s10u6 /.alt.tmp.b-VP.mnt/ rpool/ROOT/s10u6/zones /.alt.tmp.b-VP.mnt//zones rpool/ROOT/s10u6/zones/zonerootA /.alt.tmp.b-VP.mnt/zones/zonerootA |
Le point de montage pour l'environnement d'initialisation ZFS racine (rpool/ROOT/s10u6) doit être /.
Réinitialisez les points de montage pour l'environnement d'initialisation ZFS et ses jeux de données.
Exemple :
# zfs inherit -r mountpoint rpool/ROOT/s10u6 # zfs set mountpoint=/ rpool/ROOT/s10u6 |
Redémarrez le système.
Lorsque vous pouvez initialiser un environnement d'initialisation spécifique, soit par le biais du menu GRUB, soit à l'invite OpenBoot PROM, sélectionnez l'environnement d'initialisation dont les points de montage viennent d'être corrigés.
La procédure suivante explique comment installer un système de fichiers racine ZFS et une configuration racine de zone ZFS pouvant être mis à niveau ou patchés. Dans cette configuration, les racines de zone ZFS sont créées sous forme de jeux de données ZFS.
Dans les étapes suivantes de cet exemple, le pool porte le nom rpool et l'environnement d'initialisation actif porte le nom S10be. Le nom du jeu de données de zones peut être tout nom de jeu de données légal. Dans l'exemple suivant, le jeu de données des zones porte le nom zones.
Installez le système avec une racine ZFS en utilisant soit le programme d'installation en mode texte interactif Solaris, soit la méthode d'installation Solaris JumpStart.
Pour plus d'informations sur l'installation d'un système de fichiers racine ZFS en utilisant la méthode d'installation initiale ou Solaris JumpStart, reportez-vous à la section Installation d'un système de fichiers racine ZFS (installation initiale) ou Installation d'un système de fichiers racine ZFS (installation d'Oracle Solaris JumpStart).
Initialisez le système à partir du pool racine créé.
Créez un jeu de données pour le regroupement des racines de zone.
Exemple :
# zfs create -o canmount=noauto rpool/ROOT/s10BE/zones |
La définition de la valeur noauto de la propriété canmount permet d'éviter que le jeu de données ne soit monté d'une autre manière que par l'action explicite d'Oracle Solaris Live Upgrade et le code de démarrage du système.
Montez le jeu de données de zones créé.
# zfs mount rpool/ROOT/s10BE/zones |
Le jeu de données est monté sous /zones.
Créez et montez un jeu de données pour chaque racine de zone.
# zfs create -o canmount=noauto rpool/ROOT/s10BE/zones/zonerootA # zfs mount rpool/ROOT/s10BE/zones/zonerootA |
Définissez les droits appropriés dans le répertoire de racine de zone.
# chmod 700 /zones/zonerootA |
Configurez la zone en indiquant le chemin de zone comme suit :
# zonecfg -z zoneA zoneA: No such zone configured Use 'create' to begin configuring a new zone. zonecfg:zoneA> create zonecfg:zoneA> set zonepath=/zones/zonerootA |
Vous pouvez activer l'initialisation automatique des zones à l'initialisation du système en utilisant la syntaxe suivante :
zonecfg:zoneA> set autoboot=true |
Installez la zone.
# zoneadm -z zoneA install |
Initialisez la zone.
# zoneadm -z zoneA boot |
Suivez cette procédure pour mettre à niveau ou patcher un système de fichiers ZFS racine comportant des racines de zone. Ces mises à jour peuvent être une mise à niveau du système ou l'application de correctifs.
Dans les étapes suivantes, l'environnement d'initialisation mis à niveau ou corrigé porte le nom newBE.
Créez l'environnement d'initialisation à mettre à jour ou à corriger.
# lucreate -n newBE |
L'environnement d'initialisation existant, y compris toutes les zones, est cloné. Chaque jeu de données de l'environnement d'initialisation d'origine est créé. Ils sont créés dans le même pool que le pool racine actuel.
Sélectionnez l'une des options suivantes pour mettre à niveau le système ou appliquer les correctifs au nouvel environnement d'initialisation :
Mettez à niveau le système.
# luupgrade -u -n newBE -s /net/install/export/s10u7/latest |
L'option -s représente l'emplacement d'un mode d'installation Solaris.
Appliquez les correctifs au nouvel environnement d'initialisation.
# luupgrade -t -n newBE -t -s /patchdir 139147-02 157347-14 |
Activez le nouvel environnement d'initialisation.
# luactivate newBE |
Initialisez le système à partir de l'environnement d'initialisation récemment activé.
# init 6 |
Résolvez les éventuels problèmes de point de montage.
Étant donné la présence d'un bogue dans Oracle Solaris Live Upgrade, il se peut que l'environnement d'initialisation inactif ne puisse pas s'initialiser. Ce problème est lié à la présence d'un point de montage non valide dans un jeu de données ZFS ou dans un jeu de données ZFS d'une zone de l'environnement d'initialisation.
Contrôlez la sortie zfs list.
Vérifiez qu'elle ne contient aucun point de montage temporaire erroné. Exemple :
# zfs list -r -o name,mountpoint rpool/ROOT/newBE NAME MOUNTPOINT rpool/ROOT/newBE /.alt.tmp.b-VP.mnt/ rpool/ROOT/newBE/zones /.alt.tmp.b-VP.mnt/zones rpool/ROOT/newBE/zones/zonerootA /.alt.tmp.b-VP.mnt/zones/zonerootA |
Le point de montage pour l'environnement d'initialisation racine ZFS (rpool/ROOT/newBE) doit être /.
Réinitialisez les points de montage pour l'environnement d'initialisation ZFS et ses jeux de données.
Exemple :
# zfs inherit -r mountpoint rpool/ROOT/newBE # zfs set mountpoint=/ rpool/ROOT/newBE |
Redémarrez le système.
Lorsque vous pouvez initialiser un environnement d'initialisation spécifique, soit par le biais du menu GRUB, soit à l'invite OpenBoot PROM, sélectionnez l'environnement d'initialisation dont les points de montage viennent d'être corrigés.
À partir de la version 10 10/08 de Solaris, vous pouvez utiliser la fonctionnalité Oracle Solaris Live Upgrade pour migrer ou mettre à niveau un système avec zones. À partir de la version 10 5/09 de Solaris, Oracle Solaris Live Upgrade prend en charge des configurations de zone complète ou fragmentée.
Cette section décrit comment configurer et installer un système avec zones de manière à ce qu'il soit mis à niveau et corrigé avec Oracle Solaris Live Upgrade avec la version 10 5/09. Si vous migrez vers un système de fichiers racine ZFS sans zones, reportez-vous à la section Utilisation d'Oracle Solaris Live Upgrade pour migrer vers un système de fichiers racine ZFS (sans zones).
Tenez compte des points suivants lorsque vous utilisez Oracle Solaris Live Upgrade avec ZFS et les zones à partir de la version Solaris 10 5/09 :
À partir de la version 10 5/09 de Solaris, pour utiliser Oracle Solaris Live Upgrade avec des configurations de zone prises en charge, vous devez au préalable mettre à niveau votre système vers la version 10 5/09 de Solaris ou une version supérieure à l'aide du programme de mise à niveau standard.
Puis, avec Oracle Solaris Live Upgrade, vous pouvez soit migrer votre système de fichiers racine UFS avec racines de zone vers un système de fichiers racine ZFS, soit mettre à niveau votre système de fichiers racine ZFS et vos racines de zone ou leur appliquer un patch.
Vous ne pouvez pas migrer les configurations de zones non prises en charge à partir d'une version antérieure à Solaris 10 vers la version 10 5/09 de Solaris ou une version supérieure.
À partir de la version 10 5/09 de Solaris, si vous migrez ou configurez un système comportant des zones, vous devez vérifier les informations suivantes :
Vérifiez les configurations de zone prises en charge avant d'utiliser Oracle Solaris Live Upgrade pour migrer ou mettre à jour un système comportant des zones.
Migration d'un système de fichiers racine UFS vers un système de fichiers racine ZFS. Les configurations de racine de zone suivantes sont prises en charge :
Dans un répertoire du système de fichiers racine UFS
Dans le sous-répertoire d'un point de montage, dans le système de fichiers racine UFS
Système de fichiers racine UFS avec une racine de zone se trouvant dans le répertoire d'un système de fichiers racine UFS ou dans le sous-répertoire d'un point de montage d'un système de fichiers racine UFS et un pool ZFS non racine avec une racine de zone.
La configurations UFS/zone suivante n'est pas prise en charge : système de fichiers racine UFS avec racine de zone en tant que point de montage.
Migration ou mise à niveau d'un système de fichiers racine ZFS. Les configurations de racine de zone suivantes sont prises en charge :
Dans un jeu de données dans le pool racine ZFS. Dans certains cas, si un jeu de données n'est pas fourni pour la racine de zone avant l'opération Oracle Solaris Live Upgrade, un jeu de données pour la racine de zone (zoneds) est créé par Oracle Solaris Live Upgrade.
Dans un sous-répertoire du système de fichiers racine ZFS
Dans un jeu de données ne faisant pas partie du système de fichiers racine ZFS
Dans le sous-répertoire d'un jeu de données ne faisant pas partie du système de fichiers racine ZFS
Dans un jeu de données d'un pool non-racine. Dans l'exemple suivant, zonepool/zones est un jeu de données qui contient les racines de zone et rpool contient l'environnement d'initialisation ZFS :
zonepool zonepool/zones zonepool/zones/myzone rpool rpool/ROOT rpool/ROOT/myBE |
Oracle Solaris Live Upgrade prend un instantané et clone les zones contenues dans zonepool et dans l'environnement d'initialisation rpool, si vous utilisez la syntaxe suivante :
# lucreate -n newBE |
L'environnement d'initialisation newBE sous rpool/root/newBE est créé. Lorsque ce dernier est activé, l'environnement d'initialisation newBE fournit l'accès aux composants zonepool.
Dans l'exemple, si /zonepool/zones était un sous-répertoire et non un autre jeu de données, Live Upgrade le migrerait comme composant du pool racine, rpool.
Migration de zones ou informations de mise à niveau avec zones pour les environnements UFS et ZFS : vérifiez les éléments suivants, car ils sont susceptibles d'affecter les migrations ou les mises à jour d'un environnement ZFS ou UFS :
Si vous avez configuré les zones comme décrit à la section Utilisation d'Oracle Solaris Live Upgrade pour migrer ou mettre à jour un système comportant des zones (Solaris 10 10/08) dans la version Solaris 10 10/08 et que vous avez effectué une mise à niveau au moins vers la version Solaris 10 5/09, vous devriez pouvoir opérer une migration vers un système de fichiers racine ZFS ou bien une mise à niveau vers Solaris 10 5/09 à l'aide de Solaris Live Upgrade.
Ne créez aucune racine de zone dans les répertoires imbriqués, par exemple : zones/zone1 et zones/zone1/zone2. Sinon, le montage risque d'échouer lors de l'initialisation.
Après avoir procédé à l'installation initiale de la version Solaris 10 5/09 ou d'une version supérieure, suivez cette procédure pour créer un système de fichiers ZFS racine. Suivez également la procédure suivante si vous avez utilisé la fonction luupgrade pour mettre à niveau un système de fichiers racine ZFS vers la version 10 5/09 ou une version supérieure de Solaris. Un environnement d'initialisation ZFS créé à l'aide de cette procédure peut être mis à niveau ou corrigé à l'aide d'un patch.
Dans la procédure ci-après, l'exemple de système Oracle Solaris 10 9/10 comporte un système de fichiers racine ZFS et un jeu de données de racine de zone dans /rpool/zones. Un environnement d'initialisation ZFS nommé zfs2BE est créé et peut ensuite être mis à niveau ou corrigé à l'aide d'un patch.
Vérifiez les systèmes de fichiers ZFS existants.
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 7.26G 59.7G 98K /rpool rpool/ROOT 4.64G 59.7G 21K legacy rpool/ROOT/zfsBE 4.64G 59.7G 4.64G / rpool/dump 1.00G 59.7G 1.00G - rpool/export 44K 59.7G 23K /export rpool/export/home 21K 59.7G 21K /export/home rpool/swap 1G 60.7G 16K - rpool/zones 633M 59.7G 633M /rpool/zones |
Assurez-vous que les zones sont installées et initialisées.
# zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared 2 zfszone running /rpool/zones native shared |
Créez l'environnement d'initialisation ZFS.
# lucreate -n zfs2BE Analyzing system configuration. No name for current boot environment. INFORMATION: The current boot environment is not named - assigning name <zfsBE>. Current boot environment is named <zfsBE>. Creating initial configuration for primary boot environment <zfsBE>. The device </dev/dsk/c1t0d0s0> is not a root device for any boot environment; cannot get BE ID. PBE configuration successful: PBE name <zfsBE> PBE Boot Device </dev/dsk/c1t0d0s0>. Comparing source boot environment <zfsBE> file systems with the file system(s) you specified for the new boot environment. Determining which file systems should be in the new boot environment. Updating boot environment description database on all BEs. Updating system configuration files. Creating configuration for boot environment <zfs2BE>. Source boot environment is <zfsBE>. Creating boot environment <zfs2BE>. Cloning file systems from boot environment <zfsBE> to create boot environment <zfs2BE>. Creating snapshot for <rpool/ROOT/zfsBE> on <rpool/ROOT/zfsBE@zfs2BE>. Creating clone for <rpool/ROOT/zfsBE@zfs2BE> on <rpool/ROOT/zfs2BE>. Setting canmount=noauto for </> in zone <global> on <rpool/ROOT/zfs2BE>. Population of boot environment <zfs2BE> successful. Creation of boot environment <zfs2BE> successful. |
Activez l'environnement d'initialisation ZFS.
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- zfsBE yes yes yes no - zfs2BE yes no no yes - # luactivate zfs2BE A Live Upgrade Sync operation will be performed on startup of boot environment <zfs2BE>. . . . # init 6 |
Confirmez que les systèmes de fichiers ZFS et les zones sont créés dans le nouvel environnement d'initialisation.
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 7.38G 59.6G 98K /rpool rpool/ROOT 4.72G 59.6G 21K legacy rpool/ROOT/zfs2BE 4.72G 59.6G 4.64G / rpool/ROOT/zfs2BE@zfs2BE 74.0M - 4.64G - rpool/ROOT/zfsBE 5.45M 59.6G 4.64G /.alt.zfsBE rpool/dump 1.00G 59.6G 1.00G - rpool/export 44K 59.6G 23K /export rpool/export/home 21K 59.6G 21K /export/home rpool/swap 1G 60.6G 16K - rpool/zones 17.2M 59.6G 633M /rpool/zones rpool/zones-zfsBE 653M 59.6G 633M /rpool/zones-zfsBE rpool/zones-zfsBE@zfs2BE 19.9M - 633M - # zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared - zfszone installed /rpool/zones native shared |
Suivez cette procédure pour mettre à niveau ou corriger un système de fichiers ZFS racine avec racines de zone sur Solaris 10 5/09 ou version supérieure. Ces mises à jour peuvent être une mise à niveau du système ou l'application de correctifs.
Dans les étapes suivantes, zfs2BE est le nom de l'environnement d'initialisation mis à niveau ou corrigé.
Vérifiez les systèmes de fichiers ZFS existants.
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 7.38G 59.6G 100K /rpool rpool/ROOT 4.72G 59.6G 21K legacy rpool/ROOT/zfs2BE 4.72G 59.6G 4.64G / rpool/ROOT/zfs2BE@zfs2BE 75.0M - 4.64G - rpool/ROOT/zfsBE 5.46M 59.6G 4.64G / rpool/dump 1.00G 59.6G 1.00G - rpool/export 44K 59.6G 23K /export rpool/export/home 21K 59.6G 21K /export/home rpool/swap 1G 60.6G 16K - rpool/zones 22.9M 59.6G 637M /rpool/zones rpool/zones-zfsBE 653M 59.6G 633M /rpool/zones-zfsBE rpool/zones-zfsBE@zfs2BE 20.0M - 633M - |
Assurez-vous que les zones sont installées et initialisées.
# zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared 5 zfszone running /rpool/zones native shared |
Créez l'environnement d'initialisation ZFS à mettre à jour ou à corriger.
# lucreate -n zfs2BE Analyzing system configuration. Comparing source boot environment <zfsBE> file systems with the file system(s) you specified for the new boot environment. Determining which file systems should be in the new boot environment. Updating boot environment description database on all BEs. Updating system configuration files. Creating configuration for boot environment <zfs2BE>. Source boot environment is <zfsBE>. Creating boot environment <zfs2BE>. Cloning file systems from boot environment <zfsBE> to create boot environment <zfs2BE>. Creating snapshot for <rpool/ROOT/zfsBE> on <rpool/ROOT/zfsBE@zfs2BE>. Creating clone for <rpool/ROOT/zfsBE@zfs2BE> on <rpool/ROOT/zfs2BE>. Setting canmount=noauto for </> in zone <global> on <rpool/ROOT/zfs2BE>. Creating snapshot for <rpool/zones> on <rpool/zones@zfs10092BE>. Creating clone for <rpool/zones@zfs2BE> on <rpool/zones-zfs2BE>. Population of boot environment <zfs2BE> successful. Creation of boot environment <zfs2BE> successful. |
Sélectionnez l'une des options suivantes pour mettre à niveau le système ou appliquer les correctifs au nouvel environnement d'initialisation :
Mettez à niveau le système.
# luupgrade -u -n zfs2BE -s /net/install/export/s10up/latest |
L'option -s représente l'emplacement d'un mode d'installation Solaris.
Ce processus peut être très long.
Pour un exemple complet du processus luupgrade, reportez-vous à l'Exemple 5–6.
Appliquez les correctifs au nouvel environnement d'initialisation.
# luupgrade -t -n zfs2BE -t -s /patchdir patch-id-02 patch-id-04 |
Activez le nouvel environnement d'initialisation.
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- zfsBE yes yes yes no - zfs2BE yes no no yes - # luactivate zfs2BE A Live Upgrade Sync operation will be performed on startup of boot environment <zfs2BE>. . . . |
Initialisez le système à partir de l'environnement d'initialisation récemment activé.
# init 6 |
Dans cet exemple, un environnement d'initialisation ZFS (zfsBE), créé sur un système Solaris 10 10/09 avec un système de fichiers racine ZFS et une racine de zone dans un pool non-racine, est mis à niveau vers Solaris 10 9/10. Ce processus peut être long. L'environnement d'initialisation mis à niveau (zfs2BE) est ensuite activé. Assurez-vous que les zones sont installées et initialisées avant de tenter la mise à niveau.
Dans cet exemple, le pool zonepool, le jeu de données /zonepool/zones et la zone zfszone sont créés comme suit :
# zpool create zonepool mirror c2t1d0 c2t5d0 # zfs create zonepool/zones # chmod 700 zonepool/zones # zonecfg -z zfszone zfszone: No such zone configured Use 'create' to begin configuring a new zone. zonecfg:zfszone> create zonecfg:zfszone> set zonepath=/zonepool/zones zonecfg:zfszone> verify zonecfg:zfszone> exit # zoneadm -z zfszone install cannot create ZFS dataset zonepool/zones: dataset already exists Preparing to install zone <zfszone>. Creating list of files to copy from the global zone. Copying <8960> files to the zone. . . . |
# zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared 2 zfszone running /zonepool/zones native shared # lucreate -n zfsBE . . . # luupgrade -u -n zfsBE -s /net/install/export/s10up/latest 40410 blocks miniroot filesystem is <lofs> Mounting miniroot at </net/system/export/s10up/latest/Solaris_10/Tools/Boot> Validating the contents of the media </net/system/export/s10up/latest>. The media is a standard Solaris media. The media contains an operating system upgrade image. The media contains <Solaris> version <10>. Constructing upgrade profile to use. Locating the operating system upgrade program. Checking for existence of previously scheduled Live Upgrade requests. Creating upgrade profile for BE <zfsBE>. Determining packages to install or upgrade for BE <zfsBE>. Performing the operating system upgrade of the BE <zfsBE>. CAUTION: Interrupting this process may leave the boot environment unstable or unbootable. Upgrading Solaris: 100% completed Installation of the packages from this media is complete. Updating package information on boot environment <zfsBE>. Package information successfully updated on boot environment <zfsBE>. Adding operating system patches to the BE <zfsBE>. The operating system patch installation is complete. INFORMATION: The file </var/sadm/system/logs/upgrade_log> on boot environment <zfsBE> contains a log of the upgrade operation. INFORMATION: The file </var/sadm/system/data/upgrade_cleanup> on boot environment <zfsBE> contains a log of cleanup operations required. INFORMATION: Review the files listed above. Remember that all of the files are located on boot environment <zfsBE>. Before you activate boot environment <zfsBE>, determine if any additional system maintenance is required or if additional media of the software distribution must be installed. The Solaris upgrade of the boot environment <zfsBE> is complete. Installing failsafe Failsafe install is complete. # luactivate zfsBE # init 6 # lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- zfsBE yes no no yes - zfs2BE yes yes yes no - # zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared - zfszone installed /zonepool/zones native shared |
Suivez cette procédure pour migrer un système incluant un système de fichiers UFS racine et une racine de zone vers la version Solaris 10 5/09 ou version supérieure. Utilisez ensuite Oracle Solaris Live Upgrade pour créer un environnement d'initialisation ZFS.
Dans la procédure ci-après, l'exemple de nom de l'environnement d'initialisation UFS est c0t1d0s0, la racine de zone UFS est zonepool/zfszone et l'environnement d'initialisation racine est zfsBE.
Mettez le système à niveau vers la version Solaris 10 5/09 ou un version ultérieure si la version Solaris 10 exécutée est antérieure.
Pour plus d'informations sur la mise à niveau d'un système exécutant Solaris 10, reportez-vous au Guide d’installation Oracle Solaris 10 9/10 : planification des mises à niveau et de Solaris Live Upgrade.
Créez le pool racine.
Pour plus d'informations sur la configuration requise pour le pool racine, reportez-vous à la section Configuration requise pour l'installation d'Oracle Solaris et d'Oracle Solaris Live Upgrade pour la prise en charge de systèmes de fichiers ZFS.
Confirmez que les zones de l'environnement UFS sont initialisées.
# zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared 2 zfszone running /zonepool/zones native shared |
Créez le nouvel environnement d'initialisation ZFS.
# lucreate -c c1t1d0s0 -n zfsBE -p rpool |
Cette commande crée des jeux de données dans le pool racine pour le nouvel environnement d'initialisation et copie l'environnement d'initialisation actuel (zones incluses) vers ces jeux de données.
Activez le nouvel environnement d'initialisation ZFS.
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- c1t1d0s0 yes no no yes - zfsBE yes yes yes no - # luactivate zfsBE A Live Upgrade Sync operation will be performed on startup of boot environment <zfsBE>. . . . |
Redémarrez le système.
# init 6 |
Confirmez que les systèmes de fichiers ZFS et les zones sont créés dans le nouvel environnement d'initialisation.
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 6.17G 60.8G 98K /rpool rpool/ROOT 4.67G 60.8G 21K /rpool/ROOT rpool/ROOT/zfsBE 4.67G 60.8G 4.67G / rpool/dump 1.00G 60.8G 1.00G - rpool/swap 517M 61.3G 16K - zonepool 634M 7.62G 24K /zonepool zonepool/zones 270K 7.62G 633M /zonepool/zones zonepool/zones-c1t1d0s0 634M 7.62G 633M /zonepool/zones-c1t1d0s0 zonepool/zones-c1t1d0s0@zfsBE 262K - 633M - # zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared - zfszone installed /zonepool/zones native shared |
Dans cet exemple, un système Oracle Solaris 10 9/10 comprenant un système de fichiers racine UFS, une racine de zone (/uzone/ufszone), un pool non-racine ZFS (pool) et une racine de zone (/pool/zfszone) est migré vers un système de fichiers racine ZFS. Assurez-vous que le pool racine ZFS est créé et que les zones sont installées et initialisées avant de tenter la migration.
# zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared 2 ufszone running /uzone/ufszone native shared 3 zfszone running /pool/zones/zfszone native shared |
# lucreate -c ufsBE -n zfsBE -p rpool Analyzing system configuration. No name for current boot environment. Current boot environment is named <zfsBE>. Creating initial configuration for primary boot environment <zfsBE>. The device </dev/dsk/c1t0d0s0> is not a root device for any boot environment; cannot get BE ID. PBE configuration successful: PBE name <ufsBE> PBE Boot Device </dev/dsk/c1t0d0s0>. Comparing source boot environment <ufsBE> file systems with the file system(s) you specified for the new boot environment. Determining which file systems should be in the new boot environment. Updating boot environment description database on all BEs. Updating system configuration files. The device </dev/dsk/c1t1d0s0> is not a root device for any boot environment; cannot get BE ID. Creating configuration for boot environment <zfsBE>. Source boot environment is <ufsBE>. Creating boot environment <zfsBE>. Creating file systems on boot environment <zfsBE>. Creating <zfs> file system for </> in zone <global> on <rpool/ROOT/zfsBE>. Populating file systems on boot environment <zfsBE>. Checking selection integrity. Integrity check OK. Populating contents of mount point </>. Copying. Creating shared file system mount points. Copying root of zone <ufszone> to </.alt.tmp.b-EYd.mnt/uzone/ufszone>. Creating snapshot for <pool/zones/zfszone> on <pool/zones/zfszone@zfsBE>. Creating clone for <pool/zones/zfszone@zfsBE> on <pool/zones/zfszone-zfsBE>. Creating compare databases for boot environment <zfsBE>. Creating compare database for file system </rpool/ROOT>. Creating compare database for file system </>. Updating compare databases on boot environment <zfsBE>. Making boot environment <zfsBE> bootable. Creating boot_archive for /.alt.tmp.b-DLd.mnt updating /.alt.tmp.b-DLd.mnt/platform/sun4u/boot_archive Population of boot environment <zfsBE> successful. Creation of boot environment <zfsBE> successful. # lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- ufsBE yes yes yes no - zfsBE yes no no yes - # luactivate zfsBE . . . # init 6 . . . # zfs list NAME USED AVAIL REFER MOUNTPOINT pool 628M 66.3G 19K /pool pool/zones 628M 66.3G 20K /pool/zones pool/zones/zfszone 75.5K 66.3G 627M /pool/zones/zfszone pool/zones/zfszone-ufsBE 628M 66.3G 627M /pool/zones/zfszone-ufsBE pool/zones/zfszone-ufsBE@zfsBE 98K - 627M - rpool 7.76G 59.2G 95K /rpool rpool/ROOT 5.25G 59.2G 18K /rpool/ROOT rpool/ROOT/zfsBE 5.25G 59.2G 5.25G / rpool/dump 2.00G 59.2G 2.00G - rpool/swap 517M 59.7G 16K - # zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared - ufszone installed /uzone/ufszone native shared - zfszone installed /pool/zones/zfszone native shared |
Lors de l'installation initiale d'un SE Solaris ou après la migration d'Oracle Solaris Live Upgrade à partir d'un système de fichiers UFS, une zone de swap est créée sur un volume ZFS du pool racine ZFS. Par exemple :
# swap -l swapfile dev swaplo blocks free /dev/zvol/dsk/rpool/swap 256,1 16 4194288 4194288 |
Lors de l'installation initiale d'un SE Solaris ou de l'utilisation d'Oracle Solaris Live Upgrade à partir d'un système de fichiers UFS, un périphérique de vidage est créé sur un volume ZFS du pool racine ZFS. En règle générale, un périphérique de vidage ne nécessite aucune administration car il est créé automatiquement lors de l'installation. Exemple :
# dumpadm Dump content: kernel pages Dump device: /dev/zvol/dsk/rpool/dump (dedicated) Savecore directory: /var/crash/t2000 Savecore enabled: yes Save compressed: on |
Si vous désactivez et supprimez le périphérique de vidage, vous devrez l'activer avec la commande dumpadm après sa recréation. Dans la plupart des cas, vous devrez uniquement ajuster la taille du périphérique de vidage à l'aide de la commande zfs.
Pour plus d'informations sur les tailles des volumes de swap et de vidage créés par les programmes d'installation, reportez-vous à la section Configuration requise pour l'installation d'Oracle Solaris et d'Oracle Solaris Live Upgrade pour la prise en charge de systèmes de fichiers ZFS.
La taille des volume d'échange et de vidage peut être ajustée pendant et après l'installation. Pour plus d'informations, reportez-vous à la section Ajustement de la taille de vos périphériques de swap et de vidage ZFS.
Prenez en compte les points suivants lorsque vous travaillez avec des périphériques de swap et de vidage ZFS :
Vous devez utiliser des volumes ZFS distincts pour la zone de swap et le périphérique de vidage.
L'utilisation d'un fichier swap sur un système de fichiers ZFS n'est actuellement pas prise en charge.
Pour modifier la zone de swap ou le périphérique de vidage une fois le système installé ou mis à niveau, utilisez les commandes swap et dumpadm de la même façon que dans les versions Solaris précédentes. Pour plus d'informations, reportez-vous au Chapitre 20, Configuring Additional Swap Space (Tasks) du System Administration Guide: Devices and File Systems et au Chapitre 17, Managing System Crash Information (Tasks) du System Administration Guide: Advanced Administration (tous deux en anglais).
Pour de plus amples informations, reportez-vous aux sections suivantes :
La façon dont une installation racine ZFS détermine la taille des périphériques de swap et de vidage diffère ; il s'avère pour cela parfois nécessaire d'ajuster la taille des périphériques de swap et de vidage avant, pendant ou après l'installation.
Vous pouvez ajuster la taille de vos volumes de swap et de vidage au cours d'une installation initiale. Pour plus d'informations, reportez-vous à l'Exemple 5–1.
Vous pouvez créer des volumes de swap et de vidage, ainsi que leur attribuer une taille, avant de procéder à une opération Oracle Solaris Live Upgrade. Exemple :
Créer le pool de stockage.
# zpool create rpool mirror c0t0d0s0 c0t1d0s0 |
Créez le périphérique de vidage.
# zfs create -V 2G rpool/dump |
Activez le périphérique de vidage.
# dumpadm -d /dev/zvol/dsk/rpool/dump Dump content: kernel pages Dump device: /dev/zvol/dsk/rpool/dump (dedicated) Savecore directory: /var/crash/t2000 Savecore enabled: yes Save compressed: on |
Sélectionnez l'une des options suivantes pour créer la zone de swap :
SPARC : créez votre zone de swap. Configurez la taille du bloc sur 8 Ko.
# zfs create -V 2G -b 8k rpool/swap |
x86 : créez votre zone de swap. Configurez la taille du bloc sur 4 Ko.
# zfs create -V 2G -b 4k rpool/swap |
Vous devez activer le volume de swap lorsqu'un nouveau périphérique de swap est ajouté ou modifié.
Ajoutez une entrée pour le volume d'échange dans le fichier /etc/vfstab.
Oracle Solaris Live Upgrade ne redimensionne pas des volumes de swap et de vidage existants.
Vous pouvez rétablir la propriété volsize du périphérique de vidage après l'installation d'un système. Exemple :
# zfs set volsize=2G rpool/dump # zfs get volsize rpool/dump NAME PROPERTY VALUE SOURCE rpool/dump volsize 2G - |
Vous pouvez redimensionner le volume de swap, mais tant que le problème CR 6765386 existe, il est préférable de supprimer au préalable le périphérique de swap. Recréez-le par la suite. Exemple :
# swap -d /dev/zvol/dsk/rpool/swap # zfs volsize=2G rpool/swap # swap -a /dev/zvol/dsk/rpool/swap |
Pour plus d'informations sur la suppression d'un périphérique de swap sur un système actif, reportez-vous au site suivant :
http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide
Vous pouvez ajuster la taille des volumes de swap et de vidage d'un profil JumpStart à l'aide d'une syntaxe de profil semblable à la suivante :
install_type initial_install cluster SUNWCXall pool rpool 16g 2g 2g c0t0d0s0 |
Dans ce profil, les deux entrées 2g définissent respectivement la taille du volume de swap et de vidage sur 2 Go.
Si vous avez besoin de plus d'espace de swap sur un système déjà installé, il suffit d'ajouter un autre volume de swap. Exemple :
# zfs create -V 2G rpool/swap2 |
Activez ensuite le nouveau volume de swap. Exemple :
# swap -a /dev/zvol/dsk/rpool/swap2 # swap -l swapfile dev swaplo blocks free /dev/zvol/dsk/rpool/swap 256,1 16 1058800 1058800 /dev/zvol/dsk/rpool/swap2 256,3 16 4194288 4194288 |
Ajoutez ensuite une entrée pour le deuxième volume de swap dans le fichier /etc/vfstab .
Vérifiez les éléments suivants si vous rencontrez des problèmes soit lors de la capture d'un vidage mémmoire sur incident du système, soit lors du redimensionnement du périphérique de vidage.
Si un vidage mémoire sur incident n'a pas été automatiquement créé, vous pouvez utiliser la commande savecore pour enregistrer le vidage mémoire sur incident.
Lorsque vous installez un système de fichiers ZFS racine ou lorsque vous effectuez une migration vers un système de fichiers ZFS racine pour la première fois, un volume de vidage est automatiquement créé. Dans la plupart des cas, vous devrez uniquement ajuster la taille par défaut du périphérique de vidage si celle-ci est trop petite. Par exemple, vous pouvez augmenter la taille du volume de vidage jusqu'à 40 Go sur un système contenant une quantité de mémoire importante comme suit :
# zfs set volsize=40G rpool/dump |
Le redimensionnement d'un volume de vidage de grande ampleur peut prendre un certain temps.
Si, pour une raison quelconque, vous devez activer un périphérique de vidage après l'avoir créé manuellement, utilisez une syntaxe semblable à la suivante :
# dumpadm -d /dev/zvol/dsk/rpool/dump Dump content: kernel pages Dump device: /dev/zvol/dsk/rpool/dump (dedicated) Savecore directory: /var/crash/t2000 Savecore enabled: yes |
Un système avec 128 Go de mémoire ou plus nécessite un périphérique de vidage plus important que celui créé par défaut. Si le périphérique de vidage est trop petit pour capturer un vidage mémoire sur incident existant, un message semblable au suivant s'affiche :
# dumpadm -d /dev/zvol/dsk/rpool/dump dumpadm: dump device /dev/zvol/dsk/rpool/dump is too small to hold a system dump dump size 36255432704 bytes, device size 34359738368 bytes |
Pour plus d'informations sur la taille des périphériques de swap et de vidage, reportez-vous à la section Planning for Swap Space du System Administration Guide: Devices and File Systems.
Vous ne pouvez pas ajouter actuellement un périphérique de vidage à un pool avec plusieurs périphériques de niveau supérieur. Un message similaire à celui figurant ci-dessous s'affiche :
# dumpadm -d /dev/zvol/dsk/datapool/dump dump is not supported on device '/dev/zvol/dsk/datapool/dump': 'datapool' has multiple top level vdevs |
Ajoutez le périphérique de vidage au pool racine. Ce dernier ne peut pas contenir plusieurs périphériques de niveau supérieur.
Les systèmes SPARC et les systèmes x86 utilisent le nouveau type d'initialisation à l'aide d'une archive d'initialisation, qui est une image de système de fichiers contenant les fichiers requis pour l'initialisation. Lorsque vous initialisez un système à partir d'un système de fichiers racine ZFS, les noms de chemin de l'archive d'initialisation et du fichier noyau sont résolus dans le système de fichiers racine sélectionné pour l'initialisation.
Lorsque vous réinitialisez un système en vue d'une installation, un disque RAM est utilisé pour le système de fichiers racine tout au long du processus d'installation.
L'initialisation à partir d'un système de fichiers ZFS diffère de celle à partir d'un système de fichiers UFS car avec ZFS, un spécificateur de périphérique d'initialisation identifie un pool de stockage par opposition à un seul système de fichiers racine. Un pool de stockage peut contenir plusieurs jeux de données d'initialisation ou systèmes de fichiers racine ZFS. Lorsque vous initialisez un système à partir de ZFS, vous devez spécifier un périphérique d'initialisation et un système de fichiers racine contenu dans le pool qui a été identifié par le périphérique d'initialisation.
Par défaut, le jeu de données sélectionné pour l'initialisation est identifié par la propriété bootfs du pool. Cette sélection par défaut peut être remplacée en spécifiant un jeu de données d'initialisation alternatif dans la commande boot -Z.
Vous pouvez créer un pool racine ZFS mis en miroir lors de l'installation du système ou pouvez connecter un disque pour créer un pool racine ZFS mis en miroir après l'installation. Pour de plus amples informations, consultez les références suivantes :
Consultez les problèmes connus suivants relatifs aux pools racine ZFS mis en miroir :
CR 6668666 : vous devez installer les informations d'initialisation sur les disques supplémentaires que vous connectez, à l'aide de la commande installboot ou de la commande installgrub pour activer l'initialisation sur les autres disques du miroir. Si vous créez un pool racine ZFS mis en miroir par la méthode d'installation initiale, cette étape n'est pas nécessaire. Par exemple, si c0t1d0s0 est le deuxième disque ajouté au miroir, la syntaxe de la commande installboot ou la commande installgrub serait comme suit :
SPARC :
sparc# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c0t1d0s0 |
x86 :
x86# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c0t1d0s0 |
Vous pouvez effectuer l'initialisation à partir de divers périphériques d'un pool racine ZFS mis en miroir. Selon la configuration matérielle, la mise à jour de la PROM ou du BIOS peut s'avérer nécessaire pour spécifier un périphérique d'initialisation différent.
Vous pouvez par exemple effectuer l'initialisation à partir de l'un des deux disques (c1t0d0s0 ou c1t1d0s0) du pool suivant.
# zpool status pool: rpool state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c1t0d0s0 ONLINE 0 0 0 c1t1d0s0 ONLINE 0 0 0 |
SPARC : entrez le disque de rechange à l'invite ok.
ok boot /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0 |
Une fois le système réinitialisé, confirmez le périphérique d'initialisation actif. Exemple :
SPARC# prtconf -vp | grep bootpath bootpath: '/pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0,0:a' |
x86 : sélectionnez un autre disque dans le pool ZFS racine mis en miroir à partir du menu BIOS correspondant.
Utilisez ensuite une syntaxe semblable à la syntaxe suivante pour confirmer l'initialisation à partir du disque de rechange :
x86# prtconf -v|sed -n '/bootpath/,/value/p' name='bootpath' type=string items=1 value='/pci@0,0/pci8086,25f8@4/pci108e,286@0/disk@0,0:a' |
Sur un système SPARC avec environnements d'initialisation ZFS multiples, vous pouvez initialiser à partir de tout environnement d'initialisation en utilisant la commande luactivate.
Au cours de l'installation du SE Solaris et de la procédure Oracle Solaris Live Upgrade, le système de fichiers racine ZFS est automatiquement désigné avec la propriété bootfs.
Un pool peut contenir plusieurs jeux de données d'initialisation. Par défaut, l'entrée du jeu de données d'initialisation figurant dans le fichier /nom-du-pool/boot/menu.lst est identifiée par la propriété bootfs du pool. Cependant, une entrée menu.lst peut contenir une commande bootfs qui spécifie un jeu de données alternatif du pool. Le fichier menu.lst peut ainsi contenir les entrées de plusieurs systèmes de fichiers racine du pool.
Lorsqu'un système est installé avec un système de fichiers racine ZFS ou est migré vers un système de fichiers racine ZFS, une entrée du type suivant est ajoutée au fichier menu.lst :
title zfsBE bootfs rpool/ROOT/zfsBE title zfs2BE bootfs rpool/ROOT/zfs2BE |
Lorsqu'un nouvel environnement d'initialisation est créé, le fichier menu.lst est mis à jour automatiquement.
Sur un système SPARC, deux nouvelles options d'initialisation sont disponibles :
Une fois l'environnement d'initialisation activé, vous pouvez utiliser la commande d'initialisation -L pour afficher une liste de jeux de données d'initialisation contenus dans un pool ZFS. Vous pouvez ensuite sélectionner un des jeux de données d'initialisation de la liste. Des instructions détaillées permettant d'initialiser ce jeu de données s'affichent. Vous pouvez initialiser le jeu de données sélectionné en suivant ces instructions.
Vous pouvez utiliser la commande -Z dataset pour initialiser un jeu de données ZFS spécifique.
Si vous disposez de plusieurs environnements d'initialisation ZFS dans un pool de stockage ZFS situé sur le périphérique d'initialisation de votre système, vous pouvez utiliser la commande luactivate pour spécifier un environnement d'initialisation par défaut.
Par exemple, les environnements d'initialisation ZFS suivants sont disponibles comme décrit par la sortie de lustatus :
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- zfsBE yes no no yes - zfs2BE yes yes yes no - |
Si votre système SPARC comporte plusieurs environnements d'initialisation ZFS, vous pouvez également utiliser la commande boot -L pour initialiser le système à partir d'un autre environnement d'initialisation que celui par défaut. Cependant, un environnement d'initialisation démarrant à partir d'une session boot -L n'est pas redéfini en tant qu'environnement d'initialisation par défaut et la propriété bootfs n'est pas mise à jour. Si vous souhaitez qu'un environnement d'initialisation démarre par défaut à partir d'une session boot -L, vous devez activer ce dernier avec la commande luactivate.
Exemple :
ok boot -L Rebooting with command: boot -L Boot device: /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0 File and args: -L 1 zfsBE 2 zfs2BE Select environment to boot: [ 1 - 2 ]: 1 To boot the selected entry, invoke: boot [<root-device>] -Z rpool/ROOT/zfsBE Program terminated ok boot -Z rpool/ROOT/zfsBE |
Vous pouvez initialiser un système SPARC à partir de l'archive de secours située dans /platform/`uname -i`/failsafe, comme suit .
ok boot -F failsafe |
Pour initialiser une archive de secours à partir d'un jeu de données d'initialisation ZFS donné, employez une syntaxe du type suivant :
ok boot -Z rpool/ROOT/zfsBE -F failsafe |
Les entrées suivantes sont ajoutées au fichier /pool-name /boot/grub/menu.lst au cours du processus d'installation du SE Solaris ou de l'opération Oracle Solaris Live Upgrade pour initialiser ZFS automatiquement :
title Solaris 10 9/10 X86 findroot (rootfs0,0,a) kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS module /platform/i86pc/boot_archive title Solaris failsafe findroot (rootfs0,0,a) kernel /boot/multiboot kernel/unix -s -B console=ttya module /boot/x86.miniroot-safe |
Si le périphérique identifié par GRUB comme périphérique d'initialisation contient un pool de stockage ZFS, le fichier menu.lst est utilisé pour créer le menu GRUB.
Sur un système x86 contenant plusieurs environnements d'initialisation ZFS, vous pouvez sélectionner un environnement d'initialisation à partir du menu GRUB. Si le système de fichiers racine correspondant à cette entrée de menu est un jeu de données ZFS, l'option suivante est ajoutée:
-B $ZFS-BOOTFS |
Lorsqu'un système s'initialise à partir d'un système de fichiers ZFS, le périphérique racine est spécifié par le paramètre d'initialisation -B $ZFS-BOOTFS sur la ligne kernel ou module de l'entrée du menu GRUB. Cette valeur de paramètre, tout comme tous les paramètres spécifiés par l'option -B, est transmise par GRUB au noyau. Exemple :
title Solaris 10 9/10 X86 findroot (rootfs0,0,a) kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS module /platform/i86pc/boot_archive title Solaris failsafe findroot (rootfs0,0,a) kernel /boot/multiboot kernel/unix -s -B console=ttya module /boot/x86.miniroot-safe |
L'archive x86 de secours est /boot/x86.miniroot-safe et peut être initialisée en sélectionnant l'entrée "Solaris failsafe" dans le menu GRUB. Exemple :
title Solaris failsafe findroot (rootfs0,0,a) kernel /boot/multiboot kernel/unix -s -B console=ttya module /boot/x86.miniroot-safe |
Le meilleur moyen de changer d'environnement d'initialisation actif est d'utiliser la commande luactivate. En cas d'échec de l'initialisation de l'environnement actif, qu'il soit dû à un correctif défectueux ou à une erreur de configuration, le seul moyen d'initialiser à partir d'un environnement différent consiste à le sélectionner lors de l'initialisation. Vous pouvez sélectionner un autre environnement d'initialisation à partir du menu GRUB sur un système x86 ou en effectuant une initialisation explicite à partir du PROM sur un système SPARC.
Étant donné la présence d'un bogue dans la fonctionnalité Oracle Solaris Live Upgrade de Solaris 10 10/08, il se peut que l'environnement d'initialisation inactif ne puisse pas s'initialiser. Ce problème est lié à la présence d'un point de montage non valide dans les jeux de données ZFS ou dans le jeu de données ZFS de zone de l'environnement d'initialisation. Le même bogue empêche également le montage de l'environnement d'initialisation s'il dispose d'un jeu de données /var distinct.
Si le jeu de données d'une zone a un point de montage non valide, le point de montage peut être corrigé en procédant comme suit.
Initialisez le système à partir d'une archive de secours.
Importez le pool.
Exemple :
# zpool import rpool |
Vérifiez qu'elle ne contient aucun point de montage temporaire erroné.
Exemple :
# zfs list -r -o name,mountpoint rpool/ROOT/s10u6 NAME MOUNTPOINT rpool/ROOT/s10u6 /.alt.tmp.b-VP.mnt/ rpool/ROOT/s10u6/zones /.alt.tmp.b-VP.mnt//zones rpool/ROOT/s10u6/zones/zonerootA /.alt.tmp.b-VP.mnt/zones/zonerootA |
Le point de montage pour l'environnement d'initialisation racine (rpool/ROOT/s10u6) doit être /.
Si l'initialisation échoue à cause de problèmes de montage /var, recherchez un point de montage temporaire erroné similaire pour le jeu de données /var.
Réinitialisez les points de montage pour l'environnement d'initialisation ZFS et ses jeux de données.
Exemple :
# zfs inherit -r mountpoint rpool/ROOT/s10u6 # zfs set mountpoint=/ rpool/ROOT/s10u6 |
Redémarrez le système.
Lorsque vous pouvez initialiser un environnement d'initialisation spécifique, soit par le biais du menu GRUB, soit à l'invite OpenBoot PROM, sélectionnez l'environnement d'initialisation dont les points de montage viennent d'être corrigés.
Suivez la procédure suivante si vous devez initialiser le système pour pouvoir récupérer un mot de passe racine perdu ou tout problème similaire.
Vous devez démarrer en mode de secours ou en mode d'initialisation à partir d'autres média en fonction de la gravité de l'erreur. En règle générale, vous pouvez effectuer une initialisation en mode de secours pour récupérer un mot de passe racine perdu ou inconnu.
Initialisation d'un système de fichiers ZFS en mode de secours
Initialisation d'un système de fichiers ZFS à partir d'un autre média
Si vous devez récupérer un pool racine ou un instantané de pool racine, reportez-vous à la section Restauration du pool racine ZFS ou des instantanés du pool racine.
Effectuez une initialisation en mode de secours.
Sur un système SPARC :
ok boot -F failsafe |
Pour les systèmes x86, sélectionnez le mode de secours à partir de l'invite GRUB.
Lorsque vous y êtes invité, montez l'environnement d'exécution ZFS sur le répertoire /a :
. . . ROOT/zfsBE was found on rpool. Do you wish to have it mounted read-write on /a? [y,n,?] y mounting rpool on /a Starting shell. |
Accédez au répertoire /a/etc.
# cd /a/etc |
Définissez le type TERM, le cas échéant.
# TERM=vt100 # export TERM |
Corrigez le fichier passwd ou shadow.
# vi shadow |
Redémarrez le système.
# init 6 |
Si un problème empêche le système de s'initialiser correctement ou si tout autre problème grave se produit, vous devez effectuer une initialisation à partir d'un serveur d'installation sur le réseau ou à partir d'un CD-ROM d'installation Solaris, importer le pool racine, monter l'environnement d'initialisation ZFS et tenter de résoudre le problème.
Initialisez le système à partir d'un CD d'installation ou à partir du réseau.
SPARC :
ok boot cdrom -s ok boot net -s |
Si vous n'utilisez pas l'option -s, vous devrez quitter le programme d'installation.
x86 : initialisez le système à partir d'un réseau ou d'un CD en local.
Importez le pool racine et spécifiez un autre point de montage. Exemple :
# zpool import -R /a rpool |
Montez l'environnement d'initialisation ZFS. Exemple :
# zfs mount rpool/ROOT/zfsBE |
Accédez à l'environnement d'initialisation ZFS à partir du répertoire /a.
# cd /a |
Redémarrez le système.
# init 6 |
Les sections suivantes décrivent comment effectuer les tâches ci-dessous :
Recréation d'un pool racine ZFS et restauration d'instantanés de pool racine
Restauration des instantanés d'un pool racine à partir d'une initialisation de secours
Vous pouvez être amené à remplacer un disque dans le pool racine pour les raisons suivantes :
Le pool racine est trop petit et vous souhaitez remplacer un disque plus petit par un disque plus grand.
Un pool de disques est défectueux. Dans un pool non redondant, si le disque est défectueux et empêche l'initialisation du système, vous devrez initialiser votre système à partir d'un autre support, par exemple un CD ou le réseau, avant de remplacer le disque du pool racine.
Dans le cadre d'une configuration de pool racine mise en miroir, vous pouvez tenter de remplacer le disque sans effectuer une initialisation à partir d'un autre média. Vous pouvez remplacer un disque défaillant en utilisant la commande zpool replace. Si vous disposez d'un autre disque, vous pouvez également utiliser la commande zpool attach. Pour savoir comment connecter un autre disque et déconnecter un disque de pool racine, reportez-vous à la procédure de cette section.
Avec certains composants matériels, vous devez déconnecter le disque et en supprimer la configuration avant de tenter d'utiliser la commande zpool replace pour remplacer le disque défectueux. Exemple :
# zpool offline rpool c1t0d0s0 # cfgadm -c unconfigure c1::dsk/c1t0d0 <Physically remove failed disk c1t0d0> <Physically insert replacement disk c1t0d0> # cfgadm -c configure c1::dsk/c1t0d0 # zpool replace rpool c1t0d0s0 # zpool online rpool c1t0d0s0 # zpool status rpool <Let disk resilver before installing the boot blocks> SPARC# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c1t0d0s0 x86# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t9d0s0 |
Avec certains composants matériels, il n'est pas nécessaire de connecter le disque, ni de reconfigurer son remplacement après son insertion.
Vous devez identifier les chemins d'accès du périphérique d'initialisation du nouveau disque et du disque actuel afin de tester l'initialisation à partir du disque de remplacement et afin de pouvoir initialiser manuellement le système à partir du disque existant, en cas de dysfonctionnement du disque de remplacement. Dans l'exemple de la procédure suivante, le nom du chemin du disque de pool racine actuel (c1t10d0s0) est le suivant :
/pci@8,700000/pci@3/scsi@5/sd@a,0 |
Le nom du chemin du disque d'initialisation de remplacement (c1t9d0s0) est le suivant :
/pci@8,700000/pci@3/scsi@5/sd@9,0 |
Connectez physiquement le disque de remplacement (nouveau disque).
Confirmez que le nouveau disque possède une étiquette SMI et une tranche 0.
Pour plus d'informations sur le nouvel étiquetage d'un disque destiné au pool racine, visitez le site suivant :
http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide
Associez le nouveau disque au pool racine.
Exemple :
# zpool attach rpool c1t10d0s0 c1t9d0s0 |
Confirmez le statut du pool racine.
Exemple :
# zpool status rpool pool: rpool state: ONLINE status: One or more devices is currently being resilvered. The pool will continue to function, possibly in a degraded state. action: Wait for the resilver to complete. scrub: resilver in progress, 25.47% done, 0h4m to go config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c1t10d0s0 ONLINE 0 0 0 c1t9d0s0 ONLINE 0 0 0 errors: No known data errors |
Une fois la resynchronisation terminée, appliquez les blocs d'initialisation au nouveau disque.
Utilisez une syntaxe semblable à la syntaxe suivante :
SPARC :
# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c1t9d0s0 |
x86 :
# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t9d0s0 |
Vérifiez que vous pouvez initialiser le système à partir du nouveau disque.
Pour les systèmes SPARC, vous devez par exemple utiliser une syntaxe semblable à la syntaxe suivante :
ok boot /pci@8,700000/pci@3/scsi@5/sd@9,0 |
Si le système s'initialise à partir du nouveau disque, déconnectez l'ancien disque.
Exemple :
# zpool detach rpool c1t10d0s0 |
Configurez le système pour qu'il puisse s'initialiser automatiquement à partir du nouveau disque, à l'aide de la commande eeprom ou de la commande setenv de la PROM d'initialisation SPARC, ou reconfigurez le BIOS du PC.
Vous pouvez créer des instantanés de pool racine à des fins de récupération. La meilleure façon de créer des instantanés de pool racine consiste à effectuer un instantané récursif du pool racine.
La procédure suivante crée un instantané de pool racine récursif et le stocke en tant que fichier dans un pool sur un système distant. En cas de défaillance du pool racine, le jeu de données distant peut être monté à l'aide de NFS et le fichier d'instantané peut être reçu dans le pool recréé. Vous pouvez également stocker les instantanés de pool racine en tant qu'instantanés réels dans un pool d'un système distant. L'envoi et la réception des instantanés à partir d'un système distant est un peu plus complexe, car vous devez configurer ssh ou utiliser rsh pendant que le système à réparer est initialisé à partir de la mini-racine du système d'exploitation Solaris.
Pour plus d'informations sur le stockage et la récupération d'instantanés de pool racine à distance et afin d'obtenir les informations les plus récentes sur la récupération de pool racine, visitez le site :
http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide
La validation des instantanés stockés à distance en tant que fichiers ou instantanés est une étape importante dans la récupération du pool racine. En appliquant l'une des deux méthodes, les instantanés doivent être recréés régulièrement, par exemple, lorsque la configuration du pool est modifiée ou lorsque le SE Solaris est mis à niveau.
Dans la procédure suivante, le système est initialisé à partir de l'environnement d'initialisation zfsBE.
Créez un pool et un système de fichiers sur un système distant pour stocker les instantanés.
Exemple :
remote# zfs create rpool/snaps |
Partagez le système de fichiers avec le système local.
Exemple :
remote# zfs set sharenfs='rw=local-system,root=local-system' rpool/snaps # share -@rpool/snaps /rpool/snaps sec=sys,rw=local-system,root=local-system "" |
Créez un instantané récursif du pool racine.
local# zfs snapshot -r rpool@0804 local# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 6.17G 60.8G 98K /rpool rpool@0804 0 - 98K - rpool/ROOT 4.67G 60.8G 21K /rpool/ROOT rpool/ROOT@0804 0 - 21K - rpool/ROOT/zfsBE 4.67G 60.8G 4.67G / rpool/ROOT/zfsBE@0804 386K - 4.67G - rpool/dump 1.00G 60.8G 1.00G - rpool/dump@0804 0 - 1.00G - rpool/swap 517M 61.3G 16K - rpool/swap@0804 0 - 16K - |
Envoyez les instantanés du pool racine au système distant.
Exemple :
local# zfs send -Rv rpool@0804 > /net/remote-system/rpool/snaps/rpool.0804 sending from @ to rpool@0804 sending from @ to rpool/swap@0804 sending from @ to rpool/ROOT@0804 sending from @ to rpool/ROOT/zfsBE@0804 sending from @ to rpool/dump@0804 |
Dans cette procédure, on suppose les conditions suivantes :
Le pool racine ZFS ne peut pas être récupéré.
Les instantanés du pool racine ZFS sont stockés sur un système distant et sont partagés sur NFS.
Toutes les étapes sont effectuées sur le système local.
Initialisez le système à partir d'un CD/DVD ou du réseau.
SPARC : sélectionnez l'une des méthodes d'initialisation suivantes :
ok boot net -s ok boot cdrom -s |
Si vous n'utilisez pas l'option -s, vous devrez quitter le programme d'installation.
x86 : initialisez le système à partir du DVD ou du réseau. Quittez ensuite le programme d'installation.
Montez le jeu de données de l'instantané distant.
Exemple :
# mount -F nfs remote-system:/rpool/snaps /mnt |
Si vos services réseau ne sont pas configurés, il peut être nécessaire de spécifier l'adresse IP du système distant.
Si le disque du pool racine est remplacé et ne contient aucune étiquette de disque pouvant être utilisée par ZFS, vous devez renommer le disque.
Pour en savoir plus sur l'affectation d'un nouveau nom au disque, reportez-vous au site suivant :
http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide
Recréez le pool racine.
Exemple :
# zpool create -f -o failmode=continue -R /a -m legacy -o cachefile= /etc/zfs/zpool.cache rpool c1t1d0s0 |
Restaurez les instantanés du pool racine.
Cette étape peut prendre un certain temps. Exemple :
# cat /mnt/rpool.0804 | zfs receive -Fdu rpool |
L'utilisation de l'option -u implique que l'archive restaurée n'est pas montée à la fin de l'opération zfs receive.
Vérifiez que les jeux de données du pool racine sont restaurés.
Exemple :
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 6.17G 60.8G 98K /a/rpool rpool@0804 0 - 98K - rpool/ROOT 4.67G 60.8G 21K /legacy rpool/ROOT@0804 0 - 21K - rpool/ROOT/zfsBE 4.67G 60.8G 4.67G /a rpool/ROOT/zfsBE@0804 398K - 4.67G - rpool/dump 1.00G 60.8G 1.00G - rpool/dump@0804 0 - 1.00G - rpool/swap 517M 61.3G 16K - rpool/swap@0804 0 - 16K - |
Définissez la propriété bootfs sur l'environnement d'initialisation du pool racine.
Exemple :
# zpool set bootfs=rpool/ROOT/zfsBE rpool |
Installez les blocs d'initialisation sur le nouveau disque.
SPARC :
# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c1t1d0s0 |
x86 :
# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t1d0s0 |
Redémarrez le système.
# init 6 |
Cette procédure part du principe que les instantanés du pool racine existant sont disponibles. Dans l'exemple suivant, ils se trouvent sur le système local.
# zfs snapshot -r rpool@0804 # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 6.17G 60.8G 98K /rpool rpool@0804 0 - 98K - rpool/ROOT 4.67G 60.8G 21K /rpool/ROOT rpool/ROOT@0804 0 - 21K - rpool/ROOT/zfsBE 4.67G 60.8G 4.67G / rpool/ROOT/zfsBE@0804 398K - 4.67G - rpool/dump 1.00G 60.8G 1.00G - rpool/dump@0804 0 - 1.00G - rpool/swap 517M 61.3G 16K - rpool/swap@0804 0 - 16K - |
Arrêtez le système et initialisez-le en mode secours.
ok boot -F failsafe ROOT/zfsBE was found on rpool. Do you wish to have it mounted read-write on /a? [y,n,?] y mounting rpool on /a Starting shell. |
Annulez (roll back) chaque instantané du pool racine.
# zfs rollback rpool@0804 # zfs rollback rpool/ROOT@0804 # zfs rollback rpool/ROOT/zfsBE@0804 |
Réinitialisez le système en mode multi-utilisateur.
# init 6 |