GNU/Linux >> Znalost Linux >  >> Linux

Jak vytvořit snímek tenkých svazků LVM pomocí příkazu snapper

Snapper je nástroj příkazového řádku v Linuxu používaný k vytváření a správě snímků tenkých svazků LVM. Může vytvářet, mazat a porovnávat snímky a vracet změny provedené mezi snímky. Snapper také umožňuje snadné vytváření a správu snímků pro Btrfs.

Instalace snapperu

Pomocí příkazu yum nainstalujte softwarový balíček 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!

Pomocí příkazu rpm –ql zobrazíte soubory poskytované balíčkem 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 
...
Všimněte si dvou souborů cron snapper.
– Ve výchozím nastavení snapper nastavuje cron.hourly úkol vytvořit snímky v .snapshots podadresář svazku a cron.daily úkol vyčistit staré snímky.
– Toto chování můžete zakázat nebo změnit úpravou konfiguračního souboru.

1. Vytvoření Thinly Provisioned Logical Volume

Pomocí příkazu lvcreate vytvořte tenký zajišťovaný svazek s názvem – thinvol1. Všimněte si, že tento svazek je třeba připojit, než vytvoříme snímek pomocí příkazu snapper.

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

Vytvořte tenký bazén:

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

Vytvořte tence zřízený svazek :

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

Vytvořte systém souborů na tenkém svazku.

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

Připojte systém souborů:

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

2. Vytváření konfiguračního souboru snapper

Chcete-li vytvořit snímek pomocí snapperu, je vyžadován konfigurační soubor pro tenký svazek LVM nebo podsvazek Btrfs. Svazky LVM a Btrfs musí mít také připojený souborový systém. K vytvoření konfiguračního souboru použijte příkaz create-config. Následující příklad vytvoří konfigurační soubor s názvem myvol_snap pro souborový systém LVM ext4 připojený k /myvol1:

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

– Tento příkaz přidá položku do /etc/sysconfig/snapper.
– Tento příkaz vytvoří konfigurační soubor /etc/snapper/configs/myvol1_snap.
– Tento příkaz vytvoří adresář .snapshots v /myvol1 adresář.

# 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”
...

Snímky systému souborů /myvol1 jsou uloženy v podadresáři .snapshots.

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

Typy snímků

Existují tři typy snímků, které můžete vytvořit pomocí snapperu:
pre: Slouží k zaznamenání stavu svazku před úpravou. Předběžné snímky by vždy měly mít odpovídající snímek příspěvku.
příspěvek: Slouží k zaznamenání stavu svazku po úpravě.
single: Tyto snímky nemají žádný zvláštní vztah k ostatním snímkům.

3. Vytváření snímku

Vytvořte nějaký testovací soubor v adresáři /myvol1.

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

Použijte snapper create -t ​​pre k vytvoření předběžného snímku svazku definovaného parametrem myvol1_snap konfigurační soubor. Zahrnutím volby –p zobrazíte číslo vytvářeného snímku. (V tomto příkladu je číslo předběžného snímku 1)

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

Snímky jsou uloženy podle čísla snímku v podadresáři .snapshots svazku. Prohlédněte si obsah adresáře /myvol1/.snapshots.

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

Prohlédněte si obsah adresáře /myvol1/.snapshots/1.

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

Nyní upravte obsah adresáře /myvol1 odstraněním testovacího_souboru.

# rm /myvol1/test_file

Pomocí snapper create -t ​​post vytvořte snímek příspěvku svazku definovaného konfiguračním souborem myvol1_snap. Zahrnutím volby –pre-num 1 přidružíte tento snímek příspěvku k předběžnému snímku 1. Zahrnutím volby –p zobrazíte číslo vytvářeného snímku.

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

Uvidíte, že v adresáři .snapshots se vytvoří nové názvy adresářů 2.

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

Filelist-1.txt obsahuje soubor, který byl smazán po předběžném snímku a před snímkem příspěvku.

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

Porovnání před a po snímcích

Pomocí příkazu snapper status zobrazíte soubory a adresáře, které byly přidány, odebrány nebo změněny mezi před snímkem 1 a po snímku 2.

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

Pomocí příkazu snapper diff zobrazte rozdíly mezi obsahem souborů v předběžném snímku 1 a po snímku 2.

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

Pomocí příkazu snapper list vypište snímky, které existují pro svazek definovaný konfiguračním souborem 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 |         |           |

vrátí změny z post snapshotu na preshanshot

Chcete-li vrátit změny ze snímku příspěvku na snímek před snímkem, tj. k obnovení souboru test_file, použijte změna snapperu příkaz.

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

Ověřte

# ls /myvol1
lost+found
test_file


Linux
  1. Jak vytvořit databázi v MySQL pomocí příkazového řádku

  2. Jak vytvořit zaváděcí USB disk pomocí příkazu dd

  3. Jak vytvořit fyzický svazek v Linuxu pomocí LVM

  1. Jak vytvořit skript příkazu Linux

  2. Jak vytvářet a aplikovat opravy v GIT pomocí příkazu diff a použít

  3. Jak vytvořit řídké soubory v Linuxu pomocí příkazu „dd“.

  1. Jak vytvořit soubor v Linuxu pomocí terminálu/příkazového řádku

  2. Jak vytvořit snímky systému souborů pomocí příkazu Snapper v systému Linux

  3. Takto fungují snímky LVM?