Почему я не могу хранить данные в вычислительном экземпляре Azure? - PullRequest
1 голос
/ 14 февраля 2012

Я развернул рабочую роль в экземпляре Azure с включенным удаленным доступом.

Когда я удаленно на сервер, я вижу диски C: и D: на сервере.

Мне сказали, что Azure не гарантирует долговечность данных, хранящихся в вычислительном экземпляре. Однако, когда я перезагружаю / обновляю службу, я все еще вижу предыдущие данные на дисках C: и D:.

Когда будут потеряны данные на дисках C: и D:

Ответы [ 3 ]

2 голосов
/ 14 февраля 2012

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

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

Если ваше программное обеспечение должно использовать букву диска, потому что вы не можете изменить базу кода, вы можете смонтировать том NTFS внутри BLOB-объекта страницы (в основном, облачного диска). Вы можете сделать это из OnStart (), а затем передать букву диска вашему приложению. Примечание: облачный диск может иметь только одну запись. Итак ... если у вас есть несколько экземпляров, каждый экземпляр должен будет создать свой собственный облачный диск.

1 голос
/ 14 февраля 2012

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

См. Второй абзац о локальном хранилище из этой статьи . Он дает следующую рекомендацию:

Если вам требуется надежная долговечность ваших данных, вы хотите обмениваться данными между экземплярами или получать доступ к своим данным вне Windows Azure, рассмотрите возможность использования вместо них учетной записи хранения Windows Azure или базы данных SQL Azure

0 голосов
/ 14 февраля 2012

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

Остановка и запуск экземпляров также, вероятно, приведет к потере данных, но я не проверял.

Вот цитата от MVP на форумах MSDN :

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...