Tutoriel | Tuto ZFS Linux
Article publiée le 6 Mai 2016
Article mise à jour le 23 Juin 2017
Un petit tuto sur le système (et gestionnaire de volume) ZFS. En travaillant sur des serveurs ayant ce système de fichiers, j’ai pu voir son incroyable potentiel !
IL est courant que ZFS fasse peur à tort étant donnée que la corruption de données n’existe pas avec ce système de fichiers…En effet, avec ZFS, aurevoir fsck et compagnie!
ZFS est un système de fichiers développé à l’origine par SUN. Les caractéristiques de ZFS sont quasiment illimités:
- 248 : le nombre d’instantanés maximal ;
- 248 : le nombre de fichiers dans chaque système de fichiers ;
- 16 exbioctets : la taille maximum du système de fichiers ;
- 16 exbioctets : la taille maximum d’un seul fichier ;
- 256 : le nombre maximal théorique de fichiers par répertoire (en réalité limité à 248 par le nombre maximal de fichiers dans un système de fichiers).
De plus ZFS possède un système de snapshots incroyablement puissant!
Ci-dessous un petit tuto expliquant comment utiliser ZFS.
1) Installation
1.1) Sous Debian/Ubuntu
ZFS est disponible dans les dépots backport.
Ajouter les dépots Backport puis installez ZFS
Installez maintenant ZFS: apt-get update && apt-get install zfs-dkms zfsutils-linux zfsutils-linux
1.2) Sous RedHat/Centos (Redhat7 / Centos7 ou supérieu)
Installez ZFS : yum install zfs-dracut
Activer le module ZFS: modprobe zfs
2) Création d’un volume ZFS (ZPOOL)
2.1) Création d’un ZPOOL simple
Nous allons pour cela créer un zpool. Un zpool est comparable à un VG dans LVM sauf que l’on peut directement le monter en tant que volume étant donnée qu’il est nativement en ZFS:
zpool create -f <nom de votre zpool> <votre disque>
Exemple: zpool create -f zfspool sdb
2.2) Création d’un RAID
zpool create -f mypool <type de raid> <vos disques>
Exemple: zpool create -f zfspool raidz sdb sdc sdd sde sdf
Vous devez renseigner l’argument <type de raid> par le RAID que vous souhaitez créer :
MIRROR: RAID1
RAIDZ: Equivalent RAID5 amélioré
RAIDZ-1: Avec un disque de parité supplémentaire.
RAIDZ-2: Avec deux disques de parité supplémentaire.
RAIDZ-3: Avec trois disques de parité supplémentaire.
2.3) Lister les ZPOOL
Nous allons maintenant lister notre ZPOOL fraîchement crée:
zpool list
Vous devriez obtenir ceci:
Vous pouvez également avoir un statut global de votre ZPOOL:
zpool status
2.4) Supprimer un ZPOOL
zfs destroy <zpool>
Exemple:
zfs destroy zfspool
2.5) démonter un ZPOOL
Vous pouvez monter votre ZPOOL avec la commande:
zfs umount <nom de votre zpool>
Exemple:
zfs umount zfspool
2.6) Agrandir un ZPOOL
Admettons que vous ayez besoin d’espace supplémentaire.
Après avoir rajouté votre disque où volume il suffit d’utiliser la commande suivante:
zpool add <nom de votre zpool> <nom de votre volume>
Exemple:
zpool add zfspool sdc
2.6) Modifier les paramètres d’un ZPOOL
2.6.1 Changer le point de montage d’un ZPOOL
Par défaut les points de montage ZFS sont créés à la racine.
Vous pouvez modifier le point de montage avec la commande : zfs set mountpoint= <le chemin de votre point de montage> <nom de votre zpool>
Exemple:
zfs set mountpoint=/mnt/zfs zfspool
3) Gestion des partitions ZFS
3.1) Créer une partition
zfs create <nom de votre zpool><nom de votre nouvelle partition>
Exemple:
zfs create zfspool/partition1
3.2) Renommer une partition
zfs rename <zpool><votre partition> <zpool><nom de votre nouvelle partition>
Exemple:
zfs rename zfspool/partition1 zfspool/partitionnew
3.3) Supprimer une partition
zfs destroy <zpool><votre partition>
Exemple:
zfs destroy zfspool/partition1
4) Monter un ZPOOL
Vous pouvez monter votre ZPOOL avec la commande:
zfs mount <nom de votre zpool>
Exemple:
zfs mount zfspool
5) Snapshot
5.1 Créer un snapshot
zfs snapshot <zpool ou partition>@<nom de votre snapshot>
Exemple:
zfs snapshot zfspool@07052016
5.2 Lister les snapshot
zfs list -t snapshot
5.3 Utiliser un snapshot
Commande: zfs rollback <nom de votre snapshot>
Exemple:
Nous allons créer un fichier:
Nous allons créer un snapshot:
Nous allons maintenant supprimer le fichier:
Nous allons utiliser notre snapshot pour le restaurer:
(enjoy ;))
5.4 Supprimer un snapshot
zfs destroy <nom de votre snapshot>
Exemple:
zfs destroy zfspool/partition2@aujourdhui
Autres tutoriels sur les systèmes de fichiers:
BTRFS: http://journaldunadminlinux.fr/presentation-de-btrfs-et-comment-migrer/