Bagaimana cara membuat snapshot read-only di LVM, dan kemudian mengembalikannya setelah beberapa pekerjaan?

12

Apa perintah untuk digunakan dalam LVM jika saya ingin:

  1. buat snapshot hanya-baca dari volume;
  2. (lakukan beberapa percobaan dalam volume);
  3. dan kemudian kembalikan volume ke snapshot?
imz - Ivan Zakharyaschev
sumber

Jawaban:

11

Saya pikir Anda sedang mencari lvconvert --merge. Dari halaman manual:

--menggabungkan

Menggabungkan snapshot ke dalam volume asalnya. Untuk memeriksa apakah kernel Anda mendukung fitur ini, cari snapshot-mergedi output dari dmsetup targets. Jika volume asal dan snapshot tidak terbuka gabungan akan segera dimulai. Jika tidak, gabungan akan mulai pertama kali baik asal atau snapshot diaktifkan dan keduanya ditutup. Menggabungkan snapshot ke sumber yang tidak dapat ditutup, misalnya sistem file root, ditangguhkan hingga waktu berikutnya volume asal diaktifkan. Saat penggabungan dimulai, volume logis yang dihasilkan akan memiliki nama asal, nomor minor dan UUID.
Saat penggabungan sedang berlangsung, membaca atau menulis ke asal muncul ketika mereka diarahkan ke foto yang sedang digabungkan.Saat penggabungan selesai, snapshot yang digabungkan dihapus. Beberapa snapshot dapat ditentukan pada commandline atau tag @ dapat digunakan untuk menentukan beberapa snapshot digabungkan ke asal masing-masing.

Asumsikan Anda memiliki volume logis vg0 / sistem yang berisi sistem file / Anda.

# create a read-only snapshot
lvcreate -pr --snapshot --name system_snapshot vg0/system
# upgrade or something
# if it fails, reboot and do this from a livecd
lvconvert --merge vg0/system_snapshot
# reboot again and you have your old system back

Reboot hanya diperlukan karena dalam skenario ini Anda tidak dapat meng-unmount sistem file. Jika bukan / fs, unmount sudah cukup.

Perlu diingat bahwa snapshot akan dihapus setelah penggabungan.

stribika
sumber
Terima kasih atas jawabannya! Dan jika seseorang tidak memberikan opsi -pr( --permission r) ke lvcreate, apakah snapshot akan hanya-baca secara default? ( Apakah LVM memungkinkan snapshot yang dapat ditulisi sama sekali? Jika ya, skenario alternatif dapat dimungkinkan, di mana eksperimen sementara tidak akan terlihat dalam volume utama, tetapi akan dilakukan dalam snapshot yang dapat ditulis sementara.)
imz - Ivan Zakharyaschev
1
Standarnya adalah RW.
stribika
3
Anda seharusnya tidak melakukan penggabungan dari CD langsung, Anda dapat mengeluarkan perintah dan setelah reboot itu akan bergabung secara otomatis.
Hanan N.