Хранилище для кластера сервисов фабрики 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