Linux

Как обеспечить правильное резервное копирование нескольких серверов на базе Linux?

Есть несколько вопросов, связанных с созданием резервных копий, но большинство из них либо слишком специфичны, либо предназначены для домашнего использования, либо для работы на базе Windows.

Что бы я хотел услышать:

  1. Как вы обеспечиваете надлежащее резервное копирование всех ваших Linux-серверов?

  2. Как часто вы создаете резервные копии своих серверов?

  3. Что вы резервируете, кроме очевидных каталогов /home?

  4. Как вы обеспечиваете инкрементное резервное копирование, но при этом легко их восстанавливаете?

Особенно меня беспокоит последний вопрос. Сжатие резервных копий в tarballs работает хорошо, но вызывает серьезные проблемы с производительностью, когда мне внезапно нужно восстановить резервную копию. С другой стороны, если не сжимать резервные копии и синхронизировать их с другим сервером, возникает серьезный риск создания противоречивых разрешений пользователей.

Какие инструменты помогают сделать это как можно проще и какой подход вы предпочитаете в этом вопросе?

Ответ 1

  1. Резервное копирование выполняется полностью автоматически, и все резервные копии отслеживаются, чтобы убедиться в их успешном завершении (о чем сообщает программное обеспечение для резервного копирования). Этот мониторинг крайне важен, поскольку он «замыкает цикл» резервного копирования, чтобы убедиться, что оно выполнено успешно.

  2. Обычно ежедневно, хотя некоторые системы (серверы баз данных) иногда получают более интересные стратегии.

  3. Списки пакетов, /etc, /var и /home. Все остальное может быть воссоздано оттуда.

  4. Дома я использую dirvish, который просто создает жестко связанные деревья файлов с помощью rsync. Он отлично справляется со своей работой, но требует запуска rsync от имени root (чтобы обеспечить соблюдение прав доступа), и это тяжело для файловой системы с точки зрения потребления inode. На работе мы используем rdiff-backup, и хотя у него есть свой набор ограничений, он хранит разрешения в файлах метаданных, поэтому вам не нужны права root для записи резервной копии (но нужно запустить явное восстановление, чтобы вернуть разрешения).

Ответ 2

Как вы обеспечиваете надлежащее резервное копирование всех ваших Linux-серверов?

Мы запускаем rdiff-backup каждую ночь. У нас есть скрипт, который находится в /usr/local/bin и запускается cron каждую ночь. Чтобы убедиться в его работоспособности, мы используем nagios для проверки того, что копия /var/log/messages никогда не бывает старше 48 часов. Если это так, мы можем увидеть это на веб-странице nagios и в электронных письмах, которые nagios отправляет администраторам.

Как часто вы создаете резервные копии своих серверов?

Каждую ночь.

Что вы резервируете, кроме очевидных каталогов /home?

Мы создаем резервные копии всего, кроме нескольких исключенных каталогов /tmp/proc/sys и некоторых вещей в /var/log/.

Как вы обеспечиваете инкрементное резервное копирование, но при этом легко их восстанавливаете?

Мы используем rdiff-backup (см. руководство). rdiff-backup создает каталог с полной актуальной копией того, что вы копируете, но сохраняет различия с предыдущими резервными копиями, так что вы можете восстанавливать файлы из предыдущей копии. Вы, вероятно, захотите время от времени удалять старые диффы (для экономии места), и для этого существует команда rdiff-backup, которую можно запускать еженедельно по cron.

Ответ 3

У меня есть задание в cron, выполняемое на серверах, на которых работает rdiff-backup.

Делается резервная копия /etc/, /home/ и любой другой директории, которая обеспечит мне быстрое восстановление работоспособности другого сервера, когда он выйдет из строя.

Все собирается в одном центральном месте, и все это записывается на ленту каждую ночь. Лента собирается на следующее утро и отправляется (за пределы сайта) на 2 недели, после чего снова поступает в ротацию.

Для очень важных вещей у меня есть резервный сервер. То есть второй сервер, который простаивает, но имеет все файлы/службы первого. Когда первый выходит из строя, этот может в мгновение ока занять его, все, что нужно сделать, это изменить запись в DNS.

Ответ 4

Я наконец-то установил сервер RAID6 вместе с rsnapshot, который использует rsync и жесткие ссылки между различными резервными копиями, так что это экономит место, но делает восстановление простой операцией копирования. Я запускаю инкрементальный бэкап каждую ночь, зацикливая последние 14 снимков, накапливаю ночные снимки до набора снимков каждой второй недели, а затем четвертичные наборы и годовые наборы. Я создаю резервные копии всего на своих дисках.

Схожие статьи

Ubuntu Touch: определение, преимущества и правила установки вместо Android
Linux

Ubuntu Touch: определение, преимущества и правила установки вместо Android

Linux

Как использовать sudo для перенаправления вывода, если у меня нет разрешения на запись

Linux

Как избежать сетевых конфликтов с внутренними сетями VPN?

Linux

Как предотвратить случайное использование rm -rf ?