GNU / Linux memiliki union mount yang melapisi dir. Jadi, Anda dapat memasang dir yang dapat ditulisi di atas direktori read-only. Ketika direktori yang dapat ditulisi dilepas, direktori read-only tidak tersentuh.
Saya mencari fungsionalitas yang sama untuk perangkat blok - lebih disukai dengan bagian yang dapat ditulis disimpan dalam file. Jadi saya ingin menjalankan sesuatu seperti:
device-setup /dev/newdevice /dev/read-only-device overlayfile
Jika saya menulis ke / dev / newdevice, perubahan harus disimpan dalam overlayfile. Jika saya membaca sektor yang ditulis, saya harus mendapatkan data dari overlayfile. Jika saya membaca sektor yang tidak ditulis, saya harus mendapatkan data dari / dev / read-only-device.
Apakah alat semacam itu ada?
block-device
loop-device
snapshot
Ole Tange
sumber
sumber
Jawaban:
Anda dapat melakukannya dengan mapper perangkat dan
snapshot
targetnya.Pada dasarnya, Anda akan melakukan hal yang sama seperti apa yang dilakukan LVM ketika Anda membuat snapshot yang dapat ditulis.
Kemudian Anda dapat mengakses perangkat yang overlay sebagai
/dev/mapper/newdevice
.Jika Anda juga membutuhkan akses ke perangkat asli secara bersamaan, Anda dapat melakukan:
Dan akses ke sana
/dev/mapper/originaldevice
.Anda dapat menulis ke perangkat itu, lalu selain potongan yang ditulis ke perangkat snapshot, file overlay akan berisi salinan potongan yang telah ditimpa saat menulis ke asal snapshot.
File overlay bisa berupa file yang jarang. (misalnya, buat sebagai
truncate -s10G the-file
), dan tidak harus sebesar perangkat asli. Anda bisa tahu seberapa penuhnyadmsetup status "$newdevname"
.Catatan: Ada persyaratan ukuran dan isi pada perangkat snapshot .
sumber