Назад | Перейти на главную страницу

Как мне отменить настройку балансировщика нагрузки IIS7 из ада?

Огромное редактирование / переписывание (пока нет ответов): это было слишком долго и плохо написано.

Шенаниганы, которые я унаследовал

Хорошо, у меня есть балансировщик нагрузки, настроенный с использованием двух серверов, о которых я не очень много знаю, потому что я здесь новичок, и вся команда разработчиков вышла почти одновременно за несколько месяцев до того, как я приехал сюда и наш третий часть ИТ-отдел фактически начал использовать дымовые шашки ниндзя, чтобы убежать, когда я их об этом спросил. В этой установке размещены все версии для разработки и тестирования ряда сайтов asp.net, которые мы поддерживаем для клиента. Все, кто хоть что-нибудь знал о том, что, черт возьми, здесь произошло, покинули здание. Мой менеджер тоже новенький.

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

Прежде чем я это обнаружил, я даже не получал обратной связи в инструменте IIS Admin, а значки серверов в руке предполагали, что они на самом деле не должны ничего обслуживать. Но, конечно же, если вы попытаетесь добавить файл только на один сервер, вы получите что-то 404-е. Если на обоих, вы можете загрузить его. Мне удалось решить проблему обратной связи / регистрации, запустив и запустив службы веб-фермы. Я понятия не имею, как что-то работало, если их было два, и они оба разбились.

В какой-то момент у нашего стороннего ИТ-отдела был запущен какой-то процесс robocopy, который копировал файлы с первичного сервера на вторичный сервер при их редактировании. Я не верю, что он работает с тех пор, как я приехал сюда, и я уничтожил один процесс, в котором я не мог быть уверен на 100%, просто чтобы убедиться.

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

Вот где это становится странным.

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

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

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

Примерно 30 минут.

Затем, как только я начал хвастаться этим, все пошло к черту, и все наши разработчики и промежуточные приложения сломались и начали выдавать ту же ошибку, которую я видел, когда я пытался просто вытащить вторичный из фермы и выключить его. (больше, чем просто 404 IIRC). Я поспешно перестроил веб-ферму, похожую на старую, и получил ее, не совсем работающую, как раньше, на следующее утро.

Предполагать:

Оборудование / ОС / Программное обеспечение

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

Или это вопрос GAC, который был бы захватывающим, потому что я слышал, что нет ничего более дурацкого, чем проблема GAC.

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