Существует ли технология виртуализации, позволяющая использовать «декрементальные» снапшоты?
VirtualBox, например, использует инкрементальные снапшоты, когда после создание снапшота содержимое самого диска "замораживается", а все изменения пишутся в файл снапшота, при удалении снапшота происходит сброс всех изменений на диск (продолжительная операция), а при откате - просто удаляется файл снапшота (мгновенная операция).
Меня интересует технология с противоположным подходом, когда все изменения пишутся прямо на диск, а в файл снапшота пишется предыдущее содержимое измененных секторов, тогда откат снапшота становится продолжительной операцией (все изменения на диске восстанавливаются из файла снапшота), а удаление - мгновенной (просто удаление файла). Назовем это "декрементальным" снапшотом (в противоположность инкрементальному).
Для чего это нужно:
Для виртуальных дисков (образов) вся разница только в скорости операций удаления и отката, но для физических дисков это имеет большой смысл. Можно в виртуальной машине ввести физический диск (с ценными данными, например) в любое состояние, производить над ним любые рискованные операции (переразбивку разделов, и.т.д.), а потом в зависимости от результатов (все_норм или все_пропало), либо оставить диск в этом состоянии, либо откатить все изменения.
А чем не устраивает, собственно, LVM?
У самого, например, рабочие системы живут на kvm, пробросы видекарт, все дела. Диск — LVM Thin Provisioning. Всё удобно и шустро, ну кроме Thin'а :D. Он, конечно, раза в 2 иопсы сжирает, но диск нативно с 600к иопсов, так что не критично. На любое подозрительное действие создаю снапшот, откатываю, мерджу.
Всё удобно, хоть и потери производительности есть.
Дмитрий: Смысл всего этого не в производительности (речь не о серверах), а в том, что можно безопасно ставить любые эксперименты над физическим диском (даже если он единственный), не имея полного бэкапа.
Я расписал подробнее в комментах к другим ответам.
nirvimel: Ну, а я, разве, не об этом упомянул? Тогда я вас не понимаю, что значит физический диск? Снапшоты на аппаратном уровне?
А снапшоты разве не предполагают, что бекап "не полный"?
Дмитрий: VirtualBox позволяет подключать физический диск (/dev/sda) к виртуальной машине. У этой виртуалки также могут создаваться снапшоты (в виде файлов на другом диске). Все это прекрасно, но после создания снапшота host-OS уже не видит на диске изменений, произведенных в guest-OS. В этом вся проблема. Если в guest-OS произвести с диском какую-то рискованную операцию (переразбивка разделов, например), то невозможно проверить переживет ли host-OS и структура диска фиксацию изменений (удаление снапшота) или нет.
Полным бэкапом я называю то, что занимает такой же объем, как и оригинал, а снапшот содержит в себе только изменения и занимает почти нисколько при минимуме изменений.
Это работает только в пределах файловой системы.
Невозможно откатить изменения в MBR и таблице разделов. Любые повреждения самой ФС откатить тоже невозможно.
nirvimel: Однако диск VirtualBox'а, с точки зрения хост-системы - это всего лишь файл. Если включить Shadow Copy на хосте, то при его откате vdi восстановтся на момент создания тени.
Rsa97: С дисковыми образами VirtualBox все понятно, для них разница между инкрементальными (встроенная функция VB) и декрементальными снапшотами будет незначительная (только в скорости операций отката/фиксации изменений).
Основной смысл в работе с физическими дисками под виртуальной машиной, в возможности проверки совершенных изменений в основной host-OS (допустим это не Windows) и отката этих изменений (с физических дисков) в случае обнаружения проблем.