Теневая копия
Теневая копия — технология, включённая в Microsoft Windows, позволяющая создавать резервные копии или снимки файлов или томов, даже если они используются. Она реализована как служба Windows под названием «Volume Shadow Copy», а также включает программную службу-провайдера VSS для использования приложениями Windows. Для создания и хранения теневых копий требуется файловая система NTFS или ReFS. Теневые копии могут создаваться на локальных и внешних (съёмных или сетевых) томах любой компонентой Windows, использующей данную технологию, например, при создании запланированного резервного копирования Windows или автоматической точки восстановления системы.
Общие сведения
| Теневая копия | |
|---|---|
| Тип | службы Windows |
| Разработчик | Microsoft |
| Операционная система | Microsoft Windows |
| vssadmin | |
|---|---|
| Тип | командная строка |
| Разработчик | Microsoft |
| Операционная система | Microsoft Windows |
| Последняя версия | 1.1 |
| Лицензия | коммерческое ПО |
| Сайт | docs.microsoft.com/en-us… |
| diskshadow | |
|---|---|
| Тип | командная строка |
| Разработчик | Microsoft |
| Операционная система | Microsoft Windows |
| Лицензия | коммерческое ПО |
| Сайт | docs.microsoft.com/en-us… |
Обзор
Volume Shadow Copy Service (VSS) работает на уровне блоков томов.
Снимок (snapshot) — это только для чтения копия состояния тома на определённый момент времени. Снимки позволяют создавать согласованные резервные копии тома, обеспечивая неизменность содержимого во время копирования и отсутствие блокировок файлов.
Ключевой компонент теневого копирования — служба Volume Shadow Copy, инициирующая и контролирующая процесс создания снимков. Компоненты, которые выполняют передачу данных, называются «провайдерами». Windows включает системного провайдера по умолчанию, однако сторонние производители могут разрабатывать программные и аппаратные провайдеры и регистрировать их в VSS. На генерацию снимка каждому провайдеру отводится максимум 10 секунд[1].
В создании снимка участвуют и «райтеры» (writers), задача которых — обеспечение согласованности данных. Иногда для целостности недостаточно просто завершить все ожидающие изменения файлов; например, при переносе данных между файлами база данных должна вести связанные действия, и снимок не должен попадать между удалением из исходного файла и добавлением в целевой. Поддержание подобной семантической согласованности — задача райтеров, которые специфичны для приложений и имеют 60 секунд на подготовку данных для резервного копирования. Если служба не получает подтверждения успешного завершения в этот промежуток, операция отменяется[1].
По умолчанию снимки временные и не сохраняются после перезагрузки. Возможность создания постоянных снимков была добавлена начиная с Windows Server 2003. В Windows 8 графический интерфейс для просмотра снимков был удалён, но позднее восстановлен в последующих версиях (см. раздел «История»).
Среди служб и программ Windows с поддержкой VSS — кластер отказоустойчивости Windows[2], Windows Server Backup[3], Hyper-V[4], Virtual Server[5], Active Directory[6], SQL Server[7], Exchange Server[8] и SharePoint[9].
В результате работа системы напоминает файловую систему с управлением версиями, позволяя восстановить любой файл в состоянии, в котором он находился на момент создания определённого снимка. Однако, в отличие от таких файловых систем, пользователь не может создавать отдельные версии отдельных файлов — только всего тома целиком, и только администратор или оператор резервного копирования может создавать новые снимки, так как это требует контроля над целым томом. Кроме того, многие версиионные файловые системы (например, в VMS) сохраняют новую версию при каждом изменении файла, а системы на основе снимков (как в Windows) фиксируют состояние лишь периодически.
История
Windows XP и Server 2003
Служба «Volume Snapshot Service» была впервые добавлена в Windows XP. Она могла создавать только временные снимки, используемые для доступа к актуальной версии файлов, открытых для редактирования (и поэтому заблокированных). Эта версия VSS используется в NTBackup.
Возможность создания постоянных снимков, сохраняющихся между перезагрузками и требующих явного удаления, появилась в Windows Server 2003, где можно хранить до 512 снимков одного тома. В Windows Server 2003 VSS позволяет создавать инкрементные периодические снимки данных изменённых файлов. На сервере хранится максимум 64 снимков, которые доступны клиентам по сети. Данная функция («Shadow Copies for Shared Folders») предназначена для клиент-серверного режима[10]. Клиентский компонент включён в Windows XP SP2 и новее, а также доступен для установки на Windows 2000 SP3 и новее, а также Windows XP RTM или SP1[11].
Windows XP[12] и более поздние версии включают утилиту командной строки vssadmin, позволяющую перечислять, создавать или удалять теневые копии томов, а также просматривать установленные райтеры и провайдеры[13].
Windows Vista, 7 и Server 2008
Компания Microsoft обновила многочисленные компоненты Windows для использования теневого копирования. Архивация и восстановление в Windows Vista, Windows Server 2008, Windows 7 и Windows Server 2008 R2 используют теневые копии файлов как для файлового, так и секторного архивирования. Компонент System Protection применяет VSS для создания и поддержания периодических копий системных и пользовательских данных на том же локальном диске (по аналогии с Shadow Copies for Shared Folders в серверном выпуске); VSS предоставляет доступ к этим данным через Восстановление системы.
Восстановление системы позволяет откатывать систему к целому набору теневых копий, называемому «точка восстановления»[14][15]. До Windows Vista Восстановление системы использовало фильтр по расширениям файлов и копировало их перед перезаписью[16][17][18]. Кроме того, компонент Проводника Windows «Предыдущие версии» позволяет восстанавливать отдельные файлы или папки на момент создания снимка, а также восстанавливать случайно удалённые файлы.
Наконец, Windows Server 2008 представила утилиту diskshadow, предоставляющую доступ к функциям VSS посредством 20 различных команд[19].
Система автоматически создаёт теневые копии раз в сутки, либо по требованию утилитой архивации/инсталляторами при создании точки восстановления[20][21]. Функция «Предыдущие версии» доступна в выпусках Business, Enterprise и Ultimate Windows Vista[22] и во всех редакциях Windows 7. Домашние версии Vista не содержат эту функцию, хотя служба Volume Shadow Copy работает. Используя сторонние утилиты, восстановление прошлых версий файлов возможно и на локальном томе[23]. Некоторые инструменты также позволяют планировать снимки по произвольному расписанию, настраивать выделяемое пространство и сравнивать файлы, каталоги в разные моменты по снимкам[24]. В Windows 7 добавлена возможность через графический интерфейс настраивать выделенное для снимков пространство.
Windows 8 и Server 2012
Хотя Windows 8 поддерживает постоянные снимки, интерфейс для просмотра локальных «предыдущих версий» был удалён; таким образом, возможности просмотра, поиска и восстановления прежних версий файлов через вкладку «Предыдущие версии» в свойствах были убраны для локальных томов. При помощи сторонних утилит (например ShadowExplorer) эти функции можно частично восстановить. В Windows Server 2012 данная возможность полностью поддерживается[25].
Windows 10
В Windows 10 вкладка «Предыдущие версии», ранее удалённая в Windows 8, была восстановлена; в первых выпусках она работала через историю файлов, а не через теневое копирование. Современные сборки также позволяют восстанавливать из точек истории файлов и точек восстановления системы с использованием Volume Shadow Copy[26].
Windows 11
В Windows 11 сохраняется функциональность Previous Versions и File History, как в Windows 10, однако по умолчанию они отключены[27].
Платформы и совместимость
Различные версии NTFS обеспечивают определённую степень совместимости вперёд и назад, однако при монтировании новых NTFS-томов с постоянными теневыми копиями в более старых версиях Windows могут возникнуть проблемы — это касается систем с двойной загрузкой и внешних накопителей. Например, постоянные снимки, созданные в Windows Vista на NTFS-томе, будут удалены при подключении этого тома в Windows XP или Windows Server 2003, так как эти системы не поддерживают формат снимков Vista[31]. Аналогично, снимки восстановления системы в Windows 8 будут удалены, если этот раздел загрузится более старой системой[32].
Примечания
- ↑ 1 2 How Volume Shadow Copy Service Works (англ.). TechNet. Microsoft (28 марта 2003). Дата обращения: 20 июня 2024. Архивировано 23 мая 2009 года.
- ↑ What's New in Failover Clusters in Windows Server 2008 (англ.). technet.microsoft.com. Дата обращения: 20 июня 2024. Архивировано 13 марта 2011 года.
- ↑ Volume Shadow Copy Service (англ.). docs.microsoft.com. Дата обращения: 20 июня 2024. Архивировано 11 августа 2019 года.
- ↑ Hyper-V Integration Services (англ.). docs.microsoft.com. Дата обращения: 20 июня 2024. Архивировано 21 февраля 2018 года.
- ↑ Microsoft Virtualization and Virtual Server 2005 R2 SP1 (англ.). docs.microsoft.com. Дата обращения: 20 июня 2024. Архивировано 11 августа 2019 года.
- ↑ VSS Backup and Restore of the Active Directory - Windows applications (англ.). docs.microsoft.com. Дата обращения: 20 июня 2024. Архивировано 11 августа 2019 года.
- ↑ SQL Server database mirroring, Volume Shadow Copy service and AlwaysOn - BizTalk Server (англ.). docs.microsoft.com. Дата обращения: 20 июня 2024. Архивировано 11 августа 2019 года.
- ↑ Exchange Server data protection, Exchange disaster recovery, Exchange backup, Exchange VSS Writer, VSS Backup Exchange, Exchange Server data recovery, Exchange data recovery (англ.). docs.microsoft.com. Дата обращения: 20 июня 2024.
- ↑ Back up and restore a search service application in SharePoint using VSS (англ.). docs.microsoft.com. Дата обращения: 20 июня 2024. Архивировано 11 августа 2019 года.
- ↑ Shadow Copy Client Download (англ.). TechNet. Microsoft. Дата обращения: 20 июня 2024. Архивировано 6 июля 2007 года.
- ↑ Oltean, Adi Tips for deploying Shadow copies for Shared Folders (англ.). Antimail. Microsoft (17 декабря 2004). Дата обращения: 20 июня 2024. Архивировано 1 января 2006 года.
- ↑ Windows XP - Volume Shadow Copy Service (англ.). MSDN. Microsoft. Дата обращения: 20 июня 2024. Архивировано 26 сентября 2011 года.
- ↑ Vssadmin (англ.). Windows Server 2008 and Windows Server 2008 R2 documentations. TechNet Library. Microsoft (28 сентября 2007). Дата обращения: 20 июня 2024. Архивировано 6 сентября 2008 года.
- ↑ Information about SPP folder in Windows Vista (англ.). Microsoft Community. Microsoft (20 августа 2010). Дата обращения: 20 июня 2024. Архивировано 23 июля 2015 года.
- ↑ Barreto, Jose Diagnosing Failures in Windows Server Backup – Part 1 (VSS/SPP Errors) (англ.). Storage at Microsoft Blog. Microsoft Corporation (16 сентября 2009). Дата обращения: 20 июня 2024. Архивировано 18 ноября 2016 года.
- ↑ Russinovich, Mark E. Microsoft Windows Internals: Microsoft Windows Server 2003, Windows XP, and Windows 2000 / Mark E. Russinovich, David A. Solomon. — 4. — Redmond, WA : Microsoft Press, 2005. — P. 706–711. — ISBN 0-7356-1917-4.
- ↑ Windows Backup (англ.). Windows Vista portal. Microsoft. Дата обращения: 20 июня 2024. Архивировано 10 мая 2007 года.
- ↑ Fok, Christine (September 2007). “A Guide to Windows Vista Backup Technologies”. TechNet Magazine [англ.]. Microsoft. Дата обращения 2024-06-20.
- ↑ Diskshadow (англ.). Windows Server 2008 and Windows Server 2008 R2 documentations. TechNet Library. Microsoft Corporation (28 сентября 2007). Дата обращения: 20 июня 2024. Архивировано 24 июля 2009 года.
- ↑ Selected Scenarios for Maintaining Data Integrity with Windows Vista (англ.). TechNet. Microsoft Corporation. Архивировано 14 сентября 2008 года.
- ↑ A Guide to Windows Vista Backup Technologies (англ.). Microsoft. Архивировано 20 декабря 2008 года.
- ↑ Volume Shadow Copy and "Previous Versions" feature in Windows Vista (англ.). Microsoft Corporation. Архивировано 12 июля 2025 года.
- ↑ ShadowExplorer позволяет восстанавливать потерянные или изменённые файлы
- ↑ TimeTraveler добавляет временную шкалу в Проводник Windows, позволяя просматривать, восстанавливать или сравнивать файлы и каталоги в разных состояниях
- ↑ Previous versions UI removed for local volumes (Windows) (англ.). Дата обращения: 20 июня 2024. Архивировано 28 сентября 2012 года.
- ↑ Saluste, Margus File History in Windows 8, 8.1 and 10 (англ.). WinHelp.us. Дата обращения: 20 июня 2024. Архивировано 25 декабря 2020 года.
- ↑ Huc, Mauro How to enable Previous Versions to recover files on Windows 11 - Pureinfotech (амер. англ.). Pureinfotech (8 марта 2023). Дата обращения: 20 июня 2024. Архивировано 27 мая 2023 года.
- ↑ Samba HOWTO Collection, Part III. Advanced Configuration (англ.). Дата обращения: 20 июня 2024. Архивировано 4 сентября 2004 года.
- ↑ zfsonlinux/zfs-auto-snapshot (англ.). GitHub. Дата обращения: 20 июня 2024. Архивировано 25 июня 2025 года.
- ↑ [GUIDE] Windows Previous Versions and Samba (Btrfs - Atomic COW - Volume Shadow Copy) (англ.). openmediavault. Дата обращения: 20 июня 2024. Архивировано 30 марта 2017 года.
- ↑ How restore points and other recovery features in Windows Vista are affected when you dual-boot with Windows XP (англ.). File Cabinet Blog. Microsoft (14 июля 2006). Дата обращения: 20 июня 2024. Архивировано 18 июля 2006 года.
- ↑ Calling SRSetRestorePoint (англ.). MSDN Library. Microsoft. — «Snapshots of the boot volume created by System Restore running on Windows 8 may be deleted if the snapshot is subsequently exposed by an earlier version of Windows.» Дата обращения: 20 июня 2024. Архивировано 4 марта 2016 года.
Литература
- Russinovich, Mark E. Storage Management // Windows Internals / Mark E. Russinovich, David A. Solomon, Alex Ionescu. — 5th. — Microsoft Press, 2009. — P. 688–698. — ISBN 978-0-7356-2530-3.
- Selected Scenarios for Maintaining Data Integrity with Windows Vista (англ.). Microsoft TechNet. Microsoft Corporation. Дата обращения: 20 июня 2024.
- Russinovich, Mark; Solomon, David Windows XP: Kernel Improvements Create a More Robust, Powerful, and Scalable OS (англ.). TechNet Magazine. Microsoft (декабрь 2001). Дата обращения: 20 июня 2024.
- Oltean, Adi A bit of black magic: How to assign drive letters to VSS shadow copies... on Windows XP! (англ.). Antimail. Microsoft Corporation (19 сентября 2006). Дата обращения: 20 июня 2024.
- Oltean, Adi Creating shadow copies from the commandline (англ.). MSDN Blogs. Microsoft Corporation (14 декабря 2004). Дата обращения: 20 июня 2024.
- Volume Shadow Copy Service (VSS) Express Writers (англ.). Microsoft Corporation.