ZFS – Un système et gestionnaire de volume

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:

LVM: http://journaldunadminlinux.fr/tutoriel-gerez-votre-systeme-de-fichier-grace-a-lvm-logical-volume-management/

BTRFS: http://journaldunadminlinux.fr/presentation-de-btrfs-et-comment-migrer/

 

Sources

Laisser un commentaire