Приветствую читателей нашего блога в новом, 2021 году и надеюсь, что вы работаете над новыми крутыми проектами и интересными задачами!

Для того, чтобы командная работа оставалась слаженной и эффективной, невзирая на удаленность участников, work from home и т.д., у нас в Veeam уже не первый год используется Microsoft Teams. А в прошлом году популярность этого инструмента, само собой, значительно выросла. Veeam идет в ногу со временем — и сегодня я с удовольствием представляю новую версию Veeam Backup for Microsoft Office 365 (VBO365), которая поддерживает бэкап и восстановление Microsoft Teams.

Признаюсь, что к VBO365 у меня особое, можно сказать, трепетное отношение — ведь этот продукт зарождался практически у меня на глазах, и я помню еще его вот таким крошкой первую бета-версию.
И вот у него уже первый юбилей — версия 5.0. Помимо всего уже известного вам она умеет бэкапить данные о собственно командах (teams), каналах (channels), вкладках (tabs), а также контент и настройки. За поиск внутри бэкапа, экспорт и восстановление необходимой информации отвечает, как вы, наверное, уже догадались, Veeam Explorer for Microsoft Teams.

За подробностями добро пожаловать под кат.





Что будет бэкапиться?
Что не будет бэкапиться?
Подготовка к работе: проверка прав и ролей
Настройка инфраструктуры резервного копирования
Задание резервного копирования для бэкапа Teams
Просмотр содержимого бэкапа с помощью Veeam Explorer
Восстановление данных
А что еще нового?
Для тех, кто хочет обновиться
Полезные ссылки

Что будет бэкапиться?


VBO365 умеет бэкапить для объектов типа Teams следующие сущности:

  • Папку Team Chat почтового ящика группы (это группа Office 365, соответствующая команде (team), для которой делается бэкап).
  • Библиотеку документов (Document library) сайта SharePoint данной команды (team site).
  • Метаданные команды: настройки собственно команды, сведения об участниках каналах, вкладках, приложениях и пр.


Примечание: Для объектов типа Teams не поддерживаются исключающие и включающие фильтры.

Из вкладок каналов бэкапятся вот такие: Website, Planner, Word, Excel, PowerPoint, Visio, PDF, Document Library, OneNote, SharePoint, Stream, Forms, Power BI, Flow, Azure DevOps.

Что не будет бэкапиться?


Пока что не поддерживается бэкап вот таких сущностей Microsoft Teams:
  • Приватные каналы (Private channels)
  • Чаты 1-на-1 и групповые (One-on-one / group chats)
  • Аудио/видеозвонки (Audio / video calls)
  • Видеозаписи (Video recordings)
  • Контакты (Contacts)
  • Календарь: данные о встречах и соответствующих чатах (сalendar: information about meetings and meeting chats)
  • Сниппеты кода в сообщениях (Code snippets in posts)
  • Уведомления с баннерами в сообщениях (Banner notifications in posts)
  • Данные приложений, добавленных на вкладки (tabs) канала, если эти данные не входят в SharePoint document library для данного канала)

Кроме того, из-за ограничений Microsoft решение Veeam Backup for Microsoft Office 365 не выполняет бэкап ряда объектов для тех организаций Microsoft Office 365, у которых включены настройки безопасности по умолчанию (security defaults). Это объекты Discovery Search Mailboxes, Public Folder Mailboxes и Dynamic Distribution Groups.

Подготовка к работе: проверка прав и ролей


Чтобы бэкапить объекты Microsoft Teams, решению Veeam Backup for Microsoft Office 365 необходим доступ к почтовому ящику группы, связанной с командой (team) и к сайту SharePoint этой группы. То есть учетка, которую вы планируете использовать для добавления организации, должна иметь права бэкапить и Exchange Online, и SharePoint Online. Более подробно про это написано в соответствующих разделах документации (Microsoft Exchange Organizations и Microsoft SharePoint and OneDrive for Business).
Кроме того, для этой учетки необходимы:
  • Наличие лицензии на Microsoft Office 365, которая дает права доступа к Microsoft Teams API — это как минимум лицензия Microsoft Teams Exploratory experience.
  • Роль Team Service Administrator.


Настройка инфраструктуры резервного копирования


Как всегда, еще до того, как добавить организацию и создать первое задание бэкапа, вам потребуется настроить репозиторий, где будут храниться бэкапы, а также прокси-сервер, который будет нести основную нагрузку по передаче данных. Про все это очень подробно написано здесь.

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

Задание резервного копирования для бэкапа Teams



Как обычно, запускаем мастер, вводим имя нового задания и переходим к шагу выбора объектов для резервного копирования. Можно выбрать конкретные команды (teams), а можно забэкапить и всю организацию целиком.

Для бэкапа конкретных объектов Teams:
  1. Выбираем опцию Back up the following objects.
  2. Нажимаем кнопку Add и указываем тип объектов — в нашем случае это будет Teams.


  3. Затем в окне Add Objects выбираем, что конкретно будем бэкапить. При необходимости можно воспользоваться строкой поиска или переключиться на другой тип объектов, кликнув по иконке справа вверху. Для объектов типа Teams никаких опций (inclusions/exclusions) не предусмотрено, поэтому переходим к следующему шагу.

    Примечание: Подробнее о типах объектов и доступных опциях бэкапа с указанием того, что можно включить /исключить — см. здесь (на англ. языке).

  4. Указываем прокси-сервер и репозиторий, выбирая их из списка.
    Можно указать стандартный репозиторий или тот, к которому в дополнение было подключено объектное хранилище в облаке — о таком репозитории (это т.н. extended repository) и его настройке подробно рассказано в документации.



    Если использовать такой extended репозиторий для резервного копирования, то нужно помнить, что собственно данные будут сохраняться в облако (в сжатом формате), а в репозиторий “на земле” будут сохраняться только метаданные об объектах бэкапа — так называемый кэш.
    Кэш хранится в папке PersistentCache репозитория в виде JET-базы, обновляется при каждой бэкап-сессии и реплицируется между репозиторием и облачным хранилищем. Кэш помогает уменьшить расходы на работу с облачным хранилищем — например, данные для отображения структуры забэкапленных объектов в любом из Veeam Explorers не будут загружаться из облака, а будут браться из кэша. Более подробно о нем можно почитать здесь.
  5. Наконец, задаем расписание нашего задания — главное не забыть зачекать галочку Run the job automatically. Затем уже можно выбрать нужную опцию:
    • Daily at this time — ежедневно в указанное время.
    • Periodically every — с заданной периодичностью, раз в N минут.

    Если требуется повторять бэкап объекта после неудачной попытки, выберите Retry failed objects processing и укажите максимальное число повторных попыток и интервал между ними.
    Если не хотите, чтобы бэкап вылезал за границы установленного окна, можно выбрать эти границы, выбрав опцию Terminate the job if it exceeds allowed backup window и затем нажав Window.


  6. Покончив с настройками, нажимаем Create.
    Наше задание появляется на вкладке Jobs для той организации, чьи объекты оно бэкапит.




Просмотр содержимого бэкапа с помощью Veeam Explorer


Дождавшись, пока наше задание отработает, посмотрим, что находится в бэкапе, и узнаем, как восстановить данные оттуда.

Раз уж мы на вкладке Jobs, можем кликнуть Explore и затем выбрать интересующий нас бэкап — например, самый новый, то есть Explore latest Teams state of <date_time>.
Эта команда запустит Veeam Explorer for Microsoft Teams.

В типовом для Veeam Explorers интерфейсе мы увидим структуру базы в бэкапе — это команды (teams), каналы (channels) и вкладки (tabs). Последние сгруппированы следующим образом:
  • Posts
  • Files
  • Other tabs — тут поместилось все остальное — линки на сайты, документы и т.п.

Выбираем объект в дереве и видим его содержимое в правой панели:



Отсюда уже можно, например, экспортировать нужный объект или переслать в письме.

Восстановление данных


До того, как приступить к восстановлению, изучим список ограничений:
  • Восстановиться можно только в исходную организацию.
  • Назначенные роли для владельцев команд (team owners) после восстановления останутся такими, какими были на момент создания бэкапа
  • Использовать метод modern authentication with legacy protocols allowed (современная аутентификация с разрешенными легаси-протоколами) при восстановлении не получится.
  • Не поддерживается восстановление блокнотов OneNote notebooks для организаций, использующих многофакторную аутентификацию с включенными дефолтными настройками безопасности (enabled security defaults)
  • При восстановлении вкладок канала Veeam Explorer for Microsoft Teams не сохраняет связи между ссылкой на файл на вкладке и собственно файлом. Ссылку нужно будет восстановить вручную по завершении процесса. Исключение — восстановление команды целиком.
  • Veeam Explorer for Microsoft Teams не умеет восстанавливать сообщения в их исходное место в канале. Ход работ тут такой: Veeam Explorer экспортирует сообщения в HTML файл, создает отдельную вкладку в исходном канале и прикрепляет файл к этой новой вкладке.

Ознакомившись, запускаем мастер Restore Wizard.
  1. Для восстановления нескольких команд — выбираем нужную организацию Microsoft Office 365 organization, кликаем правой кнопкой и выбираем пункт меню Restore teams (или используем верхнее меню):



    Для восстановления одной команды — выбираем ее в дереве и аналогичным образом открываем пункт меню Restore Team.
  2. Выбираем способ аутентификации, с которым будет происходить подключение к Office 365 organization:
    • Modern Authentication
      Для восстановления будет задействовано облачное приложение Azure AD app. Этот способ позволяет восстанавливаться в облачную организацию Office 365, в которой включена многофакторная аутентификация (MFA); настройки безопасности по умолчанию в данной организации могут быть как включены, так и выключены. (Подробнее см. руководство пользователя, раздел Microsoft Office 365 Organizations.)
      Указываем Application ID облачного приложения Azure AD application, которое хотим использовать для восстановления.



      Примечание: По умолчанию Veeam Explorer for Microsoft Teams будет использовать то же приложение, которое работало и в ходе бэкапа. Если вы хотите восстанавливать данные, задействуя другое приложение, проверьте, что у него есть все необходимые пермиссии — они перечислены в разделе Azure AD Applications.
      Далее переходим к пункту 3.
    • Basic Authentication
      Если хотим использовать этот способ аутентификации, то вводим учетку, с которой будем подключаться к Microsoft Office 365 organization. Далее переходим на шаг 4.

  3. Если мы выбрали Modern authentication, то на следующем шаге необходимо авторизоваться в организации Microsoft Office 365.
    1. В текстовом поле появится код, который нужно скопировать, нажав Copy code.

      Примечание: Если вас в этот момент что-то отвлечет более, чем на 15 минут, этот код “протухнет”, и нужно будет получить новый, нажав Refresh.
    2. Переходим по ссылке на портал Microsoft.
    3. На странице Microsoft Azure device logon вставляем скопированный код.
    4. Возвращаемся обратно на шаг мастера и жмем Next.



  4. Если на шаге 1 вы выбрали восстановление множества команд, то тут можно будет выбрать, какие конкретно вы хотите восстанавливать.



  5. Указываем параметры восстановления.
    • Changed items — восстановить объекты, которые изменились с момента создания бэкапа. В таком случае объект в исходном месте будет перезаписан тем, который Veeam Explorer for Microsoft Teams возьмет из бэкапа.
    • Missing items — восстановить объекты, которые отсутствуют на данный момент в исходном месте (например, были удалены после создания бэкапа).
    • Restore team settings — восстановить настройки в соответствии с теми, что в бэкапе.
      Примечание: Если не выбрана ни одна из первых двух опций, то эту вы также выбрать не сможете.
    • Restore membership and their permissions — восстановить членство в командах и соответствующие пермиссии.

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

  6. На финишном шаге нажмите кнопку Restore для старта процесса восстановления.

Восстановление других объектов (файлов, сообщений, каналов) происходит аналогично.

Для восстановления сообщений будет предложено два варианта настроек восстановления:
  • Restore all posts — восстановить все сообщения, опубликованные в канале.
  • Restore posts for the specified time period — восстановить сообщения только за указанный период времени.




Примечание: Помним, что в результате восстановления в исходном канале будет создана отдельная вкладка, и восстановленные сообщения окажутся там.

Если хотите восстановить файлы, то для них можно будет попросить восстановить только последнюю версию, выбрав опцию Restore only the latest version. В этом случае будет выполнен мёрдж файлов в продакшене и в бэкапе.

Примечание: По умолчанию восстанавливаются все версии файла.



Если вы восстанавливаете канал, то нужно иметь в виду, что у вкладок будут восстановлены названия и ссылки на объекты, опубликованные на этих вкладках. Сами объекты (например, документ SharePoint) в таком сценарии не восстановятся — для этой цели нужно восстановить команду (team) целиком.

А что еще нового?


  • Более широкие возможности масштабирования — теперь один сервер может поддерживать до 50 прокси.
  • Поддержана установка прокси в рабочих группах (workgroups) — теперь необязательно держать удаленные прокси в домене.
  • Реализована параллельная обработка SharePoint Online lists — для более быстрого создания дайджеста сайтов и ускорения бэкапа.
  • Обновлены и оптимизированы запросы RESTful API и командлеты PowerShell.
  • Реализованы настраиваемые уведомления — можно настроить email, чтобы отслеживать все операции в Veeam Explorers, используя запросы к /v5/AuditEmailSettings и /v5/Organizations/{organizationId}/AuditItems.
  • Появился новый мастер Support Information wizard — для упрощения сбора и экспорта логов Veeam Explorers.
  • Дополнена информация в логе сервиса Veeam.Archiver.Service — теперь она включает данные об изменениях в настройке заданий бэкапа.

Информацию о новых возможностях на русском языке можно найти здесь.

Для тех, кто хочет обновиться



Если вам нужно выполнить апгрейд, сначала сверьтесь со списком версий, для которых он поддерживается:
  • 3.0 (build 3.0.0.422)
  • 4.0 (build 4.0.0.1345)
  • 4a (builds 4.0.0.1553, 4.0.0.1580)
  • 4b (builds 4.0.0.2516, 4.0.0.2549)
  • 4c (builds 4.0.1.519, 4.0.1.531, 4.0.1.545)

А также проштудируйте эту статью базы знаний.

Важное примечание: После апгрейда все изменения, которые вносились в файл Config.xml вручную, будут потеряны. Сервис Veeam Backup for Microsoft Office 365 RESTful API Service после апгрейда придется запустить вручную.

И по традиции раздаем бесплатные ключи: вот ссылка на получение NFR ключей для VBO365 на 10 пользователей.
  • Если вы сертифицированный специалист, чья сертификация входит в список на странице регистрации (например,MCSE) — записывайтесь, скачивайте и пользуйтесь на здоровье.
  • Если вы ведете блог на ИТ-тематику или учитесь в вузе, и у вас только личный email, то пишите на veeam_teeam@veeam.com, вам помогут с получением ключа.


Полезные ссылки