Какие конструктивные особенности делают Joyent ZFS и Amazon EBS (S3) надежными?
Я знаю, что это не совсем сравнение яблок с яблоками, я пытаюсь оценить, какой из них безопаснее - с меньшей вероятностью потерять данные.
SmartOS от Joyent использует ZFS для хранения данных, тогда как машина EC2 может использовать Amazon Elastic Block Store (EBS), которая хранит свои данные на S3.
Мне интересно, какие архитектурные детали делают две системы надежными? Я не слишком уверен в дизайне S3, есть ли у них более одного места, где они хранят свои данные.
2 ответа
Как вы сказали, это не совсем сравнение яблок с яблоками (к тому же уже есть согласие, что для обоих должны быть созданы надлежащие процедуры резервного копирования данных, поэтому я не собираюсь на них останавливаться). Поэтому на этот вопрос нельзя ответить как таковой, скорее, необходимо знать об архитектурных деталях каждого предложения и применять их в отношении конкретного варианта использования.
В частности, система хранения на основе ZFS от Joyent - это локальная система хранения, предназначенная для обеспечения хранения и надежности данных операторского уровня, см. Устойчивость и надежность данных:
Мы ставим ZFS на вершину высокопроизводительной подсистемы локального хранения, чтобы гарантировать, что ваши данные в безопасности, единообразны, всегда доступны и восстанавливаемы. ZFS - это комбинированная файловая система и менеджер логических томов, предназначенные для локального хранилища в пуле. В отличие от других файловых систем, развернутых для облачного хранилища, возможность копирования при записи ZFS гарантирует, что ваш образ не будет потерян. [Акцент мой]
Напротив, EBS - это система хранения сетевых блоков, предназначенная для обеспечения высокодоступных и высоконадежных томов хранения, которые можно подключить к работающему экземпляру Amazon EC2 и представить в качестве устройства в этом экземпляре, см. Раздел Особенности томов Amazon EBS в Amazon Elastic Block. Магазин (EBS) для деталей, например:
- Тома Amazon EBS помещаются в определенную зону доступности и могут быть затем присоединены к экземплярам также в той же зоне доступности.
- Каждый том хранения автоматически реплицируется в одной и той же зоне доступности. Это предотвращает потерю данных из-за сбоя любого отдельного аппаратного компонента.
- Amazon EBS также предоставляет возможность создавать моментальные снимки томов, которые сохраняются в Amazon S3. Эти моментальные снимки можно использовать в качестве отправной точки для новых томов Amazon EBS, и они обеспечивают защиту данных в течение длительного срока. [...]
[Акцент мой]
Последний момент подчеркивает, что EBS не хранит свои данные на S3 сам по себе, а скорее предоставляет простой в использовании механизм резервного копирования для обеспечения долгосрочной долговечности через S3, что подразумевает, что вам придется оценивать оба сценария отдельно с точки зрения долговечности и доступности.
Раздел Amazon EBS Volume Durability более подробно описывает эту архитектуру:
[...] Данные тома Amazon EBS реплицируются на несколько серверов в зоне доступности, чтобы предотвратить потерю данных из-за отказа какого-либо одного компонента. Долговечность вашего тома зависит как от размера вашего тома, так и от процента данных, которые изменились со времени вашего последнего снимка. [...]
Поскольку серверы Amazon EBS реплицируются в одной зоне доступности, зеркальное отображение данных между несколькими томами Amazon EBS в одной зоне доступности не приведет к значительному увеличению срока службы томов. Тем не менее, для тех, кто заинтересован в еще большей надежности, Amazon EBS предоставляет возможность создавать согласованные моментальные снимки ваших томов на определенный момент времени, которые затем сохраняются в Amazon S3 и автоматически реплицируются в нескольких зонах доступности. [...]
[Акцент мой]
Таким образом, хотя EBS хранит данные на нескольких серверах только в одной зоне доступности, S3 обеспечивает дополнительную милю разделения физической инфраструктуры, см. Насколько изолированы зоны доступности друг от друга?:
Каждая зона доступности работает на собственной физически отдельной, независимой инфраструктуре [...]. Общие точки сбоев, такие как генераторы и охлаждающее оборудование, не являются общими для зон доступности. Кроме того, они физически отделены друг от друга, поэтому даже такие необычные бедствия, как пожары, торнадо или наводнения, могут повлиять только на одну зону доступности. [Акцент мой]
Это дает заявленную долговечность 99,9999999999%, как указано в разделе Насколько долговечен Amazon S3? и более подробно в разделе Как Amazon S3 спроектирован так, чтобы обеспечить долговечность 99,99999999%?:
Amazon S3 сохраняет ваши объекты на нескольких устройствах в нескольких местах в регионе Amazon S3. [...] При обработке запроса на сохранение данных служба будет избыточно хранить ваш объект на нескольких объектах, прежде чем возвращать УСПЕХ. [...] [Акцент мой]
Обратите внимание, что зона доступности по-прежнему ограничена одним регионом (подробности об этой архитектуре см. В разделе " Использование регионов и зон доступности"), и они уже были соответствующими инцидентами, вызывая дискуссии о том, следует ли использовать избыточность региона и / или поставщика. для максимальной надежности (см. ниже.
Наконец, в разделе Модель согласованности данных Amazon S3 в Amazon S3 Concepts более подробно рассказывается о том, как Amazon S3 обеспечивает высокую доступность путем репликации данных на несколько серверов в центрах обработки данных Amazon.
Отключения
В прошлом обе службы имели по крайней мере один серьезный сбой - соответствующий анализ после вскрытия обеспечивает дополнительное понимание структуры каждой системы и позволяет вам учитывать это в стратегиях резервного копирования и доступности соответственно:
- Joyent - дальнейшее обновление Strongspace и BingoDisk
- Amazon - Краткая информация о сбоях в работе сервисов Amazon EC2 и Amazon RDS в восточном регионе США
- раздел " Обзор системы EBS" содержит подробное описание архитектуры EBS.
Последнее отключение вызвало некоторое обсуждение относительно надежности облачных вычислений в целом, что интересно вызвало статью Magical Block Store: когда абстракции терпят неудачу в блоге Joyent, исследуя различия между обоими подходами и объясняя соответствующие архитектурные решения Joyent (включая самокритику бывшие неудачные попытки); Хотя эту статью, очевидно, можно считать предвзятой, она все же должна позволять вам делать свои собственные выводы по очереди.
У вас нет данных, если у вас их нет в трех экземплярах в двух географически разных местах.
В зависимости от одного экземпляра RAID, виртуального блочного устройства, одного поставщика и т. Д. Надежное хранение ваших данных в лучшем случае небрежно.
При этом, если ничего не изменилось за последние 2-3 года с момента моей последней проверки, Amazon не дает никаких гарантий, что данные S3 будут там при следующем просмотре. Они были надежными в течение последних нескольких лет в том, что касается хранения, поэтому не похоже, что данные регулярно исчезают.