GNU/Linux >> Belajar Linux >  >> Linux

Cara membuat snapshot volume tipis LVM menggunakan perintah snapper

Snapper adalah utilitas baris perintah di Linux yang digunakan untuk membuat dan mengelola snapshot dari volume tipis LVM. Itu dapat membuat, menghapus, dan membandingkan snapshot dan mengembalikan perubahan yang dilakukan di antara snapshot. Snapper juga memungkinkan pembuatan dan pengelolaan snapshot yang mudah untuk Btrfs.

Memasang kakap

Gunakan perintah yum untuk menginstal paket perangkat lunak kakap.

# 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!

Gunakan perintah rpm –ql untuk melihat file yang disediakan oleh paket 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 
...
Perhatikan dua file cron snapper.
– Secara default, snapper menyiapkan cron.hourly tugas untuk membuat snapshot di .snapshots subdirektori volume dan cron.daily tugas untuk membersihkan snapshot lama.
– Anda dapat mengedit file konfigurasi untuk menonaktifkan atau mengubah perilaku ini.

1. Membuat Volume Logika yang Disediakan Secara Tipis

Gunakan perintah lvcreate untuk membuat volume yang disediakan tipis bernama – thinvol1. Perhatikan bahwa volume ini perlu di-mount sebelum kita membuat snapshot menggunakan perintah snapper.

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

Buat kumpulan tipis:

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

Buat volume yang disediakan tipis :

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

Buat sistem file pada volume tipis.

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

Pasang sistem file:

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

2. Membuat file konfigurasi kakap

Untuk membuat snapshot menggunakan snapper, file konfigurasi diperlukan untuk volume tipis LVM atau subvolume Btrfs. Volume LVM dan Btrfs juga harus memiliki sistem file terpasang. Gunakan perintah create-config untuk membuat file konfigurasi. Contoh berikut membuat file konfigurasi bernama myvol_snap untuk sistem file LVM ext4 yang dipasang di /myvol1:

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

– Perintah ini menambahkan entri ke /etc/sysconfig/snapper.
– Perintah ini membuat file konfigurasi /etc/snapper/configs/myvol1_snap.
– Perintah ini membuat direktori .snapshots di /myvol1 direktori.

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

Snapshot dari sistem file /myvol1 disimpan di subdirektori .snapshots.

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

Jenis snapshot

Ada tiga jenis snapshot yang dapat Anda buat dengan menggunakan snapper:
pre: Gunakan untuk merekam status volume sebelum modifikasi. Pra snapshot harus selalu memiliki snapshot postingan yang sesuai.
posting: Gunakan untuk merekam status volume setelah modifikasi.
tunggal: Snapshot ini tidak memiliki hubungan khusus dengan snapshot lain.

3. Membuat cuplikan

Buat beberapa file uji di direktori /myvol1.

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

Gunakan snapper create -t ​​pre untuk membuat pra snapshot dari volume yang ditentukan oleh myvol1_snap berkas konfigurasi. Sertakan opsi –p untuk menampilkan jumlah snapshot yang sedang dibuat. (Dalam contoh ini, nomor pra snapshot adalah 1)

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

Snapshot disimpan dengan nomor snapshot di subdirektori .snapshots volume. Lihat konten direktori /myvol1/.snapshots.

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

Lihat konten direktori /myvol1/.snapshots/1.

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

Sekarang ubah isi direktori /myvol1 dengan menghapus test_file.

# rm /myvol1/test_file

Gunakan snapper create -t ​​post untuk membuat snapshot post dari volume yang ditentukan oleh file konfigurasi myvol1_snap. Sertakan opsi –pre-num 1 untuk mengaitkan snapshot posting ini dengan snapshot sebelumnya 1. Sertakan opsi –p untuk menampilkan jumlah snapshot yang sedang dibuat.

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

Anda akan melihat nama direktori baru 2 dibuat di direktori .snapshots.

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

Filelist-1.txt berisi file yang telah dihapus setelah snapshot awal dan sebelum snapshot postingan.

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

Membandingkan snapshot sebelum dan sesudah

Gunakan perintah status snapper untuk menampilkan file dan direktori yang telah ditambahkan, dihapus, atau dimodifikasi antara pra snapshot 1 dan pasca snapshot 2.

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

Gunakan perintah snapper diff untuk menampilkan perbedaan antara isi file di pra snapshot 1 dan pasca snapshot 2.

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

Gunakan perintah snapper list untuk membuat daftar snapshot yang ada untuk volume yang ditentukan oleh file konfigurasi 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 |         |           |

membalikkan perubahan dari post snapshot ke pre shanshot

Untuk membatalkan perubahan dari snapshot pos ke pra snapshot yaitu untuk memulihkan file_test gunakan snapper undochange perintah.

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

Verifikasi

# ls /myvol1
lost+found
test_file


Linux
  1. Cara Membuat Database di MySQL Menggunakan Command Line

  2. Cara Membuat Drive USB yang Dapat Di-boot Menggunakan Perintah dd

  3. Cara membuat file sparse di Linux menggunakan perintah 'dd'

  1. Cara Membuat Script Perintah Linux

  2. Cara membuat volume fisik di Linux menggunakan LVM

  3. Cara Membuat dan Menerapkan Patch di GIT menggunakan diff and apply Command

  1. Cara Membuat File di Linux Menggunakan Terminal/Command Line

  2. Cara Membuat Snapshot Sistem File menggunakan Perintah Snapper di Linux

  3. Apakah ini cara kerja snapshot LVM?