Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
elearning:workbooks:solaris:10:junior:l116 [2019/11/30 09:49] – admin | elearning:workbooks:solaris:10:junior:l116 [2020/01/30 03:28] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
~~PDF: | ~~PDF: | ||
- | Dernière mise-à-jour | + | Version: **2020.01** |
- | Version: 1.11.01 | + | Dernière mise-à-jour |
======SO210 - Gestion du système de fichiers ZFS====== | ======SO210 - Gestion du système de fichiers ZFS====== | ||
- | =====Introduction===== | + | =====Présentation de ZFS===== |
Solaris 10 comprend le système de fichiers Solaris [[wp> | Solaris 10 comprend le système de fichiers Solaris [[wp> | ||
Ligne 13: | 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' | 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' | ||
- | Toutes les opérations sont des transactions copie-écriture. L' | + | Toutes les opérations sont des transactions copie-écriture. L' |
====Le vocabulaire ZFS==== | ====Le vocabulaire ZFS==== | ||
Ligne 20: | Ligne 20: | ||
^ Terme ^ Description ^ | ^ Terme ^ Description ^ | ||
- | | pool | Un élement | + | | pool | Un élément |
| 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 56: | 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 | + | | scrub | Vérifie les checksums d'un pool et répare des blocs de données |
===La Commande zfs=== | ===La Commande zfs=== | ||
Ligne 77: | 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' | ||
+ | |||
+ | ^ 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 : | ||
+ | |||
+ | < | ||
+ | # touch / | ||
+ | # shutdown -i0 -g1 -y | ||
+ | </ | ||
+ | |||
+ | Connectez-vous à la VM et vérifiez que les disques ont été détectés : | ||
+ | |||
+ | < | ||
+ | # format | ||
+ | Searching for disks...done | ||
+ | |||
+ | |||
+ | AVAILABLE DISK SELECTIONS: | ||
+ | 0. c0t0d0 < | ||
+ | / | ||
+ | 1. c0t2d0 < | ||
+ | / | ||
+ | 2. c0t3d0 < | ||
+ | / | ||
+ | 3. c0t4d0 < | ||
+ | / | ||
+ | 4. c0t5d0 < | ||
+ | / | ||
+ | 5. c0t6d0 < | ||
+ | / | ||
+ | 6. c0t7d0 < | ||
+ | / | ||
+ | Specify disk (enter its number): ^C | ||
+ | </ | ||
=====LAB #1 - La Gestion du Stockage ZFS===== | =====LAB #1 - La Gestion du Stockage ZFS===== | ||
Ligne 92: | Ligne 136: | ||
< | < | ||
# zpool list | # zpool list | ||
- | NAME | + | NAME SIZE ALLOC FREE CAP HEALTH |
- | mypool | + | mypool |
</ | </ | ||
Ligne 100: | Ligne 144: | ||
< | < | ||
# zpool status | # zpool status | ||
- | pool : mypool | + | pool: mypool |
- | état : ONLINE | + | state: ONLINE |
- | | + | |
- | configuration | + | config: |
NAME STATE READ WRITE CKSUM | NAME STATE READ WRITE CKSUM | ||
Ligne 111: | Ligne 155: | ||
c0t3d0 | c0t3d0 | ||
- | erreurs | + | errors: No known data errors |
</ | </ | ||
Ligne 119: | Ligne 163: | ||
# zfs list | # zfs list | ||
NAME | NAME | ||
- | mypool | + | mypool |
</ | </ | ||
Ligne 134: | Ligne 178: | ||
# zfs create mypool/ | # zfs create mypool/ | ||
# zfs list | # zfs list | ||
- | NAME USED AVAIL REFER MOUNTPOINT | + | NAME |
- | mypool | + | mypool |
- | mypool/ | + | mypool/ |
- | mypool/ | + | mypool/ |
</ | </ | ||
Ligne 152: | Ligne 196: | ||
# zfs set mountpoint=/ | # zfs set mountpoint=/ | ||
# zfs list | # zfs list | ||
- | NAME USED AVAIL REFER MOUNTPOINT | + | NAME |
- | mypool | + | mypool |
- | mypool/ | + | mypool/ |
- | mypool/ | + | mypool/ |
</ | </ | ||
Ligne 164: | Ligne 208: | ||
====L' | ====L' | ||
- | Pour visualiser | + | Pour visualiser |
< | < | ||
# zpool get all mypool | # zpool get all mypool | ||
- | NAME PROPERTY | + | NAME PROPERTY |
- | mypool | + | mypool |
- | mypool | + | mypool |
- | mypool | + | mypool |
- | mypool | + | mypool |
- | mypool | + | mypool |
- | mypool | + | mypool |
- | mypool | + | mypool |
- | mypool | + | mypool |
- | mypool | + | mypool |
- | mypool | + | mypool |
- | mypool | + | mypool |
- | mypool | + | mypool |
- | mypool | + | mypool |
- | mypool | + | mypool |
- | mypool | + | mypool |
- | mypool | + | mypool |
</ | </ | ||
- | Notez que la valeur d' | + | Notez que la valeur d' |
< | < | ||
Ligne 197: | Ligne 241: | ||
</ | </ | ||
- | Ajoutez maintenant en tant que spare le quatrième disque que vous avez précedement | + | Ajoutez maintenant en tant que spare le quatrième disque que vous avez précédemment |
< | < | ||
# zpool add mypool spare c0t5d0 | # zpool add mypool spare c0t5d0 | ||
# zpool status mypool | # zpool status mypool | ||
- | pool : mypool | + | pool: mypool |
- | état : ONLINE | + | state: ONLINE |
- | | + | |
- | configuration | + | config: |
NAME STATE READ WRITE CKSUM | NAME STATE READ WRITE CKSUM | ||
Ligne 212: | Ligne 256: | ||
c0t2d0 | c0t2d0 | ||
c0t3d0 | c0t3d0 | ||
- | | + | |
- | c0t5d0 | + | c0t5d0 |
- | erreurs | + | errors: No known data errors |
</ | </ | ||
Ligne 224: | Ligne 268: | ||
< | < | ||
# cat / | # cat / | ||
- | 1658 | + | 909 |
</ | </ | ||
Ligne 238: | Ligne 282: | ||
pool alloc | pool alloc | ||
---------- | ---------- | ||
- | mypool | + | mypool |
- | mirror | + | mirror |
- | c0t2d0 | + | c0t2d0 |
- | c0t3d0 | + | c0t3d0 |
---------- | ---------- | ||
Ligne 247: | Ligne 291: | ||
pool alloc | pool alloc | ||
---------- | ---------- | ||
- | mypool | + | mypool |
- | mirror | + | mirror |
- | c0t2d0 | + | c0t2d0 |
- | c0t3d0 | + | c0t3d0 |
---------- | ---------- | ||
Ligne 256: | Ligne 300: | ||
pool alloc | pool alloc | ||
---------- | ---------- | ||
- | mypool | + | mypool |
- | mirror | + | mirror |
- | c0t2d0 | + | c0t2d0 |
- | c0t3d0 | + | c0t3d0 |
---------- | ---------- | ||
Ligne 265: | Ligne 309: | ||
pool alloc | pool alloc | ||
---------- | ---------- | ||
- | mypool | + | mypool |
- | mirror | + | mirror |
- | c0t2d0 | + | c0t2d0 |
- | c0t3d0 | + | c0t3d0 |
---------- | ---------- | ||
Ligne 274: | Ligne 318: | ||
pool alloc | pool alloc | ||
---------- | ---------- | ||
- | mypool | + | mypool |
- | mirror | + | mirror |
- | c0t2d0 | + | c0t2d0 |
- | c0t3d0 | + | c0t3d0 |
---------- | ---------- | ||
Ligne 289: | Ligne 333: | ||
Tuez maintenant le processus **randomfile** : | Tuez maintenant le processus **randomfile** : | ||
- | | + | < |
+ | ^C# kill -9 909 | ||
+ | # | ||
+ | </ | ||
Supprimez le fichier **/ | Supprimez le fichier **/ | ||
Ligne 295: | Ligne 342: | ||
< | < | ||
# rm -rf / | # rm -rf / | ||
- | 1658 Tué | + | 909 Killed |
</ | </ | ||
====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, | + | Afin de mettre en place un quota pour un utilisateur, |
< | < | ||
# zfs set quota=50M mypool/ | # zfs set quota=50M mypool/ | ||
- | # zfs get quota mypool | ||
- | NAME PROPERTY | ||
- | mypool | ||
# zfs list | # zfs list | ||
- | NAME USED AVAIL REFER MOUNTPOINT | + | NAME |
- | mypool | + | mypool |
- | mypool/ | + | mypool/ |
- | mypool/ | + | mypool/ |
</ | </ | ||
- | <WRAP center round important 60%> | + | Créez maintenant un fichier de données |
- | Notez la mise en place du quota de 50Mo sur / | + | |
- | </ | + | |
- | + | ||
- | Créez maintenant un fichier de donnnées | + | |
< | < | ||
# cat / | # cat / | ||
- | cat : erreur en sortie | + | cat: output error (0/1040 characters written) |
- | Quota disque dépassé | + | Disc quota exceeded |
</ | </ | ||
- | |||
- | <WRAP center round important 60%> | ||
- | Notez la phrase **Quota disque dépassé**. | ||
- | </ | ||
Constatez que l' | Constatez que l' | ||
Ligne 335: | Ligne 371: | ||
# zfs list mypool/ | # zfs list mypool/ | ||
NAME USED AVAIL REFER MOUNTPOINT | NAME USED AVAIL REFER MOUNTPOINT | ||
- | mypool/ | + | mypool/ |
</ | </ | ||
Ligne 368: | Ligne 404: | ||
< | < | ||
- | # zfs snapshot mypool/ | + | # zfs snapshot mypool/ |
</ | </ | ||
Ligne 376: | Ligne 412: | ||
# ls -l / | # ls -l / | ||
total 3 | total 3 | ||
- | drwxr-xr-x | + | drwxr-xr-x |
</ | </ | ||
Ligne 382: | Ligne 418: | ||
< | < | ||
- | # ls -l / | + | # ls -l / |
total 2 | total 2 | ||
- | -rw-r--r-- | + | -rw-r--r-- |
</ | </ | ||
- | Il est important à noter que le répertoire .zfs ne peut pas être lister | + | Il est important à noter que le répertoire .zfs ne peut pas être listé |
< | < | ||
Ligne 393: | Ligne 429: | ||
/ | / | ||
total 8 | total 8 | ||
- | drwxr-xr-x | + | drwxr-xr-x |
- | drwxr-xr-x | + | drwxr-xr-x |
- | -rw-r--r-- | + | -rw-r--r-- |
</ | </ | ||
Ligne 401: | Ligne 437: | ||
< | < | ||
- | # zfs snapshot -r mypool@Dec13-1 | + | # zfs snapshot -r mypool@snapshot2 |
</ | </ | ||
Ligne 408: | Ligne 444: | ||
< | < | ||
# ls / | # ls / | ||
- | Dec13-1 | + | snapshot2 |
# ls / | # ls / | ||
- | Dec13 Dec13-1 | + | snapshot1 |
</ | </ | ||
Ligne 417: | Ligne 453: | ||
< | < | ||
# zfs list -t snapshot -r mypool | # zfs list -t snapshot -r mypool | ||
- | NAME USED AVAIL REFER MOUNTPOINT | + | NAME |
- | mypool@Dec13-1 | + | mypool@snapshot2 |
- | mypool/ | + | mypool/ |
- | mypool/ | + | mypool/ |
- | mypool/ | + | mypool/ |
</ | </ | ||
Ligne 430: | Ligne 466: | ||
# ls -l / | # ls -l / | ||
total 3 | total 3 | ||
- | -rw-r--r-- | + | -rw-r--r-- |
- | -rw-r--r-- | + | -rw-r--r-- |
</ | </ | ||
Ligne 437: | Ligne 473: | ||
< | < | ||
- | # 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 |
- | mypool@Dec13-1 | + | mypool@snapshot2 |
- | mypool@Dec13-2 | + | mypool@snapshot3 |
- | mypool/ | + | mypool/ |
- | mypool/ | + | mypool/ |
- | mypool/ | + | mypool/ |
- | mypool/ | + | mypool/ |
- | mypool/ | + | mypool/ |
</ | </ | ||
Ligne 452: | Ligne 488: | ||
< | < | ||
- | # zfs diff mypool/ | + | # zfs diff mypool/ |
M / | M / | ||
+ / | + / | ||
Ligne 469: | Ligne 505: | ||
| - | Supprimé | | | - | Supprimé | | ||
- | NOtez que vous ne pouvez pas comparer les snapshots dans l' | + | Notez que vous ne pouvez pas comparer les snapshots dans l' |
< | < | ||
- | # zfs diff mypool/ | + | # zfs diff mypool/ |
- | Unable to obtain diffs: | + | Unable to obtain diffs: |
- | Not an earlier snapshot from the same fs | + | |
</ | </ | ||
Ligne 483: | Ligne 518: | ||
< | < | ||
# zfs list -t snapshot -r mypool | # zfs list -t snapshot -r mypool | ||
- | NAME USED AVAIL REFER MOUNTPOINT | + | NAME |
- | mypool@Dec13-1 | + | mypool@snapshot2 |
- | mypool@Dec13-2 | + | mypool@snapshot3 |
- | mypool/ | + | mypool/ |
- | mypool/ | + | mypool/ |
- | mypool/ | + | mypool/ |
- | mypool/ | + | mypool/ |
- | mypool/ | + | mypool/ |
- | # zfs rollback mypool/ | + | # zfs rollback mypool/ |
- | impossible de restaurer vers ' | + | cannot rollback to ' |
- | utilisez | + | use ' |
- | mypool/ | + | mypool/ |
</ | </ | ||
- | Supprimez donc le snapshot **Dec13-2** : | + | Supprimez donc le snapshot **snapshot3** : |
< | < | ||
- | # zfs destroy mypool/ | + | # zfs destroy mypool/ |
# zfs list -t snapshot -r mypool | # zfs list -t snapshot -r mypool | ||
- | NAME USED AVAIL REFER MOUNTPOINT | + | NAME |
- | mypool@Dec13-1 | + | mypool@snapshot2 |
- | mypool@Dec13-2 | + | mypool@snapshot3 |
- | mypool/ | + | mypool/ |
- | mypool/ | + | mypool/ |
- | mypool/ | + | mypool/ |
- | mypool/ | + | mypool/ |
</ | </ | ||
- | Maintenant fair un RollBack vers le snapshot **Dec13-1** : | + | Maintenant fair un RollBack vers le snapshot **snapshot2** : |
< | < | ||
- | # zfs rollback mypool/ | + | # zfs rollback mypool/ |
# ls -l / | # ls -l / | ||
total 2 | total 2 | ||
- | -rw-r--r-- | + | -rw-r--r-- |
</ | </ | ||
<WRAP center round important 60%> | <WRAP center round important 60%> | ||
- | Notez l' | + | Notez l’absence |
</ | </ | ||
Ligne 529: | Ligne 564: | ||
< | < | ||
- | # zfs clone mypool/ | + | # zfs clone mypool/ |
# zfs list | # zfs list | ||
- | NAME USED AVAIL REFER MOUNTPOINT | + | NAME USED AVAIL REFER MOUNTPOINT |
- | mypool | + | mypool |
- | mypool@Dec13-1 | + | mypool@snapshot2 |
- | mypool@Dec13-2 | + | mypool@snapshot3 |
- | mypool/ | + | mypool/ |
- | mypool/ | + | mypool/ |
- | mypool/ | + | mypool/ |
- | mypool/ | + | mypool/ |
- | mypool/ | + | mypool/ |
- | mypool/ | + | mypool/ |
- | mypool/ | + | mypool/ |
</ | </ | ||
Ligne 549: | Ligne 584: | ||
# ls -l / | # ls -l / | ||
total 2 | total 2 | ||
- | -rw-r--r-- | + | -rw-r--r-- |
</ | </ | ||
Ligne 569: | Ligne 604: | ||
< | < | ||
# zpool status mypool | # zpool status mypool | ||
- | pool : mypool | + | pool: mypool |
- | état : ONLINE | + | state: ONLINE |
- | | + | |
- | configuration | + | config: |
NAME STATE READ WRITE CKSUM | NAME STATE READ WRITE CKSUM | ||
Ligne 579: | Ligne 614: | ||
c0t2d0 | c0t2d0 | ||
c0t3d0 | c0t3d0 | ||
- | | + | |
- | c0t5d0 | + | c0t5d0 |
+ | |||
+ | errors: No known data errors | ||
- | erreurs : aucune erreur de données connue | ||
# zpool replace mypool c0t2d0 c0t4d0 | # zpool replace mypool c0t2d0 c0t4d0 | ||
</ | </ | ||
Ligne 590: | Ligne 626: | ||
< | < | ||
# zpool status mypool | # zpool status mypool | ||
- | pool : mypool | + | pool: mypool |
- | état : ONLINE | + | state: ONLINE |
- | scan: resilvered | + | scan: resilvered |
- | configuration | + | config: |
NAME STATE READ WRITE CKSUM | NAME STATE READ WRITE CKSUM | ||
Ligne 600: | Ligne 636: | ||
c0t4d0 | c0t4d0 | ||
c0t3d0 | c0t3d0 | ||
- | | + | |
- | c0t5d0 | + | c0t5d0 |
- | erreurs | + | errors: No known data errors |
</ | </ | ||
Ligne 610: | Ligne 646: | ||
</ | </ | ||
- | ====La | + | ====La |
- | La déscrution | + | La destruction |
< | < | ||
# zpool destroy mypool | # zpool destroy mypool | ||
- | </ | ||
- | |||
- | Notez que cette opération détruit aussi les snapshots !! : | ||
- | |||
- | < | ||
# zfs list | # zfs list | ||
- | aucun jeu de données disponible | + | no datasets available |
</ | </ | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | Notez que cette opération détruit aussi les snapshots !! | ||
+ | </ | ||
====La Création d'un Pool en RAID-5==== | ====La Création d'un Pool en RAID-5==== | ||
Ligne 632: | 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 |
- | | + | |
- | configuration | + | config: |
NAME STATE READ WRITE CKSUM | NAME STATE READ WRITE CKSUM | ||
Ligne 643: | Ligne 678: | ||
c0t3d0 | c0t3d0 | ||
c0t4d0 | c0t4d0 | ||
- | | + | |
- | c0t5d0 | + | c0t5d0 |
- | erreurs | + | errors: No known data errors |
</ | </ | ||
Ligne 654: | Ligne 689: | ||
# zpool destroy mypool | # zpool destroy mypool | ||
</ | </ | ||
+ | |||
====La Création d'un Pool en RAID-6==== | ====La Création d'un Pool en RAID-6==== | ||
Ligne 661: | 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 |
- | | + | |
- | configuration | + | config: |
NAME STATE READ WRITE CKSUM | NAME STATE READ WRITE CKSUM | ||
Ligne 673: | Ligne 709: | ||
c0t4d0 | c0t4d0 | ||
c0t5d0 | c0t5d0 | ||
- | | + | |
- | c0t6d0 | + | c0t6d0 |
- | erreurs | + | errors: No known data errors |
</ | </ | ||
Ligne 685: | Ligne 721: | ||
</ | </ | ||
- | ====Conculter | + | ====Consulter |
La sous-commande **history** de la command **zpool** permet de consulter l' | La sous-commande **history** de la command **zpool** permet de consulter l' | ||
Ligne 691: | Ligne 727: | ||
< | < | ||
# zpool history | # zpool history | ||
- | Historique de ' | + | no pools available |
- | 2013-06-02.21: | + | |
</ | </ | ||
Ligne 702: | Ligne 737: | ||
< | < | ||
< | < | ||
- | Copyright © 2019 Hugh Norris. | + | Copyright © 2020 Hugh Norris. |
</ | </ | ||
</ | </ |