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

Причины, по которым обновления на месте плохие

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

Я хотел бы собрать другие мысли, которые люди думают о чистых установках.

Заранее благодарим вас за помощь в этом. Я с нетерпением жду того, чем вы поделитесь.

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

Затем вы должны предположить, что хост правильно управлялся с течением времени. Никто никогда не входил и не изменял вручную конфигурацию или не устанавливал вручную двоичные файлы, конфликтующие с упакованными двоичными файлами. Такого никогда не бывает, правда?

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

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

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

Я также должен отметить, что моя команда в прошлом году провела серьезное обновление ОС и программного обеспечения 7500 серверов на моей работе. Мы так старались, чтобы обновление на месте работало, но в конечном итоге этого не произошло по многим причинам, перечисленным выше. Мы закончили тем, что стерли все машины и установили ОС и все программное обеспечение с нуля. Задача решена.

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

Не могу сказать, что я фанат обновлений на месте, если у меня есть выбор, но бывают случаи, когда жестяная банка имеет смысл. Слишком часто в ИТ ответ заключается не в том или ином, а в том, что «все не так просто».

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

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

Следует учитывать несколько моментов: новый подход к установке и миграции может дать вам повышенную доступность (в зависимости от того, насколько гладко может работать этап миграции, Microsoft Exchange, например, справится с этим хорошо) и, безусловно, даст вам очень хорошую стратегию «отката», если вы есть проблемы с новой версией системы.

Я согласен с вами, что обновление серверной ОС на месте - не лучшая идея. Но для рабочих станций я сделал обновления для XP> Vista> 7. Несмотря на то, что это заняло больше времени, пользователь был счастлив, что все было так, как было.

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

Вы ничего не упоминаете о том, что вы обновляете, о типах программного обеспечения или ОС. Вы должны добавить немного дополнительной информации о деталях.

В конце концов, общее заявление о том, что все обновления программного обеспечения или ОС на месте плохие, все равно что сказать, что вы не используете автоматические обновления, потому что однажды у вас было обновление, которое вызывало проблему.