«Одомашнивание» Windows Server 2003
Доброго времени суток уважаемые читатели. В этой статье я хотел бы рассказать вам о том, как я «приручил» на своем домашнем PC серверную операционную систему от Microsoft, о том зачем я пошел на это безумие, с какими проблемами я столкнулся и как я с ними боролся.
Начнем с лирики. На дворе стоял октябрь 2010 года. В кошельке завалялись лишние 1300 российских рублей, на которые я решил купить планочку памяти DDR3 на 2 гб. Придя домой и поставив ее к уже имеющимся 2Гб, я был немного разочарован красовавшейся цифрой 3.25 в свойствах системы Windows XP SP3. «Погуглив» на эту тему я узнал что такое расширение физических адресов (PAE) и почему оно криво реализовано в установленной на моей машине ОС (для тех кто не знаком можно прочитать тут). Я задался вопросом смены ОС. Не то чтобы мне уж так сильно нужны были 4 гигабайта оперативной памяти, это скорее было дело принципа. Vista x64 и Windows XP x64 были отсеяны по ряду причин. Оставалось выбрать между Windows Server 2003 32-bit и Windows 7 x64 (*nix религия не позволяла поставить). 64-битную ОС ставить если честно не хотелось, да и семерка в то время была немного сыровата, и кое какое ПО к которому я сильно привык там не работало даже в режиме совместимости. И так, выбар пал на Windows Server 2003 32-bit. Майкрософт выпускает ее в 4 модификациях: Enterprise Edition, Standart Edition, Web Server, Datacenter Edition. Все они отличаются количеством поддерживаемой оперативной памяти и процессоров. Windows 2003 Web Server вроде бы не распространяется отдельно. Самой распространенной в интернете (точнее на трекерах) оказалась версия Enterprise, которая поддерживает до 32 гигабайт ОЗУ и до 8 процессоров. Что ж, вполне подходило к моим требованиям. Дистрибутив Windows Server 2003 R2 SP2 Enterprise Edition был успешно скачан и записан на болванку CD-R (что было сделано зря, но обо всем по порядку).
На этом лирика закончилась, переходим к трудностям, возникшим при экслуатации.
- Первая проблема возникла еще до установки ОС. Дело в том что у меня на машине установлен RAID из двух жестких дисков SATA-2. Все современные сборки Windows XP уже давно имеют в своем составе вшитые драйвера для большинства устройств, в том числе и для RAID-контроллеров, поэтому с данной проблемой я ранее не встречался. В пустую потреченную болванку CD-R конечно жалко, но куда деваться. Floppy привода в моей машине отродясь не было, поэтому пришлось вшивать драйвера прямо в дистрибутив. На помощь пришла программа nLite. Вместе с драйверами был вшит лицензионный номер (или как он там называется). Новый дистрибутив был записан на CD-RW (а вдруг еще чего). На этот раз программа установки обнаружила диски и ОС была успешно установлена. После запуска в свойствах системе красовалась надпись «3.99 Гб ОЗУ». Что ж, самолюбие удовлетварено, двигаемся дальше.
Для того чтобы ОС была пригодна к работе на домашней машине была найдена программа Win Server 2003 Optimize Tool. С помощью нее были включены службы звука (Windows Audio), включены темы, включен автоматических вход в систему и еще некоторые приятные «плюшечки». Работа с ОС стала все больше напоминать работу с Windows XP.
Я хорошо знал что драйвера на 2k3 должны были подойти от XP, однако переживал за драйвера под звук (у меня полупрофессиональная внешняя звуковая карта ESI UMG 96) и под видео (Geforce GT 9400). Вообщем-то все обошлось, все имеющиеся на тот момент устройства завелись с полоборота. Для активизации DirectDraw и Direct3D пришлось включить аппаратное ускорение и включить совмещение записи (не обращайте внимание на скрин, на момент написания статьи в машине стоит видеокарта на чипсете от AMD).
При установке DirectX 9 у меня возникли проблемы (если честно не помню какие, извиняйте, все таки 2 года прошло). Решить проблему «родными» способами не получилось.На помощь пришла вот эта раздача с рутрекера. Дистрибутив скопировал файлы и вауляля, CS 1.6, первая Mafia, Готика 3, видео (в том числе HD) запускались и работали без проблем и тормозов.
Еще одна неприятность была связана с антивирусом. Дело в том, что мне очень нравиться антивирус касперского, и другие антивирусы я на дух не переношу. Однако запустив Kaspersky Internet Security 2011, я получил сообщение о том, что данная версия антивируса не может быть установлена на серверную ОС. Не шипко мне хотелось ставить серверную версию антивируса, учитывая то что у меня лицензия на KIS 2011. Решение было найдено на одном из трекеров. Там я скачал «прохаченный» дистрибутив KIS 2011, в котором очевидно была взломана программа установки. Дистрибутив легко встал и заработал на моей машине.
Еще одна неприятная проблема поджидала меня после установки QIP 2005. Компьютер подвисал секунд на 15-20 после получения всплывающего сообщения (ну знаете такая штуковина желтенькая в правом нижнем углу). Путем экспериментов было выяснено что подвисала языковая панель. С чем это было связано я так и не выяснил. Неприятность решил просто: «Нет панели – нет проблем». Однако как определить какая раскладка клавиатуры используется? Немного поискав в интернете замену языковой панели я выяснил, что в Windows 98 для отображения текущей раскладки использовалась утилита internat.exe. Покапавшись в куче старых болванок, я нашел дистрибутив 98 винды (что-то из серии «Золотой СОФТ»). Утилита была успешно найдена на диске и помещена в автозагрузку. Получилось вполне юзабельно, как будто там и была всю жизнь.
Windows 2003 Server по-умолчанию не поддерживает файловую систему exFat, которая актуальна, например, для флеш-носителей. Исправляется обновлением WindowsServer2003-KB955704-x86-RUS.exe.
Подключив к машине внешний жесткий диск я не обнаружил его в «Моем комьютере», хотя устройство успешно обнаружилось. Флешки до этого вполне хорошо читались. Утилита «Управление дисками» показала, что область диска не размечена. Оказалось что в системе отключено автоматическое монтирование дисков. Включить его можно с помощью реестра, поменяв значение параметра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MountMgr\NoAutoMount c 1 на 0.
Обрадовавшись что драйвера от XP c легкостью ставяться на 2k3, я без задней мысли купил веб-камеру Logitech C510. Однако программа установки драйверов охладила мой пыл, явно дав понять что на эту ОС она устанавливаться не будет. Гугл не помог, и на офф. сайте Logitech тоже никакой информации по этому поводу я не нашел.
Что ж, на гугл надейся, а сам не плошай. В ход пошла тяжелая артиллерия под названием IDA Pro, благо опыт дизассемблирования был. В ходе исследования дизассемблированного кода, я выяснил что проверка ОС выполняется с помощью API функции GetVersionEx. MSDN нам говорит о том что функция принимает один параметр – указатель на структура типа LPOSVERSIONINFOW. Каким-то образом нужно было «подсунуть» в структуру значения, соответствующие Windows XP. С отладчиком заморачиваться не хотелось, хотя оно было бы проще. Вместо этого я решил изменить таблицу импорта и подсунуть вместо оригинальной функции GetVersionEx мою собсвенную. Для этого я создал Win32-проект типа DLL в VisualStudio, добавил свою функцию myGetVersionEx, и заменил в программе установки адрес функции GetVersionEx на адрес функции myGetVersionEx (точнее на ее указатель).
С помощью setdll.exe «пришпилил» мою dll-ку к exe-шнику программы установки и вауляля, драйвера поставились. Skype нашел камеру, звук и изображение прекрасно передавались. Все бы ничего, но вот в других программах при попытке выставить камере разрешение свыше 800х600 (камера держит 720p) все наглухо зависало. На сайте майкрософта я вычитал что в 2003 сервере нет поддержки HD-камер. Правда или неправда я разбираться не стал, все равно Skype больше чем 800х600 не поддерживает, а в других целях я камеру не использую.
После поступления в аспирантуру я решил купить себе принтер, мало ли там статьи печатать, или того лучше диссертацию. Выбор пал на MФУ Brother DCP-7032R (аналог 7030R, только другого цвета). На сайте в списке поддерживаемых операционных систем значились Windows XP / Windows 2003 (Printer Only) / … Надпись «Printer Only» меня насторожила, но после веб-камеры мне было уже не страшно :-). Вообщем производитель не обманул. Действительно, драйвера отказались ставиться, в том числе и на принтер.
На принтер драйвера удалось завести только вручную из диспетчера устройств. Сканер заводиться отказался. Фокус проведенный с драйверами под веб-камеру не прошел. Видимо программа установки использует более сложные алгоритмы определиня ОС, разбираться с которыми мне, если честно, было лень. Я решил пойти немного другим путем. Я установил на виртуальную машину Oracle VirtualBox Windows XP и перекинул в гостевую систему по USB устройство. Поставил там драйвера для МФУ. И принтер, и сканер успешно заработали. Не очень удобно, но сканером я пользуюсь крайне редко, поэтому такое решение меня вполне устроило.
Как я уже упоминал ранее, в момент написания статьи видеокарта от NVIDIA была поменяна на видеокарту от AMD (Gigabyte HD 6770). С установкой драйверов пришлось немного помучаться. Программа установки запускалась, процесс установки прекрасно шел, и после него даже выводилось сообщение что все прекрасно установлено, однако никаких драйверов в системе не появлялось. Полазив по форумам я нашел решение. Оно оказалось достаточно тривиальным. Нужно было запустить драйвера в режиме совместимости с XP. После этого все нормально установилось. После установки пришлось включить аппаратное ускорение и включить совмещение записи (см. пункт 3), чтобы активизировать функции Direct3D и DirectDraw.
Эпилог. Вот уже больше года на моей машине установлена Windows 7 x64. Мне просто надоели постоянные «сюрпризы» Win 2k3. Но я вполне доказал что ее можно использовать в домашних условиях. По субъективному мнению она работает стабильнее Windows XP и дает ряд преимуществ: полноценная поддержка PAE, всякие полезные серверные фичи типа встроенного маршрутизатора, отсутствие орграничения на количество полуоткрытых соединений (в отличии от тех же XP и Seven), что полезно для любителей торрент-клиентов и избавляет от использования программы Half-open limit Fix.
Спасибо всем кто дочитал пост до конца.
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.
Поддержка окончена: Что делать? Кто и что может помочь?
Кажется, что об этом знают уже все: 14 июля этого года официально прекращена поддержка Windows Server 2003/R2. А дискуссия о том, что нужно делать и стоит ли вообще что-то предпринимать, продолжается. Я же предлагаю взглянуть на сложившуюся ситуацию со стратегической точки зрения. Во-первых, разобраться, как это может повлиять на бизнес-процессы компании, и взглянуть на ситуацию с юридической (а также технической и экономической) точки зрения. Во-вторых, понять, для чего нужны консультанты по миграции со старой ОС на последние версии, в чём от них польза. И, наконец, облегчить жизнь многим компаниям, рассказав о практическом опыте миграции веб- сайтов, основанных на технологии IIS с помощью утилиты Web Deployment Tool.
Окончание поддержки Windows Server 2003/R2. Лирика
Что же значит для бизнеса «окончание поддержки WS2003/R2»? C первого взгляда, вероятно, может показаться, что это приведёт к:
- Дополнительным расходам на лицензии и, возможно, новое оборудование (мы же их уже покупали 12 лет назад. Опять. ).
- Проблемам с контролирующими органами (особенно для компаний, которые хранят персональные данные (а какие компании их не хранят?), так как WS2003/R2 более не получает обновлений безопасности, а это значит невыполнение требований по обеспечению сохранности персональных данных.
- Несоответствию различным стандартам: как локальным, так и отраслевым, а это может ограничить возможность участия компании в ряде тендеров, привести к штрафным санкциям и пр.
Исходя из вышесказанного, может сложиться впечатление, что окончание поддержки WS2003/R2 — это негативное событие, ведущее к издержкам, проблемам и «снова это ИТ вместо того, чтобы помогать в кризис, просит денег». Ведь дополнительные проблемы, риски и затраты в сложный экономический период никому не нужны. К тому же, многие компании только сокращают бюджеты на ИТ и требуют от ИТ-отделов не только сокращения расходов, но повышения эффективности. Как же в таких условиях проводить миграцию и проводить ли её вообще? Может быть лучше всё оставить как есть «до лучших времён»?
Давайте разберёмся во всём по порядку. Разложим стандартную ситуацию в типовом ИТ-отделе на цели, требования и ограничения.
Цели:
- Сокращение расходов на ИТ
- Повышение эффективности
Требования:
- Соответствие ожиданиям бизнеса
- Решение и поддержка бизнес-задач со стороны ИТ
Ограничения:
- Сокращённый ИТ-бюджет
- Окончание поддержки WS2003/R2
Как мы видим, последний пункт — это лишь одна часть общей картины. И она дает отличную возможность пересмотреть всю ИТ-стратегию. Заново осмыслить ИТ-инфраструктуру компании. Посмотреть на неё под разными углами и понять, как её оптимизировать и адаптировать к новой реальности. А имеющиеся у вас проекты по модернизации, которые постоянно откладывались из-за различных технических, финансовых и прочих ограничений? Пришло время пересмотреть их и оценить заново!
Определимся, что есть в вашей инфраструктуре. Для этого в первую очередь получим ответы на такие вопросы, как:
- Сколько есть серверов? Какие ОС установлены на них?
- Какую нагрузку они испытывают и какими характеристиками/мощностями обладают?
- Есть ли у вас ОС Windows Server 2003/R2? Какие роли, сервисы и приложения на неё возложены?
- Какие из этих приложений используются? Кто их использует?
- Можно ли переместить роли, сервисы и приложения на другие сервера с последней ОС?
Помощь в получении этой информации может оказать приложение по планированию инфраструктуры Microsoft Assessment and Planning Toolkit. Результатом его работы будет отчёт с анализом имеющейся инфраструктуры и техническими рекомендациями по её оптимизации или переносу в облако MS Azure.
После того, как ответы на вопросы будут найдены, и проведен анализ существующей инфраструктуры, может оказаться, что:
- У вас нет серверов с WS2003/R2.
- У вас достаточно ресурсов, чтобы просто передать роли/службы/приложения с Windows Server 2003/R2 на другие, имеющиеся в наличии сервера с последней версией ОС и вывести их с поддержки.
- Вы не используете максимально эффективно имеющиеся ресурсы, и есть возможность высвободить часть лицензий/оборудования.
- То самое уникальное приложение для бухгалтерии нещадно устарело и имеет современный аналог, и уже не обязательно для него поддерживать 2003 сервер (обычно, современные приложения позволяют работать более эффективно, включают в себя новые функции и т.д.)
После того, как вы поняли, что имеете сейчас, и как это используется, пришла пора сверить своё видение дальнейшего развития ИТ с бизнесом, понять, что нужно бизнесу от ИТ:
- Каковы стратегические цели бизнеса?
- Какие у него планы на обозримую перспективу и какие ожидания от ИТ? Возможно, это повышение мобильности сотрудников? Или открытие новых филиалов по всему миру?
Оценив цели бизнеса, вы сможете выбрать максимально эффективный способ их достижения. Ведь обновляя инфраструктуру с видением перспективы, вы делаете большой задел для гибкости, масштабируемости и эффективности её дальнейшего использования. Пожалуй, здесь пришла пора вспомнить про консультантов по миграции. Для чего компании, и ИТ отделу в частности, может понадобиться внешний консультант по миграции? Ведь в ИТ-отделе есть классные специалисты, которые могут всё сделать сами.
Ниже в списке перечислены этапы миграции. Их длительность зависит от конкретной инфраструктуры и квалификации персонала, который будет их выполнять:
- Анализ существующей инфраструктуры
- Разработка плана миграции
- Выбор оптимального решения
- Внедрение решения (собственно, миграция)
- Анализ и тестирование результата миграции
Теперь попробуйте оценить:
- есть ли в ИТ-отделе специалисты, способные выделить этому проекту требуемое время и обладают ли они достаточной квалификацией и опытом?
- как это скажется на текущей поддержке сервисов?
- если выполнять проект миграции без отрыва от производства, какие сроки в итоге получатся и с какой эффективностью?
- насколько качественно и продуманно будет проведена миграция и как это скажется на стабильности сервисов?
Если у вас:
- небольшие объёмы работы (менее 15 серверов);
- имеются свободные и достаточно квалифицированные ресурсы или мигрируемые сервисы/приложения не критичны,
то оптимальным решением будет выполнить проект по миграции своими силами.
Однако, если у вас:
- достаточно большая инфраструктура (более 15 серверов);
- есть бизнес-критичные сервисы/приложения;
- из-за ограничения «Сокращённый ИТ-бюджет» сотрудники ИТ-отдела загружены и не могут выделить нужное время для реализации проекта без вреда для оказываемых сервисов,
то рекомендуется выбрать компанию-консультанта по миграции, которая может либо выполнить все работы по миграции, либо реализует их часть. Например, проведет оценку существующей инфраструктуры и даст рекомендации по её модернизации, а внедрение полученных предложений вы реализуете своими силами.
Плюсы ИТ-аутсорсера в том, что это компания с высококвалифицированным профессионалом, который имеет за плечами не один законченный проект и прекрасно осведомлён о возможных «подводных камнях» и вероятных сложностях в процессе. Он поможет вам в формировании и реализации вашей ИТ-стратегии, синхронизированной со стратегией бизнеса.
Например, порекомендует внимательнее присмотреться к облачным решениям:
- если в стратегической цели бизнеса есть пункт о повышении мобильности сотрудников, а у вас при этом есть 2003 сервер, на котором развернут MS Exchange, то может пригодиться облачное решение Office 365, вместо миграции на другой сервер.
- если бизнес планирует открывать филиалы по всему миру, то здесь внимание уделим MS Azure.
- возможно, также пришла пора присмотреться к гибридным облакам и рассмотреть возможность передачи ряда некритичных сервисов в публичное облако, а бизнес-критичные развернуть в частном облаке внутри организации?
На картинке ниже можно увидеть различные варианты предоставления облачных сервисов. Доводы «За» миграцию в публичное облако:
- Нет необходимости обслуживать и сопровождать сервера
- Есть возможность выбора подходящего варианта получения ресурсов и их объемов (IaaS, PaaS или SaaS)
- Высокая отказоустойчивость.
Если какие-либо приложения или сервисы нельзя передавать на хостинг в публичное облако, то можно построить гибридное облако на базе Windows Server 2012 R2 & System Center 2012 R2 & Windows Azure. Доводы «За» гибридное облако:
- Вы определяете и размещаете в своём частном облаке приложения и службы, которые не должны быть в публичном.
- У вас есть возможность использовать как ресурсы своего облака, так и MS Azure, что позволяет гибко управлять доступностью приложений или сервисов и количеством необходимых мощностей.
Наш опыт миграции сайтов с IIS 6.0
Имея немалый практический опыт миграции сайтов с IIS 6.0 на последние версии, я хочу поделиться руководством по такой миграции с помощью Web Deployment Tool.
Перед началом миграции убедитесь, что:
- У вас есть бэкап.
- Если сайт использует SQL базу, убедитесь, что она была заранее мигрирована на новый сервер.
- У вас есть все необходимые логины и пароли.
- Все порты необходимые для работы сайтов открыты на новом сервере.
Что можно мигрировать с помощью Web Deployment Tool?
- 1 или 1000 веб сайтов, включая их конфигурации, контент и сертификаты.
- Приложение.
- Весь сервер (все веб-сайты, пулы приложений, ключи регистра, контент и прочее).
- Пользовательский манифест, состоящий из сайтов, пула приложений, ключей регистра, контента и пр.
Для миграции у вас должен быть установлен .NET Framework 2.0 SP1 или выше и Web Deployment Tool. (Как установить web deployment tool можно посмотреть здесь (eng) или здесь (рус)).
Шаг 1. Проверьте зависимости сайта и найдите скрипты или установленные компоненты, которые он использует.
- Проверить зависимости веб сайта можно с помощью следующей команды
1 – это ID сайта - Посмотрите вывод зависимостей и определите, какие компоненты использует сайт. Например, если сайт использует авторизацию windows, вывод команды будет следующим:
- Если сайт наследует какие-либо скрипты, то их не будет в выводе списка зависимостей, наследуемые скрипты нужно будет проверить вручную.
Подробное описание анализа вывода команды getDependencies можно посмотреть здесь.
Шаг 2. Настройка целевого сервера
Согласно полученного в 1-м шаге списка зависимостей, установите необходимые компоненты. Например, если в вашем списке зависимостей есть компоненты:
- ASP.NET
- Windows Authentication
- Anonymous Authentication
Следовательно, на основе этого списка зависимостей вам необходимо будет установить соответствующие компоненты и модули.
Шаг 3. Миграция сайта с использованием архива
- Всегда делайте бэкап сервера, на который планируете миграцию. Даже в случае тестирования. Это позволит вам быстро вернуть сервер в исходное состояние
- Чтобы создать файл с архивом сайта, на исходном сервере выполните команду:
1 – это ID сайта - Скопируйте полученный архив на целевой сервер.
- Для проверки, что произойдёт при запуске синхронизации, на целевом сервере выполните команду
1 – это ID сайта - После проверки результатов выполнения команды, выполните её без ключа –whatif (разумеется, если вывод предыдущей команды был без ошибок)
1 – это ID сайта
Миграция сайта с использованием web deployment agent service
Если вы хотите использовать синхронизацию сайтов в режиме реального времени, то можно воспользоваться Web Deployment Agent Service.
- Установите Web Deployment Agent Service на исходный или целевой сервер, или на оба для максимальной гибкости возможных сценариев синхронизации (агент может как принимать синхронизируемые данные от источника, так и отправлять их)
- Запустите сервис
- Запустите следующую команду, чтобы начать синхронизацию (отправку данных) с локального источника на удалённый сервер (Server1 замените именем своего сервера). Сначала рекомендуется запускать команду с флагом –whatif, а после проверки результатов её выполнения – без неё.
1 – это ID сайта - Следующая команда запускает синхронизацию в режиме «приёма» данных с удалённого сервера
1 – это ID сайта
На этом процесс миграции закончен, остаётся проверить работу сайта на целевом сервере. В случае проблем для поиска их решения можно воспользоваться Troubleshooting Web Deploy.
Важно помнить, что прогресс – это постоянное движение. Использование устаревших технологий очень часто означает ограничения в возможностях или отставание от прогресса, которое рано или поздно придётся навёрстывать, а чем больше отставание, тем больше усилий придётся приложить для его сокращения, не говоря уже о том, чтобы догнать лидеров.