Поделиться через


Устойчивость данных Exchange Online

Exchange не только является одной из наиболее широко используемых веб-служб Майкрософт, она также служит долгосрочным хранилищем данных для многих других служб Microsoft 365, таких как Teams. По этой причине Exchange надежно спроектирован таким образом, чтобы обеспечить высокую устойчивость с точки зрения целостности данных и доступности в условиях непредвиденных сбоев.

Операционная устойчивость

Группы доступности баз данных

Каждая база данных почтовых ящиков в Microsoft 365 размещается в группе доступности баз данных (DAG) и реплицируется в географически отдельные центры обработки данных в одном регионе. Наиболее распространенная конфигурация — четыре копии базы данных в четырех центрах обработки данных; однако в некоторых регионах меньше центров обработки данных (базы данных реплицируются в три центра обработки данных в Индии и два центра обработки данных в Австралии и Японии). Но во всех случаях каждая база данных почтовых ящиков имеет четыре копии, распределенные по нескольким центрам обработки данных, что гарантирует защиту данных почтовых ящиков от сбоев программного обеспечения, оборудования и даже центра обработки данных.

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

Отставание копий базы данных в Exchange Online настраивается с запаздыванием семидневного воспроизведения файла журнала. Кроме того, диспетчер задержки воспроизведения воспроизведения Exchange включен для динамического воспроизведения файлов журнала для отставание копий, чтобы отстающие копии базы данных могли самостоятельно восстанавливаться и управлять ростом файлов журнала. Хотя в Exchange Online используются отстающие копии базы данных, важно понимать, что они не являются гарантированной резервной копией на определенный момент времени. Отстающие копии базы данных в Exchange Online имеют порог доступности, как правило, около 90 %, из-за периодов, когда диск, содержащий отстающую копию, теряется из-за сбоя диска, отстающая копия становится высокодоступной копией (из-за автоматического воспроизведения) и периодов, когда отстающая копия базы данных перестраивает очередь воспроизведения журнала.

Устойчивость транспорта

Exchange Online включает две основные функции устойчивости транспорта: теневая избыточность и Safety Net. Теневая избыточность сохраняет избыточные копии сообщения во время его передачи. После успешной доставки сообщения в Safety Net сохраняется избыточная копия сообщения.

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

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

Повторная отправка сообщений из Safety Net автоматически инициируется компонентом Active Manager службы репликации Microsoft Exchange, который управляет dag и копиями базы данных почтовых ящиков. Для повторной отправки сообщений из Safety Net не требуются действия вручную.

Предотвращение и исправление коррупции

Запрет на удаление позволяет сохранить все содержимое почтового ящика, в том числе удаленные элементы и исходные версии измененных элементов. Все такие элементы почтового ящика возвращаются при поиске Обнаружение электронных данных на месте. При размещении In-Place удержания в почтовом ящике пользователя содержимое соответствующего архивного почтового ящика (если оно включено) также помещается на удержание и возвращается в поиске обнаружения электронных данных.

Существует два типа повреждения, которые могут повлиять на базу данных Exchange: физическое повреждение, которое обычно вызвано проблемами оборудования (в частности, оборудования хранилища), и логическое повреждение, которое происходит из-за других факторов. Как правило, в базе данных Exchange могут возникать два типа логического повреждения:

  • Логическое повреждение базы данных . Контрольная сумма страницы базы данных соответствует, но данные на странице логически неверны. Это может произойти, когда ядро СУБД (расширяемое ядро хранилища (ESE)) пытается записать страницу базы данных и даже если операционная система возвращает сообщение об успешном выполнении, данные либо никогда не записываются на диск, либо записываются в неправильное место. Такая ситуация называется утерянной очисткой. ESE включает в себя многочисленные функции и меры безопасности, предназначенные для предотвращения физического повреждения базы данных и других сценариев потери данных. Чтобы предотвратить потерю данных, ESE включает в базу данных механизм обнаружения потерянных стеков, а также функцию (одностраничное восстановление) для его исправления.
  • Логическое повреждение хранилища . Данные добавляются, удаляются или обрабатываются таким образом, что пользователь не ожидает. Эти случаи вызваны сторонними приложениями. Обычно это повреждение в том смысле, что пользователь рассматривает его как повреждение. Хранилище Exchange считает транзакцию, которая привела к логическому повреждению серией правильных операций MAPI. Функции удержания на месте в Exchange Online обеспечивают защиту от логического повреждения хранилища (поскольку это предотвращает окончательное удаление содержимого пользователем или приложением).

Exchange Online выполняет несколько проверок согласованности реплицированных файлов журнала во время проверки журнала и воспроизведения журнала. Эти проверки согласованности предотвращают репликацию физического повреждения системой. Например, во время проверки журнала выполняется проверка физической целостности, которая проверяет файл журнала и проверяет, соответствует ли контрольная сумма, записанная в файле журнала, соответствует контрольной сумме, созданной в памяти. Кроме того, проверяется заголовок файла журнала, чтобы убедиться, что подпись файла журнала, записанная в заголовке журнала, соответствует подписи файла журнала. Во время воспроизведения журнала файл журнала проходит дальнейшее изучение. Например, заголовок базы данных также содержит сигнатуру журнала, которая сравнивается с сигнатурой файла журнала, чтобы убедиться, что они совпадают.

Защита от повреждения данных почтовых ящиков в Exchange Online достигается с помощью собственной защиты данных Exchange— стратегии устойчивости, которая использует репликацию на уровне приложений на нескольких серверах и в нескольких центрах обработки данных, а также другие функции, помогающие защитить данные от потери из-за повреждения или по другим причинам. К этим функциям относятся собственные функции, управляемые корпорацией Майкрософт или самим приложением Exchange Online, например:

  • Группы доступности данных
  • Однобитовая коррекция
  • Проверка базы данных в сети
  • Обнаружение пропавшего сброса
  • Восстановление одной страницы
  • Служба репликации почтовых ящиков
  • Проверки файлов журнала
  • Развертывание в отказоустойчивой файловой системе

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

Однобитовая коррекция

ESE включает механизм для обнаружения и устранения однобитовых ошибок CRC (также известных как однобитовые свертывание), которые являются результатом ошибок оборудования (и поэтому представляют собой физическое повреждение). При возникновении этих ошибок ESE автоматически исправляет их и регистрирует событие в журнале событий.

Проверка базы данных в сети

Проверка базы данных в сети (также известная как суммирование проверки базы данных) — это процесс, в котором ESE использует средство проверки согласованности базы данных для чтения каждой страницы и проверки на наличие повреждения страницы. Основная цель — обнаружить физические повреждения и потерянные сбросы, которые не могут быть обнаружены транзакционных операций. При проверке базы данных также выполняются операции после сбоя хранилища. Место может быть утечкой из-за сбоев, а при проверке базы данных в сети обнаруживается и восстанавливается потерянное место. Система разработана с учетом того, что каждая база данных будет полностью сканироваться каждые семь дней.

Обнаружение пропавшего сброса

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

Восстановление одной страницы

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

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

Служба репликации почтовых ящиков

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

Служба репликации почтовых ящиков Exchange (MRS) отвечает за перемещение почтовых ящиков между базами данных. Во время перемещения MRS выполняет проверку согласованности для всех элементов в почтовом ящике. Если обнаружена проблема согласованности, MRS либо исправит проблему, либо пропустит поврежденные элементы, тем самым удалив повреждение почтового ящика.

Так как MRS является компонентом Exchange Online, мы можем внести изменения в его код, чтобы устранить новые формы повреждения, обнаруженные в будущем. Например, если мы обнаруживаем проблему согласованности, которую не удается устранить, мы можем проанализировать повреждение, изменить код MRS и исправить несоответствие (если мы понимаем, как это сделать).

Проверки файлов журнала

Все файлы журнала транзакций, созданные базой данных Exchange, проходят несколько форм проверок согласованности. При создании файла журнала сначала записывается битовый шаблон, а затем выполняется ряд операций записи журнала. Эта структура позволяет Exchange Online выполнять ряд проверок (потерянных, CRC и других проверок) для проверки каждого файла журнала по мере его записи и повторной репликации.

Развертывание в отказоустойчивой файловой системе

Чтобы предотвратить повреждение на уровне файловой системы, Exchange Online развертывается в разделах устойчивой файловой системы (ReFS), чтобы обеспечить улучшенные возможности восстановления. ReFS — это файловая система в Windows Server 2012 и более поздних версиях, которая предназначена для повышения устойчивости к повреждению данных, тем самым повышая доступность и целостность данных. В частности, ReFS вносит улучшения в способ обновления метаданных, что обеспечивает лучшую защиту данных и сокращает число случаев повреждения данных. Он также использует контрольные суммы для проверки целостности файловых данных и метаданных, гарантируя, что повреждение данных легко найти и исправить.

Exchange Online использует несколько преимуществ ReFS:

  • Повышение устойчивости целостности данных означает меньше инцидентов повреждения данных. Сокращение числа инцидентов повреждения означает меньше ненужных повторного использования базы данных.
  • Контрольная сумма, выполняемая с метаданными, позволяет быстрее и детерминированнее обнаруживать случаи повреждения, что позволяет устранять повреждение данных клиентов до появления серых сбоев на томах данных.
  • Предназначен для работы с большими наборами данных (петабайтами и большими) без влияния на производительность.
  • Поддержка других функций, используемых Exchange Online, таких как шифрование BitLocker.

Exchange Online также имеет преимущества от других функций ReFS:

  • Целостность (потоки целостности) — ReFS хранит данные таким образом, чтобы защитить их от многих распространенных ошибок, которые обычно могут привести к потере данных. Поиск в Microsoft 365 использует потоки целостности для раннего обнаружения повреждений диска и контрольных сумм содержимого файла. Эта функция также сокращает число случаев повреждения, вызванных "разорванной записью" (когда операция записи не завершается из-за сбоев питания и т. д.).
  • Доступность (спасение) — ReFS определяет приоритет доступности данных. Исторически сложилось так, что файловые системы часто были подвержены повреждению данных, из-за чего система была отключена для восстановления. Несмотря на то, что при повреждении происходит повреждение, ReFS реализует функцию спасения, которая удаляет поврежденные данные из пространства имен в динамическом томе и гарантирует, что на хорошие данные не влияют невосполнимые поврежденные данные. Применение функции "Спасение" и изоляция повреждения данных к томам баз данных Exchange Online означает, что мы можем сохранить не затронутые базы данных на поврежденном томе работоспособными до момента повреждения и восстановления. Эта структура повышает доступность баз данных, на которые обычно влияют такие проблемы с повреждением диска.