Bacula Windows. Управление Bacula и файл-демоны для Windows.

Версия Bacula для Windows. Файл-демоны и документация

Исторически управляющий сервер Bacula — Director, всегда работает только под управлением Linux. Поэтому, когда мы говорим о Bacula для Windows, то мы имеем ввиду только клиентскую программу (агент или файл-демон). Файл-демон Bacula работает в WinXP, Win2000, Windows Server 2003, Windows Server 2008, Vista, Windows 7 и Windows 8. В некоторых случаях под Bacula для Windows подразумевают также GUI для управления бэкапами в Windows.

Вам требуется GUI для управления Bacula в Windows?

Тогда воспользуйтесь Bacula Administration Tool (BAT). Это приложение позволит Вам управлять Bacula в Windows без веб-интерфейса, если Вы не хотите использовать веб-протокол и браузер. Посмотрите видео об управлении Bacula в операционной системе Windows с помощью BAT, а также несколько скриншотов этой программы.

bacula windows windows bacula bacula administration tool бакула windows

Ищете бинарники Bacula для Windows?

На данный момент существует 2 варианта получения бинарников Bacula Windows client:

  • Скачать на blog.bacula.org бинарники только для персонального использования;
  • Приобрести официально поддерживаемые Bacula Systems Windows client бинарники у наших менеджеров;

В последнем случае стоимость составит:

1 500 рублей до 9 агентов

3 600 рублей до 49 агентов

10 800 рублей до 249 агентов

18 000 рублей до 1000 агентов

36 000 рублей более 1000 агентов

Эти файлы совместимы с коммьюнити-версией 7.4. В файлы включен только file daemon (Bacula Windows client), поскольку director и storage daemon на Windows недоступны в Bacula. Бинарники 32/64 доступны к загрузке в течение 3 месяцев, апдейты в течение данного срока включены в стоимость. Поддержка доступна на сайте сообщества Bacula, а также на русском языке у нашей компании.

Руководство по Bacula для Windows

К настоящему моменту на Windows тщательным образом протестированы только Файл-демон и Клиентская программа. Следовательно, когда мы говорим о версии Bacula для Windows и пригодности её компонентов для производственной среды Windows, мы имеем в виду только Файл-демон (программу-клиент).

Файл-демон Bacula для Windows был протестирован на системах WinXP, Win2000, Windows Server 2003, Windows Server 2008, Vista, Windows 7 и Windows 8. Bacula для Windows – приложение, специально разработанное для этой операционной системы, однако по сравнению с версией для Unix исходный код в ней изменён незначительно, так что версия для Windows по большей части выполняет код, уже долгое время стабильно работающий на системах Unix. Запущенная программа прекрасно интегрируется с Windows, размещая значок в панели задач, откуда также можно вызвать меню и получить дополнительные сведения о работе программы (диалоговые окна Статуса и Событий). При желании, это же меню можно использовать для остановки программы, хотя обычно этого не требуется.

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

 

Установка на Windows

В обычном случае установка версии Bacula для Windows осуществляется посредством бинарных файлов. Это стандартный для Windows файл .exe, который запускает мастер установки, используя установщик NSIS для программ с открытыми исходными кодами, так что, если вы уже устанавливали программное обеспечение для Windows, процесс должен быть вам полностью знаком.

Если у вас установлена предыдущая версия Bacula, вам потребуется остановить процесс, удалить программу, а также удалить инсталляционную директорию Bacula, по возможности сохранив файлы bacula-fd.conf, bconsole.conf и bat.conf для последующего использования с новой версией программы. Программа деинсталляции обычно располагается на c:\bacula\Uninstall.exe. Рекомендуется также полностью удалить каталог c:\bacula, поскольку текущий установщик использует иную структуру каталога (см. ниже).

В том случае, если Bacula у вас ещё не установлена, установщик разместит бинарные файлы и файлы dlls в c:\Program Files\Bacula\bin, а конфигурационные файлы — в c:\Documents and Settings\All Users\Application Data\Bacula. Кроме того, в процессе установки будет создан пункт меню StartAll ProgramsBacula, с помощью которого вы сможете редактировать файлы конфигурации, отображать документацию и запускать управляющие консоли bwx-console или bconsole.

Теперь переходим к собственно установке.

  • Для корректной установки вы должны осуществить вход в систему как Администратор локального компьютера. Те пользователи, которые устанавливали программу через аккаунт администратора домена, столкнулись с проблемами допуска при запуске Bacula, поэтому такой вариант мы не рекомендуем.
  • Дважды кликните по значку установщика NSIS baculawin32-5.xx.0.exe. Название значка может различаться в зависимости от выпущенной версии программы.

bacula-win32-5.xx.0.exe

  • При запуске Мастер установки спросит вас, хотите ли вы установить Bacula.
  • Далее вам будет предложено выбрать тип установки.
  • Продолжив, вы перейдёте к выбору компонентов для установки. Вы можете установить программу Bacula (Bacula File Service) и/или документацию. И то, и другое будет установлено в подкаталоги, расположение которых вы выберете позже. Диалоговое окно с выбором компонентов для установки выглядит следующим образом:
  • Если вы устанавливаете программу впервые, вам потребуется ввести базовые конфигурационные данные. В том случае, если вы не уверены, какую информацию вводить, или если вы предварительно сохранили конфигурационные файлы, то в предложенные поля можете вписать любую информацию, а затем либо заменить файлы конфигурации на сохранённые, либо отредактировать данный файл.

Если вы обновляете ранее установленную программу, показанное ниже окно не появится.

  • Пока файлы загружаются, вы будете видеть следующее окно:
  • Наконец, появится окно, подтверждающее окончание установки:

На этом процесс установки завершается. Когда Bacula File Server будет готов к работе с файлами, на панели задач появится значок с изображением кассеты (или плёнки) ; кликните по нему правой кнопкой мыши, чтобы вызвать меню.

Пункт Events (События) пока не реализован; выбрав пункт Status (Статус), вы сможете проверить, выполняются ли какие-либо задания или нет.

Когда Bacula File Server начнёт сохранение файлов, цвет отверстий кассеты на значке изменится с белого на зелёный , а если произойдёт ошибка, цвет отверстий станет красным .

Если вы используете удалённый доступ к рабочим столам Windows, имейте в виду, что значок в панели задач может не появиться. Он виден в любом случае, когда вы входите в консоль управления Bacula Console, но при подключении к удалённому рабочему столу, может не отображаться.

После установки

После установки Bacula и перед запуском программы необходимо проверить содержание конфигурационных файлов, чтобы удостовериться, что они соответствуют параметрам установки. Вы можете перейти к ним, используя пункт меню StartAll ProgramsBacula.

В завершение, вызвав Диспетчер задач (ctrl-alt-del), убедитесь, что Bacula запущена и работает как процесс (а не как приложение) с именем пользователя SYSTEM. Если это не так, вы скорее всего не вошли в аккаунт Администратора перед установкой программы, а значит, у Bacula может не быть полного доступа ко всем файлам системы.

Удаление Bacula для Windows

После установки программа может быть удалена при помощи стандартного инструмента Windows по добавлению/удалению программ в Панели управления.

Разрешение проблем Windows

Иногда на компьютерах с Windows Файл-демон может демонстрировать очень медленную скорость резервного копирования данных в сравнении с компьютерами, работающими на других ОС. В этом случае вы можете попробовать настроить максимальный объём сетевого буфера в размере 32,768 как для Файл-демона, так и для Сторадж-демона. По умолчанию установлено значение выше, и, судя по всему, некоторые Ethernet-контроллеры Windows не справляются с таким размером сетевого буфера.

Многие Ethernet-драйверы Windows имеют свойство либо работать слишком медленно из-за неисправности старой прошивки, либо из-за того, что запущены в полудуплексном режиме. Через производителя Ethernet-карты проверьте наличие новейших прошивок и выполните все необходимые действия, чтобы удостовериться, что карта работает в дуплексном режиме.

Если у вас возникает проблема с тем, что Bacula не может открыть файлы, при том что вы не используете portable option и в Директоре у вас включена служба теневого копирования томов VSS, то, скорее всего, у вас запущен антивирус, блокирующий ряд операций для Bacula. В таком случае, отключите антивирус и попробуйте провести бэкап повторно. Если это сработает, то либо установите другой (более качественный) антивирус, либо используйте что-то наподобие скрипта RunClientJobBefore/After для отключения антивируса на время процесса резервирования файлов.

Если отключение антивируса не решает проблемы с VSS, вам может понадобиться запустить устранение неполадок VSS. Как это делается, можно узнать по ссылке: http://support.microsoft.com/kb/887013/en-us.

В системе Microsoft Windows Small Business Server 2003 модуль VSS Writer для Microsoft Exchange отключён по умолчанию. Чтобы включить его, см.ссылку: http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q838183

Наиболее вероятным источником проблем служит процесс аутентификации при попытках Директора подсоединиться к установленному Файл-демону. Проблемы могут возникать, если имена и пароли, обозначенные в конфигурационном файле Файл-демона baculafd.conf на компьютере с Windows, не совпадают с именами и паролями в конфигурационном файле Директора baculadir.conf, расположенном на вашем Unix/Linux сервере.

Конкретнее говоря, пароль в клиентском ресурсе, прописанный в конфигурационном файле Директора, должен совпадать с паролем в ресурсе Директора в конфигурационном файле Файл-демона. Кроме того, имя в ресурсе Директора, указанное в конфигурационном файле Файл-демона, должно совпадать с именем в ресурсе Директора, прописанном в конфигурационном файле Директора.

Довольно сложно объяснить словами, но, если разобраться, что у Директора обычно множество Клиентов, а Клиент (или Файл-демон) может получать доступ от нескольких Директоров, то становится ясным, почему для корректной аутентификации имена и пароли на обеих сторонах должны совпадать.

Были случаи возникновения у пользователя серьёзных трудностей с файлами конфигурации при использовании обозначений конца строк в формате Unix, тогда как Bacula они требовались в формате Windows. В настоящее время, начиная с версии Bacula 2.0.0, все последующие версии программы поддерживают любые форматы обозначения конца строк (Windows, Unix, Mac).

Использование программ, написанных для Unix, на компьютерах с Windows может доставлять немало хлопот, так как командная оболочка Windows (DOS Window) довольно примитивна. Как следствие, зачастую нельзя увидеть информацию об отладке и некоторые сообщения об ошибках, которые формирует Bacula. Однако в результате определённых усилий это становится возможным. Когда ни один из способов не дал результатов, а вы хотите видеть, что происходит, попробуйте следующее:

   Запустите окно командной оболочки DOS Window. Введите
   c:\Program Files\bacula\bacula-fd -t >out
   type out

Точный путь до bacula-fd зависит от того, куда он установлен. Опция t предписывает Bacula прочитать конфигурационный файл, напечатать все сообщения об ошибках и выйти. Затем выходные данные перенаправляются в файл с именем out, который можно вывести на экран командой type.

Если в последующем что-то пойдёт не так или вы захотите, чтобы Bacula работала с функцией отладки, можете запустить её следующим образом:

   c:\Program Files\bacula\bin\bacula-fd -d 100 >out

В этом случае Bacula будет работать, пока вы очевидным образом её не остановите, что позволит вам подсоединиться к ней с вашего Unix/Linux сервера. В более поздних версиях Bacula (начиная с 1.34) запущенный в режиме отладки Файл-демон может записывать результаты в файл трассировки bacula.trace в текущую директорию. Чтобы включить эту функцию, перед запуском задания используйте консоль Bacula Console и введите:

   trace on

Затем запустите задание, и, когда Файл-демон будет остановлен, вы обнаружите результаты отладки в файле bacula.trace, который, скорее всего, будет находиться в той же директории, что и файл bacula-fd.exe.

Помимо этого, чтобы просмотреть все ошибки Windows, с которыми Bacula столкнулась в процессе запуска, проверьте журнал системных приложений (System Applications) в Панели управления.

В итоге, если вы включите процесс отладки и назначите trace=1 для команды setdebug в Консоли, Bacula запишет данные в файл bacula.trace в директорию, из которой исполняется.

Если у вас случайно падают скрипты ClientRunBeforeJob, скорее всего, вы столкнулись с программной неполадкой Oracle. См. ошибку номер 622 в базе данных bugs.bacula.org. По этому вопросу пользователем была предоставлена следующая информация:

Информация в настоящем документе относится к:
 Oracle HTTP Server - Version: 9.0.4
 Microsoft Windows Server 2003
 Симптомы

 При запуске инстанса OC4J системные часы начинают спешить примерно на 7 секунд в минуту.
 Причина
 + Это вызвано ошибкой Sun JVM bug 4500388, в которой говорится, что "Вызов
Thread.sleep() с малой переменной влияет на системные часы". Хотя эта ошибка объявлена исправленной в JDK 1.4.0_02, несколько отчётов этому противоречат
(см. ошибку в базе:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4500388).
 + Кроме того, по отчётам Microsoft, "Системные часы могут спешить при использовании ACPI таймера в качестве счётчика высокой точности на компьютерах с Windows 2000" (см. http://support.microsoft.com/?id=821893)

Если вы хотите запустить демон с уже включённой функцией отладки, а не включать её через Консоль Bacula Console, отредактируйте следующий ключ реестра:

HKEY_LOCAL_MACHINE\HARDWARE\SYSTEM\CurrentControlSet\Services\Bacula-dir

с помощью regedit, затем добавьте -dnn после опции /service, где nn обозначает желаемый уровень отладки.

Вопросы совместимости с Windows

Если вы не используете службу теневого копирования томов VSS (которая описывается в следующем разделе настоящей главы), и если в ходе резервного копирования запущены какие-либо приложения, открывающие файлы эксклюзивно, Bacula не сможет создать резервную копию этих файлов, поэтому убедитесь, что вы закрыли все приложения (или попросили ваших пользователей закрыть запущенные ими приложения) перед запуском резервного копирования данных. К счастью, большинство приложений Microsoft не открывает файлы эксклюзивно для их резервного копирования. Однако вам нужно будет поэкспериментировать. В любом случае, если Bacula не сможет открыть файл, программа выдаст сообщение об ошибке, поэтому вы всегда сможете узнать, какие файлы не были обработаны. Для версий 1.37.25 и последующих см. раздел ниже, в котором рассматривается использование службы VSS, позволяющей создавать резервные копии любых файлов без ограничений.

В процессе резервирования данных Bacula не поддерживает создание резервной копии системного реестра, поэтому вам потребуется либо прописать его в файл ASCII, используя команду regedit /e, или воспользоваться специальными программами, разработанными для копирования и резервирования реестра.

В версиях Bacula 1.31 и последующих по умолчанию используются API-вызовы резервного копирования Windows. Для Windows характерно, что программирование этих особых BackupRead и BackupWrite вызовов – настоящий кошмар по причине возникающих сложностей. В итоге мы получаем как явные преимущества, так и определённые недостатки.

Первым плюсом является то, что информация о состоянии системы Windows, настройки безопасности и информация об управлении доступом теперь скопированы. Кроме того, в результате исключения файлов, используемых другими программами эксклюзивно, Bacula имеет полный доступ ко всем системным файлам. Это значит, что когда вы восстановите файлы, информация о безопасности и управлении доступом будет восстановлена на Windows вместе со всеми остальными данными.

Минус API-вызовов резервного копирования Windows в том, что они создают бэкапы без возможности переноса. То есть файлы и данные, зарезервированные в Windows с помощью нативных API-вызовов (BackupRead/BackupWrite), не могут быть напрямую восстановлены в системах Linux или Unix. В принципе, Bacula может прочитать непортируемые бэкапы в любой системе и восстановить данные должным образом. Однако в системе, не имеющей вызовов BackupRead/BackupWrite (старые версии Windows и все компьютеры на Unix/Linux), хотя данные из файлов и будут восстановлены, защищённые данные и данные управления доступом не восстанавливаются. Это значит, что восстановленные файлы будут иметь стандартные настройки доступа.

По умолчанию Bacula резервирует системы Windows с использованием API-вызовов Windows. Если вы хотите создать резервную копию данных в ОС Windows и восстановить их на Unix или Linux, мы разработали специальную функцию переноса (portable option), которая резервирует данные в портируемом виде с помощью портируемых API-вызовов. Более подробно об этой функции см. главу о конфигурации Директора, раздел о директиве include в секции FileSet. Однако использование функции переноса означает, что у вас могут возникнуть проблемы с правами доступа к файлам, и, как следствие, данные безопасности и управления доступом не будут зарезервированы и восстановлены. При этом данные из файлов могут быть восстановлены на любой системе.

Файлы, скопированные в Unix или Win95/98/Me, можно восстановить в любой другой системе. Что касается более старых версий Windows, то для них может потребоваться перенастроить права доступа к восстановленным файлам.

Ну и наконец, если вы установите опцию portable=yes для резервируемых файлов, Bacula сможет восстановить их в любой другой системе. Однако, специфические данные безопасности Windows и данные управления доступом будут потеряны.

Ниже приводится таблица того, чего вы можете ожидать. Спасибо Марку Брюкнеру за проведённые тесты:

Таблица: WinNT/2K/XP Статус восстановления после переноса

Резервируемая

ОС

ОС восстановления Результаты
Win Me
WinMe WinMe Работает
WinMe WinNT Работает (права доступа SYSTEM)
WinMe WinXP Работает (права доступа SYSTEM)
WinMe Linux Работает (права доступа SYSTEM)
Win XP
WinXP WinXP Работает
WinXP WinNT Работает (все файлы в порядке, но появилось сообщение «Данные неисправны»)
WinXP WinMe Ошибка: Поток данных Win32 не поддерживается
WinXP WinMe Работает, если в процессе бэкапа установлено Portable=yes
WinXP Linux Ошибка: Поток данных Win32 не поддерживается
WinXP Linux Работает, если в процессе бэкапа установлено Portable=yes
Win NT
WinNT WinNT Работает
WinNT WinXP Работает
WinNT WinMe Ошибка: Поток данных Win32 не поддерживается
WinNT WinMe Работает, если в процессе бэкапа установлено Portable=yes
WinNT Linux Ошибка: Поток данных Win32 не поддерживается
WinNT Linux Работает, если в процессе бэкапа установлено Portable=yes
Linux
Linux Linux Работает
Linux WinNT Работает (права доступа SYSTEM)
Linux WinMe Работает
Linux WinXP Работает (права доступа SYSTEM)

Примечание: начиная с версии Bacula 1.39.x и последующих, непортируемые данные Windows могут быть восстановлены на любом компьютере.

Служба теневого копирования томов (VSS)

Microsoft добавил службу теневого копирования томов (VSS) в Windows XP и Windows 2003. С точки зрения возможности резервного копирования данных Windows это необычайно важный шаг. VSS позволяет Bacula резервировать открытые файлы и даже взаимодействовать с приложениями типа РСУБД для создания надёжных копий файлов. Приложения, поддерживающие VSS, называются VSS Writers, они регистрируются в ОС, так что, когда Bacula хочет сделать снэпшот, операционная система уведомляет модули записи, которые создают в своём приложении устойчивое состояние, подлежащее бэкапу. Примерами таких модулей записи являются «MSDE» (Microsoft database engine), «Event Log Writer», «Registry Writer», а также модули сторонних производителей. Если у вас установлено приложение, не поддерживающее VSS (к примеру, SQL Anywhere или MySQL), теневая копия по-прежнему создаётся, а открытые файлы могут быть зарезервированы, но нет никакой гарантии, что эти копии будут надёжны.

В процессе резервного копирования с помощью VSS, Bacula генерирует сообщения от каждой из зарегистрированных программ записи, таким образом, вы остаётесь в курсе того, какие из них зарезервированы должным образом.

Технически Bacula создаёт теневую копию в тот же момент, как запускается процесс резервного копирования данных. Затем программа резервирует все файлы из теневой копии и уничтожает теневую копию по завершении процесса бэкапа. Имейте в виду, что VSS создаёт снэпшот и таким образом резервирует систему в том состоянии, в котором она была на начало процесса бэкапа. Служба проигнорирует изменения файлов, которые произойдут в ходе резервного копирования.

Служба VSS может быть включена путём добавления параметра

Enable VSS = yes


в секцию FileSet.

Файл-демон, поддерживающий службу теневого копирования томов, имеет буквы VSS в строке входа в систему, которую он выдаёт при контакте с Консоли. Например:

Tibs-fd Version: 1.37.32 (22 July 2005) VSS Windows XP MVS NT 5.1.2600

В строке выше присутствуют буквы VSS. Это значит, что Файл-демон в принципе может осуществлять теневое копирование томов, но не значит, что VSS включена для конкретного бэкапа. Узнать, включена ли VSS фактически во время резервного копирования данных, можно двумя способами. Первый – посмотреть результат по статусу задания, например:

Running Jobs:
JobId 1 Job NightlySave.2005-07-23_13.25.45 is running.
    VSS Backup Job started: 23-Jul-05 13:25
    Files=70,113 Bytes=3,987,180,650 Bytes/sec=3,244,247
    Files Examined=75,021
    Processing file: c:/Documents and Settings/kern/My Documents/My Pictures/Misc1/Sans titre - 39.pdd
    SDReadSeqNo=5 fd=352

В данном случае под строкой Running Jobs вы видите, что для JobId 1 запущено задание по резервному копированию с помощью службы VSS («VSS Backup Job started …»). Если VSS не включена, результат покажет «Backup Job started …» без букв VSS.

Второй способ выяснить, выполнялось ли задание по резервному копированию с помощью службы VSS, — это посмотреть отчёт о задании (Job Report), который будет выглядеть примерно так:

23-Jul 13:25 rufus-dir: Start Backup JobId 1, Job=NightlySave.2005-07-23_13.25.45
23-Jul 13:26 rufus-sd: Wrote label to prelabeled Volume "TestVolume001" on device "DDS-4" (/dev/nst0)
23-Jul 13:26 rufus-sd: Spooling data ...
23-Jul 13:26 Tibs: Generate VSS snapshots. Driver="VSS WinXP", Drive(s)="C"
23-Jul 13:26 Tibs: VSS Writer: "MSDEWriter", State: 1 (VSS_WS_STABLE)
23-Jul 13:26 Tibs: VSS Writer: "Microsoft Writer (Bootable State)", State: 1 (VSS_WS_STABLE)
23-Jul 13:26 Tibs: VSS Writer: "WMI Writer", State: 1 (VSS_WS_STABLE)
23-Jul 13:26 Tibs: VSS Writer: "Microsoft Writer (Service State)", State: 1 (VSS_WS_STABLE)

В данном отображении отчёта о задании видно, что снэпшот состояния был создан службой VSS для диска C (если производится резервное копирование данных с других дисков, они также будут перечислены в операторе Drive(s)=»C»). Видны также отчёты от каждого модуля записи. В данном случае они все сообщают VSS_WS_STABLE, что значит, что вы получите надежный снимок состояния данных, обработанных этими модулями.

Проблемы с VSS

Если у вас возникают проблемы с зависанием VSS на MSDE, попробуйте сначала запустить vssadmin на предмет проверки ошибок, затем запустите ntbackup, который также использует VSS, и посмотрите, возникнут ли те же проблемы. Если да, это будет означать, что проблема существует на стороне компьютера с Windows, а не на стороне Bacula.

Проблемы с зависанием Файл-демона отмечались MSDEwriter в следующих случаях:

  • Локальный firewall блокировал локальный доступ к TCP-порту MSDE (MSDEwriter, похоже, использует TCP/IP, а не именованные каналы).
  • msdtcs установлен под аккаунтом «localsystem»: попробуйте запустить msdtcs под сетевым аккаунтом (вместо local system) (судя по всему, com+ работает лучше с такой конфигурацией).

Средства межсетевой защиты Windows (Firewalls)

Включив средства межсетевой защиты Windows (включены по умолчанию в WinXP SP2), вы, скорее всего, обнаружите, что порты Bacula заблокированы и связаться с другими демонами невозможно. Деактивировать эту функцию можно через настройки Security Notification, которые, очевидно, находятся где-то в Security Center.

Следующая команда предназначена для отключения firewall:

netsh firewall set opmode disable

На компьютерах с WinXP Home она не поддерживается.

Использование портов Windows

Если вы хотите убедиться, что Файл-демон корректно открыл порт и слушает его, можете набрать в окне оболочки следующую команду:

   netstat -an | findstr 910[123]

Другая рекомендованная программа для этих целей – TopView, но она не является стандартной программой Windows, поэтому вам понадобится найти и установить её из Интернета.

Аварийное восстановление Windows

На данный момент столь же качественного решения для аварийного восстановления Windows, как для Linux, у нас нет. Главное, чего для этого не хватает, — это загрузочного диска Windows. Microsoft выпускает WinPE, предустановочную среду Windows, которая, возможно, могла бы подойти, но мы её не исследовали. Это значит, что до тех пор, пока кто-нибудь не разработает корректную процедуру, вам нужно будет восстанавливать ОС с установочных дисков, после чего вы сможете загружать Bacula и восстанавливать файлы. Будьте осторожны, если вы не использовали portable option во время создания резервных копий, не рассчитывайте на использование bextract для извлечения файлов с ваших резервных плёнок во время аварийного восстановления. Учтите, что bextract не запускается на Windows, а тот способ, которым Bacula обычно сохраняет файлы с помощью Windows API, делает их восстановление на компьютере с Unix невозможным. После того, как вы загрузили функционирующую ОС Windows, можете запускать Файл-демон и восстанавливать ваши пользовательские файлы.

Пожалуйста, ознакомьтесь с главой об аварийном восстановлении ОС Windows. Последние рекомендации выглядят весьма многообещающими.

Возможно, Bart PE Builder, создающий загрузочный диск с Windows PE (предустановочной средой), является как раз тем инструментом, который необходим для построения полной схемы аварийного восстановления для Windows. Дистрибутив можно найти здесь: http://www.nu2.nu/pebuilder/.

Проблемы с возвращением Windows к исходному состоянию

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

Проблемы с резервным копированием Windows

Если в ходе процесса резервного копирования данных высвечивается сообщение ERR=Access is denied, и при этом вы используете portable option, попробуйте добавить две настройки в конфигурационный файл Директора: непортируемый API резервного копирования и включение функции VSS:

В секцию Options:

portable = no

В секцию FileSet:

enablevss = yes

В целом, указание двух этих опций должно позволить вам создавать резервную копию любого файла Windows. Однако в некоторых случаях, если пользователь предоставил права полного управления своими папками, даже системные программы типа Bacula могут быть блокированы. В этом случае вам необходимо выяснить, какие папки или файлы создают проблему, и проделать следующее:

  1. Предоставить права владения файлом/папкой группе Администраторы, с возможностью заменять владельца всех дочерних объектов.
  2. Предоставить разрешения на полный доступ для Администраторской группы, а пользовательской группе оставить только права изменения файла/папки и всех дочерних объектов.

За информацию выше спасибо Georger Araujo.

Проблемы с настройками доступа и разрешениями Windows

Если вы восстанавливаете зарезервированные файлы Windows в запасную директорию, программе может потребоваться создать директории более высокого уровня, которые не были сохранены или восстановлены. В этом случае Файл-демон создаст их под аккаунтом SYSTEM, поскольку именно под этим аккаунтом программа запущена как сервис. Начиная с версии Bacula 1.32f-3, программа создаёт эти файлы с разрешениями полного доступа. Тем не менее, в некоторых случаях могут возникать проблемы с доступом к этим файлам, даже если вы работаете под аккаунтом администратора. Теоретически Microsoft предоставляет вам способы приостановить владение этими файлами и таким образом изменить настройки доступа и разрешений. Однако намного более удачным решением для работы с этими настройками Windows и их изменением является программа SetACL, которую можно найти здесь: http://setacl.sourceforge.net/.

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

Некоторые пользователи сталкивались с трудностями при восстановлении файлов, участвующих в Active Directory. По их данным, проблема может быть решена изменением userid (имени пользователя), под которым запущена Bacula (bacula-fd.exe), с SYSTEM на Domain Admin (администратор домена).

Перенастройка разрешений вручную

Следующее решение было предложено Dan Langille. Описанные шаги выполняются на Windows 2000 Server, но они должны быть применимы ко всем платформам Windows. Предложенный порядок действий используется в проблемной ситуации, когда восстановление файлов создаёт новую директорию верхнего уровня. В данном примере под «верхний уровнем» имеются в виду директории типа c:\src, но не директории c:\tmp\src, где c:\tmp уже существует. Проблема возникнет, если задание по возвращению Windows к исходному состоянию задаёт / как значение Where:.

Проблема заключается в появлении директории, недоступной через Windows Explorer. Это проявляется в том, что при попытке кликнуть по данной директории, вы видите следующее сообщение:

Если вы столкнулись с таким сообщением, то для изменения разрешений и получения прав полного доступа, потребуются следующие шаги:

    1. Кликните правой кнопкой мыши на директории верхнего уровня (в данном примере этоc:/src) и выберите Свойства (Properties).
    2. Кликните на вкладке Безопасность (Security).
    3. Если появится сообщение, показанное ниже, можете проигнорировать его и нажатьOK.Вы увидите окно наподобие следующего:
    4. Нажмите на Расширенные настройки (Advanced)
    5. Выберите вкладку Владелец (Owner)
    6. Измените текущего владельца (как видно ниже, в данном примере это SYSTEM) на любого другого.
    7. Убедитесь, что отмечен флажок «Replace owner on subcontainers and objects» (Заменить владельца для содержимого и объектов)
    8. Нажмите OK
    9. Когда появится сообщение «You do not have permission to read the contents of directory c:\src\basis. Do you wish to replace the directory permissions with permissions granting you Full Control?» (У вас нет права доступа к содержимому каталога c:\src. Хотите ли вы заменить разрешения на доступ к каталогу разрешениями, предоставляющими вам полный доступ?), нажмите Yes (Да).
    10. Нажмите OK, чтобы закрыть вкладку Свойства (Properties).

В результате вышеописанных шагов у вас должен появиться полный доступ к восстановленной директории.

Помимо описанных способов изменения настроек разрешений, существует программа Microsoft cacls, которая может выполнять те же функции.

Создание резервной копии состояния системы WinNT/XP/2K

Обратите внимание, что большая часть настоящего раздела касается старых версий ОС Windows, не имеющих службы VSS. Для более новых версий Windows, снабжённых VSS, Bacula по умолчанию должным образом создаст резервные копии всех файлов, включая состояния системы.

В соответствии с предложением Damian Coutts, использование утилиты Microsoft NTBackup в сочетании с Bacula позволит осуществить полное восстановление любых повреждённых системных файлов для Win2K/XP. Его предложение заключается в проведении бэкапа критического состояния системы с помощью NTBackup перед запуском резервного копирования Bacula. Для этого используется следующая команда:

ntbackup backup systemstate /F c:\systemstate.bkf

Backup – собственно команда, оператор systemstate предписывает создать только резервную копию состояния системы, а не всех пользовательских файлов, а /F c:\systemstate.bkf определяет, куда записывается файл состояния. После этого файл должен быть сохранён и восстановлен при помощи Bacula.

Если ОС повреждена, то для восстановления состояния системы, вы сначала перезагружаете базовую операционную систему, если же этого не требуется, то используете Bacula для восстановления всех повреждённых или утраченных пользовательских файлов и для восстановления файла c:\systemstate.bkf. Наконец, если имеются какие-либо повреждённые или отсутствующие файлы или проблемы с реестром, вы запускаете NTBackup и каталогизируете файл состояния системы, а затем выбираете его для восстановления. Как сказано в документации, вы не можете запустить восстановление systemstate через командную строку.

Насколько нам известно, эти действия ещё не тестировались. Если вы протестируете их, пожалуйста, сообщите о результатах на электронную почту Bacula.

Имейте в виду, что Bacula использует службу VSS для резервного копирования и восстановления открытых файлов и системных файлов, но в более старых версиях Windows, таких как WinNT and Win2000, служба VSS ещё не введена компанией Microsoft, поэтому вам потребуется использовать особые методы, чтобы осуществить резервное копирование так, как описано выше. На компьютерах с более свежими версиями Windows, Bacula создаст резервные копии и восстановит все файлы, включая файлы состояния системы, при условии, что служба VSS включена в секции FileSet (по умолчанию она включена).

Исправление загрузочной записи Windows

Подсказка от пользователя: Эффективный способ восстановить резервную копию Windows для тех, кто не приобретает инструменты автоматического восстановления исходного состояния системы, — установить Windows на другой жёсткий диск и восстановить резервную копию. Затем запустите аварийный загрузочный диск и наберите:

diskpart
   select disk 0
   select part 1
   active
   exit
bootrec /rebuldbcd
bootrec /fixboot
bootrec /fixmbr

Вопросы обозначения имён файлов

Для ознакомления с важными аспектами обозначения пути к файлам в директивах Incude и Exclude в секции FileSet, см. главу Конфигурирование Директора.

Версии Bacula, предшествующие 1.37.28, не поддерживают имена файлов в формате Windows Unicode. Последующие же версии поддерживают имена файлов в Windows Unicode-формате как в консоли bconsole, так и в консоли bwxconsole. Определённые проблемы всё еще могут возникать с многобайтовыми символами (например, в китайском языке), где символ является двубайтовым, но его отображаемая ширина не равняется двум символам.

Путь/имя файла, превышающий 260 символов, (вплоть до 32,000) поддерживаются программой, начиная с версии 1.39.20. Более старые версии Bacula поддерживают пути/имена файлов только до 260 символов длиной.

Специфическая командная строка Файл-демона для Windows

Описанные здесь функции обычно не видны пользователю, не используются им и обозначены здесь только для общего сведения. В настоящее время для изменения функций, установленных по умолчанию, вам нужно либо запустить Bacula вручную, либо вручную отредактировать системный реестр, модифицировав определённые записи.

Чтобы избежать столкновений между функциями, необходимыми Bacula для работы на Windows, со стандартными функциями программы, все специфические функции для Windows обозначены косой чертой (/), тогда как обычные, стандартные опции Bacula обозначены минусом (-) или двойным минусом (—). Все стандартные функции Bacula могут быть использованы в версии для Windows. В дополнение к этому реализован ряд функций, предназначенных только для Windows:

/service

Запустить Bacula как сервис

/run

Запустить приложение Bacula

/install

Установить Bacula в системный реестр как сервис

/remove

Удалить Bacula из системного реестра

/about

Показать диалоговое окно сведений о программе Bacula

/status

Показать диалоговое окно статуса Bacula

/events

Показать диалоговое окно событий Bacula (пока не реализовано)

/kill

Остановить программу Bacula

/help

Показать диалоговое окно помощи Bacula

Важно отметить, что в обычных обстоятельствах пользователю никогда не потребуется использовать данные команды, поскольку после установки Bacula они обрабатываются системой автоматически. Однако вы можете отметить эти опции в некоторых файлах .bat, созданных для вашего использования.

Завершение работы Windows

После завершения резервного копирования данных некоторые пользователи предпочитают отключать свои компьютеры под управлением Windows при помощи директивы Client Run After Job. Если вы хотите сделать что-то подобное, можете использовать одну из программ apcupsd project или Sysinternals project.

 

Интересует Bacula Enterprise и квалифицированная поддержка? Смотрите видео.​​