Disk-to-disk бэкап: считаем стоимость и хороним ленту для ежедневных копий
Посчитали стоимость владения дисковым массивом против ленточной библиотеки: цена сравнялась, а проверка восстановления - минуты вместо часов. Схема, которую держим у клиентов.
Диски дешевеют быстрее ленты - disk-to-disk вытесняет стример для ежедневных копий
Ещё пару лет назад разговор про резервное копирование без ленты звучал немного наивно. Лента - это надёжно, проверено, правильно. Стример у клиента, кассеты в обороте, одну увозят домой - и спишь спокойно. Мы сами так ставили и так учили.
Что-то изменилось, и изменилось тихо: диски подешевели. Не немного, а заметно. И в какой-то момент мы сели с одним клиентом и посчитали честно - сколько стоит ленточная схема и сколько будет стоить внешний дисковый массив с тем же объёмом хранения.
Цифры получились неудобными для ленты.
Что именно считали
У клиента - средняя контора, около 200 ГБ данных в бэкапе с учётом истории за две недели. Ленточная схема: стример начального уровня, комплект кассет на ротацию, ежегодная замена части кассет по регламенту. Дисковая альтернатива: внешний массив на несколько дисков по SATA, подключение через USB 2.0 или iSCSI в зависимости от конфигурации.
Стример с кассетами при той же ёмкости обходился дороже, и разрыв только рос в сторону диска. Причём это без учёта времени на обслуживание кассет, их замену и периодические прочистки лентопротяжного механизма. Механика стримера - вещь капризная, и если он начинает ошибаться, то часто делает это тихо: пишет как будто нормально, а читает потом с ошибками.
Был у нас ровно такой случай с одним клиентом - описывали в прошлом году, когда делали учебное восстановление и нашли там несколько неприятных сюрпризов. Один из них - лента читалась медленнее записи, и полное восстановление заняло значительно больше, чем рассчитывали.
Проверка восстановления - это аргумент сам по себе
Главное, что поменялось с переходом на диск, - это скорость проверки. С ленты поднять и убедиться, что данные читаются, - это часа три-четыре минимум для нормального объёма. С диска - подключил, запустил выборочное восстановление нескольких файлов, убедился, готово. Минут пятнадцать-двадцать.
Это не мелочь. Мы давно говорим, что копия без проверки - не копия. Но на практике проверку делали редко именно потому, что это долго и неудобно. Когда это занимает двадцать минут - делаешь чаще. Уже только это окупает переход.
С дисковым массивом проверку можно автоматизировать: скрипт после каждого ночного бэкапа монтирует последнюю копию, проверяет контрольную сумму нескольких файлов из разных каталогов, пишет результат в лог. Не полная гарантия, но уже не самоуспокоение.
Схема, которую держим
После подсчётов и нескольких месяцев наблюдений у разных клиентов сложилась схема, которую мы сейчас используем как основную.
Ежедневные копии - на диск. Внешний массив, ночной инкрементальный бэкап, история на две недели. Скорость записи выше, скорость восстановления выше, автоматическая проверка встроена в регламент. Никаких кассет, никакой механики.
Недельные копии - туда же. Полный бэкап раз в неделю остаётся на том же массиве, но в отдельном каталоге с другим сроком хранения. Места хватает - именно потому, что диски подешевели.
Месячные архивы - на ленту. Вот здесь лента не сдаётся, и мы её оставляем. Последний день месяца пишем на кассету, кассету убираем. Накапливается по двенадцать кассет за год с историей, которые физически отделены от сервера и от массива. Это страховка от того, чего не предусмотришь: пожар, кража, вирус, который молча живёт в системе и повреждает данные постепенно.
Ещё одна кассета в начале квартала уезжает за пределы офиса. Это правило старое, от него не отступаем.
Что по деньгам на дисках
Массив мы берём без изысков: корпус с горячей заменой дисков, RAID 1 или RAID 5 в зависимости от объёма, диски потребительского класса с контролем состояния по SMART. Не самое серверное железо, но для роли буфера бэкапа - достаточно. Деградацию диска в массиве отловим заранее, данные никуда не денутся, заменим тихо.
Важный момент: дисковый массив для бэкапа - это не продакшн-хранилище. К нему другие требования. Здесь важна ёмкость и надёжность чтения при восстановлении, а не максимальная производительность записи.
Что не изменилось
Правила не поменялись, изменился только носитель под ежедневные копии.
Физическое разделение. Массив для бэкапа стоит отдельно от продакшн-сервера. Если сервер падает физически или программно портит данные, массив это не затрагивает.
История, а не одна копия. Одна резервная копия - это не бэкап, а самоуспокоение. Минимум две недели истории, чтобы поймать ошибку, которую заметили не сразу.
Проверка восстановления по расписанию. Раз в месяц - выборочное восстановление файлов из разных дат. Раз в квартал - полная проверка одного из полных бэкапов.
Всё это мы держим в рамках сопровождения инфраструктуры - клиент видит статус бэкапов в регулярном отчёте, а не узнаёт о проблеме в день, когда что-то сломалось.
Лента не умерла. Просто теперь она делает то, для чего подходит лучше всего: долгосрочный архив, который лежит в коробке и ждёт своего часа. Это честное разделение труда.
- Резервные копии и миф о RAID · 8 ноября 2001
- Учебная тревога по восстановлению · 5 апреля 2004