> Shadow copy - это называются так снапшоты в винде. И они успешно
> используются в приложении Backup, например. А еще вся система встает рaкoм, когда shadow copy делается. Потому что костыль на соплях и скотче, как я понимаю - с клином всей записи на диск пока эта копия создается.
Единственный смысл shadow copy - это такой костыль, чтобы файлы не менялись пока программа бэкапа делает бэкап. Иначе можно нарваться на тот факт, что резервная копия сделана прямо когда в файл шла запись. И файл получится и ни в старом состоянии, и ни в новом. Нечто в промежуточном состоянии, не факт что вообще работоспособное и открывабельное.
А в настоящем CoW - такой проблемы просто нет. Снапшот - вопрос проставления формального маркера в структурах ФС, далее CoW просто CoW'ает в другое место, и все. Там нечего клинить, на скорость работы это не влияет вообще. К тому же там скорость записи "как без журнала" при том что это эквивалент полного журнала данных и метаданных. Но все это не про NTFS с его технологиями хранения из середины девяностых.
> Юзер просто делает бекап, без заморочек.
Заморочки - во времени выполнения бэкапа. И во времени восстановления оного, когда юзерь захочет вернуться на состояние "как вчера". Бэкапы и снапшоты - штуки совсем разные. У них разные свойства и они друг друга на самом деле не заменяют а дополняют.
В случае снапшота в CoW ФС - никто не двигает 20 гигбайтов системных данных. Это вопрос переназначения формальных маркеров. Ну как в сях можно передать указатель, а не копию большой структуры. Вот снапшот - некий указатель на состояние ФС на некий момент времени. Одновременно есть множество состояний. Это позволяет наворты типа "writeable snapshot". Хотя это может вынести неподготовленный мозг, реально это так: у файла может быть несколько инкарнаций с несколькими именами по разным путям, указывающими на один набор блоков. Когда часть файла меняется, CoW пометит это и для того файла какая-то часть перестанет быть общими блоками. Это прозрачно для софта и хранит только отличия файлов друг от друга. И все это может быть применено к целой иерархии - тогда получается "снапшот". Ну то-есть копия иерархии, которая может не зависеть от своего прародителя. И может или быть постоянной во времени (read-only snapshot) или даже живущей своей жизнью (writeable snapshot).
> Но технологии используют вполне годные.
Единственная проблема: другие за эти 20 лет придумали еще более годные технологии. Как тот же Крис Мэйсон.
> Там есть свои нюансы, но Backup проще и функциональнее из коробки, чем DejaDup, например.
Только все это - совершенно не эквивалент снапшотов. И дисковые технологии у ms таки архаичные.