GNU/Linux >> Tutoriels Linux >  >> Linux

Comment utiliser les instantanés, les clones et la réplication dans ZFS sous Linux

Dans le didacticiel précédent, nous avons appris à créer un zpool et un système de fichiers ou un ensemble de données ZFS. Dans ce didacticiel, je vais vous montrer étape par étape comment utiliser les instantanés, les clones et la réplication ZFS. Instantané, clone. et la réplication sont les fonctionnalités les plus puissantes du système de fichiers ZFS.

Instantanés ZFS - un aperçu

L'instantané est l'une des fonctionnalités les plus puissantes de ZFS, un instantané fournit une copie ponctuelle en lecture seule d'un système de fichiers ou d'un volume qui ne consomme pas d'espace supplémentaire dans le pool ZFS. L'instantané utilise uniquement de l'espace lorsque les références de bloc sont modifiées. Les instantanés préservent l'espace disque en enregistrant uniquement les différences entre l'ensemble de données actuel et une version précédente.

Un exemple typique d'utilisation d'un instantané est d'avoir un moyen rapide de sauvegarder l'état actuel du système de fichiers lorsqu'une action risquée comme une installation de logiciel ou une mise à niveau du système est effectuée.

Création et destruction d'un instantané ZFS

Les instantanés de volumes ne sont pas accessibles directement, mais ils peuvent être clonés, sauvegardés et restaurés. Créer et détruire un instantané ZFS est très simple, nous pouvons utiliser les commandes zfs snapshot et zfs destroy pour cela.

Créez un pool appelé datapool.

# zpool create datapool mirror /dev/sdb /dev/sdc 
# zpool list
NAME       SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
datapool  1.98G    65K  1.98G         -     0 % 0 %  1,00 x  EN LIGNE  -

Maintenant, nous avons un pool appelé datapool, nous devons ensuite créer un système de fichiers ZFS pour simuler la fonctionnalité d'instantané.

# zfs create datapool/docs -o mountpoint=/docs
# zfs list -r datapool
NOM            UTILISÉ  DISPONIBLE RÉFÉRER POINT DE MONTAGE
datapool       93.5K  1.92G    19K  /datapool
datapool/docs    19K  1.92G    19K  /docs

Pour créer un instantané du système de fichiers, nous pouvons utiliser la commande zfs snapshot en spécifiant le pool et le nom de l'instantané. Nous pouvons utiliser l'option -r si nous voulons créer un instantané de manière récursive. Le nom de l'instantané doit satisfaire aux exigences de dénomination suivantes :

[email protected][email protected]
# zfs snapshot datapool/[email protected]
# zfs list -t snapshot
NAME                    UTILISÉ AVAIL REFER MOUNTPOINT
datapool/[email protected]      0      -  19.5K  -

Un instantané pour datapool/docs est créé.

Pour détruire l'instantané, nous pouvons utiliser la commande zfs destroy comme d'habitude.

# zfs destroy datapool/[email protected]
# zfs list -t snapshot
aucun jeu de données disponible

Annuler un instantané

Pour la simulation, nous devons créer un fichier de test dans le répertoire /docs.

# echo "version 1"> /docs/data.txt
# cat /docs/data.txt
version 1
# zfs snapshot datapool/[email protected]
# zfs list -t snapshot
NAME                    UTILISÉ AVAIL  REFER  MOUNTPOINT
datapool/[email protected]     9K      -  19,5K  -

Maintenant, nous modifions le contenu de /docs/data.txt

# echo "version 2"> /docs/data.txt
# cat /docs/data.txt
version 2

Nous pouvons revenir complètement à un ancien instantané qui nous donnera la copie du moment où l'instantané a été pris.

# zfs list -t snapshot
NOM                    UTILISÉ  AVAIL         UTILISÉ  DISPONIBLE REFER  POINT DE MONTAGE
datapool/[email protected]  9.50K      -  19.5K  -
# zfs rollback datapool/[email protected]
# cat /docs/data.txt
version 1

Comme nous pouvons le voir, le contenu de data.txt est revenu au contenu précédent.

Si nous voulons renommer l'instantané, nous pouvons utiliser la commande zfs rename.

# zfs rename datapool/[email protected] datapool/[email protected]
# zfs list -t snapshot
NOM                     UTILISÉ AVAIL REFER MOUNTPOINT
datapool/[email protected]  9.50K      - 19 500 -

Remarque :un ensemble de données ne peut pas être détruit s'il existe des instantanés de cet ensemble de données, mais nous pouvons utiliser l'option -r pour remplacer cela.

# zfs destroy datapool/docs
impossible de détruire 'datapool/docs' :le système de fichiers a des enfants
utilisez '-r' pour détruire les ensembles de données suivants :
datapool/[email protected]
# zfs destroy -r datapool/docs
# zfs list -t snapshot
aucun jeu de données disponible

Présentation des clones ZFS

Un clone est un volume inscriptible ou un système de fichiers dont le contenu initial est le même que l'ensemble de données à partir duquel il a été créé.

Création et destruction d'un clone ZFS

Les clones ne peuvent être créés qu'à partir d'un instantané et un instantané ne peut pas être supprimé tant que vous n'avez pas supprimé le clone basé sur cet instantané. Pour créer un clone, utilisez la commande zfs clone.

# zfs create datapool/docs -o mountpoint=/docs
# zfs list -r datapool
NOM            UTILISÉ  DISPONIBLE RÉFÉRER POINT DE MONTAGE
datapool       93.5K  1.92G    19K  /datapool
datapool/docs    19K  1.92G    19K  /docs
# mkdir /docs/dossier{1..5}
# ls /docs/
dossier1  dossier2  dossier3  dossier4  dossier5
# zfs snapshot datapool/[email protected]
# zfs list -t snapshot
NAME                 UTILISÉ  DISPONIBLE REFER MOUNTPOINT
datapool/[email protected]      0      -    19K  -

Nous créons maintenant un clone à partir du pool de données d'instantanés/[email protected]

# zfs clone datapool/[email protected] datapool/pict
# zfs list
NOM            UTILISÉ  AVA           UTILISÉ         POINT DE MONTAGE
datapool        166 K  1,92 G    19 K  /datapool
datapool/docs    19 K 1.92G    19K  /docs
datapool/pict     1K  1.92G    19K  /datapool/pict

Le processus de clonage est terminé, le pool de données d'instantané/[email protected] a été cloné vers /datapool/pict. Lorsque nous vérifions le contenu du répertoire /datapool/pict, le contenu doit être identique à /datapool/docs.

# ls /datapool/pict
dossier1 dossier2 dossier3 dossier4 dossier5

Une fois que nous avons cloné un instantané, l'instantané ne peut pas être supprimé tant que vous n'avez pas supprimé l'ensemble de données.

# zfs destroy datapool/[email protected]
impossible de détruire 'datapool/[email protected]' :l'instantané a des clones dépendants
utilisez '-R' pour détruire les ensembles de données suivants :
pool de données/image
# zfs détruit le pool de données/l'image

Enfin, nous pouvons détruire l'instantané.

# zfs destroy datapool/[email protected]
# zfs list -t snapshot
aucun jeu de données disponible

Présentation de la réplication ZFS

La base de cette réplication ZFS est un instantané, nous pouvons créer un instantané à tout moment, et nous pouvons créer autant d'instantanés que nous le souhaitons. En créant, transférant et restaurant continuellement des instantanés, vous pouvez fournir une synchronisation entre une ou plusieurs machines. ZFS fournit une fonctionnalité de sérialisation intégrée qui peut envoyer une représentation de flux des données vers la sortie standard.

Configurer la réplication ZFS

Dans cette section, je souhaite vous montrer comment répliquer un ensemble de données d'un pool de données à un pool de sauvegarde, mais il est possible non seulement de stocker les données sur un autre pool connecté au système local, mais également de les envoyer via un réseau vers un autre système. Les commandes utilisées pour répliquer les données sont zfs send et zfs receive.

Créez un autre pool appelé pool de sauvegarde.

# zpool create backuppool mirror sde sdf
# zpool list
NAME         SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
backuppool  1.98G    50K  1.98G          -     0 %                                     
pool de données    1.98G   568K  1.98G         -     0 %     0 %  1.00x  EN LIGNE  -

Vérifiez l'état du pool :

# zpool status
  pool :datapool
 état :ONLINE
  analyse :aucune demande
config :

        NAME        STATE     READ WRITE CKSUM
Datapool en ligne 0 0 0
miroir-0 en ligne 0 0 0
sdb en ligne 0 0 0
sdc en ligne 0 0 0

Erreurs:aucune erreur de données connue

pool :pool de sauvegarde
 état :EN LIGNE
 analyse :aucune requête
config :

        NOM        ÉTAT     READ WRITE CKSUM
        pool de sauvegarde    EN LIGNE       0     0     0
mirror-0  EN LIGNE       0     0     0
            sde     EN LIGNE       0     0     0
            sdf     EN LIGNE       0     0     0

erreurs de données connues

 :

Créez un ensemble de données que nous répliquerons.

# zfs snapshot datapool/[email protected]
# zfs list -t snapshot
NAME                 UTILISÉ  DISPONIBLE REFER MOUNTPOINT
datapool/[email protected]      0      -    19K  -
# ls /docs/
dossier1 dossier2 dossier3 dossier4 dossier5

Il est temps de faire la réplication.

# zfs send datapool/[email protected] | zfs reçoit le pool de sauvegarde/sauvegarde
# liste zfs
NOM                UTILISÉ  DISPONIBLE REFER POINT DE MONTAGE
pool de sauvegarde            83 K   1,92 G    19 K   /pool de sauvegarde
pool de sauvegarde/sauvegarde    19 K  1,92 G     /pool de sauvegarde 19 K >datapool            527K  1.92G    19K  /datapool
datapool/docs        19K  1.92G    19K  /docs
# ls /backuppool/backup
dossier1 dossier2 dossier3 dossier4 dossier5

L'ensemble de données datapool/[email protected] a été répliqué avec succès vers backuppool/backup.

Pour répliquer un jeu de données sur une autre machine, nous pouvons utiliser la commande ci-dessous :

# zfs send datapool/[email protected] | ssh autre serveur zfs recv pool de sauvegarde/sauvegarde

Terminé.

Conclusion

L'instantané, le clonage et la réplication sont les fonctionnalités les plus puissantes de ZFS. Les instantanés sont utilisés pour créer des copies ponctuelles de systèmes de fichiers ou de volumes, le clonage est utilisé pour créer un ensemble de données en double, et la réplication est utilisée pour répliquer un ensemble de données d'un pool de données vers un autre pool de données sur la même machine ou pour répliquer des pools de données entre différents machines.


Linux
  1. Comment installer et utiliser telnet sur Kali Linux

  2. Comment utiliser TimeShift pour sauvegarder et restaurer Ubuntu Linux

  3. Qu'est-ce qu'une commande Chown sous Linux et comment l'utiliser

  4. Comment installer et utiliser Flatpak sous Linux

  5. Comment installer et utiliser Traceroute sous Linux

Comment créer et restaurer des instantanés de machine virtuelle dans VirtualBox

Comment utiliser Timeshift pour sauvegarder et restaurer Linux

Comment installer et utiliser le navigateur Tor sous Linux

Comment installer et utiliser phpMyAdmin sous Linux

Comment installer et utiliser la commande fd sous Linux

Comment installer et utiliser Nu Shell sous Linux