Как известно, все люди делятся на два типа: те, кто ещё не делает бэкапы, и те, кто уже делает. Из первой категории опечаленные пользователи переходят во вторую, но и первая бесконечно пополняется новичками.
А бывает, что и одного бэкапа мало: резервная копия тоже может повредиться или исчезнуть. Например, если вирус-шифровальщик портит ключевые файлы — и они попадают в резервную копию, которая оказалась единственной. Или когда резервная копия на той же машине (в том же помещении, в том же здании), что и рабочие файлы.
Беда случается даже с опытными профессионалами, которые где-то поленились или что-то упустили: буквально месяц назад сгорел дата-центр в Южной Корее, где размещалось облачное хранилище, которым пользовались 125 тыс. госслужащих. Резервных копий не сохранилось, так что 858 ТБ государственных данных пропали вместе с ЦОДом.
В этой статье рассмотрим, в чём разница между резервными копиями, снапшотами и клонированием на примере реального VPS.
Наш VPS
В UltraVDS вы можете арендовать виртуальный сервер за 119 рублей в месяц (95,2 рублей при оплате за год).
В тарифе минимальная конфигурация:
-
1 ядро Xeon E5 2,2ГГц
-
512 МБ оперативной памяти
-
HDD 10 ГБ
-
1 IP-адрес, канал 100 Мбит/с
-
Windows Server Core 2019 или Debian
Такой тариф идеально подходит для простых сайтов, лёгких сервисов, ботов, систем мониторинга 24/7, хранилища данных и пр.
Многие пользователи ставят на сервер ОС Debian, но мы поставим Windows Server Core 2019, в стоимость включена официальная лицензия.
После оформления заказа начинается автоматическая установка ОС на сервер и конфигурирование системы:

Это занимает несколько минут:

Мы разместили на VPS личный сайт и некоторые файлы вроде подборки книг и программ. Сайт включает несколько сотен папок со статьями, пронумерованных в соответствии с ID, в каждой из которых лежит файл типа ID.html и иллюстрации. Размер всех папок со статьями — около 11 МБ.
Возможно, в будущем запустим ещё медиасервер и несколько ботов для работы в интернете 24/7 для личных нужд (бронирование мест в очередях, заказ товаров на скидках и т. д.). Наверное, тогда придётся увеличить конфигурацию сервера, в том числе добавить памяти. UltraVDS позволяет изменить параметры VPS в любой момент. На панели управления сервером нажимаем ссылку «Изменить»:

При необходимости можно увеличить жёсткий диск и добавить оперативной памяти. Эта процедура не требует ручного резервного копирования и восстановления данных из бэкапа, всё делается автоматически за несколько минут. Только придётся доплатить:

Бэкап на сервере
Сразу после установки VPS есть смысл включить резервное копирование сервера, которое на UltraVDS делается автоматически. На панели управления сервером есть такая опция и кнопка «Подключить»:

Нажимаем на неё и выбираем ползунком объём, который хотим зарезервировать для бэкапа:

«Резервное копирование будет происходить автоматически ночью в интервал с 03:00 до 05:00 (время московское) в заданные дни. Количество хранимых последних копий бэкапов зависит от объёма приобретаемого места». Например, у нас сервер на 10 ГБ, а мы хотим хранить два последних бэкапа. Поэтому выбираем 20 ГБ. Как видно на скриншоте вверху, это будет стоить 80 рублей в месяц.

По умолчанию задан интервал сохранения 1 раз в неделю: в ночь с субботы на воскресенье. В настройках можно изменить правила сохранения бэкапов. Например, выберем сохранять резервные копии два раза в месяц 1 и 15 числа:

Резервное копирование — крайне полезная опция, которая рано или поздно востребована всеми клиентами. Обидно, что некоторые спрашивают об этой услуге после потери информации.
Бэкапы и снапшоты
Примечание: «снапшот» (англ. «снимок») означает конкретную копию системы, которая произведена в указанное время. Иногда такой снимок производится во время процедуры резервного копирования, то есть бэкапа. Например, в примере вверху можно сказать, что в рамках бэкапа ежемесячно делается два снапшота: 1 и 15 числа.
То есть:
-
бэкап = процедура резервного копирования, в рамках которой мы делаем резервную копию всех или некоторых файлов или сохраняем дельту изменений между старыми и новыми версиями. Если файлов много, то процедура будет длительной.
-
снапшот = моментальный, быстрый «снимок» системы, который фиксирует её текущее состояние. Может включать копию файловой системы, дамп оперативной памяти и т. д. Содержимое часто в проприетарном формате и скрыто от пользователя. Главное, что систему можно потом восстановить в исходном состоянии по этому «снимку».
В снапшотах обычно не сохраняются пользовательские файлы, а только системные. Поэтому в справочных материалах UltraVDS слово «снапшот» обычно не употребляется: мы используем «файлы бэкапа» и «копии бэкапа».
Эта терминология не выбита на камне, а профессионалы часто используют слово «бэкап» во всех значениях:
-
в значении «резервная копия» («держи вчерашний бэкап»);
-
в значении «процедура резервного копирования» («давай проведём бэкап»);
-
в значении «снапшот» («откатимся на вчерашний бэкап»).
Так что «бэкап» — это самое универсальное слово.
Бэкап вручную
Можно вручную копировать файлы с сервера к себе на ПК или на другой сервер. Это делается разными способами и не требует оплаты хостеру за автоматические бэкапы.
Итак, у нас на сервере хранится личный веб-сайт, так что резервная копия должна включать все файлы этого сайта, то есть содержимое папки nginx\html.
Например, вот один из способов резервного копирования вручную:
-
Создаём сетевой диск
Z.
$cred = Get-Credential
New-PSDrive -Name "Z" -PSProvider FileSystem -Root "\\176.58.61.22\C$" -Credential $cred -Persist
Команда New-PSDrive в PowerShell создаёт виртуальный диск или точку подключения к серверному виртуальному диску. Это позволяет обращаться к нему как к обычному диску в файловой системе.
Например, так он выглядит в Total Commander на удалённом компьютере:

Как вариант, можно создать общую сетевую папку \\176.58.61.22\nginxshare конкретно на директорию nginx\html:
New-SmbShare -Name "nginxshare" -Path "C:\nginx\nginx-1.29.3\html" -FullAccess "Administrator"

Потом сетевой диск можно открыть хоть в «Проводнике» на домашнем ПК и копировать файлы вручную с одного компьютера на другой или между серверами.

Например, копируем директорию с веб-сайтом в Total Commander:

Точно так же можно перетянуть файлы мышкой с VPS на другой ПК в «Проводнике». И всё, бэкап готов.
В данном случае мы делаем резервную копию (бэкап) только веб-сайта. Но ничего не мешает скопировать и другие директории, в случае необходимости. Здесь элементарная ручная процедура.
Образ сервера (клонирование)
Образ диска или сервера — это полная резервная копия системы, включая полную копию всех данных. Это гораздо более длительная процедура, но зато она позволяет перенести систему с одного сервера на другой (например, к другому хостеру) с точными настройками — так что веб-сайт продолжит работать как и раньше, без какого-либо перерыва в работе, только с другого IP-адреса.
Создание образа иногда называют «клонированием» или «записью снапшота». Как мы уже упоминали, терминология у всех разная.
По своему принципу клонирование похоже на создание снапшота, только это более полная копия системы, которая включает абсолютно всё, включая пользовательские файлы.
Предположим, мы хотим перенести наш веб-сайт к другому хостеру, со всеми файлами и настройками, ничего не меняя. В этом случае у нас два варианта:
-
Зарегистрировать новый VPS, установить там ОС,
nginxи другое ПО, скопировать папкуhtmlс веб-сайтом и другие необходимые файлы. -
Просто клонировать диск и накатить его у нового хостера.
В некоторых случаях второй вариант проще. Хотя не все хостеры разрешают импортировать чужие образы. Но если такая возможность есть, то почему бы не воспользоваться.
Создаём образ нашего сервера по инструкции с помощью утилиты Disk2vhd:
-
Проверим, как распределяется дисковое пространство на VPS:
Get-PSDrive -PSProvider FileSystem

Поскольку свободного места меньше, чем занятого, то образ диска может не поместиться. Хорошо, что UltraVDS позволяет увеличить дисковое пространство на сервере.
-
Итак, мы увеличили место на диске до 30 ГБ. Теперь выделим 16 из 30 ГБ под новый раздел для записи образа:
Resize-Partition -DriveLetter C -Size ((Get-Partition -DriveLetter C).Size - 16GB)
-
В выделенном разделе создаём логический диск D:
New-Partition -DiskNumber 0 -Size 16GB -AssignDriveLetter
Форматируем его:
Format-Volume -DriveLetter D -FileSystem NTFS -NewFileSystemLabel "VHD" -Confirm:$false
Создаём папку VHD для образа:
New-Item -Path "D:\VHD" -ItemType Directory

-
Скачиваем с официального сайта утилиту disk2vhd64.exe, копируем её на сервер, запускаем. Поскольку в консоли Windows Core 2019 доступен только текстовый режим, то работаем с этой утилитой из консоли.
Сохраняем образ всех доступных томов в файл D:\VHD\ultravds_copy.vhd:
Start-Process -FilePath "C:\disk2vhd64.exe" -ArgumentList "* D:\VHD\ultravds_copy.vhd"
В будущем этот файл можно примонтировать к системе на другом сервере, хостинге или ПК. Теоретически, веб-сервер запустится в том же виде, в каком он работал до снятия образа.
В графическом интерфейсе Disk2Vhd всё это делается через галочки в кнопочки, как в инструкции:

Как вариант, вместо Disk2Vhd для резервного копирования можно воспользоваться системной программой dism, которая создаёт образы в формате WIM.
Итоги
Если проводить различия между снапшотом и образом, а также резервной копией, то ключевые отличия в следующем:
-
Снапшот — маленькая и быстрая копия, которая позволяет восстановить текущее состояние конкретного компьютера. Но восстановление возможно только на том же компьютере, в той же системе (в той же ОС или программе).
-
Образ — полная копия диска, делается специальными инструментами. Хранится в особом формате типа
.isoили.vhd. Для восстановления или запуска тоже нужны специальные инструменты. В отличие от снапшота, восстановить состояние системы можно даже на другом ПК. -
Резервная копия — копия отдельных файлов, её можно сделать вручную в консоли или файл-менеджере командой «Копировать», без использования специальных инструментов.
Многие люди не понимают, зачем платить за бэкап VPS. А потом жалуются на потерю данных.
Наука резервного копирования — во многом экзистенциальный вопрос. Какие риски нас устраивают? Сколько лет мы собираемся прожить? Сколько лет мы собираемся хранить информацию? Такие вопросы навевают философские мысли... С другой стороны, однажды продумав всю систему резервных копий, в дальнейшем достаточно просто соблюдать правила и делать всё автоматически, даже не задумываясь. Ведь человек лучше всего в жизни делает то, о чём не задумывается (то, что доведено до автоматизма).