Administration ZFS
Contents
1. Les commandes de bases
- Il existe 2 commandes permettant l'administration de stockage au format ZFS sous solaris 10.
- zfs : permet la configuration des filesystems.
- zpool : permet la configuration des pools de stockages.
- Le script de complétion pour commandes zfs et zpool est disponible sur le site BigAdmin 
1.1. Vocabulaire
- Pool ou pool de stockage : Ensemble de devices permettant un stockage physique et réplication de données. Cet ensemble est découpé en datasets et utilisés par ZFS pour le stockage logique des données.
- Virtual Devices ou vdevs : un vdev est un device physique ou un ensemble de devices physiques organisé de façon à obtenir une meilleure performance ou tolérance de panne. Les vdev peuvent être: - un disk
- un fichier sur le file system
- un ensemble de disks : des mirrors au format raid0, raid5 ou raidz
- spare : un ensemble de disks spares.
- log : un ou plusieurs devices dédiés au log.
- cache : un ou plusieurs disks de cache.
 
1.2. zpool
- Cette commande permet de configurer les pools de stockage ZFS. Plusieurs sous commandes sont disponibles:
- create : permet la création d'un pool de stockage. Un pool de stockage peut-être composé de plusieurs virtual devices. Ces virtual devices peuvent des fichiers, des disks physiques et peuvent être concaténés ou mirrorés. 
- destroy : permet de détruire un pool de stockage 
- add : permet d'ajouter un virtual device ans un pool déjà existant. 
- remove : permet de retirer un virtual device d'un pool existant. 
- list: permet de lister l'état (taille, statut) des pools de stockage. 
- iostat : permet d'afficher les I/O des pool de stockage 
- status : permet d'afficher les informations concernant un pool de stockage. - -v : mode verbose
- -x : n'affiche que les pools en erreur.
 
- online : permet de passer online un device appartenant un pool. 
- offline : permet de passer offline un device appartenant un pool. - -t : indique que le passage en offline est temporaire. (passe online après reboot)
 
- clear : supprime le flag erreur d'un device en erreur d'un pool. 
- attach : permet d'ajouter un device à un pool de stockage. 
- detach : permet de détacher un device d'un pool de stockage. 
- replace : permet de remplacer un device existant par un autre device. 
- scrub : valide les données présentes dans un pool de stockage. Les erreurs sont corrigées automatiquement lorsque les pools sont répliquées (mirror) - -s : permet de suspendre un scrub en cours! 
 
- import : Liste les pools de stockage disponible pour l'import. 
- upgrade : permet de mettre à jour le format de ZFS utilisé dans les pools. - Après la mise à jour, les pools utilisant le format deviennent inaccessibles pour les anciennes versions!
 
- history : permet de lister les dernières opérations effectuées sur un pool. 
- set/get : permet de gérer les propriétes des pools de stockages. 
- zpool upgrade -v : affiche la version de ZFS. 
1.3. zfs
- Cette commande permet de configurer les filesystems dans pool ZFS. Plusieurs sous commandes sont disponibles:
- create: crée un filesystem dans un pool. 
- destroy: détruit un filesystem, snapshot ou clone présent dans un pool. 
- rename: renomme un filesystem ou un snapshot. 
- set/get : affiche/modifie les propriétés du filesystem, snapshot ou clone. 
- snapshot: crée un snapshot. 
- list: liste les filesystems, snapshot ou cloneRv . 
- rollback : retour en arrière vers la dernière version du snapshot. 
- clone : crée un clone à partir d'un snapshot. 
2. Exemples
2.1. ZPOOL
- zpool create NOM_VOLUME TYPE_MIRROR DISKA DISKB DISKN : création d'un pool 
- zpool destory NOM_VOLUME : suppression d'un pool 
- zpool get all POOL : liste toutes les propriétés du pool 
- zpool set autoreplace=on POOL : passe à on la propriété autoreplace du POOL 
- zpool history: affiche l'historique des opérations sur le pool 
- Il est possible de restaurer un pool détruit par zpool import -D 
- zpool offline -t POOL DEVICE: passe offline le device DEVICE du pool POOL de façon temporaire(jusqu'au reboot). 
- zpool replace TANK DEVICE : remplace le disk DEVICE du pool tank 
2.1.1. Création d'un mirroir strippé
- zpool create tank mirror disk1 disk2: crée un mirroir strippé. 
2.1.2. Création d'un raid-z
- zpool create tankz raidz disk1 disk2 disk: crée un volume raidz 
- Il est possible de remplacer un disk par un autre disk du pool par zpool replace POOL DEVICE_HS NEW_DEVICE 
2.1.3. Migration d'un pool vers une autre machine
- Exporter le pool par zpool export POOL 
- Import le pool par zpool import POOL 
- Cela permet également renommer le pool en utilisant zpool import POOL NEW_POOL 
- On peut également récupérer un pool détruit par zpool destroy en utilisant zpool import -D GUID|POOL 
- zpool import liste les pools disponibles. zpool import -D permet de lister les pool supprimés. 
2.2. ZFS
- zfs share POOL/FS : rend FS accessible par NFS. 
- zfs get all POOL/FS : affiche la propriétés du FS. 
2.2.1. Création d'un FS
- zfs create -o mountpoint=/MYFS POOL/MYFS: crée le MYFS et le monte sous /MYFS. 
- zfs create -p -o mountpoint=/MYFS POOL/OTHERFS/MYFS: crée de façon récursive MYFS et le monte sous /MYFS. 
2.2.2. Renommer un FS
- zfs rename POOL/MYFS POOL/NEWFS: renomme le MYFS en NEWFS 
2.2.3. Suppression d'un FS
- zfs destory POOL/MYFS: supprime le FS MYSQL - Il est possible d'utiliser -r pour effectuer une suppression récursive 
 
3. Divers
- Pour utiliser des partitions de disk(slices), il faut passerl le disk en mode EFI par la commande format