Хранилище для кластера сервисов фабрики Azure vms с надежными коллекциями

Я собираюсь начать углубляться в службы Stateful и надежные коллекции для Azure Service Fabric

Мои ноды vms в значительной степени стандартные машины, и я заметил, что диск d классифицируется как временное хранилище

Как это работает с сервисами с отслеживанием состояния и надежными коллекциями?

Мне интересно, нужно ли мне добавлять управляемое хранилище, и если да, то как мне заставить сервисную фабрику использовать его?

Павел

2 ответа

Решение

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

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

  • Виртуальная машина узла может быть выведена из эксплуатации, и ваши данные будут потеряны (обновления оборудования или сбой)
  • Эти диски уникальны для каждого узла, когда ваш сервис больше работает, данные не собираются вместе.

Вы можете потерять данные на временном диске в следующих случаях:

  • Когда вы изменяете размер виртуальной машины,
  • Когда вы выключаете или перезапускаете виртуальную машину,
  • Когда ваша виртуальная машина перемещается на другой хост-сервер (из-за восстановления службы, выключения и перезапуска),
  • Когда хост обновляется,
  • Когда хост испытывает аппаратный сбой и т. Д.

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

,

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

Если вы планируете хранить файлы, я бы порекомендовал вам использовать хранилище BLOB-объектов Azure или File Share, у них есть встроенный механизм для репликации данных и защиты данных от сбоев.

Ну, технически ответ - нет, потому что Service Fabric реплицирует данные 3 раза, поэтому он может использовать временные диски на виртуальных машинах Azure. Мы используем диск с данными, подключенный к узлам vmss, и он хорошо работает для нас

Вы можете использовать эту статью для установки сервисной фабрики:

https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-cluster-creation-via-arm

Другие вопросы по тегам