Для резервного копирования Exchange Server 2013 существует достаточно большое количество специализированных программных продуктов, каждый из которых обладает своими сильными и слабыми сторонами. Однако большинства из них платные, а их цена может нанести существенный удар по скромному ИТ-бюджету небольших российских компаний.
К счастью, можно воспользоваться функционалом Windows Server Backup (WSB) Features, который является встроенным модулем резервного копирования в Windows Server 2008 / 2008 R2. Конечно, его функционал не слишком радует количеством поддерживаемых функций и удобством управления, но как минимум позволяет в случае ЧП не остаться без актуальной резервной копией с базой почтовых ящиков пользователей.
Итак, имеем следующую конфигурацию: сеть с почтовым сервером Exchange Server 2013 (на Windows Server 2008 R2) с одной почтовой базой. Наша задача – настроить резервное копирование почтового хранилища Exchange 2013 с помощью стандартных средств Windows.
Несколько основных технических моментов касательно бэкапа почтовых баз Exchange 2013 средствами WSB:
- Резервное копирование выполняется с помощью службы теневого копирования томов (VSS — Volume Shadow Copy Service) на уровне тома целиком
- Возможен только локальный запуск и управление резервным копированием
- Резервную копию можно писать как на локальный диск, так и по сети в шару
- Возможно создать только полную (full) резервную копию базы. Инкрементальные, дифференциальные и т.п. бэкапы не поддерживаются.
- Возможен бэкап только активной базы DAG
По умолчанию функционал Windows Server Backup в Windows Server 2008 R2 не установлен. Установим этот компонент из командной строки:
Import-Module ServerManager
Add-WindowsFeature "Backup-Features" | Add-WindowsFeature "Backup-Tools"
Проверить установлен ли компонент Backup-Features можно так:
Get-windowsfeature | where {$_.name -like "*backup*"}

Резервное копирование базы Exchange 2013 можно настроить из GUI Server Backup или с помощью Powershell. Рассмотрим 2 способ.
Импортируем команды Windows Backup в сессию Powershell:
add-pssnapin windows.serverbackup
Создадим новую политику резервного копирования, которая будет содержать все параметры резервного копирования и расписание его запуска.
$WBPolicyExch = New-WBPolicy
Укажем диск, на котором хранится почтовая база Excnahge (в примере E:\)
$BackupSrc = New-WBFileSpec –FileSpec E:\
Добавим диск в политику
Add-WBFileSpec –Policy $WBPolicyExch –FileSpec $BackupSrc
Укажем диск или сетевую шару, куда будут складываться резервные копии (здесь нельзя указать системный диск или тот же самый диск с базой):
$WBTargetFolder = New-WBbackupTarget –NetworkPath "\\srvBak01\bak\exchange2013"
Добавим устройство хранения резервных копий в политику
Add-WBBackupTarget –Policy $WBPolicyExch -Target $WBTargetFolder
Укажем, что для резервного копирования будет использоваться метод VSS Full Backup
Set-WBVssBackupOptions -Policy $WBPolicyExch -VssFullBackup
Проверим политику на ошибки:
$WBPolicyExch
Проверим статус почтовой базы перед запуском бэкапа:
Get-MailboxDatabase mdb001 –Status
В данном случае видно, что резервное копирование почтовой базы ни разу не выполнялось.
Запустить резервное копирование почтовой базы Exchange 2013 можно немедленно:
Start-WBBackup -Policy $WBPolicyExch
Или по расписанию:
Set-WBSchedule –Policy $WBPolicyExch –Schedule 23:00
После завершения резервного копирования WSB обновит заголовок почтовой базы данных и запишет в него информацию о времени выполнения последнего бэкапа:
Get-MailboxDatabase mdb001 -Status | select Lastfullbackup
Вывести список резервных копий можно так:
Get-WBBackupSet
Получить статус выполнения последнего задания:
Get-WBJob -previous 1
Уважаемый автор!
При таком бэкап следующий удаляет предыдущий. Т.е. всегда есть только один бэкап — последний.
Подскажите — может есть какой-то ключ, который это правит.
Заранее спасибо!
Можно каждый бэкап складывать в отдельную папку с текущей датой. В этом случае в любой момент вы можете получить доступ к бэкапу за нужную дату. Реализовать на Posh это можно, например так:
Получаем текущую дату
$dNow = Get-Date -format “yy-MM-dd”
Создаем подкаталог
New-Item \\srvBak01\bak\exchange2013\$dNow -type directory -Force
Указываем путь к созданному каталогу в качестве таргета
$WBTargetFolder = New-WBbackupTarget –NetworkPath "\\srvBak01\bak\exchange2013\$dNow"
И не забывайте про контроль свободного места на диске, на котором хранятся бэкапы
А где эту «новую политику резервного копирования» посмотреть, существующий перечень, отредактировать?
Настройки политики резервного копирования можно отобразить так:
Get-WBPolicy
Перейдти в режим ее редактирования нужно так:
Get-WBPolicy -Editable
И т.д. Полный список Posh командлетов для работы с WSB тут: http://technet.microsoft.com/en-us/library/jj902428.aspx
В чем смысл делать копию базы без логов транзакции?
Что с базой делать без логов потом?
При выполнении резервного копирования бэкапится почтовая база с примененными к ней транзакциоными логами. Файлы логов транзакций на диске при этом удаляются (считаются ненужными, т.к. уже создана резервная копия базы данных)
Вообще странный пост, но итог один((( Такое можно сделать гораздо проще: прописать теневую копию на базу данных и все!!! В итоге будет результат тот же и делается проще. Но для меня такой метод не годится.
А если диск отъехал? Или полка? Теневые копии это помойка тем более для Базы данных! А автору спасибо! Теперь настрою еще одну систему резервирования)
Получается, здесь весь диск E:\ будет копироваться?
Да. обычно все базы лежат на отдельном диске… Можно добавлять в бэкап отдельный каталог.