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

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

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

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

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

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

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

Примечание.

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

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

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 не требуются действия вручную.

Отказоустойчивого

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

Переключение сайта

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

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

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

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

Запрет на удаление позволяет сохранить все содержимое почтового ящика, в том числе удаленные элементы и исходные версии измененных элементов. Все такие элементы почтового ящика возвращаются при поиске Обнаружение электронных данных на месте. При размещении 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 томам базы данных означает, что мы можем сохранить не затронутые базы данных на поврежденном томе работоспособными до момента повреждения и восстановления. Эта структура повышает доступность баз данных, на которые обычно влияют такие проблемы с повреждением диска.