Можно ли очистить хост роли Azure и запустить его на том же хосте без очистки? - PullRequest
0 голосов
/ 20 июля 2011

Предположим, моя роль Azure создает много временных файлов во временной папке Windows и забывает удалить их.В какой-то момент он получит ошибку «не могу создать временный файл».Предположим, что когда это произойдет, мой код роли выбрасывает исключение из RoleEntryPoint.Run() и роль перезапускается.

Я не говорю о совершенном коде, поддерживающем Azure.В моей роли может использоваться сторонний код черного ящика, который теперь не будет содержать ничего о Azure и «локальном хранилище» и будет вызывать System.IO.Path.GetTempPath() и, таким образом, создавать файлы прямо в каком-то не удобном для Azure месте.

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

Гарантируются ли локальные изменения, такие как созданные временные файлы, сбрасываемые приРоль перезапущена?Как убедиться, что запущенная роль находится в достаточно чистом состоянии?

1 Ответ

3 голосов
/ 20 июля 2011

Роль сбрасывается при новых развертываниях, обновлениях и недавно масштабированных экземплярах из золотого образа (базовая гостевая ОС VHD). Обычно для перезагрузок и сбоев вы получаете тот же VHD и машину.

Код, который вы пишете, не будет иметь права на запись на диск ОС (D :) - без повышения прав (или для входа в систему через RDP). Кроме того, существует квота на корневой диск роли пользователя (E :), которая предотвращает случайное заполнение диска файлами. Раньше это было 10% от размера пакета - все, что вам было разрешено написать. Существует также квота на диске ресурсов (C :), но это гораздо более щедрый и зависит от размера виртуальной машины.

Ничто не будет очищено на нелокальных ресурсных дисках, но в конечном итоге вы получите ошибки, если попытаетесь превысить квоты. Вы можете отключить хранилище на локальных ресурсах, и они будут очищены при перезагрузке. Конечно, как и другие изменения на диске, эти временные файлы нелокальных ресурсов иногда будут потеряны при обновлении гостевой ОС (или базовой корневой ОС). Если вы работаете с повышенными правами и действительно испортили свою установку (что вы можете сделать), вам нужно нажать кнопку «Reimage» на портале, и все вернется к золотому изображению.

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