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!
Installation
- 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
- Sous RedHat/Centos (Redhat7 / Centos7 ou supérieu)
Installez ZFS : yum install zfs-dracut
Activer le module ZFS: modprobe zfs
Création d’un volume ZFS (ZPOOL)
- 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
- 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.
- 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
- Supprimer un ZPOOL
zfs destroy <zpool>
Exemple:
zfs destroy zfspool
- démonter un ZPOOL
Vous pouvez monter votre ZPOOL avec la commande:
zfs umount <nom de votre zpool>
Exemple:
zfs umount zfspool
- 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
- Modifier les paramètres d’un ZPOOL
- 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
Gestion des partitions ZFS
- Créer une partition
zfs create <nom de votre zpool><nom de votre nouvelle partition>
Exemple:
zfs create zfspool/partition1
- Renommer une partition
zfs rename <zpool><votre partition> <zpool><nom de votre nouvelle partition>
Exemple:
zfs rename zfspool/partition1 zfspool/partitionnew
- Supprimer une partition
zfs destroy <zpool><votre partition>
Exemple:
zfs destroy zfspool/partition1
Monter un ZPOOL
Vous pouvez monter votre ZPOOL avec la commande:
zfs mount <nom de votre zpool>
Exemple:
zfs mount zfspool
Snapshot
- Créer un snapshot
zfs snapshot <zpool ou partition>@<nom de votre snapshot>
Exemple:
zfs snapshot zfspool@07052016
- Lister les snapshot
zfs list -t snapshot
- 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:
- 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/