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