Blame | Last modification | View Log | RSS feed
FAQ - ОТВЕТЫ НА ЧАСТО-ЗАДАВАЕМЫЕ ВОПРОСЫ
-------------------------------------------------------------------------------
Как увеличить быстродействие и снизить нагрузку на процессор при шифровании
бэкапа ?
При использовании шифрования через gpg, рекомендуется установить значение
$prog_gzip="" (т.е. отключить сжатие архива), так как gpg перед шифрованием
самостоятельно сжимает данные. Использование gzip приведет к двойному
сжатию и лишней нагрузке на CPU.
-------------------------------------------------------------------------------
Возникло опасение, что при большом количестве файлов fsbackup съест все ОЗУ.
Ничего подобного, одним из достоинств fsbackup является очень экономные
требования к памяти, за счет использования для хранения хэшей библиотеки
DBM. По умолчанию, используется не более 4 Мб ОЗУ.
-------------------------------------------------------------------------------
Как увеличить быстродействие и оптимизировать распределение памяти для
бэкапа ?
По умолчанию в памяти находится только 4 Мб индексов, остальное сбрасывается
на диск. Быстродействие создания бэкапа можно _на_порядок_ увеличить, за
счет увеличения размер кэша для размещения хэш таблицы в памяти.
Для этого в fsbackup.pl нужно изменить значения константы:
use constant DB_DEF_CACHE_SIZE => размер_кэша_в_байтах;
Чем больше DB_DEF_CACHE_SIZE - тем лучше.
-------------------------------------------------------------------------------
Собрался сменить fsbackup 1.0 на 1.1 (1.2). Не будет ли проблем с существующей
конфигурацией, при переходе на новую версию ?
Можно смело оставить старые файлы конфигурации, заменив только скрипты.
При желании активировать новинки, появившиеся в 1.1 (1.2), загляните в CHANGES
и добавте новые переменные в старые конфиги.
-------------------------------------------------------------------------------
Зачем было создавать свою систему бэкапа SQL таблиц, кога есть pg_dump и
mysqldump ?
Ни тот ни другой не умеют бэкапить все базы, с пропуском нескольких.
Например, бэкап всех баз на MySQL сервере, кроме ненужной гигобайтовой базы
словоформ для поисковика. fsbackup же опирается на три кита: полный бэкап
всех баз, бэкап только указанных в backup_db_list баз данных и бэкап всех
баз, кроме указанных в backup_db_list. Начиная с версии 1.2 fsbackup умеет
производить бэкап (или исключать из бэкапа) не только отдельные базы, но
и таблицы.
-------------------------------------------------------------------------------
Как наиболее грамотно организовать бэкап сервера и большим объемом данных ?
Рекомендуется, описать бэкап разных участков файловой системы в нескольких
файлах конфигурации.
Например, создать следующие конфигурации:
server_etc.conf - описывает создание бэкапа директории /etc и секретных
данных с использованием PGP шифрования;
server_local.conf - бэкап /usr/local, за исключением временных файлов.
server_sql.conf - бэкап БД.
server_home.conf - бэкап директорий пользователей (/home или /usr/home)
server_soft.conf - бэкап архива программ (без сжатия)
Внимание, директории для сохранения бэкапа в каждом конфигурационном файле
должны отличаться ($cfg_remote_path, $cfg_local_path), сохранение в одной и
той же директории нескольких, описанных разными .conf файлами, бэкапов не
допустимо.
-------------------------------------------------------------------------------
Почему при указании переменной $cfg_maximum_archive_size=100, несжатые
тома архива оказываются размером немного больше или меньше 100 Кб ?
Переменная $cfg_maximum_archive_size учитывает реальный размер данных
в файлах плюс примерный размер атрибутов файла или директории. При этом
том завершается когда значение счетчика байт больше указанного в
конфигурации значения. Например, если последним добавляется файл размером 70Кб
и размер уже скомпанованного тома равен 90 Кб, то будет создан архивный
файл размером 90 Кб, а файл размером 70 Кб. будет помещен в следующий том.
Т.е. система старается создавать архивные тома размером чуть меньше, чем
размер указанный в файле конфигурации, за исключением случая наличия файла
размер которого больше лимита накладываемого на размер тома, в этом случае
файл целиком помещается в архивный том, несмотря на его большой размер.
Предотвратить создание архивных томов не помещающихся на накопитель,
используемый для резервирования, можно определив максимально возможный
размер файла для помещения в архив ($cfg_size_limit).
-------------------------------------------------------------------------------
Как мне не архивировать файлы из таких - то каталогов, причем сами каталоги
должны быть. Например, почтовые каталоги qmail, задаю маску: =!Maildir/cur/*
в результате не создает в архиве каталогов cur в профилях пользователя.
Достаточно указать:
f!.*/Maildir/new/.*
тогда все файлы внутри /Maildir/new/ не будут помещены в архив, а директория
будет добавлена в .dir файл и при восстановлении будет воссоздана. В tar архив
пустые директории не помещаются, только в .dir список.
-------------------------------------------------------------------------------
Почему fsbackup не делает backup каталогов, если в них нет файлов ?
Пустые каталоги просто не отражены в tar архиве (ровно как и права доступа
на все каталоги). Для хранения полного списка каталогов и прав доступа к ним,
используется .dir файл, выполненный в виде обычного shell сценария. При
восстановлении данных из backup, необходимо не только раскрыть .tar архив, но
и выполнить .dir сценарий.
-------------------------------------------------------------------------------
Что можите порекомендовать для бэкапа нескольких серверов ?
- Выделить старую машину с большим диском под backup-сервер.
- Вынести backup-сервер с тех. площадки, рекомендуется в другое здание
(например в удаленный офис), на случай пожара, грабежа и других
форс-мажорных обстоятельств. Или периодически скидывать бэкапы с
backup-сервера на переносной носитель (лента, CDROM и т.д.) и уносить
домой.
- Рекомендую производить бэкап по FTP, при грамотной организации, не менее
безопасно, чем по SSH (при использовании PGP шифрования бэкапа и
предотвращении возможности сниффинга), а главное более быстрый и
менее ресурсоемкий способ.
- На каждом из серверов, с которых будет производится бэкап, разграничить
области файловой системы в зависимости от важности и объема данных.
Каждую область описать в отдельном файле конфигурации (см. вопросы выше).
Для самых важных данных (например, файлы паролей, секретная информация
представляющая коммерческую тайну и т.д.), используйте PGP шифрование.
Для текстовых данных большого объема и не требующих частого поднятия из
бэкапа - используйте gzip сжатие. Если потребность в доступе к данным
в бэкапе велика, можно ограничиться обычным tar архивом без сжатия.
- Настроить ftp-сервер с доступом только c хостов с которых производится
бэкап (например, через /etc/hosts.allow) и закрытым для внешнего мира.
В конфигурации ftp сервера запретите выход за пределы домашней
директории (/etc/ftpchroot). Дополнительно, через crontab, пропишите
еженедельное дублирование резервной копии на бэкап-сервере на
соседний диск (резервирование бэкапа).