GNU/Linux >> Tutoriels Linux >  >> Linux

Comment créer un instantané de volumes légers LVM à l'aide de la commande snapper

Snapper est un utilitaire de ligne de commande sous Linux utilisé pour créer et gérer des instantanés de volumes légers LVM. Il peut créer, supprimer et comparer des instantanés et annuler les modifications apportées entre les instantanés. Snapper permet également de créer et de gérer facilement des instantanés pour Btrfs.

Installation du vivaneau

Utilisez la commande yum pour installer le package logiciel snapper.

# yum install snapper
...
Transaction Summary ============================================================= 
Install 1 Package (+3 Dependent packages)
Total download size: 499 k Installed size: 1.5 M
Is this ok [y/d/N]: y
...
Complete!

Utilisez la commande rpm –ql pour afficher les fichiers fournis par le package snapper.

# rpm –ql snapper
/etc/cron.daily/snapper 
/etc/cron.hourly/snapper 
/etc/dbus-1/system.d/org.opensus.Snapper.conf 
/etc/logrotate.d/snapper
/usr/bin/snapper
/usr/sbin/snapperd /usr/share/dbus-1/system-services/org.opensus.Snapper.service 
...
Notez les deux fichiers cron snapper.
– Par défaut, snapper configure un cron.hourly travail pour créer des instantanés dans le .snapshots sous-répertoire du volume et un cron.daily tâche pour nettoyer les anciens instantanés.
– Vous pouvez modifier le fichier de configuration pour désactiver ou modifier ce comportement.

1. Création d'un volume logique finement provisionné

Utilisez la commande lvcreate pour créer un volume à allocation dynamique nommé – thinvol1. Notez que ce volume doit être monté avant de créer l'instantané à l'aide de la commande snapper.

# vgs
VG      #PV #LV  #SN  Attr     VSize      VFree
myvolg  1    0    0   wz--n-   1020.00m   1020.00m

Créez un pool léger :

# lvcreate –v –L 100m –T myvolg/mythinpool 
...
  Logical volume “mythinpool” created

Créer un volume finement provisionné :

# lvcreate –v –V 200m –T myvolg/mythinpool –n thinvol1 
...
  Logical volume “thinvol1” created

Créez un système de fichiers sur le volume léger.

# mkfs.ext4 /dev/myvolg/thinvol1
...
Writing superblocks and filesystem accounting information: done

Montez le système de fichiers :

# mkdir /myvol1
# mount /dev/myvolg/thinvol1 /myvol1

2. Création du fichier de configuration du vivaneau

Pour créer un instantané à l'aide de snapper, un fichier de configuration est requis pour le volume léger LVM ou le sous-volume Btrfs. Les volumes LVM et Btrfs doivent également avoir un système de fichiers monté. Utilisez la commande create-config pour créer le fichier de configuration. L'exemple suivant crée un fichier de configuration nommé myvol_snap pour un système de fichiers LVM ext4 monté sur /myvol1 :

# snapper –c myvol1_snap create-config –f "lvm(ext4)" /myvol1

– Cette commande ajoute une entrée à /etc/sysconfig/snapper.
– Cette commande crée le fichier de configuration /etc/snapper/configs/myvol1_snap.
– Cette commande crée un répertoire .snapshots dans /myvol1 répertoire.

# cat /etc/sysconfig/snapper 
... 
SNAPPER_CONFIGS=”myvol1_snap”
# cat /etc/snapper/configs/myvol1_snap ...
# subvolume to snapshot SUBVOLUME=”/myvol1”
# filesystem type
FSTYPE=”lvm(ext4)”
...
# start comparing pre- and post-snapshot in background after... BACKGROUND_COMPARISON=”yes”
# run daily number cleanup
NUMBER_CLEANUP=”yes”
...
# create hourly snapshots
TIMELINE_CREATE=”yes”
# cleanup hourly snapshots after some time
TIMELINE_CLEANUP=”yes”
...
# cleanup empty pre-post-pairs
EMPTY_PRE_POST_CLEANUP=”yes”
...

Les instantanés du système de fichiers /myvol1 sont stockés dans le sous-répertoire .snapshots.

# ls –la /myvol1
...
drwxr-x--- ... .snapshots
...

Types d'instantanés

Il existe trois types d'instantanés que vous pouvez créer à l'aide de snapper :
pre : Permet d'enregistrer l'état d'un volume avant une modification. Les pré-instantanés doivent toujours avoir un post-instantané correspondant.
post : Permet d'enregistrer l'état d'un volume après une modification.
unique : Ces instantanés n'ont aucune relation particulière avec d'autres instantanés.

3. Création d'un instantané

Créez un fichier de test dans le répertoire /myvol1.

# echo "This is a test file" > /myvol1/test_file

Utilisez le snapper create -t ​​pre pour créer un pré instantané du volume défini par myvol1_snap fichier de configuration. Incluez l'option –p pour afficher le numéro de l'instantané en cours de création. (Dans cet exemple, le numéro de pré-instantané est 1)

# snapper –c myvol1_snap create –t pre –p
1

Les instantanés sont stockés par numéro d'instantané dans le sous-répertoire .snapshots du volume. Affichez le contenu du répertoire /myvol1/.snapshots.

# ls –l /myvol1/.snapshots 
...
drwxr-xr-x ... 1

Affichez le contenu du répertoire /myvol1/.snapshots/1.

# ls –l /myvol1/.snapshots/1 
...
-rw-------    ...     info.xml 
drwxr-x---    ...     snapshot

Modifiez maintenant le contenu du répertoire /myvol1 en supprimant le test_file.

# rm /myvol1/test_file

Utilisez le snapper create -t ​​post pour créer un post-instantané du volume défini par le fichier de configuration myvol1_snap. Incluez l'option –pre-num 1 pour associer ce post instantané au pré instantané 1. Incluez l'option –p pour afficher le numéro de l'instantané en cours de création.

# snapper –c myvol1_snap create –t post --pre-num 1 –p 
2

Vous verriez un nouveau répertoire names 2 créé dans le répertoire .snapshots.

# ls –l /myvol1/.snapshots/2 
...
-rw------- ... filelist-1.txt 
-rw------- ... info.xml 
drwxr-x--- ... snapshot

Le filelist-1.txt contient le fichier qui a été supprimé après le pré-instantané et avant le post-instantané.

# cat /myvol1/.snapshots/2/filelist-1.txt 
-..... /test_file

Comparer les instantanés avant et après

Utilisez la commande snapper status pour afficher les fichiers et répertoires qui ont été ajoutés, supprimés ou modifiés entre le pré-instantané 1 et le post-instantané 2.

# snapper –c myvol1_snap status 1..2
-..... /test_file

Utilisez la commande snapper diff pour afficher les différences entre le contenu des fichiers dans le pré-instantané 1 et le post-instantané 2.

# snapper –c myvol1_snap diff 1..2
Binary files /myvol1/.snapshots/1/snapshot/test_file and /myvol1/.snapshots/2/snapshot/test_file differ

Utilisez la commande snapper list pour répertorier les instantanés qui existent pour le volume défini par le fichier de configuration myvol1_snap.

# snapper –c myvol1_snap list
Type  | # | Pre # | Date | User | Cleanup |Description| Userdata
------+---+-------+------+------+---------+------------+--------
single| 0 |       | ...  | root |         |  Current  |
pre   | 1 |       | ...  | root |         |	      |
post  | 2 |   1   | ...  | root |         |           |

inverser les changements de post snapshot à pré shanshot

Pour annuler les modifications du post-instantané au pré-instantané, c'est-à-dire pour restaurer le test_file, utilisez le snapper undochange commande.

# snapper –c myvol1_snap undochange 1..2 
create:1 modify:0 delete:0

Vérifier

# ls /myvol1
lost+found
test_file


Linux
  1. Comment créer une base de données dans MySQL à l'aide de la ligne de commande

  2. Comment créer une clé USB amorçable à l'aide de la commande dd

  3. Comment créer un script d'une commande Linux

  4. Comment créer des fichiers fragmentés sous Linux à l'aide de la commande "dd"

  5. Est-ce ainsi que fonctionnent les instantanés LVM ?

Comment créer un lien symbolique sous Linux à l'aide de la commande Ln

Comment créer un fichier sous Linux à l'aide de la commande Cat

Comment créer un alias sous Linux

Comment créer un fichier sous Linux à l'aide de Terminal

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

Comment créer une partition à l'aide de la commande "parted"