Мгновенный снимок: различия между версиями

[отпатрулированная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
стилевые правки; +правила заимствования ин. слов в русском приводят к варианту "снэпшот", также, как в случае с "бэкап"
Строка 1:
'''Снимок файловой системы''' или '''снапшотснэпшот''' (от {{lang-en|SnapShot, [мгновенный снимок]}}) — моментальный снимок, копия файлов и директорий [[файловая система|файловой системы]] на определённый момент времени.
 
== Описание ==
Создание [[резервное копирование|резервной копии]] большого объёма данных может занять длительное время. В [[многозадачность|многозадачных]] или [[Многопользовательская система|многопользовательских системах]], во время резервного копирования может происходить запись или изменение файлов и директорий, что может привести к неверной резервной копии данных. Например, пользователь перемещает файл из директории, которая ещё не была сохранена при [[Резервное копирование|резервном копировании]] (в резервную копию — бэкап), в директорию которая уже сохранена. Такой файл может вообще не войти в бэкапрезервную копию. Также, файл, предназначенный для резервного копирования, может записываться в момент его чтения процедурой бэкапарезервного копирования и может быть сохранён в неверной версии.
 
Одним из методов ''безопасного'' создания бэкапарезервной копии является запрещение записи в данные, которые подлежат резервному копированию, на время создания резервной копии. Ещё одним из методов является остановка всех приложений, которые могут изменять эти данные, или блокировка этих приложений форсированным включением режима только для чтения средствами [[Интерфейс программирования приложений|интерфейса программирования приложений]] (API) [[Операционная система|операционной системы]] (ОС). Эти методы используются в системах ''низкой доступности'' (домашние компьютеры, серверасерверы небольших рабочих групп, для которых регулярная ''недоступность'' (downtime) позволительна). В системах ''высокой доступности'' [[24/7]] эти методы применять нельзя, так как это может повлечь отказ в обслуживании сервисов.
 
Для избежания ''недоступности'' (downtime), системы высокой доступности могут вместо прямого резервного копирования сначала создать ''снапшотснэпшот''-ную, — копию информации [[только для чтения]], копию информации, замороженной«замороженную» в определенныйопределённый момент времени. А затем, позволив приложениям продолжить обновлять данные, создавать бэкапрезервную копию. Большинство реализаций снапшотовснэпшотов эффективны, они создают снапшотснэпшот за ''[[«O» большое и «o» малое|O(1)]]''. Другими словами, время и количество операций ввода-вывода необходимое для создания снапшотаснэпшота не увеличивается с ростом объёма данных, в то время, как те же параметры для создания ''прямогопрямой'' бэкапарезервной копии пропорциональны размеру сохраняемых данных.
 
СнапшотыСнэпшоты для чтения-записи иногда приводят к ''ветвлению'' снапшотовснэпшотов, так как они неявно создают различные версии своих данных. Помимо резервного копирования и восстановления данных, снапшотыснэпшоты часто используются в виртуализации, в различных [[Песочница (безопасность)|песочницах]] и в [[Виртуальный хостинг|виртуальном хостинге]], благодаря их эффективности в ведении изменений большого набора данных.
 
== Реализация ==
 
=== Управление томами ===
Некоторые операционные системы из семейства [[UNIX]], например, [[HP-UX]], а также [[GNU Linux|Linux]] обладают [[логическое управление разделом|менеджером логического раздела]], в котором реализована поддержка снапшотовснэпшотов. Эта реализация [[копирование при записи|копии-на-записи]] на целых [[блоковоеблочное устройство (компьютерное)|блочных устройствах]] путём копирования измененныхизменённых блоков, до того, как они будут перезаписаны, в другое место, сохраняет целостность снапшотаснэпшота на блочном устройстве. Файловые системы на этом снапшотеснэпшоте могут быть позднее подключены только в режиме чтения. СнапшотыСнэпшоты блочного уровня почти всегда менее эффективно используют место, чем снапшотыснэпшоты в файловых системах, которые их поддерживают.
 
=== Файловые системы ===
Некоторые файловые системы, такие как [[Write Anywhere File Layout|WAFL]], [[fossil (файловая система)|fossil]] для [[Plan 9]] или [[ODS-5]], внутренне отслеживают старые версии файлов и делают снапшотыснэпшоты доступными через специальное [[пространство имен (компьютерное)|пространство имен]]. Другие, например [[Unix File System|UFS2]], предоставляют для операционной системы API для доступа к своей истории файлов. В [[NTFS]], доступ к снапшотамснэпшотам предоставляется через [[Volume Shadow Copy]] (VSS) в [[Windows XP]] и [[Windows 2003]], и через [[Shadow Copy]] в [[Windows Vista]]. СнапшотыСнэпшоты также доступны в [[Novell Storage Services]] (NSS) - — файловой системе для [[Netware]], - начиная с версии 4.11, и более новых на [[Linux]]-платформах в продуктах [[Open Enterprise Server]] (OES).
 
[[ZFS]] имеет гибридную реализацию, которая отслеживает чтение-запись снапшотовснэпшотов на блоковомблочновом уровне, но создает разветвленныеразветвлённые наборы файлов, известные пользовательским приложениям как «клоны».
 
=== В базах данных ===
Спецификация [[SQL]] определяет четыре уровня [[уровни изолированности транзакций|изоляции транзакций]]. На самом высоком уровне — ''сериализационном'', снапшотснэпшот создается при старте каждой [[Транзакция (информатика)|транзакции]]. Утилиты для бэкапарезервного копирования большинства популярных SQL — баз данных используют эту технологию для создания самосогласованного образа таблицы данных.

<!--
 
=== В виртуализации ===
Строка 31 ⟶ 33 :
 
== См. также ==
 
* [[Резервное копирование]]
* [[Time Machine (программа)]]
Строка 38 ⟶ 39 :
 
== Ссылки ==
 
* {{cite web|url=http://www.storagenews.ru/25/CA_snap-tech.pdf|title=Проблематика, Что такое снапшот?/ BrightStor ARCserve Backup - снапшотные технологии|author=Михаил Митрошин.|lang=ru|publisher=[http://www.storagenews.ru Storage News]|date=№ 4 (25) 2005|accessdate=03.08.2010|archiveurl=http://www.webcitation.org/66AkbnnEt|archivedate=2012-03-15}}
* {{cite web|url=http://www-128.ibm.com/developerworks/tivoli/library/t-snaptsm1/index.html|title=Understanding and exploiting snapshot technology for data protection, Part 1: Snapshot technology overview|author=Neeta Garimella.|lagn=en|publisher=IBM|date=26.04.2006|accessdate=03.08.2010|archiveurl=http://www.webcitation.org/66AkcLQrl|archivedate=2012-03-15}}