Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
elearning:workbooks:solaris:10:junior:l116 [2019/11/30 09:43] adminelearning:workbooks:solaris:10:junior:l116 [2020/01/30 03:28] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 ~~PDF:LANDSCAPE~~ ~~PDF:LANDSCAPE~~
 +
 +Version: **2020.01**
  
 Dernière mise-à-jour : ~~LASTMOD~~ Dernière mise-à-jour : ~~LASTMOD~~
  
-Version: 1.11.01 +======SO210 - Gestion du système de fichiers ZFS======
- +
-======SO101 Système de Fichiers====== +
- +
-Le système de fichiers d'Unix est organisé autour d'une arborescence unique ayant un point de départ appelé la **racine**, représenté par le caractère **/**. En dessous de cette racine se trouvent des répertoires contenant fichiers et sous-répertoires. +
- +
-=====L'arborescence===== +
- +
-  * **/bin** : est une abréviation de ‘binary’ ou binaires. Sous Solaris /bin est un **lien symbolique** vers **/usr/bin**. Il contient des programmes tels ls.  +
-  * **/cdrom** : points de montage pour les CD et DVD.  +
-  * **/dev** : contient des **noms logiques** d’unités utilisés pour accéder à tout type de matériel. Ce sont des liens symboliques vers des **fichiers spéciaux** du répertoire **/devices**. Le répertoire /dev est organisé en  sous-répertoires, par exemple : +
-    * **/dev/dsk** : partitions disque en mode **bloc** +
-    * **/dev/rdsk** : partitions disque en mode **raw bloc** +
-    * **/dev/printers** : imprimantes +
-    * **/dev/rmt** : lecteurs de bandes +
-  * **/devices** : contient des **noms physiques** d'unités. +
-  * **/etc** : contient des fichiers de configuration.  +
-  * **/export** : contient le répertoire /home. Le répertoire /home contient les répertoires de chaque utilisateur, sauf l’utilisateur root, qui doivent être exportés par le serveur **NFS**. +
-  * **/home** : contient les répertoires des comptes locaux. +
-  * **/kernel** : contient le noyau Solaris (**genunix**) et les fichiers associés.  +
-  * **/lib** : contient les bibliothèques communes utilisées par les programmes. Sous Solaris /lib est un lien symbolique vers **/usr/lib**. +
-  * **/lost+found** : répertoire contenant des fichiers à récupérer par la commande **fsck**.  +
-  * **/mnt** : répertoire utilisé pour des montages occasionnels.  +
-  * **/opt** : répertoire utilisé pour l'installation des logiciels optionnels. +
-  * **/platform** : contient des fichiers spécifiques à la plate-forme matérielle.   +
-  * **/proc** : un **pseudo-filesystem** représentant les processus en activité.   +
-  * **/sbin** : contient des binaires, donc programmes, pour l’administration du système local. +
-  * **/system** : Point d'attache des pseudo-filesystems suivant : +
-    * **/system/contract** : système de fichiers au format **CTFS**, +
-    * **/system/object** : système de fichiers au format **OBJFS**. +
-  * **/tmp** : stocke des fichiers temporaires créés par des programmes. Il est vidé à chaque redémarrage du système.  +
-  * **/usr** : contient de nombreux répertoires tels : +
-    * **/usr/bin** : contient des commandes des utilisateurs, +
-    * **/usr/sbin** : contient des commandes administratives,  +
-    * **/usr/share/doc** : contient les HOWTO,  +
-    * **/usr/share/man** : contient les manuels. +
-  * **/var** : contient des fichiers de taille variable ainsi que des répertoires tels : +
-    * **/var/adm** : contient des fichiers journaux et comptabilité, +
-    * **/var/sadm** : répertoire de travail pour le gestionnaire de paquets logiciels. +
-  * **/vol** : répertoire du service **VOLD** (**VO**lume **M**anagement **D**aemon) utilisé pour monter et démonter automatiquement les périphériques amovibles.   +
- +
-Il existe trois types majeurs de fichier sous le système Solaris: +
- +
-  * les fichiers normaux ( ordinary files ) +
- +
-  * les répertoires ( directories ) +
- +
-  * les fichiers spéciaux ( special files ou Devices) +
- +
-Le fichiers normaux sont des fichiers textes, des tableaux ou des exécutables. +
- +
-La limite de la longueur du nom de fichier est de **255** caractères. +
- +
-Il y a une distinction entres les majuscules et le minuscules.  +
- +
-Le caractère **/** est interdit dans les noms des fichiers. +
- +
-L'espace est déconseillé dans les noms des fichiers. +
- +
-Si le nom d'un fichier commence par un ., le fichier devient caché. +
- +
-=====La commande mount===== +
- +
-La commande **mount** est utilisée pour monter un filesystem. Monter un filesystem est nécessaire afin d'avoir accès à son contenu. +
- +
-Les filesystems montés automatiquement par Solaris lors du démarrage sont décrits dans le fichier **/etc/vfstab** : +
- +
-<code> +
-# cat /etc/vfstab +
-#device             device              mount               FS      fsck    mount   mount +
-#to mount           to fsck             point               type    pass    at boot options +
-+
-fd                  -                   /dev/fd             fd      -       no      - +
-/proc                                 /proc               proc    -       no      - +
-/dev/dsk/c0t0d0s1                                       swap    -       no      - +
-/dev/dsk/c0t0d0s0   /dev/rdsk/c0t0d0s0  /                   ufs           no      - +
-/dev/dsk/c0t0d0s7   /dev/rdsk/c0t0d0s7  /export/home        ufs           yes     - +
-/devices            -                   /devices            devfs         no      - +
-sharefs                               /etc/dfs/sharetab   sharefs -       no      - +
-ctfs                -                   /system/contract    ctfs    -       no      - +
-objfs                                 /system/object      objfs         no      - +
-swap                -                   /tmp                tmpfs         yes     - +
-</code> +
- +
-Ce fichier comporte 7 colonnes : +
- +
-  * **device to mount** +
-    * Nom de la partition en mode bloc pour un filesystem UFS ou une zone de swap +
-    * Nom de la ressource NFS +
-    * Nom d'un répertoire pour un filesystem virtuel +
-  * **device to fsck** +
-    * Nom de la partition en mode bloc pour un filesystem UFS +
-    * Le signe **-** dans les autres cas car non significatif +
-  * **mount point** +
-    * Nom du répertoire de montage +
-    * Le signe **-** dans les autres cas car non significatif +
-  * **FS type** +
-    * Type de filesystem +
-  * **fsck pass** +
-    * **-** indique que le filesystem ne sera pas vérifié par fsck +
-    * **0** indique qu'un filesystem UFS ne sera pas vérifié par fsck mais un autre type sera vérifié +
-    * **1** indique que le filesystem sera vérifié par fsck dans l'ordre de son apparition dans ce fichier +
-    * **2** indique que le filesystem sera vérifié par fsck en parallèle +
-  * **mount at boot** +
-    * désigne si oui ou non le filesystem est monté au boot par la commande **mountall** +
-    * le filesystem racine prend toujours la valeur **no** car il est déjà monté au moment de l'interprétation de ce fichier +
-  * **mount options** +
-    * la valeur **-** indique toutes les options par défaut +
-    * ce champs peut comporter une liste d'options séparés par des virgules **sans espaces** +
-    * dans le cas d'un filesystem UFS, l'option **logging** est activée par défaut +
- +
- +
-Afin de monter un filesystem manuellement il est nécessaire de connaître : +
- +
-  * le nom da la partition exprimé sous la forme du fichier spécial en mode **bloc** +
-  * le répertoire de montage +
- +
-Une commande de montage ressemble à celle-ci : +
- +
-  mount /dev/dsk/c0t0d1s0 /point_de_montage +
- +
-où **point_de_montage** est un répertoire vide dans lequel est monté le filesystem /dev/dsk/c0d1s0. +
- +
-Le répertoire de montage doit être dédié à cet usage. Tout fichier dans le répertoire sera caché par la présence du contenu de /dev/dsk/c0d1s0. +
- +
-====Options de la commande==== +
- +
-Les options de la commande **mount** sont : +
- +
-<code> +
-# mount --help +
-mount: illegal option -- help +
-Usage: +
-mount [-v | -p] +
-mount [-F FSType] [-V] [current_options] [-o specific_options] +
-        {special | mount_point} +
-mount [-F FSType] [-V] [current_options] [-o specific_options] +
-        special mount_point +
-mount -a [-F FSType ] [-V] [current_options] [-o specific_options] +
-        [mount_point ...] +
-</code> +
- +
-=====La commande umount===== +
- +
-L'action de démontage est effectuée par l'utilsation de la commande **umount**. Une commande umount ressemble à : +
- +
-  umount /point_de_montage +
- +
-ou  +
- +
-  umount /dev/dsk/c0t0d1s0 +
- +
-Si le filesystem est en cours d'utilisation la commande umount échoue. +
- +
-Pour connaître les processus en cours, on dispose de la commande **fuser**. +
- +
-Par exemple, dans notre cas, le filesystem **/dev/dsk/c0t0d0s7** est monté sur /export/home : +
- +
-<code> +
-# cat /etc/vfstab | grep home +
-/dev/dsk/c0t0d0s7       /dev/rdsk/c0t0d0s7      /export/home    ufs           yes     - +
-</code> +
- +
-Dans le cas où vous êtes connecté en tant qu'un utilisateur normal et vous agissez en tant que root grâce à la commande su, vous ne pourrez pas démonter /export/home. Par contre, si vous vous connectez directement en tant que root, aucun processus utilise ce montage. +
- +
-<code> +
-# fuser -cu /export/home +
-/export/home: +
-</code> +
- +
-Les options de cette commande sont : +
- +
-  * -c +
-    * effectue une recherche récursive +
-  * -u +
-    * affiche les noms des propriétaires des processus trouvés +
- +
-Dans ce cas, vous pouvez démonter /export/home : +
- +
-<code> +
-# umount /export/home +
-</code> +
- +
-====Options de la commande==== +
- +
-Les options de la commande **umount** sont : +
- +
-<code> +
-# umount --help +
-umount: illegal option -- help +
-Usage: +
-umount [-f] [-V] [-o specific_options] {special | mount-point} +
-umount -a [-f] [-V] [-o specific_options] [mount_point ...] +
-</code> +
- +
-=====Le fichier /etc/mntab===== +
- +
-Les filesystems actuellement montés sont consignés dans le fichier **/etc/mntab**. Ce fichier peut être consulté mais pas modifié : +
- +
-<code> +
-# cat /etc/mnttab +
-/dev/dsk/c0t0d0s0       /       ufs     rw,intr,largefiles,logging,xattr,onerror=panic,dev=840000       1575092681 +
-/devices        /devices        devfs   dev=4b80000     1575092677 +
-ctfs    /system/contract        ctfs    dev=4c00001     1575092677 +
-proc    /proc   proc    dev=4bc0000     1575092677 +
-mnttab  /etc/mnttab     mntfs   dev=4c40001     1575092677 +
-swap    /etc/svc/volatile       tmpfs   xattr,dev=4c80001       1575092677 +
-objfs   /system/object  objfs   dev=4cc0001     1575092677 +
-sharefs /etc/dfs/sharetab       sharefs dev=4d00001     1575092677 +
-/usr/lib/libc/libc_hwcap1.so.1  /lib/libc.so.1  lofs    dev=840000      1575092680 +
-fd      /dev/fd fd      rw,dev=4e80001  1575092681 +
-swap    /tmp    tmpfs   xattr,dev=4c80002       1575092682 +
-swap    /var/run        tmpfs   xattr,dev=4c80003       1575092682 +
-/dev/dsk/c0t0d0s7       /export/home    ufs     rw,intr,largefiles,logging,xattr,onerror=panic,dev=840007       1575092688 +
--hosts  /net    autofs  nosuid,indirect,ignore,nobrowse,dev=4f40001     1575092690 +
-auto_home       /home   autofs  indirect,ignore,nobrowse,dev=4f40002    1575092690 +
-solaris.i2tch.loc:vold(pid588)  /vol    nfs     ignore,noquota,dev=4f00001      1575092690 +
-</code> +
- +
-Pour remonter /export/home, il convient d'utiliser la commande mount : +
- +
-<code> +
-# mount -F ufs /dev/dsk/c0t0d0s7 /export/home +
-</code> +
- +
-Regardez maintenant de nouveau le fichier /etc/mnttab : +
- +
-<code> +
-# cat /etc/mnttab +
-/dev/dsk/c0t0d0s0       /       ufs     rw,intr,largefiles,logging,xattr,onerror=panic,dev=840000       1575092681 +
-/devices        /devices        devfs   dev=4b80000     1575092677 +
-ctfs    /system/contract        ctfs    dev=4c00001     1575092677 +
-proc    /proc   proc    dev=4bc0000     1575092677 +
-mnttab  /etc/mnttab     mntfs   dev=4c40001     1575092677 +
-swap    /etc/svc/volatile       tmpfs   xattr,dev=4c80001       1575092677 +
-objfs   /system/object  objfs   dev=4cc0001     1575092677 +
-sharefs /etc/dfs/sharetab       sharefs dev=4d00001     1575092677 +
-/usr/lib/libc/libc_hwcap1.so.1  /lib/libc.so.1  lofs    dev=840000      1575092680 +
-fd      /dev/fd fd      rw,dev=4e80001  1575092681 +
-swap    /tmp    tmpfs   xattr,dev=4c80002       1575092682 +
-swap    /var/run        tmpfs   xattr,dev=4c80003       1575092682 +
--hosts  /net    autofs  nosuid,indirect,ignore,nobrowse,dev=4f40001     1575092690 +
-auto_home       /home   autofs  indirect,ignore,nobrowse,dev=4f40002    1575092690 +
-solaris.i2tch.loc:vold(pid588)  /vol    nfs     ignore,noquota,dev=4f00001      1575092690 +
-/dev/dsk/c0t0d0s7       /export/home    ufs     rw,intr,largefiles,logging,xattr,onerror=panic,dev=840007       1575094632 +
-</code> +
- +
-=====Options de montage pour un filesystem UFS===== +
- +
-Le dernier champs du fichier **/etc/vfstab** contient les options de montage : +
- +
-^ Option ^ Valeur par défaut ^ Description ^ +
-| rw/ro | rw | lecture/écriture ou lecture seule | +
-| largefiles/nolargefiles | largefiles | Création des fichiers de plus de 2Go | +
-| logging/nologging | logging | Journalisation ou non | +
-| atime/noatime | atime | Mise à jour ou non de la date de dernière consultation des fichiers non modifiés | +
-| exec/noexec | exec | Exécution ou non des programmes | +
-| devices/nodevices | devices | Accès ou non aux fichiers spéciaux | +
-| setuid/nosetuid | setuid | Prise en compte ou non des permissions SUID et SGID | +
-| suid/nosuid | suid | Combinaison de nodevices et nosetuid | +
-| quota | - | Activation des quotas | +
-| rq | - | Combinaison des options rw et quota | +
- +
-Ces options peuvent être aussi introduites sur la ligne de commande lors d'un montage manuel grâce à l'option **-o** de la commande mount. +
- +
-Les options d'un filesystem monté peuvent être consultées grâce à la commande **mount** : +
- +
-<code> +
-# mount | grep /export/home +
-/export/home on /dev/dsk/c0t0d0s7 read/write/setuid/devices/rstchown/intr/largefiles/logging/xattr/onerror=panic/dev=840007 on Sat Nov 30 07:17:12 2019 +
-</code> +
- +
-<note> +
-A l'aide du manuel et de l'internet, expliquez l'utilisation de **intr**, **xattr** et **onerror=panic** +
-</note> +
- +
-=====Le Filesystem UFS===== +
- +
-**UFS** (**U**nix **F**ile**S**ystem) est un filesystem de type **Berkeley** auquel ont été ajoutés des fonctions de **journalisation** appelées **UFS logging**. L'UFS logging crée un journal dans les blocs libres du filesystem. La taille est de 1Mo par Go de données avec un maximum de 64Mo. +
- +
-====Structure==== +
- +
-Chaque système UFS contient des **groupe de cylindres**. Chaque group de cylindres contient un : +
- +
-  * boot block +
-  * superbloc +
-  * inode +
-  * bloc d'indirection +
-  * bloc de données +
- +
-===boot block=== +
- +
-Ce bloc est utilisé quand le filesystem sert au démarrage. Il n'apparait donc que dans le premier groupe de cylindres et a une taille de 8Ko. +
- +
-===Superbloc=== +
- +
-Le superbloc contient : +
- +
-  * la taille des blocs +
-  * la taille du système de fichiers +
-  * le nombre de montages effectués pour ce système de fichiers +
-  * un pointeur vers la racine du système de fichiers +
-  * les pointeurs vers la liste des inodes libres +
-  * les pointeurs vers la liste des blocs de données libres +
- +
-Le Superbloc est dupliqué sur le système de fichiers. +
- +
-===Inodes=== +
- +
-En tapant la commande **ls -ld** vous obtenez une liste d'objets présents dans le répertoire courant. +
- +
-Le premier caractère de chaque ligne peut être un des suivants : +
- +
-  * **-** - un fichier +
-  * **d** - un répertoire +
-  * **l** - un lien symbolique +
-  * **b** - un périphérique du type bloc +
-  * **c** - un périphérique du type caractère +
-  * **p** - un tube nommé pour la communication entre processus +
-  * **s** - un socket dans un contexte réseau +
- +
-Par exemple : +
- +
-<code> +
-# ls -l /dev/*dsk/c0t0d0s0 +
-lrwxrwxrwx   1 root     root          47 Nov 29 13:41 /dev/dsk/c0t0d0s0 -> ../../devices/pci@0,0/pci8086,2829@d/disk@0,0:+
-lrwxrwxrwx   1 root     root          51 Nov 29 13:41 /dev/rdsk/c0t0d0s0 -> ../../devices/pci@0,0/pci8086,2829@d/disk@0,0:a,raw +
- +
-# ls -l /devices/pci@0,0/pci8086,2829@d/disk@0,0:a* +
-brw-r-----   1 root     sys       33,  0 Nov 30 06:44 /devices/pci@0,0/pci8086,2829@d/disk@0,0:+
-crw-r-----   1 root     sys       33,  0 Nov 30 07:20 /devices/pci@0,0/pci8086,2829@d/disk@0,0:a,raw +
-</code> +
- +
-Chaque fichier est représenté par un **inode**. L'inode, d'une taille de 128 octets contient : +
- +
-  * le type de fichier, soit **-**, **d**, **l**, **b**, **c**, **p**, **s** +
-  * les droits d'accès, par exemple **rwx  rw-  r--** +
-  * le nombre de liens physiques soit le nombre de noms +
-  * l'UID du créateur ou l'UID affecté par la commande **chown** s'il y a eu une modification +
-  * le GID du processus créateur ou le GID affecté par la commande **chgrp** +
-  * la taille du fichier en octets +
-  * la date de création, soit le **ctime** +
-  * la date de dernière modification, soit le **mtime** +
-  * la date du dernier accès, soit le **atime** +
-  * les adresses qui pointent vers les blocs de données du fichier +
- +
-Graphiquement, on peut schématiser cette organisation de la façon suivante : +
- +
-{{ :lf01:inodes.png?400 |}} +
- +
-Pour visualiser le numéro d'inode, utilisez l'option **-i** : +
- +
-<code> +
-# ls -ldi /dev/*dsk/c0t0d0s0 +
-    311303 lrwxrwxrwx   1 root     root          47 Nov 29 13:41 /dev/dsk/c0t0d0s0 -> ../../devices/pci@0,0/pci8086,2829@d/disk@0,0:+
-    311348 lrwxrwxrwx   1 root     root          51 Nov 29 13:41 /dev/rdsk/c0t0d0s0 -> ../../devices/pci@0,0/pci8086,2829@d/disk@0,0:a,raw +
- +
-# ls -ldi /devices/pci@0,0/pci8086,2829@d/disk@0,0:a* +
-  17301507 brw-r-----   1 root     sys       33,  0 Nov 30 06:44 /devices/pci@0,0/pci8086,2829@d/disk@0,0:+
-  17301508 crw-r-----   1 root     sys       33,  0 Nov 30 07:20 /devices/pci@0,0/pci8086,2829@d/disk@0,0:a,raw +
- +
-# ls -ldi /etc /etc/passwd +
-       824 drwxr-xr-x  86 root     sys         4608 Nov 30 06:44 /etc +
-      1301 -rw-r--r--   1 root     sys          710 Jan 11  2013 /etc/passwd +
-</code> +
- +
-===Blocs d'Indirection=== +
- +
-L'inode contient les adresses des blocs de données du fichier. Par un système de blocs d'indirection, la taille maximale d'un fichier peut être de 1 téraoctet et la taille maximale du filesystem de 16 téraoctets. +
- +
-===Blocs de données=== +
- +
-Les données sont stockées dans des blocs de données. Dans le cas d'un répertoire, le bloc de données contient une table qui référence les inodes et les noms des fichiers dans le répertoire. +
- +
-Le nom d'un fichier est stocké dans le bloc de données et non pas dans l'inode. Cette particularité nous permet de donnéer deux noms différents au même fichier. Pour ajouter un nouveau nom à un fichier, il convient de créer un **lien physique**. +
- +
-====Liens Physiques==== +
- +
-Un lien physique se crée en utilisant la commande suivante : +
- +
-  * ln nom_du_fichier nom_supplémentaire +
- +
-Pour illustrer ce point, tapez la ligne de commande suivante : +
- +
-<code> +
-# cd /tmp; mkdir inode; cd inode; touch fichier1; ls -ali +
-total 16 +
-4038066373 drwxr-xr-x   2 root     root         182 Nov 30 07:23 . +
-4031513256 drwxrwxrwt   7 root     sys          524 Nov 30 07:23 .. +
-4041221744 -rw-r--r--   1 root     root           0 Nov 30 07:23 fichier1 +
-</code> +
- +
-Notez bien le numéro de l'inode du fichier **fichier1**. Notez aussi que le numéro dans le troisième champs de la ligne de fichier1 a la valeur **1** : +
- +
- **4041221744** -rw-r--r--   **1** root     root           0 Nov 30 07:23 fichier1 +
- +
-Créez maintenant un lien physique et visualisez le résultat : +
- +
-<code> +
-# ln fichier1 fichier2; ls -lai +
-total 16 +
-4038066373 drwxr-xr-x   2 root     root         247 Nov 30 07:25 . +
-4031513256 drwxrwxrwt   7 root     sys          524 Nov 30 07:23 .. +
-4041221744 -rw-r--r--   2 root     root           0 Nov 30 07:23 fichier1 +
-4041221744 -rw-r--r--   2 root     root           0 Nov 30 07:23 fichier2 +
-</code> +
- +
-Notez les deux lignes suivantes : +
- +
-**4041221744** -rw-r--r--   **2** root     root           0 Nov 30 07:23 fichier1\\ +
-**4041221744** -rw-r--r--   **2** root     root           0 Nov 30 07:23 fichier2 +
- +
-Les deux fichiers, fichier1 et fichier2, sont référencés par le même inode. Le nombre de liens est donc augmenté de 1. +
- +
-====Liens Symboliques==== +
- +
-Un lien symbolique est un **raccourci** vers un autre fichier ou répertoire. Un lien symbolique se crée en utilisant la commande suivante : +
- +
-  * ln -s nom_du_fichier nom_raccourci +
- +
-Pour illustrer ce point, tapez les commandes suivantes : +
- +
-<code> +
-# ln -s fichier1 fichier3; ls -lai +
-total 24 +
-4038066373 drwxr-xr-x   2 root     root         312 Nov 30 07:27 . +
-4031513256 drwxrwxrwt   7 root     sys          524 Nov 30 07:23 .. +
-4041221744 -rw-r--r--   2 root     root           0 Nov 30 07:23 fichier1 +
-4041221744 -rw-r--r--   2 root     root           0 Nov 30 07:23 fichier2 +
-4041221688 lrwxrwxrwx   1 root     root           8 Nov 30 07:27 fichier3 -> fichier1 +
-</code> +
- +
-Notez que le lien symbolique est référencé par un autre inode. Le lien symbolique pointe vers le fichier1. +
- +
-====Création==== +
- +
-La création d'un système de fichiers UFS se fait grâce à la commande **newfs**. Un exemple d'une telle commande est : +
- +
-  newfs -v -b 4096 -m 10 /dev/rdsk/c0t0d1s0 +
- +
-Dans cette commande on stipule : +
- +
-  * -v  +
-    * le mode verbose +
-  * -b 4096 +
-    * une taille des blocs de 4096 octets +
-  * -m 10 +
-    * 10% d'espace disque réservé à root +
- +
-La commande newfs est une commande de confort qui invoque la commande **mkfs**. +
- +
-Par contre pour connaître les options d'une partition, il convient d'utiliser la commande mkfs avec l'option **-m** : +
- +
-<code> +
-# mkfs -m /dev/dsk/c0t0d0s7 +
-mkfs -F ufs -o nsect=128,ntrack=48,bsize=8192,fragsize=1024,cgsize=16,free=1,rps=7,nbpi=8155,opt=t,apc=0,gap=0,nrpos=8,maxcontig=128,mtb=n /dev/dsk/c0t0d0s7 15133230 +
-</code> +
- +
-Il est aussi possible lors de la création de spécifier trois autres options : +
- +
-===nbpi=== +
- +
-L'option npbi (number of bytes per inode) correspond au nombre maximum de fichiers que peut contenir le filesystem. Les valeurs par défaut sont : +
- +
-^ Taile du filesystem ^ Valeur de nbpi ^ +
-| < 1Go | 2048 | +
-| < 2Go | 4096 | +
-| < 3Go | 6144 | +
-| < 1To | 8192 | +
-| > 1To | 1048576 | +
- +
-===free=== +
- +
-Cette option stipule le pourcentage du disque réservé à root. +
- +
-===opt=== +
- +
-Cette option désigne la politique de'optimisation : +
- +
-  * **time** - optimisation des performances (option par défaut), +
-  * **space** - optimisation par espace disque. +
- +
-Seules les options **opt** et **free** peuvent être modifiées après la création du filesystem. +
- +
-====Vérification==== +
- +
-Un indicateur stocké dans le superblock permet de connaître l'état du filesystem. Cet indicateur peut prendre plusieurs valeurs : +
- +
-^ Valeur ^ Description ^ +
-| FSACTIVE | Le filesystem est monté sans l'option logging et est actif | +
-| FSCLEAN | Le filesystem a été démonté correctement | +
-| FSSTABLE | Le filesystem est monté sans l'option logging mais est inactif | +
-| FSLOG | Le filesystem utilise l'option logging. Il n'est pas précisé si il est monté ou démonté | +
-| FSBAD | Le filesystem contient des données incohérentes | +
- +
-Au démarrage du système **fsck** n'est lancé que si l'indicateur est **FSBAD** +
- +
-La commande fsck peut être lancé manuellement. Il est nécessaire de démonter le filesystem avant son utilisation et de vérifier celui-ci avec fsck et l'option **-m**. La commande fsck attend un argument qui est un nom de partition en mode raw bloc : +
- +
-<code> +
-# umount /export/home +
-# fsck -m /dev/rdsk/c0t0d0s7 +
-** /dev/rdsk/c0t0d0s7 +
-ufs fsck: sanity check: /dev/rdsk/c0t0d0s7 okay +
-</code> +
- +
-Saisissez maintenant la commande suivante : +
- +
-<code> +
-# fsck /dev/rdsk/c0t0d0s7 +
-** /dev/rdsk/c0t0d0s7 +
-** Last Mounted on /export/home +
-** Phase 1 - Check Blocks and Sizes +
-** Phase 2 - Check Pathnames +
-** Phase 3a - Check Connectivity +
-** Phase 3b - Verify Shadows/ACLs +
-** Phase 4 - Check Reference Counts +
-** Phase 5 - Check Cylinder Groups +
-2 files, 9 used, 7444611 free (19 frags, 930574 blocks, 0.0% fragmentation) +
-</code> +
- +
-La dernière ligne indique : +
- +
-^ Mot clé ^ Description ^ +
-| files | Le nombre d'inodes utilisés | +
-| used | Le nombre de fragments utilisés | +
-| free | Le nombre de fragments inutilisés | +
-| frags | Le nombre de fragments inutilisés dans des blocs utilisés | +
-| blocs | Le nombre de blocs complets inutilisés | +
- +
-Si des erreurs sont trouvées, la commande devient interactive. +
- +
-Il est possible donc de lancer la commande fsck avec une option **-y** ou **-n** pour contourner l'interactivité éventuelle. +
- +
-==== Paramétrages ==== +
- +
-Nous avons vu que l'option free sur **/dev/dsk/c0t0d0s7** a une valeur de **1** : +
- +
-<code> +
-# mkfs -m /dev/dsk/c0t0d0s7 +
-mkfs -F ufs -o nsect=128,ntrack=48,bsize=8192,fragsize=1024,cgsize=16,free=1,rps=7,nbpi=8155,opt=t,apc=0,gap=0,nrpos=8,maxcontig=128,mtb=n /dev/dsk/c0t0d0s7 15133230 +
-</code> +
- +
-Afin de modifier cette valeur, nous disposons de la commande **tunefs**. L'utilisation de cette commande est limitée aux filesystems **démontés**. +
- +
-Saisissez la commande suivante : +
- +
-<code> +
-# tunefs -m 5 /dev/dsk/c0t0d0s7 +
-minimum percentage of free space changes from 1% to 5% +
-</code> +
- +
-Vérifiez son application : +
- +
-<code> +
-# mkfs -m /dev/dsk/c0t0d0s7 +
-mkfs -F ufs -o nsect=128,ntrack=48,bsize=8192,fragsize=1024,cgsize=16,free=5,rps=7,nbpi=8155,opt=t,apc=0,gap=0,nrpos=8,maxcontig=128,mtb=n /dev/dsk/c0t0d0s7 15133230 +
-</code> +
- +
-=====Gestion du système de fichiers ZFS=====+
  
-=====Introduction=====+=====Présentation de ZFS=====
  
 Solaris 10 comprend le système de fichiers Solaris [[wp>Zfs|ZFS]], nouveau système de fichiers 128 bits. Solaris ZFS offre une administration simple, une sémantique transactionnelle, une intégrité complète des données et une capacité d'évolution extraordinaire. Solaris ZFS ne constitue pas l'amélioration d'une technologie existante. Il s'agit d'une approche totalement nouvelle de gestion de données. Solaris 10 comprend le système de fichiers Solaris [[wp>Zfs|ZFS]], nouveau système de fichiers 128 bits. Solaris ZFS offre une administration simple, une sémantique transactionnelle, une intégrité complète des données et une capacité d'évolution extraordinaire. Solaris ZFS ne constitue pas l'amélioration d'une technologie existante. Il s'agit d'une approche totalement nouvelle de gestion de données.
Ligne 570: Ligne 13:
 Solaris ZFS utilise un modèle de stockage en pools qui supprime purement et simplement le concept de volumes. Ainsi, ZFS supprime les problèmes liés à la gestion des partitions, à l'approvisionnement et à la croissance des systèmes de fichiers. Des centaines de systèmes de fichiers peuvent faire partie d'un seul et même pool de stockage. Chaque système n'utilise que l'espace qui lui est strictement nécessaire. La bande passante d'E/S combinée de tous les périphériques du pool est disponible à tout moment pour tous les systèmes de fichiers. Solaris ZFS utilise un modèle de stockage en pools qui supprime purement et simplement le concept de volumes. Ainsi, ZFS supprime les problèmes liés à la gestion des partitions, à l'approvisionnement et à la croissance des systèmes de fichiers. Des centaines de systèmes de fichiers peuvent faire partie d'un seul et même pool de stockage. Chaque système n'utilise que l'espace qui lui est strictement nécessaire. La bande passante d'E/S combinée de tous les périphériques du pool est disponible à tout moment pour tous les systèmes de fichiers.
  
-Toutes les opérations sont des transactions copie-écriture. L'état sur disque est donc toujours valide. Chaque bloc comprend une somme de contrôle. Toute corruption des données silencieuses est donc impossible. Les données peuvent, en outre, être autorétablies dans des configurations répliquées. Cette fonctionnalité signifie que si une copie est endommagée, Solaris ZFS la détecte et utilise une autre copie pour réparer celle endommagée.+Toutes les opérations sont des transactions copie-écriture. L'état sur disque est donc toujours valide. Chaque bloc comprend une somme de contrôle. Toute corruption des données silencieuses est donc impossible. Les données peuvent, en outre, être auto-rétablies dans des configurations répliquées. Cette fonctionnalité signifie que si une copie est endommagée, Solaris ZFS la détecte et utilise une autre copie pour réparer celle endommagée.
  
 ====Le vocabulaire ZFS==== ====Le vocabulaire ZFS====
Ligne 577: Ligne 20:
  
 ^ Terme ^ Description ^ ^ Terme ^ Description ^
-| pool | Un élement de stockage regroupant une ou plusieures partitions de disques contenant un ou plusieurs file systems |+| pool | Un élément de stockage regroupant une ou plusieurs partitions de disques contenant un ou plusieurs file systems |
 | file system | Un **dataset** contenant répertoires et fichiers | | file system | Un **dataset** contenant répertoires et fichiers |
 | clone | Une copie d'un file system | | clone | Une copie d'un file system |
Ligne 613: Ligne 56:
 | remove | Supprime un disque d'un pool existant | | remove | Supprime un disque d'un pool existant |
 | replace | Remplace un disque par un autre dans un pool existant | | replace | Remplace un disque par un autre dans un pool existant |
-| scrub | Vérifie les checksums d'un pool et répare des blocs de données dommagés |+| scrub | Vérifie les checksums d'un pool et répare des blocs de données endommagés |
  
 ===La Commande zfs=== ===La Commande zfs===
Ligne 634: Ligne 77:
 | mount | Mounts a ZFS file system at a specific mount point | | mount | Mounts a ZFS file system at a specific mount point |
 | unmount | Unmounts a ZFS file system | | unmount | Unmounts a ZFS file system |
 +
 +=====Préparation de la VM Solaris 10====
 +
 +Éteignez la VM Solaris 10. Dans la section **Stockage** de l'**Oracle VM VirtualBox Manager**, ajoutez les disques suivants au contrôleur **existant** SATA :
 +
 +^ Type ^ Taille ^ Nom ^
 +| vmdk | 256 Mb | Disk1 | 
 +| vmdk | 256 Mb | Disk2 | 
 +| vmdk | 256 Mb | Disk3 | 
 +| vmdk | 256 Mb | Disk4 | 
 +| vmdk | 256 Mb | Disk5 | 
 +| vmdk | 20 Gb | Mirror | 
 +
 +Démarrez la VM Solaris 10, créez ensuite le fichier **reconfigure** à la racine du système et re-démarrez le :
 +
 +<code>
 +# touch /reconfigure
 +# shutdown -i0 -g1 -y
 +</code>
 +
 +Connectez-vous à la VM et vérifiez que les disques ont été détectés :
 +
 +<code>
 +# format
 +Searching for disks...done
 +
 +
 +AVAILABLE DISK SELECTIONS:
 +       0. c0t0d0 <ATA    -VBOX HARDDISK  -1.0 cyl 2085 alt 2 hd 255 sec 63>  My Disk
 +          /pci@0,0/pci8086,2829@d/disk@0,0
 +       1. c0t2d0 <ATA    -VBOX HARDDISK  -1.0  cyl 253 alt 2 hd 64 sec 32>
 +          /pci@0,0/pci8086,2829@d/disk@2,0
 +       2. c0t3d0 <ATA    -VBOX HARDDISK  -1.0  cyl 253 alt 2 hd 64 sec 32>
 +          /pci@0,0/pci8086,2829@d/disk@3,0
 +       3. c0t4d0 <ATA    -VBOX HARDDISK  -1.0  cyl 253 alt 2 hd 64 sec 32>
 +          /pci@0,0/pci8086,2829@d/disk@4,0
 +       4. c0t5d0 <ATA    -VBOX HARDDISK  -1.0  cyl 253 alt 2 hd 64 sec 32>
 +          /pci@0,0/pci8086,2829@d/disk@5,0
 +       5. c0t6d0 <ATA    -VBOX HARDDISK  -1.0  cyl 253 alt 2 hd 64 sec 32>
 +          /pci@0,0/pci8086,2829@d/disk@6,0
 +       6. c0t7d0 <ATA    -VBOX HARDDISK  -1.0  cyl 2608 alt 2 hd 255 sec 63>
 +          /pci@0,0/pci8086,2829@d/disk@7,0
 +Specify disk (enter its number): ^C 
 +</code>
  
 =====LAB #1 - La Gestion du Stockage ZFS===== =====LAB #1 - La Gestion du Stockage ZFS=====
Ligne 649: Ligne 136:
 <code> <code>
 # zpool list # zpool list
-NAME     SIZE  ALLOC   FREE    CAP  HEALTH  ALTROOT +NAME    SIZE  ALLOC  FREE  CAP  HEALTH  ALTROOT 
-mypool   187M    80K   187M     0%  ONLINE  -+mypool  242M    77K  242M   0%  ONLINE  -
 </code> </code>
  
Ligne 657: Ligne 144:
 <code> <code>
 # zpool status # zpool status
-  pool : mypool +  pool: mypool 
- état : ONLINE + state: ONLINE 
- scan: aucun requis + scan: none requested 
-configuration :+config:
  
         NAME        STATE     READ WRITE CKSUM         NAME        STATE     READ WRITE CKSUM
Ligne 668: Ligne 155:
             c0t3d0  ONLINE               0             c0t3d0  ONLINE               0
  
-erreurs aucune erreur de données connue+errorsNo known data errors
 </code> </code>
  
Ligne 676: Ligne 163:
 # zfs list # zfs list
 NAME     USED  AVAIL  REFER  MOUNTPOINT NAME     USED  AVAIL  REFER  MOUNTPOINT
-mypool    97K   155M    31K  /mypool+mypool  83.5K   210M    31K  /mypool
 </code> </code>
  
Ligne 691: Ligne 178:
 # zfs create mypool/home/user1 # zfs create mypool/home/user1
 # zfs list # zfs list
-NAME                USED  AVAIL  REFER  MOUNTPOINT +NAME               USED  AVAIL  REFER  MOUNTPOINT 
-mypool              181K   155M    32K  /mypool +mypool             163K   210M    32K  /mypool 
-mypool/home          62K   155M    31K  /mypool/home +mypool/home         62K   210M    31K  /mypool/home 
-mypool/home/user1    31K   155M    31K  /mypool/home/user1+mypool/home/user1   31K   210M    31K  /mypool/home/user1
 </code> </code>
  
Ligne 709: Ligne 196:
 # zfs set mountpoint=/users mypool/home # zfs set mountpoint=/users mypool/home
 # zfs list # zfs list
-NAME                USED  AVAIL  REFER  MOUNTPOINT +NAME               USED  AVAIL  REFER  MOUNTPOINT 
-mypool              366K   155M    32K  /mypool +mypool             173K   210M    32K  /mypool 
-mypool/home          63K   155M    32K  /users +mypool/home         63K   210M    32K  /users 
-mypool/home/user1    31K   155M    31K  /users/user1+mypool/home/user1   31K   210M    31K  /users/user1
 </code> </code>
  
Ligne 721: Ligne 208:
 ====L'Ajout d'un Hot Spare==== ====L'Ajout d'un Hot Spare====
  
-Pour visualiser touts le charactéristiques associées à **mypool**, utilisez la commande **zpool** avec la sous-commande **get** :+Pour visualiser tous le caractéristiques associées à **mypool**, utilisez la commande **zpool** avec la sous-commande **get** :
  
 <code> <code>
 # zpool get all mypool # zpool get all mypool
-NAME    PROPERTY       VALUE       SOURCE +NAME    PROPERTY       VALUE                 SOURCE 
-mypool  size           187M        +mypool  size           242M                  
-mypool  capacity       0%          +mypool  capacity       0%                    
-mypool  altroot        -           default +mypool  altroot        -                     default 
-mypool  health         ONLINE      +mypool  health         ONLINE                
-mypool  guid           13590865085725716842  default +mypool  guid           10980242944530705327  - 
-mypool  version        29          default +mypool  version        32                    default 
-mypool  bootfs                   default +mypool  bootfs                             default 
-mypool  delegation     on          default +mypool  delegation     on                    default 
-mypool  autoreplace    off         default +mypool  autoreplace    off                   default 
-mypool  cachefile      -           default +mypool  cachefile      -                     default 
-mypool  failmode       wait        default +mypool  failmode       wait                  default 
-mypool  listsnapshots  on          default +mypool  listsnapshots  on                    default 
-mypool  autoexpand     off         default +mypool  autoexpand     off                   default 
-mypool  free           186M        +mypool  free           242M                  
-mypool  allocated      724K        +mypool  allocated      257K                  
-mypool  readonly       off         -+mypool  readonly       off                   -
 </code> </code>
  
  
-Notez que la valeur d'**autoreplace** est **off**. Afin d'utiliser un hot spare, il est necessaire de changer cette valeur à **on** :+Notez que la valeur d'**autoreplace** est **off**. Afin d'utiliser un hot spare, il est nécessaire de changer cette valeur à **on** :
  
 <code> <code>
Ligne 754: Ligne 241:
 </code> </code>
  
-Ajoutez maintenant en tant que spare le quatrième disque que vous avez précedement créé :+Ajoutez maintenant en tant que spare le quatrième disque que vous avez précédemment créé :
  
 <code> <code>
 # zpool add mypool spare c0t5d0 # zpool add mypool spare c0t5d0
 # zpool status mypool # zpool status mypool
-  pool : mypool +  pool: mypool 
- état : ONLINE + state: ONLINE 
- scan: aucun requis + scan: none requested 
-configuration :+config:
  
         NAME        STATE     READ WRITE CKSUM         NAME        STATE     READ WRITE CKSUM
Ligne 769: Ligne 256:
             c0t2d0  ONLINE               0             c0t2d0  ONLINE               0
             c0t3d0  ONLINE               0             c0t3d0  ONLINE               0
-        éléments de rechange +        spares 
-          c0t5d0    AVAIL+          c0t5d0    AVAIL   
  
-erreurs aucune erreur de données connue+errorsNo known data errors
 </code> </code>
  
Ligne 781: Ligne 268:
 <code> <code>
 # cat /dev/urandom > /users/user1/randomfile & # cat /dev/urandom > /users/user1/randomfile &
-1658+909
 </code> </code>
  
Ligne 795: Ligne 282:
 pool        alloc   free   read  write   read  write pool        alloc   free   read  write   read  write
 ----------  -----  -----  -----  -----  -----  ----- ----------  -----  -----  -----  -----  -----  -----
-mypool      94,6M  92,4M          26    176   321K +mypool      48.6M   193M              172   150K 
-  mirror    94,6M  92,4M          26    176   321K +  mirror    48.6M   193M              172   150K 
-    c0t2d0      -      -      0     26    183   326K +    c0t2d0      -      -      0         230   155K 
-    c0t3d0      -      -      0     26    112   326K+    c0t3d0      -      -      0          58   155K
 ----------  -----  -----  -----  -----  -----  ----- ----------  -----  -----  -----  -----  -----  -----
  
Ligne 804: Ligne 291:
 pool        alloc   free   read  write   read  write pool        alloc   free   read  write   read  write
 ----------  -----  -----  -----  -----  -----  ----- ----------  -----  -----  -----  -----  -----  -----
-mypool       109M  77,7M         657      0  7,77M +mypool      67.0M   175M          77      0  1.66M 
-  mirror     109M  77,7M      0    657      0  7,77M +  mirror    67.0M   175M      0     77      0  1.66M 
-    c0t2d0      -      -      0    657      0  7,78M +    c0t2d0      -      -      0     54      0  1.66M 
-    c0t3d0      -      -      0    657      0  7,78M+    c0t3d0      -      -      0     54      0  1.66M
 ----------  -----  -----  -----  -----  -----  ----- ----------  -----  -----  -----  -----  -----  -----
  
Ligne 813: Ligne 300:
 pool        alloc   free   read  write   read  write pool        alloc   free   read  write   read  write
 ----------  -----  -----  -----  -----  -----  ----- ----------  -----  -----  -----  -----  -----  -----
-mypool       131M  56,5M         510      0  4,69M +mypool      78.6M   163M         157      0  3.65M 
-  mirror     131M  56,5M         510      0  4,69M +  mirror    78.6M   163M         157      0  3.65M 
-    c0t2d0      -      -      0    506      0  4,70M +    c0t2d0      -      -      0     89      0  3.66M 
-    c0t3d0      -      -      0    507      0  4,70M+    c0t3d0      -      -      0     90      0  3.74M
 ----------  -----  -----  -----  -----  -----  ----- ----------  -----  -----  -----  -----  -----  -----
  
Ligne 822: Ligne 309:
 pool        alloc   free   read  write   read  write pool        alloc   free   read  write   read  write
 ----------  -----  -----  -----  -----  -----  ----- ----------  -----  -----  -----  -----  -----  -----
-mypool       137M  50,3M         588      0  3,77M +mypool      98.8M   143M         118      0  1.77M 
-  mirror     137M  50,3M         588      0  3,77M +  mirror    98.8M   143M         118      0  1.77M 
-    c0t2d0      -      -      0    542      0  3,78M +    c0t2d0      -      -      0     64      0  1.77M 
-    c0t3d0      -      -      0    555      0  3,78M+    c0t3d0      -      -      0     64      0  1.75M
 ----------  -----  -----  -----  -----  -----  ----- ----------  -----  -----  -----  -----  -----  -----
  
Ligne 831: Ligne 318:
 pool        alloc   free   read  write   read  write pool        alloc   free   read  write   read  write
 ----------  -----  -----  -----  -----  -----  ----- ----------  -----  -----  -----  -----  -----  -----
-mypool       138M  48,9M         515      0  2,63M +mypool       111M   131M         290      0  3.87M 
-  mirror     138M  48,9M         515      0  2,63M +  mirror     111M   131M         290      0  3.87M 
-    c0t2d0      -      -      0    423      0  2,64M +    c0t2d0      -      -      0    139      0  3.88M 
-    c0t3d0      -      -      0    419      0  2,64M+    c0t3d0      -      -      0    139      0  3.88M
 ----------  -----  -----  -----  -----  -----  ----- ----------  -----  -----  -----  -----  -----  -----
  
Ligne 846: Ligne 333:
 Tuez maintenant le processus **randomfile** : Tuez maintenant le processus **randomfile** :
  
-  # kill -9 PID [Entrée]+<code> 
 +^C# kill -9 909 
 +#  
 +</code>
  
 Supprimez le fichier **/users/user1/randomfile**: Supprimez le fichier **/users/user1/randomfile**:
Ligne 852: Ligne 342:
 <code> <code>
 # rm -rf /users/user1/randomfile # rm -rf /users/user1/randomfile
-1658 Tué+909 Killed
 </code> </code>
  
 ====Le Mise en Place d'un Quota pour un Utilisateur==== ====Le Mise en Place d'un Quota pour un Utilisateur====
  
-Afin de mettre en palce un quota pour un utilisateur, vous devez utiliser la sous-commande **set** de la commande **zpool** :+Afin de mettre en place un quota pour un utilisateur, vous devez utiliser la sous-commande **set** de la commande **zpool** :
  
 <code> <code>
 # zfs set quota=50M mypool/home/user1 # zfs set quota=50M mypool/home/user1
-# zfs get quota mypool 
-NAME    PROPERTY  VALUE  SOURCE 
-mypool  quota     none   default 
 # zfs list # zfs list
-NAME                USED  AVAIL  REFER  MOUNTPOINT +NAME               USED  AVAIL  REFER  MOUNTPOINT 
-mypool              784K   154M    31K  /mypool +mypool             390K   210M    31K  /mypool 
-mypool/home          63K   154M    32K  /users +mypool/home         63K   210M    32K  /users 
-mypool/home/user1    31K  50,0M    31K  /users/user1+mypool/home/user1   31K  50.0M    31K  /users/user1
 </code> </code>
  
-<WRAP center round important 60%> +Créez maintenant un fichier de données aléatoires :
-Notez la mise en place du quota de 50Mo sur /mypool/home/user1. +
-</WRAP> +
- +
-Créez maintenant un fichier de donnnées aléatoires :+
  
 <code> <code>
 # cat /dev/urandom > /users/user1/testfile # cat /dev/urandom > /users/user1/testfile
-cat : erreur en sortie (0 caractères sur 1040 ont été écrits+cat: output error (0/1040 characters written
-Quota disque dépassé+Disc quota exceeded
 </code> </code>
- 
-<WRAP center round important 60%> 
-Notez la phrase **Quota disque dépassé**. 
-</WRAP> 
  
 Constatez que l'espace disque disponible dans /users/user1 est de 0 : Constatez que l'espace disque disponible dans /users/user1 est de 0 :
Ligne 892: Ligne 371:
 # zfs list mypool/home/user1 # zfs list mypool/home/user1
 NAME                USED  AVAIL  REFER  MOUNTPOINT NAME                USED  AVAIL  REFER  MOUNTPOINT
-mypool/home/user1  50,1M      0  50,1M  /users/user1+mypool/home/user1  50.1M      0  50.1M  /users/user1
 </code> </code>
  
Ligne 925: Ligne 404:
  
 <code> <code>
-# zfs snapshot mypool/home/user1@Dec13+# zfs snapshot mypool/home/user1@snapshot1
 </code> </code>
  
Ligne 933: Ligne 412:
 # ls -l /users/user1/.zfs/snapshot # ls -l /users/user1/.zfs/snapshot
 total 3 total 3
-drwxr-xr-x   2 root     root           juin  18:59 Dec13+drwxr-xr-x   2 root     root           Dec  17:30 snapshot1
 </code> </code>
  
Ligne 939: Ligne 418:
  
 <code> <code>
-# ls -l /users/user1/.zfs/snapshot/Dec13/+# ls -l /users/user1/.zfs/snapshot/snapshot1/
 total 2 total 2
--rw-r--r--   1 root     root          43 juin  18:59 snapshot1+-rw-r--r--   1 root     root          43 Dec  17:30 snapshot1
 </code> </code>
  
-Il est important à noter que le répertoire .zfs ne peut pas être lister par la commande ls, même en utilisant l'option **-a** :+Il est important à noter que le répertoire .zfs ne peut pas être listé par la commande ls, même en utilisant l'option **-a** :
  
 <code> <code>
Ligne 950: Ligne 429:
 /users/user1: /users/user1:
 total 8 total 8
-drwxr-xr-x   2 root     root           juin  18:59 +drwxr-xr-x   2 root     root           Dec  17:30 
-drwxr-xr-x   3 root     root           juin  18:48 .. +drwxr-xr-x   3 root     root           Dec  15:26 .. 
--rw-r--r--   1 root     root          43 juin  18:59 snapshot1+-rw-r--r--   1 root     root          43 Dec  17:30 snapshot1
 </code> </code>
  
Ligne 958: Ligne 437:
  
 <code> <code>
-# zfs snapshot -r mypool@Dec13-1+# zfs snapshot -r mypool@snapshot2
 </code> </code>
  
Ligne 965: Ligne 444:
 <code> <code>
 # ls /users/.zfs/snapshot # ls /users/.zfs/snapshot
-Dec13-1+snapshot2
 # ls /users/user1/.zfs/snapshot # ls /users/user1/.zfs/snapshot
-Dec13    Dec13-1+snapshot1  snapshot2
 </code> </code>
  
Ligne 974: Ligne 453:
 <code> <code>
 # zfs list -t snapshot -r mypool # zfs list -t snapshot -r mypool
-NAME                        USED  AVAIL  REFER  MOUNTPOINT +NAME                         USED  AVAIL  REFER  MOUNTPOINT 
-mypool@Dec13-1                 0      -    31K  - +mypool@snapshot2                0      -    31K  - 
-mypool/home@Dec13-1            0      -    32K  - +mypool/home@snapshot2           0      -    32K  - 
-mypool/home/user1@Dec13        0      -  31,5K  - +mypool/home/user1@snapshot1     0      -  31.5K  - 
-mypool/home/user1@Dec13-1      0      -  31,5K  -+mypool/home/user1@snapshot2     0      -  31.5K  -
 </code> </code>
  
Ligne 987: Ligne 466:
 # ls -l /users/user1 # ls -l /users/user1
 total 3 total 3
--rw-r--r--   1 root     root          43 juin  18:59 snapshot1 +-rw-r--r--   1 root     root          43 Dec  17:30 snapshot1 
--rw-r--r--   1 root     root          44 juin  19:07 snapshot2+-rw-r--r--   1 root     root          44 Dec  17:36 snapshot2
 </code> </code>
  
Ligne 994: Ligne 473:
  
 <code> <code>
-# zfs snapshot -r mypool@Dec13-2+# zfs snapshot -r mypool@snapshot3
 # zfs list -t snapshot -r mypool # zfs list -t snapshot -r mypool
-NAME                        USED  AVAIL  REFER  MOUNTPOINT +NAME                         USED  AVAIL  REFER  MOUNTPOINT 
-mypool@Dec13-1                 0      -    31K  - +mypool@snapshot2                0      -    31K  - 
-mypool@Dec13-2                 0      -    31K  - +mypool@snapshot3                0      -    31K  - 
-mypool/home@Dec13-1            0      -    32K  - +mypool/home@snapshot2           0      -    32K  - 
-mypool/home@Dec13-2            0      -    32K  - +mypool/home@snapshot3           0      -    32K  - 
-mypool/home/user1@Dec13        0      -  31,5K  - +mypool/home/user1@snapshot1     0      -  31.5K  - 
-mypool/home/user1@Dec13-1      0      -  31,5K  - +mypool/home/user1@snapshot2     0      -  31.5K  - 
-mypool/home/user1@Dec13-2      0      -    32K  -+mypool/home/user1@snapshot3     0      -    32K  -
 </code> </code>
  
Ligne 1009: Ligne 488:
  
 <code> <code>
-# zfs diff mypool/home/user1@Dec13-1 mypool/home/user1@Dec13-2+# zfs diff mypool/home/user1@snapshot2 mypool/home/user1@snapshot3
 M       /users/user1/ M       /users/user1/
 +       /users/user1/snapshot2 +       /users/user1/snapshot2
Ligne 1026: Ligne 505:
 | - | Supprimé | | - | Supprimé |
  
-NOtez que vous ne pouvez pas comparer les snapshots dans l'ordre inverse :+Notez que vous ne pouvez pas comparer les snapshots dans l'ordre inverse :
  
 <code> <code>
-# zfs diff mypool/home/user1@Dec13-2 mypool/home/user1@Dec13-1 +# zfs diff mypool/home/user1@snapshot2 mypool/home/user1@snapshot1 
-Unable to obtain diffs: +Unable to obtain diffs: mypool/home/user1@snapshot1 is not a descendant dataset of mypool/home/user1@snapshot2
-   Not an earlier snapshot from the same fs+
 </code> </code>
  
Ligne 1040: Ligne 518:
 <code> <code>
 # zfs list -t snapshot -r mypool # zfs list -t snapshot -r mypool
-NAME                        USED  AVAIL  REFER  MOUNTPOINT +NAME                         USED  AVAIL  REFER  MOUNTPOINT 
-mypool@Dec13-1                 0      -    31K  - +mypool@snapshot2                0      -    31K  - 
-mypool@Dec13-2                 0      -    31K  - +mypool@snapshot3                0      -    31K  - 
-mypool/home@Dec13-1            0      -    32K  - +mypool/home@snapshot2           0      -    32K  - 
-mypool/home@Dec13-2            0      -    32K  - +mypool/home@snapshot3           0      -    32K  - 
-mypool/home/user1@Dec13        0      -  31,5K  - +mypool/home/user1@snapshot1     0      -  31.5K  - 
-mypool/home/user1@Dec13-1      0      -  31,5K  - +mypool/home/user1@snapshot2     0      -  31.5K  - 
-mypool/home/user1@Dec13-2      0      -    32K  - +mypool/home/user1@snapshot3     0      -    32K  - 
-# zfs rollback mypool/home/user1@Dec13-1 +# zfs rollback mypool/home/user1@snapshot2 
-impossible de restaurer vers 'mypool/home/user1@Dec13-1' : il existe des instantanés plus récents +cannot rollback to 'mypool/home/user1@snapshot2': more recent snapshots exist 
-utilisez '-r' pour forcer la suppression des instantanés suivants +use '-r' to force deletion of the following snapshots
-mypool/home/user1@Dec13-2+mypool/home/user1@snapshot3
 </code> </code>
  
-Supprimez donc le snapshot **Dec13-2** :+Supprimez donc le snapshot **snapshot3** :
  
 <code> <code>
-# zfs destroy mypool/home/user1@Dec13-2+# zfs destroy mypool/home/user1@snapshot3
 # zfs list -t snapshot -r mypool # zfs list -t snapshot -r mypool
-NAME                        USED  AVAIL  REFER  MOUNTPOINT +NAME                         USED  AVAIL  REFER  MOUNTPOINT 
-mypool@Dec13-1                 0      -    31K  - +mypool@snapshot2                0      -    31K  - 
-mypool@Dec13-2                 0      -    31K  - +mypool@snapshot3                0      -    31K  - 
-mypool/home@Dec13-1            0      -    32K  - +mypool/home@snapshot2           0      -    32K  - 
-mypool/home@Dec13-2            0      -    32K  - +mypool/home@snapshot3           0      -    32K  - 
-mypool/home/user1@Dec13        0      -  31,5K  - +mypool/home/user1@snapshot1     0      -  31.5K  - 
-mypool/home/user1@Dec13-1      0      -  31,5K  -+mypool/home/user1@snapshot2     0      -  31.5K  -
 </code> </code>
  
-Maintenant fair un RollBack vers le snapshot **Dec13-1** :+Maintenant fair un RollBack vers le snapshot **snapshot2** :
  
 <code> <code>
-# zfs rollback mypool/home/user1@Dec13-1+# zfs rollback mypool/home/user1@snapshot2
 # ls -l /users/user1 # ls -l /users/user1
 total 2 total 2
--rw-r--r--   1 root     root          43 juin  18:59 snapshot1+-rw-r--r--   1 root     root          43 Dec  17:30 snapshot1
 </code> </code>
  
 <WRAP center round important 60%> <WRAP center round important 60%>
-Notez l'abscence du fichier **snapshot2**.+Notez l’absence du fichier **snapshot2**.
 </WRAP>  </WRAP> 
  
Ligne 1086: Ligne 564:
  
 <code> <code>
-# zfs clone mypool/home/user1@Dec13-1 mypool/home/user3+# zfs clone mypool/home/user1@snapshot2 mypool/home/user3
 # zfs list # zfs list
-NAME                        USED  AVAIL  REFER  MOUNTPOINT +NAME                          USED  AVAIL  REFER  MOUNTPOINT 
-mypool                     25,5M   129M    31K  /mypool +mypool                       25.7M   184M    31K  /mypool 
-mypool@Dec13-1                 0      -    31K  - +mypool@snapshot2                 0      -    31K  - 
-mypool@Dec13-2                 0      -    31K  - +mypool@snapshot3                 0      -    31K  - 
-mypool/home                25,0M   129M    32K  /users +mypool/home                  25.0M   184M    32K  /users 
-mypool/home@Dec13-1                 -    32K  - +mypool/home@snapshot2                 -    32K  - 
-mypool/home@Dec13-2                 -    32K  - +mypool/home@snapshot3                 -    32K  - 
-mypool/home/user1          32,5K  50,0M  31,5K  /users/user1 +mypool/home/user1            32.5K  50.0M  31.5K  /users/user1 
-mypool/home/user1@Dec13        0      -  31,5K  - +mypool/home/user1@snapshot1      0      -  31.5K  - 
-mypool/home/user1@Dec13-1           -  31,5K  - +mypool/home/user1@snapshot2           -  31.5K  - 
-mypool/home/user3             1K   129M  31,5K  /users/user3+mypool/home/user3               1K   184M  31.5K  /users/user3
 </code> </code>
  
Ligne 1106: Ligne 584:
 # ls -l /users/user3 # ls -l /users/user3
 total 2 total 2
--rw-r--r--   1 root     root          43 juin  18:59 snapshot1+-rw-r--r--   1 root     root          43 Dec  17:30 snapshot1
 </code> </code>
  
Ligne 1126: Ligne 604:
 <code> <code>
 # zpool status mypool # zpool status mypool
-  pool : mypool +  pool: mypool 
- état : ONLINE + state: ONLINE 
- scan: aucun requis + scan: none requested 
-configuration :+config:
  
         NAME        STATE     READ WRITE CKSUM         NAME        STATE     READ WRITE CKSUM
Ligne 1136: Ligne 614:
             c0t2d0  ONLINE               0             c0t2d0  ONLINE               0
             c0t3d0  ONLINE               0             c0t3d0  ONLINE               0
-        éléments de rechange +        spares 
-          c0t5d0    AVAIL+          c0t5d0    AVAIL    
 + 
 +errors: No known data errors
  
-erreurs : aucune erreur de données connue 
 # zpool replace mypool c0t2d0 c0t4d0 # zpool replace mypool c0t2d0 c0t4d0
 </code> </code>
Ligne 1147: Ligne 626:
 <code> <code>
 # zpool status mypool # zpool status mypool
-  pool : mypool +  pool: mypool 
- état : ONLINE + state: ONLINE 
- scan: resilvered 766K in 0h0m with 0 errors on Sun Jun  21:13:08 2013 + scan: resilvered 646K in 0h0m with 0 errors on Mon Dec  17:51:36 2019 
-configuration :+config:
  
         NAME        STATE     READ WRITE CKSUM         NAME        STATE     READ WRITE CKSUM
Ligne 1157: Ligne 636:
             c0t4d0  ONLINE               0             c0t4d0  ONLINE               0
             c0t3d0  ONLINE               0             c0t3d0  ONLINE               0
-        éléments de rechange +        spares 
-          c0t5d0    AVAIL+          c0t5d0    AVAIL   
  
-erreurs aucune erreur de données connue+errorsNo known data errors
 </code> </code>
  
Ligne 1167: Ligne 646:
 </WRAP>  </WRAP> 
  
-====La Déstruction d'un Pool====+====La Destruction d'un Pool====
  
-La déscrution d'un pool est obtenue en utilisant la sous-commande **destroy** de la commande **zpool** :+La destruction d'un pool est obtenue en utilisant la sous-commande **destroy** de la commande **zpool** :
  
 <code> <code>
 # zpool destroy mypool # zpool destroy mypool
-</code> 
- 
-Notez que cette opération détruit aussi les snapshots !! : 
- 
-<code> 
 # zfs list # zfs list
-aucun jeu de données disponible+no datasets available
 </code> </code>
 +
 +<WRAP center round important 60%>
 +Notez que cette opération détruit aussi les snapshots !!
 +</WRAP> 
  
 ====La Création d'un Pool en RAID-5==== ====La Création d'un Pool en RAID-5====
Ligne 1189: Ligne 667:
 # zpool create mypool raidz c0t2d0 c0t3d0 c0t4d0 spare c0t5d0 # zpool create mypool raidz c0t2d0 c0t3d0 c0t4d0 spare c0t5d0
 # zpool status mypool # zpool status mypool
-  pool : mypool +  pool: mypool 
- état : ONLINE + state: ONLINE 
- scan: aucun requis + scan: none requested 
-configuration :+config:
  
         NAME        STATE     READ WRITE CKSUM         NAME        STATE     READ WRITE CKSUM
Ligne 1200: Ligne 678:
             c0t3d0  ONLINE               0             c0t3d0  ONLINE               0
             c0t4d0  ONLINE               0             c0t4d0  ONLINE               0
-        éléments de rechange +        spares 
-          c0t5d0    AVAIL+          c0t5d0    AVAIL   
  
-erreurs aucune erreur de données connue+errorsNo known data errors
 </code> </code>
  
Ligne 1211: Ligne 689:
 # zpool destroy mypool # zpool destroy mypool
 </code> </code>
 +
 ====La Création d'un Pool en RAID-6==== ====La Création d'un Pool en RAID-6====
  
Ligne 1218: Ligne 697:
 # zpool create mypool raidz2 c0t2d0 c0t3d0 c0t4d0 c0t5d0 spare c0t6d0 # zpool create mypool raidz2 c0t2d0 c0t3d0 c0t4d0 c0t5d0 spare c0t6d0
 # zpool status mypool # zpool status mypool
-  pool : mypool +  pool: mypool 
- état : ONLINE + state: ONLINE 
- scan: aucun requis + scan: none requested 
-configuration :+config:
  
         NAME        STATE     READ WRITE CKSUM         NAME        STATE     READ WRITE CKSUM
Ligne 1230: Ligne 709:
             c0t4d0  ONLINE               0             c0t4d0  ONLINE               0
             c0t5d0  ONLINE               0             c0t5d0  ONLINE               0
-        éléments de rechange +        spares 
-          c0t6d0    AVAIL+          c0t6d0    AVAIL   
  
-erreurs aucune erreur de données connue+errorsNo known data errors
 </code> </code>
  
Ligne 1242: Ligne 721:
 </code> </code>
  
-====Conculter l'Historique Zpool====+====Consulter l'Historique Zpool====
  
 La sous-commande **history** de la command **zpool** permet de consulter l'historique des actions sur un pool : La sous-commande **history** de la command **zpool** permet de consulter l'historique des actions sur un pool :
Ligne 1248: Ligne 727:
 <code> <code>
 # zpool history # zpool history
-Historique de 'mypool': +no pools available
-2013-06-02.21:33:33 zpool create mypool raidz2 c0t2d0 c0t3d0 c0t4d0 c0t5d0 spare c0t6d0+
 </code> </code>
  
Ligne 1259: Ligne 737:
 <html> <html>
 <center> <center>
-Copyright © 2019 Hugh Norris.+Copyright © 2020 Hugh Norris.
 </center> </center>
 </html> </html>
Menu