Dalam artikel terakhir, kita telah melihat cara memperluas dan mengecilkan grup volume dan volume logis. Pada artikel ini, kami akan berfokus pada cara melindungi data dengan membuat snapshot LVM.
Isi
Apa itu LVM Snapshots?Penyiapan LabMembuat Volume SnapshotBagaimana Mengembalikan LVM SnapshotUkuran Volume Snapshot LVM dan KorupsiKesimpulanApa itu LVM Snapshots?
Ada dua opsi untuk melindungi data Anda dari disk kegagalan atau masalah lainnya. Anda dapat mengambil cadangan penuh atau inkremental dan menyimpan N jumlah salinan. Sebagai alternatif dengan LVM, Anda dapat membuat volume snapshot yang akan mengambil snapshot ketika ada perubahan pada volume sumber. snapshot
LVM menggunakan mekanisme copy-on-write untuk mengambil snapshot. Awalnya, saat Anda membuat volume snapshot, ia akan menyimpan beberapa metadata tentang volume logis sumber dan detail bloknya. Saat Anda melakukan perubahan pada volume sumber, LVM akan memantau perubahan dan mengambil snapshot dari blok yang dimodifikasi. Di sini LVM hanya menyimpan perubahan yang diblokir ke snapshot volume.
Lab Setup
Saya telah memasang dua disk baru ke mesin Ubuntu saya yang akan digunakan untuk tujuan demonstrasi. Jika Anda ingin mengetahui cara kerja perintah berikut secara mendetail, periksa pengantar kami untuk panduan LVM yang diberikan di bawah ini. Panduan Manajer Volume Logis (LVM)
Linux Untuk Pemula
$ lsblk /dev/sd[cd] NAMA MAJ:MIN RM UKURAN RO TYPE MOUNTPOINT sdc 8:32 0 10G 0 disk sdd 8:48 0 15G 0 disk
Kedua disk diinisialisasi sebagai volume fisik.
$ sudo pvcreate /dev/sd[cd] Volume fisik "/dev/sdc" berhasil dibuat. Volume fisik "/dev/sdd" berhasil dibuat.
A grup volume bernama "ostechnix_lab" dibuat dari kedua volume fisik yang diinisialisasi.
$ sudo vgcreate ostechnix_lab /dev/sd[cd] Grup volume "ostechnix_lab" berhasil dibuat
A Volume logis bernama " lab" dibuat dari grup volume "ostechnix_lab". Ukuran volume logisnya adalah 5GB.
$ sudo lvcreate -L 5GB -n lab ostechnix_lab Volume logis "lab" dibuat.
Volume diformat dengan sistem file ext4 dan dipasang di /opt/lvm_lab/.
$ sudo mkfs.ext4 /dev /ostechnix_lab/lab $ mkdir /opt/lvm_lab $ sudo mount /dev/ostechnix_lab/lab /opt/lvm_lab/
Setelah membuat volume logis, saat ini ada hampir 20GB ruang kosong.
$ sudo vgdisplay --- Grup Volume -- - Nama VG ostechnix_lab Format ID Sistem lvm2 Area Metadata 2 Metadata Urutan No 2 VG Akses baca/tulis Status VG dapat diubah ukurannya MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 2 Act PV 2 VG Ukuran 24,99 GiB Ukuran PE 4,00 MiB Total PE 6398 Alloc PE / Ukuran 1280 / 5.00 GiB Gratis PE / Ukuran 5118 / 19.99 GiB VG UUID LCGSEd-WTnT-lUEN-N0a8-QWhI-T qDi-lUZExdMembuat Volume Snapshot
Saya akan membuat volume snapshot sebesar 5GB. Jalankan perintah berikut untuk membuat volume snapshot:
$ sudo lvcreate -L +5G --snapshot --name snap /dev/mapper/ostechnix_lab-lab Volume logis "snap" dibuat.
Biarkan saya menelusuri apa yang masing-masing bendera di atas perintah does.
-L +5G => Nilai spasi harus diteruskan ke bendera -L. Di sini dialokasikan 5GB.--snapshot => Bendera ini membuat volume sebagai volume snapshot. Anda juga dapat menggunakan -s sebagai ganti --snapshot flag.--name => Nama yang diberikan ke volume snapshot. Dalam kasus saya "snap" adalah nama volume snapshot saya./dev/mapper/ostechnix_lab-lab => Ini adalah volume sumber location.
Jalankan perintah "lvs" untuk melihat volume snapshot. Lihatlah bagian "asal" dari output di bawah ini. Itu menunjuk ke volume sumber "lab" dan data% adalah "0,01". snapshot akan diambil jika ada perubahan pada blok di volume itu.
$ sudo lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lab ostechnix_lab owi-aos--- 5.00g snap ostechnix_lab swi-a-s- -- 5.00g lab 0.01
Anda juga dapat memasang volume snapshot dan melihat file dan direktori apa yang ada. Snapshot
Jalankan perintah berikut untuk membuat beberapa data acak dalam volume sumber 1GB dalam size.
$ dd if=/dev/zero of=/data/dummy_file2 bs=1G count=1 oflag=dsync
Binary file dibuat dan ruang volume snapshot adalah sekitar 20% yang dapat Anda lihat di bawah bagian "Data%". /lvm_lab/ostechnix_sample.txt
$ sudo lvs LV VG Attr LSUkuran Kumpulan Data Asal% Meta% Pindahkan Log Cpy%Sync Convert lab ostechnix_lab owi-aos--- 5.00g snap ostechnix_lab swi-a-s--- 5.00g lab 20.09
Untuk mengembalikan snapshot LVM ikuti prosedur di bawah ini. Hal penting yang perlu diperhatikan adalah setelah snapshot dipulihkan, volume logis akan dihapus secara otomatis. Nbsp
LANGKAH 1: Lepaskan sistem file tempat volume logis sumber dipasang.
$ sudo umount /opt/lvm_lab
LANGKAH 2: Jalankan perintah lvconvert untuk memulai proses pemulihan.
$ sudo lvconvert --merge /dev/ostechnix_lab/snap sudo lvconvert --merge /dev/ostechnix_lab/snap Penggabungan volume ostechnix_lab/snap dimulai. ostechnix_lab/lab: Digabung: 80,04% ostechnix_lab/lab: Digabung: 80,42% ostechnix_lab/lab: Digabung: 81,00% ostechnix_lab/lab: Digabung: 81,43% ostechnix_lab/lab: Digabung: 89,06% ostechnix_lab/lab: Digabung: 98,04%/ostechnix_lab lab: Digabung: 100.00%
Anda dapat menjalankan perintah lvs dan di bawah bagian Attr akan muncul "O" yang berarti pemulihan snapshot sedang berlangsung.
LANGKAH 3: Setelah proses penggabungan selesai, volume snapshot akan dihapus secara otomatis. Anda dapat memverifikasinya dengan menjalankan perintah lvs.
$ sudo lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lab ostechnix_lab -wi-ao---- 5.00g
LANGKAH 4: Pasang volume logis dan periksa apakah data dipulihkan.
$ sudo mount /dev/ostechnix_lab/lab /opt/lvm_labLVM Ukuran Volume Snapshot dan Corruption
Selalu disarankan untuk mengalokasikan jumlah ruang yang sama ke volume snapshot mengingat volume logis sumber akan menggunakan ruang penuhnya . Dalam beberapa kasus tanpa prakiraan apa pun, volume snapshot di muka akan dialokasikan dengan ruang yang lebih kecil daripada volume logis. Dalam kasus seperti itu, jika volume logis sumber digunakan sepenuhnya dan volume snapshot tidak akan memiliki ruang apa pun di luar ruang yang dialokasikan dan akan rusak.
Jika volume snapshot rusak, tidak ada gunanya dan kita harus menghapusnya dan membuat volume snapshot baru.
Untuk mengatasi masalah ini, Anda memiliki tiga opsi.
Alokasikan ukuran volume snapshot dan volume sumber secara merata.Perluas ukuran volume snapshot secara manual.Perluas ukuran volume snapshot secara otomatis. Ini adalah metode yang disarankan.
Untuk memperbesar ukuran volume logis, jalankan perintah berikut secara manual. Di sini ukuran 3GB ditambahkan ke snapshot volume.
$ sudo lvextend -L +3G /dev/ostechnix_lab/snap
Untuk memperbesar ukuran secara otomatis Anda harus mengedit file "/etc/lvm/lvm.conf". Anda harus memodifikasi dua parameter penting.
Anda harus menyetel parameter autoextend_threshold yang akan memperbesar volume ketika persentase ruang yang diberikan digunakan dalam volume snapshot. Misalnya, jika Anda memiliki volume snapshot 2GB dan ambangnya diatur ke 50 yang berarti jika 50% ruang digunakan yaitu 1GB, maka perpanjangan otomatis akan terjadi.
Anda harus mengatur berapa banyak ruang yang harus ditambahkan ke volume snapshot dengan menyetel parameter autoextend_percent.
Conclusion
Dalam artikel ini, kita telah melihat apa itu snapshot LVM, cara membuat volume snapshot baru, dan memulihkan volume snapshot. Terakhir, kita telah melihat cara memperluas volume snapshot dengan cara manual dan otomatis.