GNU / Linux ma podłączenie unii, które nakłada katalogi. Możesz więc zamontować zapisywalny katalog na katalogu tylko do odczytu. Kiedy katalog zapisywalny jest odmontowany, katalog tylko do odczytu pozostaje nietknięty.
Szukam tej samej funkcjonalności dla urządzeń blokowych - najlepiej z częścią do zapisania zapisaną w pliku. Chciałbym więc uruchomić coś takiego:
device-setup /dev/newdevice /dev/read-only-device overlayfile
Jeśli piszę do / dev / newdevice, zmiany powinny być przechowywane w pliku nakładkowym. Jeśli czytam sektory, w których napisano, powinienem pobrać dane z pliku nakładki. Jeśli czytam sektory, w których nie zapisano, powinienem pobrać dane z urządzenia / dev / tylko do odczytu.
Czy takie narzędzie istnieje?
block-device
loop-device
snapshot
Ole Tange
źródło
źródło
Odpowiedzi:
Możesz to zrobić za pomocą mapera urządzeń i jego
snapshot
celu.Zasadniczo zrobiłbyś to samo, co LVM, gdy tworzysz zapisywalną migawkę.
Następnie możesz uzyskać dostęp do nakładanego urządzenia jako
/dev/mapper/newdevice
.Jeśli potrzebujesz również dostępu do oryginalnego urządzenia w tym samym czasie, możesz:
I uzyskaj do niego dostęp
/dev/mapper/originaldevice
.Możesz pisać na tym urządzeniu, a następnie oprócz fragmentów zapisanych na urządzeniu migawkowym, plik nakładki będzie zawierał fragmenty, które zostały nadpisane podczas zapisu na początku migawki.
Plik nakładki może być plikiem rzadkim. (na przykład utwórz go jako
truncate -s10G the-file
) i nie musi być tak duży jak oryginalne urządzenie. Możesz powiedzieć, jak pełny jestdmsetup status "$newdevname"
.Uwaga: Na urządzeniu migawkowym istnieją wymagania dotyczące rozmiaru i zawartości .
źródło