1. Système de fichiers Oracle Solaris ZFS (introduction)
2. Mise en route d'Oracle Solaris ZFS
3. Différences entre les systèmes de fichiers Oracle Solaris ZFS et classiques
4. Gestion des pools de stockage Oracle Solaris ZFS
5. Installation et initialisation d'un système de fichiers racine ZFS Oracle Solaris
Installation et initialisation d'un système de fichiers racine Oracle Solaris ZFS (présentation)
Fonctions d'installation de ZFS
Version Oracle Solaris requise
Configuration requise générale relative au pool de stockage ZFS
Espace disque requis pour les pools de stockage ZFS
Configuration requise relative au pool de stockage ZFS
Installation d'un système de fichiers racine ZFS (installation initiale d'Oracle Solaris)
Création d'un pool racine ZFS mis en miroir (post-installation)
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 JumpStart)
Exemples de profils JumpStart pour ZFS
Problèmes de migration ZFS avec Live Upgrade
Utilisation de Live Upgrade pour migrer ou mettre à niveau un système avec zones (Solaris 10 10/08)
Configuration d'un système de fichiers racine ZFS avec racines de zone sur ZFS (Solaris 10 10/08)
Prise en charge ZFS des périphériques de swap et de vidage
Ajustement de la taille de vos périphériques de swap et de vidage ZFS
Dépannage du périphérique de vidage ZFS
Initialisation à partir d'un système de fichiers racine ZFS
Initialisation à partir d'un disque alternatif d'un pool racine ZFS mis en miroir
SPARC : Initialisation à partir d'un système de fichiers racine ZFS
x86 : initialisation à partir d'un système de fichiers ZFS racine
Résolution de problèmes de point de montage empêchant l'initialisation (Solaris 10 10/08)
Résolution des problèmes de point de montage ZFS
Initialisation en vue de la récupération dans un environnement racine ZFS
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
Restauration du pool racine ZFS ou des instantanés du pool racine
Remplacement d'un disque dans le pool racine ZFS
Création d'instantanés de pool racine
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
6. Gestion des systèmes de fichiers Oracle Solaris ZFS
7. Utilisation des instantanés et des clones ZFS Oracle Solaris
8. Utilisation des ACL et des attributs pour protéger les fichiers Oracle Solaris ZFS
9. Administration déléguée de ZFS dans Oracle Solaris
10. Rubriques avancées Oracle Solaris ZFS
11. Dépannage d'Oracle Solaris ZFS et récupération de pool
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 initialisable alternatif à l'aide de 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 plus d'informations, consultez les références suivantes :
Installation d'un système de fichiers racine ZFS (installation initiale d'Oracle Solaris)
Création d'un pool racine ZFS mis en miroir (post-installation)
Consultez les problèmes connus suivants relatifs aux pools racine ZFS mis en miroir :
Si vous remplacez un disque de pool racine en utilisant la commande zpool replace, vous devez installer les informations d'initialisation sur le nouveau disque à l'aide de la commande installboot ou installgrub. Si vous créez un pool racine ZFS mis en miroir à l'aide de la méthode d'installation initiale ou si vous utilisez la commande zpool attach pour connecter un disque au pool racine, cette étape n'est pas nécessaire. La syntaxe des commandes installboot et installgrub suit le modèle suivant :
SPARC :
sparc# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk
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 rpool 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 : indiquez le disque alternatif à l'invite ok. Par exemple :
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 Oracle Solaris et de la procédure Live Upgrade, le système de fichiers racine ZFS par défaut 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 options d'initialisation ZFS 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.
Exemple 5-11 SPARC : Initialisation à partir d'un environnement d'initialisation 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, la sortie lustatus suivante indique que deux environnements d'initialisation ZFS sont disponibles :
# 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
Exemple 5-12 SPARC : Initialisation d'un système de fichiers ZFS en mode de secours
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 Oracle Solaris ou de la procédure Live Upgrade pour initialiser ZFS automatiquement :
title Solaris 10 8/11 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
Exemple 5-13 x86 : Initialisation d'un système de fichiers ZFS
Lors de l'initialisation d'un système à 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. Par exemple :
title Solaris 10 8/11 X86 findroot (pool_rpool,0,a) kernel /platform/i86pc/multiboot -B $ZFS-BOOTFS module /platform/i86pc/boot_archive title Solaris failsafe findroot (pool_rpool,0,a) kernel /boot/multiboot kernel/unix -s -B console=ttya module /boot/x86.miniroot-safe
Exemple 5-14 x86 : Initialisation d'un système de fichiers ZFS en mode de secours
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 (pool_rpool,0,a) kernel /boot/multiboot kernel/unix -s -B console=ttya module /boot/x86.miniroot-safe
Le meilleur moyen de changer l'environnement d'initialisation actif est d'utiliser la commande luactivate. En cas d'échec de l'initialisation de l'environnement d'initialisation actif, qu'il soit dû à un patch défectueux ou à une erreur de configuration, le seul moyen de procéder à l'initialisation à partir d'un autre environnement d'initialisation consiste à le sélectionner lors de l'initialisation. Vous pouvez sélectionner un autre environnement d'initialisation en effectuant une initialisation explicite à partir de la PROM sur un système SPARC ou du menu GRUB sur un système x86.
Étant donné la présence d'un bogue dans la fonctionnalité 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 d'une 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 ZFS d'une zone possède un point de montage non valide, le point de montage peut être corrigé en procédant comme suit.
Exemple :
# zpool import rpool
Par exemple :
# zfs list -r -o name,mountpoint rpool/ROOT/s10up NAME MOUNTPOINT rpool/ROOT/s10up /.alt.tmp.b-VP.mnt/ rpool/ROOT/s10up/zones /.alt.tmp.b-VP.mnt//zones rpool/ROOT/s10up/zones/zonerootA /.alt.tmp.b-VP.mnt/zones/zonerootA
Le point de montage pour l'environnement d'initialisation racine (rpool/ROOT/s10up) 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.
Exemple :
# zfs inherit -r mountpoint rpool/ROOT/s10up # zfs set mountpoint=/ rpool/ROOT/s10up
Lorsque l'option d'initialisation d'un environnement d'initialisation spécifique est proposée, à l'invite de la PROM OpenBoot ou dans le menu GRUB, 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 root perdu ou résoudre tout problème similaire.
Vous devez effectuer une initialisation en mode de secours ou procéder à l'initialisation à partir d'autres supports 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 root 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.
Sur un système SPARC, saisissez ce qui suit à l'invite ok :
ok boot -F failsafe
Pour les systèmes x86, sélectionnez le mode de secours à partir du menu GRUB.
. . . 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.
# cd /a/etc
# TERM=vt100 # export TERM
# vi shadow
# 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 procéder à l'initialisation à partir d'un serveur d'installation sur le réseau ou à partir d'un DVD d'installation d'Oracle Solaris, importer le pool racine, monter l'environnement d'initialisation ZFS et tenter de résoudre le problème.
SPARC : sélectionnez l'une des méthodes d'initialisation suivantes :
ok boot cdrom -s ok boot net -s
Si vous n'utilisez pas l'option -s, vous devez quitter le programme d'installation.
x86 : initialisez le système à partir d'un réseau ou d'un DVD local.
# zpool import -R /a rpool
# zfs mount rpool/ROOT/zfsBE
# cd /a
# init 6