Идея снэпшотов томов в оперативной памяти была впервые заявлена ещё в Microsoft Volume Shadow Copy Service, о чём можно почитать в MSDN — суть её заключается в том, что:
* в цепочку драйверов между менеджером разделов и драйвером файловой системы вставляется драйвер-фильтр, который пропускает все запросы на модификацию дисковых страниц вниз по стеку драйверов, но кэширует старую версию изменённых страниц в ОЗУ
* программа, которая делает бэкап, обращается к драйверу-фильтру, тот читает изменения из своего кэша, а в случае кэш-промаха — обращается к диску
* все изменения к страницам, которые находятся ниже "веретена деления", могут быть выброшены из кэша и впредь не запоминаться — даже если бэкап всё ещё продолжается
* таким образом, возможна нормальная работа с диском, включая запись, в то время, пока с него идёт снятие резервной копии (состояние резервной копии соответствует начальному состоянию диска)
Однако MS Volume Shadow Copy — это какая-то калека от рождения, с точки зрения реализации. Terabyte Image for Windows — другая реализация той же идеи, сделанная на достаточно высоком техническом уровне. В частности:
* Поддерживаются не только NTFS-тома, но и любые другие, так что можно бэкапить, к примеру, TrueCrypt-разделы в горячем режиме (речь идёт о копировании зашифрованной версии "как есть", без расшифровки).
* Драйвер-фильтр ловит не только WRITEы, но и TRIMы.
* Объём ОЗУ для кэширования изменений задаётся заранее и резервируется до начала бэкапа — так что BSOD'а от дефицита невыгружаемой памяти ядра не будет — однако если изменений было слишком много и кэш переполнился, бэкап завершается с ошибкой где-то в середине процесса. Диск не повреждён, а файл-образ можно выбросить и начать сначала.
* Разумеется, есть поддержка командной строки, планировщика задач, выполнение в unattended-режиме и всё такое прочее.
* в цепочку драйверов между менеджером разделов и драйвером файловой системы вставляется драйвер-фильтр, который пропускает все запросы на модификацию дисковых страниц вниз по стеку драйверов, но кэширует старую версию изменённых страниц в ОЗУ
* программа, которая делает бэкап, обращается к драйверу-фильтру, тот читает изменения из своего кэша, а в случае кэш-промаха — обращается к диску
* все изменения к страницам, которые находятся ниже "веретена деления", могут быть выброшены из кэша и впредь не запоминаться — даже если бэкап всё ещё продолжается
* таким образом, возможна нормальная работа с диском, включая запись, в то время, пока с него идёт снятие резервной копии (состояние резервной копии соответствует начальному состоянию диска)
Однако MS Volume Shadow Copy — это какая-то калека от рождения, с точки зрения реализации. Terabyte Image for Windows — другая реализация той же идеи, сделанная на достаточно высоком техническом уровне. В частности:
* Поддерживаются не только NTFS-тома, но и любые другие, так что можно бэкапить, к примеру, TrueCrypt-разделы в горячем режиме (речь идёт о копировании зашифрованной версии "как есть", без расшифровки).
* Драйвер-фильтр ловит не только WRITEы, но и TRIMы.
* Объём ОЗУ для кэширования изменений задаётся заранее и резервируется до начала бэкапа — так что BSOD'а от дефицита невыгружаемой памяти ядра не будет — однако если изменений было слишком много и кэш переполнился, бэкап завершается с ошибкой где-то в середине процесса. Диск не повреждён, а файл-образ можно выбросить и начать сначала.
* Разумеется, есть поддержка командной строки, планировщика задач, выполнение в unattended-режиме и всё такое прочее.