Начало и конец




Добрый день всем читающим!
Много статей было об этом, много блогов, но статья HowTo, без напильника, найдена не была, и это крайне печально.
Для небольших развертываний эта вещь, из коробки просто незаменима.

Для тех кто не знает: WDS (центр развертывания) это специальное средство, которое есть в серверной ОС Microsoft, с помощью него можно установить систему на большое количество компьютер одновременно, с помощью сети, используя PXE.
Также тут будет информация о препарировании wim, и немножко о DHCP.
Итак начнем под катом.

Часть 1. Установка


Эту часть можно пропустить тем, кто хоть раз делал установку служб\компонентов в Server 2012R2. Из этого блока нужен только пункт 1.3.

Идеалом для WDS является, если DHCP сервером является эта же машина. Тогда он может корректно передать информацию о PXE Boot.

1.1 Включение WDS

Установка WDS в картинках. Все просто.

Все просто.

Раз


Два


Три


Дальше начинается то, что потребует чуть больше, чем просто Nextnextnext)/

1.2 Включение роли

Настройка
После установки выбираем в списке консоли наш сервер WDS.

image

image

image

image

Так как по умолчанию предлагается загрузочные и установочные образы хранить на системном диске (что не рекомендуется), то создадим на разделе E: папку RemoteInstall, которая и была указана мастеру настройки сервера.

image
Тут на ваш выбор


1.3 Образы

На установочном диске с любой системой, начиная с Vista, есть папка source, там лежат два файла boot.wim и install.wim
Boot.wim — это образ для запуска, предзагрузочный.
install.wim — это образ самой системы.

Если boot.wim ещё надо будет подготовить, для работы, то install.wim сразу готов для установки.

image

В диспетчере сервера boot — образы загрузки, install — образы установки.

image

Часть 2. Препарирование Boot.wim


Очень часто возникает одна большая пролема:
image

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

2.1 Утилиты

По умолчанию в 2012 сервере, после установки WDS, утилита dism может работать с образами wim в полной мере.
Для 2008/R2 или 7 вам понадобится Windows Automated Installation Kit (WAIK) и у вас появится инструмент dism.

Создаем структуру папок: c:\drivers\mount — папка монтирования WIM образа; c:\drivers\lan_drivers — папка с драйверами для сетевой карты.
Копируем boot.wim от ОС в папку c:\drivers
Предостерегаю! Чем больше драйверов, тем больше универсальности, но и размер образа сильно увеличивается, это необходимо учитывать. Образ целиком заливается в RAM.

2.2 Препарирование

Для 2008\7 запускаем Deployment Tools Command Prompt из меню пуск с правами администратора.
Для 2012 — запускаем командную строку с правами администратора.

Смотрим содержимое загрузочного образа boot.wim:
dism /get-wiminfo /wimfile:c:\drivers\boot.wim


По идее там должно быть так:

image

Как видно из скриншота boot.wim содержит два образа — Windows PE (Индекс 1) и Windows Setup (Индекс 2). Драйвера для сетевой карты надо добавлять в Windows Setup, поэтому будем работать с образом 2 (Индекс 2).

Но не так всё просто. Компания добра Microsoft заблокировала для изменения этот образ, для его редактирования его надо «перезалить».
Выполняем:
Dism /Export-Image /SourceImageFile:c:\drivers\boot.wim /SourceIndex:1 /DestinationImageFile:c:\drivers\boot1.wim
Dism /Export-Image /SourceImageFile:c:\drivers\boot.wim /SourceIndex:2 /DestinationImageFile:c:\drivers\boot1.wim

Соответственно, мы перезалили образы Windows PE\Setup в новый файл.
Сначала скопировали первый, потом второй индекс.
Удаляем boot.wim, переименовываем boot1.wim в boot.wim
dism /get-wiminfo /wimfile:c:\drivers\boot.wim

Должна выдать те же два раздела, с index 1 & 2.

2.3 Добавление драйверов

Монтируем образ с индексом 2 из файла boot.wim в папку «c:\drivers\mount» командой:
dism /Mount-Wim /WimFile:c:\drivers\boot.wim /index:2 /MountDir:c:\drivers\mount

image

Добавляем драйвера в образ. Драйвера можно добавлять по одному, либо сразу все из определенной директории.
Для добавления драйвера указываем полный путь к файлу .INF:
dism /image:c:\drivers\mount /add-driver /driver:«C:\drivers\lan_drivers\E1C5232.INF»

Если драйверов много, то указываем каталог в качестве источника для поиска и добавления драйверов:
dism /image:c:\drivers\mount /add-driver /driver:«C:\drivers\lan_drivers» /recurse /forceunsigned

параметр /recurse используется, чтобы установить драйвера из вложенных каталогов, а /ForceUnsigned для установки неподписанных драйверов.
После добавления всех драйверов загрузочный образ нужно закрыть (отмонтировать).
dism /unmount-wim /mountdir:c:\drivers\mount /commit

параметр /commit указывает, что нужно сохранять все изменения в образе, без него все изменения будут потеряны.

2.4 Образ в хранилище

Теперь перекопируем его в любую директорию, где у вас будут хранится образы.
И установим на сервер WDS.



image

Теперь необходимо указать имя. Имя образа — это то, что будете видеть вы, при выборе загрузчиков, если у вас их несколько.

image

2.5 Безопастность



Security — Чтобы добавить разрешения для учетной записи пользователя на группу образов, щелкните правой кнопкой мыши группу оразов и нажмите security. Добавьте учетную запись пользователя из AD и настройте полный контроль. Если вы используете учетную запись администратора домена во время установки WDS, то это можно не делать.

Часть 3. Образ системы. Кастомный вариант


Для начала устанавливаем ОС. Ставим всё что надо.
Далее препарируем её. По ссылке создание настроенного образа операционной системы

Хорошая статья по IMAGEX + WINPE созданию образа там же есть ссылки вначале статьи для создания WIN7 & WIN8. Либо находим на просторах интернета WindowsPE, по вашему желанию)
Для дальшейшего нам нужен образ WinPe с утилитой ImageX правильной битности.

3.1 Создание образа и его копирование на сетевой ресурс с помощью Windows PE и программы ImageX

Теперь запишем образ компьютера, с помощью среды Windows PE и программы ImageX и сохраним на сетевом ресурсе.
Для этого необходимо загрузиться с диска Windows PE.
Для того чтобы иметь доступ на запись к сетевому ресурсу, необходимо к нему подключиться, введя следующую команду:
NET USE y: \\nmp\oem\<имя папки> /USER:AD\ *
И ввести свой пароль.
! надо понять какой диск является каким, для этого с помощью команды DIR C: (D,E,F & etc), перебираем диски, если их несколько
Далее необходимо записать образ основной установки с помощью программы ImageX, расположенной в среде Windows PE, или на другом диске, на сетевой ресурс. Для этого необходимо ввести следующую команду:
e:\imagex.exe /capture d: y:\ <имя>.wim "<название>" /compress fast /verify

Где e:\ — RAM Disk, D: — OS Disc, Y: — сетевой диск. После этого пойдёт процесс создания и копирования образа на указанный сетевой ресурс.
По завершении создания образа и его копирования на сетевой ресурс необходимо ввести команду exit и приложение закроется и компьютер начнёт перегружаться.

3.1.1 Ручное развертывание

Если необходимо руками образ развернуть (без WDS) но по сети
Битность системы должна быть той же, что и у системы, которую мы распаковываем.
После создания образа, можно развернуть его на новое оборудование с помощью программы ImageX и среды Windows PE.
Форматируем диск, для распаковки на него WMI.
Для этого надо ввести следующие команды:

diskpart
select disk 0
clean
create partition primary size=100
select partition 1
format fs=ntfs label=«system»
assign letter=c
active
create partition primary
select partition 2
format fs=ntfs QUICK
assign letter=e
exit

Можно создать сценарий для данной процедуры, сохранив приведенную информацию в текстовый файл в папке с образом. Чтобы выполнить сценарий из командной строки среды Windows PE, необходимо ввести команду: diskpart /s <имя_сценария>.txt

Форматирование следует проводить ТОЛЬКО в среде Windows PE. Если отформатировать жёсткий диск на другом компьютере средствами Windows, а затем вставить этот жёсткий диск в конечный компьютер, то образ с вероятностью 80% НЕ РАЗВЕРНЁТСЯ.

Подключаемся к сетевому ресурсу для развёртывания образа, введя следующую команду:
NET USE y: \\nmp\oem\<имя папки> /USER:AD\ *
Вводим пароль.
! надо понять какой диск является каким, для этого с помощью команды DIR C: (D,E,F & etc), перебираем диски, если их несколько
Разворачиваем образ на жесткий диск с помощью программы ImageX, с сетевого ресурса, введя следующую команду:
d:\imagex.exe /apply y:\<имя>.wim 1 e: /verify

После этого пойдёт процесс развёртывания образа на указанный жёсткий диск с сетевого ресурса.

Далее, с помощью средства BCDboot необходимо инициализировать хранилище данных конфигурации загрузки (BCD) и скопировать файлы среды загрузки в системный раздел, введя в командной строке следующую команду:
e:\windows\system32\bcdboot e:\windows

По завершении создания образа и его копирования на сетевой ресурс необходимо ввести команду exit и приложение закроется и компьютер начнёт перегружаться.
Настроенный образ развернут на конечный компьютер.



3.2 Сервер

Настроим сервер, для работы с образами.

Добавим наш готовый образ в «Образы установки»:

image

Как в случае с загрузочным образом указываем мастеру путь к файлу wim, который мы создали:

image

В оригинальном файле install.wim может содержаться несколько редакций:

image

Но в созданном должна быть только одна.

Часть 4. Великий и ужасный DHCP



1) WDS и DHCP установлены на одном сервере.



WDS и DHCP не могут занимать порт UDP 67 одновременно. Запретив службе WDS прослушивать порт UDP 67, можно предоставить порт для DHCP-трафика и присвоить DHCP-параметру 60 (параметр области или сервера) значение PXEClient, устранив конфликт.
Если служба WDS устанавливается на DHCP-сервере, в ходе настройки появляется страница DHCP Option 60. Установите флажки Do not listen on port 67 и Configure DHCP option 60 to PXEClient. В сообщении, получаемом клиентом от сервера DHCP, содержится IP-адрес, маска подсети и параметр 60.
В результате клиенту становится ясно, что сервер DHCP является одновременно и сервером WDS. Если позднее добавить DHCP к серверу WDS, можно настроить этот параметр, щелкнув правой кнопкой мыши на имени сервера в оснастке WDS и выбрав пункт Properties. На вкладке DHCP имеются аналогичные флажки.

2) WDS и DHCP находятся на различных серверах, в одной подсети с клиентами.



Дополнительной настройки не требуется, так как WDS и DHCP расположены на разных серверах. Обе службы могут прослушивать порт UDP 67, а клиенты находятся в одной подсети с серверами WDS и DHCP, поэтому широковещательный трафик доступен для всех.

3) WDS и DHCP устанавливаются на различных серверах, в разных подсетях.



Службы WDS и DHCP, установленные на разных серверах, не мешают друг другу прослушивать порт UDP 67.

Вы должны настроить маршрутизатор на отправку широковещательных пакетов, потому что чаще всего мы видим, что широковещательные пакеты не могут идти в другие подсети. Кроме того, весь трафик на UDP порт 4011 от клиентских компьютеров к серверу служб развертывания Windows должен быть направлен соответствующим образом.

Чтобы помочь клиенту WDS найти сервер WDS мы должны настроить DHCP опцию 66 и DHCP опцию 67.
Настройка параметров DHCP в сети IPv4 выполняется из оснастки DHCP, доступной из раздела Administrative Tools меню Start.

В оснастке DHCP разверните IPv4, а затем щелкните правой кнопкой мыши Server Options (или параметры области) и выберите пункт Configure Options. Прокрутите список до элемента 066 Boot Server Host Name, установите флажок и введите имя узла сервера WDS в текстовом поле (можно использовать имя, но желательно IP).

Затем установите флажок 067 Bootfile Name. В текстовом поле введите путь и имя файла Preboot Execution Environment (PXE) для загрузки на клиенте. Текстовое значение для параметра 67:
boot\x86\wdsnbp.com — 32 bit
ИЛИ
boot\x64\wdsnbp.com — 64 bit


Также есть рекомендации с иностранных сайтов:
Configure DHCP option 67 with the right boot image file.

For 32-bits systems \boot\x86\wdsnbp.com
For 64-bits systems \boot\x64\wdsnbp.com


4.1 CNP



Client Naming Policy — в настройках сервера WDS, выберите AD DS. В Client Naming Policy указать формат, на основании которого компьютерам будет задаваться имя.
Шаблон по умолчанию именования %61Username% #, это означает, WDS создаст имя компьютера, используя имя пользователя, вошедшего на удаленный при выполнении процесса установки и # это число 1,2,3… до 999 будет добавлен после имени пользователя.

4.2 Cisco DHCP MODE

Тут не так страшно как кажется:
BU# ip dhcp pool DATA
BU# option 66 ascii «1.2.3.4»
BU# option 67 ascii «bootfile.pxe»


Часть 5. немного послесловия


Собственно всё. Это небольшая статья, и кажется она закончена.
Кто-бы что не говорил, но для небольших сеток это очень нужная вещь.
Для тех, кто захочет расширить функционал, есть просто отличная статья на Geektimes: «Добавляем WDS универсальности».

На этому спешу откланяться, спасибо всем кто заинтересовался этой статьёй.

Гиктаймс форевер!

Если есть оЧепятки в тексте пиши в личных сообщениях, флудить и троллить не спортивно! Если можете что-то важное добавить, добавлю в статью.

UPD. спасибо darthslider и navion

Существует MDT (Microsoft Delpoyment Toolkit).
С помощью него можно сразу добавить ключ в образ и установить продукты с quiet установкой.
Также настроить имя пользователя администратора и его пароль.
Требует отдельного компьютера и установленных зависимостей.

darthslider
В первую очередь MDT — это поддежка Task Seqence, то есть это любые скрипты и настройки на любом этапе установки.
Так же это удобный редактор unattend.xml
Ну и в придачу установка ПО, постнастройка, ввод в домен и тд, а так же поддержка сценариев обновления ОС (захват по и настроек, установка новой ос, восстановление), миграции пользователя на новый пк (схоже с предыдущим сценарием). Но последние 2 пунтка это довольно сильное шаманство.

(О настройке и поднятии видео ТУТ.)

Комментарии (21)


  1. darthslider
    27.07.2015 17:40
    +1

    Я бы всем рекомендовал забыть голый WDS как страшный сон и использовать его исключительно как механизм доставки образов до клиентов. MDT (Microsoft Delpoyment Toolkit) бесплатен и расширяет функционал WDS (а главное удобство работы) в разы.
    Одна работа с файлами ответов там чего стоит. Ну и полноценный Task Sequence, включая установку приложений.


    1. kir98 Автор
      28.07.2015 09:30

      Забыть про чистый пока не удастся все равно.
      И образ все равно снимать руками надо, т.к. не все ПО корректно превращается в MSI пакеты с quiet установкой.

      А в остальном согласен полностью, упрощение ввода информации, логин\пароль администратора, домашнюю IE, ключ ОС.
      SCCM не у всех есть, и не всем нужен, главное что есть режим LIT, и можно распространять через WDS готовые образы.


      1. darthslider
        28.07.2015 09:42

        У нас есть SCCM, но пользуемся все равно связкой MDT + WDS. Оно появилось у нас раньше и миграция оттуда в SCCM это большая головная боль.
        Просто мы тоже снимали образы руками раньше, а потом поняли, что это огромная головная боль в конечном итоге. Гибкости никакой, нужно что-то изменить — переснимай образ. Решили, что лучше что-то не доставить из ПО, но иметь полноценные модульные гибкие образа, где можно мгновенно что-то изменить.
        Ну и если уж очень хочется, есть же всякое по для MSI-зации, хотя я тут ничего не могу посоветовать, у нас все что надо худо-бедно ставится в quiet режиме. Да и ПО мы сейчас не ставим через MDT вообще, т.к. появился SCCM (хотя и там головной боли достаточно).


      1. allexb
        28.07.2015 09:52

        не все ПО корректно превращается в MSI пакеты с quiet установкой

        Но у многих EXE есть quiet\silent\unattended установка, и darthslider прав по поводу task sequence в SCCM.


        1. darthslider
          28.07.2015 10:01

          Но и kir98 тоже прав в том, что не у всего ПО quiet режим есть. Причем чем специфичнее ПО, тем меньше шансов, что у него есть нормальная тихая установка.
          Я когда только открывал для себя MDT, я представлял, что вот тут всё сложно, а в большом и платном SCCM, наверное, все то же самое и даже круче делается одной кнопкой. А потом я узнал, что чистый SCCM тоже так себе и на него тоже надо ставить MDT, что бы получить новые Task Sequence из MDT же.


          1. allexb
            28.07.2015 10:20

            В этом и состоит часть моей работы — создавать тихие установки для всего ПО заказчика. Нерешаемых задач пока не было.


            1. darthslider
              28.07.2015 10:33

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


              1. allexb
                28.07.2015 10:49

                Для автоматизации нужен стабильный формат на выходе у производителя ПО, но производитель любит часто изменять свои установки. Очень большие риски получить неработоспособную установку. Автоматизация в данном случае возможна лишь для внутрипроектных шагов (создание документции, application\program).
                В случае с хромом и флеш, — на следующий день, после выхода новой версии, все они доступны в софт каталоге заказчика SCCM.


                1. darthslider
                  28.07.2015 11:22

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


                  1. allexb
                    28.07.2015 11:43

                    Так точно. Создается новая версия с требованиями заказчика.


              1. yosemity
                28.07.2015 12:36

                А зачем ПО добавлять в образ? У нас тоже используется WDS, а софт ставится через WSUS + LUP. Раз в два-три месяца обновляем апдейты в образе, чтобы быстрее разворачивалось. В итоге по завершении установки имеем гарантированно свежий софт полученый со WSUS.

                Забыл добавить, в образе install.wim только драйвера сетевых карт, все остальные дрова так же прилетают по WSUS. Если каких-то дров на данный момент в нашем локальном каталоге нет, то добавляем с сервера майкры.


  1. AbyssMoon
    27.07.2015 17:57

    Вот бы подобный howto по организации того же самого на базе nix


    1. k3NGuru
      27.07.2015 18:08
      +1

      habrahabr.ru/company/serverclub/blog/250549 нее?


  1. navion
    28.07.2015 02:35

    Если можете что-то важное добавить, добавлю в статью.

    Использовать MDT, а WDS оставить лишь в качестве транспорта для доставки загрузочных образов.


  1. greeensnake
    28.07.2015 09:09

    Добрый день.

    Если можете что-то важное добавить, добавлю в статью.

    Вы не упомянули про типы загрузочных образов — discovery boot и capture boot.
    Discovery — даст вам возможность разливать системы на машины без PXE.
    Capture boot — дает возможность сделать образ из эталонной системы и залить его на wds.


  1. greeensnake
    28.07.2015 09:18

    Про multicast и unicast разливку образов, так же ничего не было сказано…


  1. darthslider
    30.07.2015 08:14

    «Требует отдельного компьютера и установленных зависимостей.» — что вы имеете ввиду? WDS спокойно ставится на компьютер с WDS. Из зависимостей, по сути, только WAIK который и для WDS нужен.
    Так же роль MDT гораздо больше того, что вы написали.
    В первую очередь это поддежка Task Seqence, то есть это любые скрипты и настройки на любом этапе установки.
    Так же это удобный редактор unattend.xml
    Ну и в придачу установка ПО, постнастройка, ввод в домен и тд, а так же поддержка сценариев обновления ОС (захват по и настроек, установка новой ос, восстановление), миграции пользователя на новый пк (схоже с предыдущим сценарием). Но последние 2 пунтка это довольно сильное колдунство.
    А ключ и пароль администратора можно и голым WDS настроить.
    Главное, что даже без расширенного функционала MDT делает то, что делает WDS гораздо удобнее. Одно избавление от захвата через Winx чего стоит.


    1. kir98 Автор
      30.07.2015 14:00

      Добрый день.

      «Требует отдельного компьютера и установленных зависимостей.» — что вы имеете ввиду?

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

      Удобнее — согласен, но не один раз сталкивался со специальным ПО для математики, статистики и обучающим ПО, которое можно добавить в предустановку только снимая образ руками, после sysprep.


      1. darthslider
        30.07.2015 14:04

        У меня WDS и MDT стоят на одном сервере. Сервер 2008 R2, MDT 2012 (изначально был 2010). Там же DHCP.
        Так вам никто не мешает пользоваться тем же sysprep в MDT, просто это «не кошерно», но работает и всё равно даёт больший функционал. И захватывать такие машины удобнее, запускаешь специальный таск с машины, указываешь куда положить wim файл и всё.


        1. kir98 Автор
          30.07.2015 14:12

          Покопаюсь ещё, я ставил на 2012R2, MDT2012, но не ожило.

          Полностью согласен, что MDT даёт больший функционал чем голый WDS.
          Таски это да, это удобно. Да и MDT это по сути графическая оболочка для PowerShell )


          1. darthslider
            30.07.2015 14:17

            Ну в 2012 почти всё (если не вообще всё) это лишь графическая оболочка к PowerShell.