Я не очень хорошо знаком с тем, как работает DFS, и поскольку кто-то другой управляет рассматриваемыми серверами, я не знаю, как выглядит настройка DFS. Мне просто интересно, возможно ли что-нибудь.
В основном у нас есть 3 сервера, настроенные как группа репликации с 1 папкой, эта папка является корнем настройки веб-приложения .NET в IIS. Когда мы развертываем изменения в приложении, мы делаем это на одном сервере, Server # 1, и позволяем DFS распространять изменения по группе на два других сервера. Существует много странного поведения в среде после развертывания, когда приложению требуется много времени для восстановления, но ничего в журналах IIS не указывает на то, что цикл пула приложений - это часть, которая занимает много времени. Я думаю, что это может быть связано со странным поведением репликации DFS, поэтому я попросил администратора предоставить мне отчет о работоспособности DFSR и отчет о распространении. Отчет о распространении указывает на быструю репликацию, <1 сек для всего.
В отчете о работоспособности отображается 1 ошибка на 1 сервере: из-за продолжающихся нарушений совместного доступа репликация DFS не может реплицировать файлы в реплицированных папках, перечисленных выше. Эта проблема затрагивает 114 файлов в 1 реплицированной папке. Идентификатор события: 4302
MS KB здесь: http://support.microsoft.com/kb/968429 говорит, что событие 4302 связано с ошибками во время «получения» файлов, что меня беспокоит, поскольку эта ошибка происходит на сервере №1, который должен отправлять файлы на два других сервера.
Возможно ли, что DFSR пытается реплицировать файлы НАЗАД на исходный сервер после того, как один из двух других серверов синхронизирован и получил отказ в разрешении, поскольку репликация на третий сервер все еще продолжается? Или есть что-то еще, что я могу найти в журналах, чтобы узнать, сколько времени на самом деле занимает репликация между серверами, чтобы попытаться получить точный график того, что происходит между окончанием MSDeploy и тем, что приложение снова становится доступным?
DFS может реплицироваться обратно на исходный сервер, если файлы были изменены на одном из других рядовых серверов. Помните, что даже несмотря на то, что DFS имеет первичный сервер, этот сервер используется только для копирования и распространения исходного набора реплик на другие новые рядовые серверы. После этого да, файлы можно реплицировать обратно на хост-машину.
Хорошей возможностью может быть то, что любые файлы журналов или файлы данных, которые хранятся в вашем каталоге App_Data, могут синхронизироваться со всеми другими серверами в группе репликации.
Как правило, DFS не рекомендуется для развертывания обновлений и изменений приложений на нескольких веб-серверах. Возможно, вы захотите взглянуть на Microsoft Web Farm Framework, которая намного лучше справляется с управлением репликацией и развертыванием файлов приложений и другими настройками, связанными с сервером. На самом деле он делает больше, чем DFS может делать в этом смысле.