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 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 DVD 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. Par 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 de remplacement, ni de le reconfigurer après son insertion.
Vous devez identifier les noms du chemin d'accès au périphérique d'initialisation du disque actuel et du nouveau disque afin de tester l'initialisation à partir du disque de remplacement et de pouvoir initialiser le système manuellement à 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
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
Exemple :
# zpool attach rpool c1t10d0s0 c1t9d0s0
Par 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
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
Par exemple :
# zpool detach rpool c1t10d0s0
SPARC : utilisez la commande eeprom ou la commande setenv à partir de la PROM d'initialisation SPARC.
x86 : reconfigurez le BIOS du système.
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 et en tant qu'instantanés 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 Oracle Solaris.
Pour plus d'informations sur le stockage à distance et la récupération d'instantanés 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.
Exemple :
remote# zfs create rpool/snaps
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 ""
local# zfs snapshot -r rpool@snap1 local# zfs list -r rpool NAME USED AVAIL REFER MOUNTPOINT rpool 7.84G 59.1G 109K /rpool rpool@snap1 21K - 106K - rpool/ROOT 4.78G 59.1G 31K legacy rpool/ROOT@snap1 0 - 31K - rpool/ROOT/s10zfsBE 4.78G 59.1G 4.76G / rpool/ROOT/s10zfsBE@snap1 15.6M - 4.75G - rpool/dump 1.00G 59.1G 1.00G - rpool/dump@snap1 16K - 1.00G - rpool/export 99K 59.1G 32K /export rpool/export@snap1 18K - 32K - rpool/export/home 49K 59.1G 31K /export/home rpool/export/home@snap1 18K - 31K - rpool/swap 2.06G 61.2G 16K - rpool/swap@snap1 0 - 16K -
Par exemple, pour envoyer les instantanés de pool racine à un pool distant sous forme de fichier, utilisez une syntaxe semblable à la suivante :
local# zfs send -Rv rpool@snap1 > /net/remote-system/rpool/snaps/rpool.snap1 sending from @ to rpool@snap1 sending from @ to rpool/ROOT@snap1 sending from @ to rpool/ROOT/s10zfsBE@snap1 sending from @ to rpool/dump@snap1 sending from @ to rpool/export@snap1 sending from @ to rpool/export/home@snap1 sending from @ to rpool/swap@snap1
Pour envoyer les instantanés de pool racine à un pool distant sous la forme d'instantanés, utilisez une syntaxe semblable à la suivante :
local# zfs send -Rv rpool@snap1 | ssh remote-system zfs receive -Fd -o canmount=off tank/snaps sending from @ to rpool@snap1 sending from @ to rpool/ROOT@snap1 sending from @ to rpool/ROOT/s10zfsBE@snap1 sending from @ to rpool/dump@snap1 sending from @ to rpool/export@snap1 sending from @ to rpool/export/home@snap1 sending from @ to rpool/swap@snap1
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.
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.
Par 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.
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
Par exemple :
# zpool create -f -o failmode=continue -R /a -m legacy -o cachefile= /etc/zfs/zpool.cache rpool c1t1d0s0
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.
Pour restaurer les instantanés d'un pool racine stockés dans un pool sur un système distant, utilisez une syntaxe semblable à la suivante :
# rsh remote-system zfs send -Rb tank/snaps/rpool@snap1 | zfs receive -F rpool
Exemple :
# zfs list
Exemple :
# zpool set bootfs=rpool/ROOT/zfsBE rpool
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
# 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@snap1 # zfs list -r rpool NAME USED AVAIL REFER MOUNTPOINT rpool 7.84G 59.1G 109K /rpool rpool@snap1 21K - 106K - rpool/ROOT 4.78G 59.1G 31K legacy rpool/ROOT@snap1 0 - 31K - rpool/ROOT/s10zfsBE 4.78G 59.1G 4.76G / rpool/ROOT/s10zfsBE@snap1 15.6M - 4.75G - rpool/dump 1.00G 59.1G 1.00G - rpool/dump@snap1 16K - 1.00G - rpool/export 99K 59.1G 32K /export rpool/export@snap1 18K - 32K - rpool/export/home 49K 59.1G 31K /export/home rpool/export/home@snap1 18K - 31K - rpool/swap 2.06G 61.2G 16K - rpool/swap@snap1 0 - 16K -
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.
# zfs rollback rpool@snap1 # zfs rollback rpool/ROOT@snap1 # zfs rollback rpool/ROOT/s10zfsBE@snap1
# init 6