Photo de Kenny Louie.
Qu'est-ce que ZFS et pourquoi devrais-je l'utiliser?
Le système de fichiers Z est un gestionnaire de volumes logiques libres et à source ouverte, conçu par Sun Microsystems pour être utilisé dans son système d'exploitation Solaris. Certaines de ses caractéristiques les plus attrayantes comprennent:
Evolutivité sans fin
Eh bien, ce n’est pas techniquement sans fin, mais il s’agit d’un système de fichiers de 128 bits capable de gérer des zettaoctets (un milliard de téraoctets) de données. Quel que soit votre espace disque, ZFS conviendra à sa gestion.
Intégrité maximale
Tout ce que vous faites dans ZFS utilise une somme de contrôle pour assurer l'intégrité des fichiers. Vous pouvez être assuré que vos fichiers et leurs copies redondantes ne subiront pas de corruption de données silencieuse. De plus, pendant que ZFS est en train de vérifier discrètement l'intégrité de vos données, il effectue des réparations automatiques dès qu'il le peut.
Pool de disques
Les créateurs de ZFS souhaitent que vous pensiez qu’il ressemble à la manière dont votre ordinateur utilise la RAM. Lorsque vous avez besoin de plus de mémoire sur votre ordinateur, vous insérez une autre clé et vous avez terminé. De même avec ZFS, lorsque vous avez besoin de plus d'espace disque, vous insérez un autre disque dur et vous avez terminé. Nul besoin de passer du temps à partitionner, formater, initialiser ou faire autre chose sur vos disques - lorsque vous avez besoin d'un "pool" de stockage plus important, ajoutez simplement des disques.
RAID
ZFS est capable de nombreux niveaux de RAID différents, tout en offrant des performances comparables à celles des contrôleurs RAID matériels. Cela vous permet d'économiser de l'argent, de faciliter la configuration et d'avoir accès à des niveaux RAID supérieurs améliorés par ZFS.
Installation de ZFS
Comme nous ne traitons que des bases de ce guide, nous n’allons pas installer ZFS en tant que système de fichiers racine. Cette section suppose que vous utilisez ext4 ou un autre système de fichiers et que vous souhaitez utiliser ZFS pour certains disques durs secondaires. Voici les commandes pour installer ZFS sur certaines des distributions Linux les plus populaires.
Solaris et FreeBSD devraient déjà être livrés avec ZFS installé et prêt à être utilisé.
Ubuntu:
$ sudo add-apt-repository ppa:zfs-native/stable $ sudo apt-get update $ sudo apt-get install ubuntu-zfs
Debian:
$ su - # wget https://archive.zfsonlinux.org/debian/pool/main/z/zfsonlinux/zfsonlinux_2%7Ewheezy_all.deb # dpkg -i zfsonlinux_2~wheezy_all.deb # apt-get update # apt-get install debian-zfs
RHEL / CentOS:
$ sudo yum localinstall --nogpgcheck https://archive.zfsonlinux.org/epel/zfs-release-1-3.el6.noarch.rpm $ sudo yum install zfs
Si vous avez une autre distribution, consultez zfsonlinux.org et cliquez sur votre distribution dans la liste «Packages» pour obtenir des instructions sur la procédure d'installation de ZFS.
Comme nous continuons avec ce guide, nous allons utiliser Ubuntu car cela semble être le choix n ° 1 pour les geeks de Linux. Quoi qu'il en soit, vous devriez toujours pouvoir suivre, car les commandes ZFS ne changeront pas d’une distribution à l’autre.
L’installation prend un certain temps, mais une fois l’opération terminée, lancez
$ sudo zfs list
pour s’assurer qu’il est correctement installé. Vous devriez obtenir un résultat comme celui-ci:
Configuration de ZFS
Maintenant, disons que nous mettons six autres disques durs dans notre ordinateur.
$ sudo fdisk -l | grep Error
va nous montrer les six disques durs que nous venons d'installer. Ils sont actuellement inutilisables car ils ne contiennent aucune sorte de table de partition.
$ sudo zpool create -f geek1 /dev/sdb /dev/sdc /dev/sdd
zpool create
est la commande utilisée pour créer un nouveau pool de stockage,
-f
remplace toutes les erreurs qui se produisent (par exemple, si le ou les disques contiennent déjà des informations),
geek1
est le nom du pool de stockage, et
/dev/sdb /dev/sdc /dev/sdd
sont les disques durs que nous mettons dans la piscine.
Après avoir créé votre pool, vous devriez pouvoir le voir avec le
df
commande ou
sudo zfs list
:
Si vous voulez voir les trois disques que vous avez sélectionnés pour votre pool, vous pouvez exécuter
sudo zpool status
:
En supposant que la protection de vos données soit plus importante que l’accès rapide à celles-ci, examinons d’autres configurations populaires. Tout d’abord, nous allons supprimer le zpool que nous avons créé pour pouvoir utiliser ces disques dans une configuration plus redondante:
$ sudo zpool destroy geek1
Bam, notre zpool est parti. Cette fois, utilisons nos trois disques pour créer un pool RAID-Z. RAID-Z est fondamentalement une version améliorée de RAID 5, car elle évite le «trou d’écriture» en utilisant la copie sur écriture. RAID-Z nécessite au moins trois disques durs. Il s’agit d’une sorte de compromis entre RAID 0 et RAID 1. Dans un pool RAID-Z, vous bénéficierez toujours de la vitesse de répartition par niveau de bloc mais vous obtiendrez également une parité répartie. Si un seul disque de votre pool meurt, il suffit de remplacer ce disque et ZFS reconstruira automatiquement les données en fonction des informations de parité des autres disques. Pour perdre toutes les informations de votre pool de stockage, deux disques doivent être détruits. Pour rendre les choses encore plus redondantes, vous pouvez utiliser RAID 6 (RAID-Z2 dans le cas de ZFS) et avoir une double parité.
Pour ce faire, nous pouvons utiliser le même
zpool create
commande comme avant mais spécifiez
raidz
après le nom de la piscine:
$ sudo zpool create -f geek1 raidz /dev/sdb /dev/sdc /dev/sdd
df -h
montre que notre pool de 9 To a été réduit à 6 To, car 3 To sont utilisés pour conserver des informations de parité. Avec le
zpool status
nous voyons que notre pool est généralement le même qu’auparavant, mais utilise maintenant RAID-Z.
Pour montrer à quel point il est facile d’ajouter plus de disques à notre pool de stockage, ajoutons les trois autres disques (9 To supplémentaires) à notre pool de stockage geek1 en tant que configuration RAID-Z supplémentaire:
$ sudo zpool add -f geek1 raidz /dev/sde /dev/sdf /dev/sdg
On se retrouve avec:
La saga continue…
Nous n’avons guère cerné la surface de ZFS et de ses fonctionnalités, mais si vous utilisez ce que vous avez appris dans cet article, vous devriez maintenant être en mesure de créer des pools de stockage redondants de vos données. Revenez avec nous pour de futurs articles sur ZFS, consultez les pages de manuel, et recherchez les guides de niche sans fin et les vidéos Youtube couvrant les fonctions de ZFS.