GNU/Linux >> Tutoriels Linux >  >> Linux

Comment configurer le système de fichiers ZFS sous Linux avec des exemples de commande zpool

ZFS a combiné le gestionnaire de volumes et le système de fichiers avec plusieurs fonctionnalités avancées.

Ceci est la première partie d'une série d'articles sur ZFS.

Dans cet article, nous fournirons une introduction de haut niveau à ZFS, expliquerons comment installer ZFS sur Linux, créerons un pool ZFS et plusieurs commandes ZFS zpool.

1. Présentation de ZFS

Voici quelques-unes des fonctionnalités du système de fichiers ZFS :

  • Protection contre la corruption des données
  • Prise en charge de capacités de stockage élevées
  • Compression efficace des données
  • Prendre des instantanés du système de fichiers
  • Clones de copie sur écriture
  • Prise en charge RAID Z
  • Vérification de l'intégrité
  • Réparation et prise en charge automatiques de la liste de contrôle d'accès NFSV4 native

Il a été développé à l'origine par Sun Microsystems pour la plate-forme Solaris. En 2010, Oracle a acquis les microsystèmes Sun et a apporté de nombreuses améliorations au système de fichiers ZFS.

ZFS est récemment devenu populaire sur Linux car il est devenu plus stable.

Le port ZFS sur Linux est produit par le Lawrence Livermore National Laboratory (LLNL).

ZFS sur Linux est un module de noyau que vous pouvez télécharger, compiler et installer. Vous n'avez pas besoin de patcher ou de recompiler votre noyau.

Vous pouvez télécharger les packages source pour votre distribution de système d'exploitation respective à partir d'ici.

2. Installer ZFS sur Linux

Dans cet article, nous allons installer ZFS sur le serveur CentOS. Mais, les commandes zfs mentionnées ci-dessous sont les mêmes pour presque toutes les distributions sur les distributions Linux, à l'exception de la partie installation.

Exécutez les commandes yum suivantes pour installer ZFS sur Redhat / CentOS.

# yum localinstall --nogpgcheck https://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

# yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release.el6.noarch.rpm

# yum install kernel-devel zfs

Veuillez vous assurer que toutes les dépendances sont respectées. L'une des dépendances où l'installation échoue normalement serait l'obligation d'installer le compilateur GCC. Dans ce cas, veuillez installer le compilateur GCC avant d'installer ZFS.

Assurez-vous que les modules ZFS sont chargés avec la commande lsmod comme indiqué ci-dessous :

# lsmod | grep zfs
zfs                  1188621  0
zcommon                45591  1 zfs
znvpair                81046  2 zfs,zcommon
zavl                    6900  1 zfs
zunicode              323051  1 zfs
spl                   264548  5 zfs,zcommon,znvpair,zavl,zunicode

Dans le même ordre d'idées, vous voudrez peut-être lire les bases de la création des modules de noyau chargeables Linux.

Nous avons ajouté quelques disques sur ce serveur (/dev/sdb à /dev/sdf) pour tester la fonctionnalité ZFS.

# ls -l /dev/sd*
brw-rw----. 1 root disk 8,  0 Jul 15 15:52 /dev/sda
brw-rw----. 1 root disk 8,  1 Jul 15 15:52 /dev/sda1
brw-rw----. 1 root disk 8,  2 Jul 15 15:52 /dev/sda2
brw-rw----. 1 root disk 8,  3 Jul 15 15:52 /dev/sda3
brw-rw----. 1 root disk 8, 16 Jul 16 10:57 /dev/sdb
brw-rw----. 1 root disk 8, 32 Jul 16 10:57 /dev/sdc
brw-rw----. 1 root disk 8, 48 Jul 16 10:58 /dev/sdd
brw-rw----. 1 root disk 8, 64 Jul 16 11:27 /dev/sde
brw-rw----. 1 root disk 8, 80 Jul 16 11:27 /dev/sdf

3. Créer un zpool

Commande Zpool utilisée pour configurer les pools de stockage dans ZFS. Le pool de stockage est un ensemble de périphériques qui fournit le stockage physique et la réplication des données pour les ensembles de données zfs.

Ce qui suit crée un zpool.

# zpool create -f mypool raidz sdb sdc sdd sde sdf

Dans l'exemple ci-dessus :

  • create représente la création d'un nouveau pool.
  • L'option -f consiste à ignorer les étiquettes de partition de disque puisqu'il s'agit de nouveaux disques
  • raidz est le niveau raid. RAIDZ n'est rien d'autre que la variante de RAID-5 qui permet une meilleure répartition de la parité et élimine le trou d'écriture "RAID-5" (incohérence des données et de la parité après une coupure de courant).
  • Un groupe raidz peut avoir une parité simple, double ou tribale, ce qui signifie qu'il peut subir respectivement une, deux ou trois pannes sans perdre de données. Les données et la parité sont réparties sur tous les disques d'un groupe raidz.

Ensuite, vérifiez l'état du zpool que nous venons de créer.

# zpool status
  pool: mypool
 state: ONLINE
  scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        mypool      ONLINE       0     0     0
          raidz1-0  ONLINE       0     0     0
            sdb     ONLINE       0     0     0
            sdc     ONLINE       0     0     0
            sdd     ONLINE       0     0     0
            sde     ONLINE       0     0     0
            sdf     ONLINE       0     0     0

errors: No known data errors

Une fois le pool créé, si vous faites df –h, vous verrez que le pool nouvellement créé est monté automatiquement sur le mountpount.

# df -h
Filesystem                  Size  Used Avail Use% Mounted on
/dev/mapper/vglocal-rootlv   14G  2.4G   11G  18% /
tmpfs                       939M     0  939M   0% /dev/shm
/dev/sda1                   504M   46M  433M  10% /boot
mypool                      3.9G     0  3.9G   0% /mypool

4. Créer un pool en miroir

Pour créer un pool en miroir, utilisez la commande zpool create avec les options suivantes.

Si l'un des disques du groupe miroir particulier est défaillant, l'autre disque contient toujours les données. Dès que le disque défaillant est remplacé, le contenu est mis en miroir (également appelé réargenture) sur le disque nouvellement remplacé.

# zpool create -f mypool mirror sdb sdc mirror sdd sde

Ensuite, vérifiez l'état du zpool en miroir que nous venons de créer :

# zpool status -v
  pool: mypool
 state: ONLINE
  scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        mypool      ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            sdb     ONLINE       0     0     0
            sdc     ONLINE       0     0     0
          mirror-1  ONLINE       0     0     0
            sdd     ONLINE       0     0     0
            sde     ONLINE       0     0     0

errors: No known data errors

5. Importation et exportation de Zpool

Dans certains cas, vous devrez peut-être migrer des pools zfs entre des systèmes.

ZFS rend cela possible en exportant un pool d'un système et en l'important vers un autre système.

Pour exporter n'importe quel pool, utilisez la commande zpool export et la commande zpool import est utilisée pour importer le pool comme indiqué dans l'exemple suivant :

# zpool export mypool

# zpool import mypool

6. Afficher les statistiques d'E/S du pool ZFS

Pour afficher les statistiques d'E/S de zpool, utilisez la commande zpool iostat comme indiqué ci-dessous :

# zpool iostat -v mypool
               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
mypool       147K  4.95G      0      0     33    252
  mirror      54K  3.97G      0      0     10     84
    sdb         -      -      0      0    536    612
    sdc         -      -      0      0    282    612
  mirror      93K  1008M      0      0     23    168
    sdd         -      -      0      0    288    696
    sde         -      -      0      0    294    696
----------  -----  -----  -----  -----  -----  -----

7. Supprimer un pool ZFS

Pour détruire un pool, utilisez la commande zpool destroy comme indiqué ci-dessous :

# zpool destroy mypool

8. Remplacer le disque corrompu dans le pool ZFS

Pour remplacer un disque, après une panne ou une corruption, utilisez la commande suivante :

# zpool replace mypool sde sdf

9. Étendre le pool ZFS avec un nouveau disque

Pour étendre le zpool en ajoutant un nouveau disque, utilisez la commande zpool comme indiqué ci-dessous :

# zpool add -f mypool sde

10. Ajouter un disque de secours au pool ZFS

Vous pouvez également ajouter un disque de secours au pool zfs à l'aide de la commande ci-dessous, en ajoutant un périphérique de secours à un pool zfs.

Les disques défaillants sont automatiquement remplacés par le périphérique de secours et l'administrateur peut remplacer les disques défaillants ultérieurement.

Veuillez noter que vous pouvez également partager le périphérique de secours entre plusieurs pools ZFS.

# zpool add -f mypool spare sde

Dans la prochaine partie de l'article, nous expliquerons comment utiliser les pools ZFS pour créer un système de fichiers ZFS, monter le système de fichiers ZFS et le manipuler à partir de la ligne de commande.


Linux
  1. Comment utiliser la commande Linux Hexdump avec des exemples pratiques

  2. Commande Linux DD - 15 exemples avec toutes les options

  3. Commande SCP sous Linux :comment l'utiliser, avec des exemples

  4. Commande JQ sous Linux avec exemples

  5. Comment créer un système de fichiers ZFS avec compression de fichiers sous Linux

Comment cloner des disques avec la commande Linux dd

15 Commande Linux ps avec exemples

Comment utiliser la commande Linux gunzip avec des exemples

Comment utiliser la commande Linux rm avec des exemples

Comment installer Dig sous Linux avec des exemples de ligne de commande

Comment utiliser la commande Sleep sous Linux :expliqué avec des exemples