Subversion Repositories general

Rev

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, пропишите 
      еженедельное дублирование резервной копии на бэкап-сервере на 
      соседний диск (резервирование бэкапа).