Добавяме универсалност към WDS

Добър ден, уважаеми жители на Хабра!

Целта на тази статия е да напише кратък преглед на възможностите за разгръщане на различни системи чрез WDS (Windows Deployment Services).
В статията ще бъдат изложени кратки инструкции за разгръщане на Windows 7 x64, Windows XP x86, Ubuntu x64 и добавяне на полезни инструменти за мрежово зареждане като Memtest и Gparted.
Историята ще бъде разказана в реда, в който идват в ума ми идеите. И всичко започна с Microsoft...

А сега самата история:
Неотдавна ми хрумна разумната идея да разгръщам системи в офиса с помощта на WDS. Ако някой върши работата вместо нас, това е приятно. А ако при това научаваме нещо ново — това е двойно приятно. Няма да се спирам подробно на описанието на инсталирането на ролята WDS — Microsoft го води до Стъпка по Стъпка и статии по тази тема — планини. Ще споделя накратко информация за работа с образи на Windows, акцентирайки на моментите, които ми бяха трудни. По-подробно ще бъдат описани системи, различни от Microsoft (поради което и беше подготвена статията).
Да започваме.
Сървърът, който ще функционира като хранилище на образи и координатор на действията, работи с Windows Server 2008 R2. За правилната работа на тази услуга са необходими роли като DHCP и DNS. И AD — за добавяне на компютри в домейна. (Не е необходимо всички тези роли да са на една машина, те могат да бъдат разпределени в цялата структура. Важно е да работят коректно.)

1. Настройка на WDS

Добавяме необходимите роли и бързо влизаме в конзолата на WDS, инициализираме нашия сървър и виждаме следното:
Добавяме универсалност към WDS

  • Образи за инсталиране — инсталационни образи. Настроените, красиви системи, които ще инсталираме. За удобство можем да добавим няколко групи по тип системи: Windows 7, XP или по тип задачи — IT отдел, клиентски отдел, сървъри.
  • Образи за зареждане — образи за зареждане. Това, което се зарежда на машината на първо място и позволява извършването на разнообразни действия. Първият образ е този на инсталационния диск (за Windows 7 — това е папката sources и файловете install.wim или boot.wim.
    А после от тях може да се правят всякакви интересни неща:
    • Образ на улавяне или образ на запис — нашият основен инструмент, позволяващ създаването на копие на настроена система, която е била предварително обработена с sysprep и служи като наш шаблон.
    • Образ на откритие — позволява да инсталирате на компютри, които не поддържат зареждане по мрежата, образи на конфигурирани системи.

  • Изчакващи устройства — устройства, чакащи одобрение от администратора за инсталация. Искаме да знаем кой инсталира нашето приложение на компютъра си.
  • Мултикаст предавания — многоадресно разпращане. Използва се за инсталиране на един образ на много клиенти.
  • Драйвери — драйвери. Помагат за добавяне на необходимите драйвери към образите на сървера и избягване на подобни грешки:
    Добавяме универсалност към WDS
    След добавяне на драйвери на сървър WDS, те трябва да бъдат добавени в желания образ за зареждане.

Да, и още — за всяка битова система трябва да се правят свои зареждачи и инсталатори. Разнообразието в зоологическата градина струва скъпо.
По същество, нашият WDS вече е готов. Можем да се заредим по мрежата от машината и да видим прозорец за избор с нашите образи за зареждане.
Няма да описвам всички етапи на подготовка на идеалния образ, а само ще оставя линк към статията, по която направих сам: Тук за Windows 7 (имах инсталирана стара версия на WAIK — 6.1.7100.0, в която не можеше да се създаде отговорен файл за Windows 7 SP1. Нужна е последната актуална версия — 6.1.7600.16385)
И ето още инструкция за подготовка на Windows XP за WDS. Също така няма да пишем подробно — най-интересното е в нашата втора част!

2. Универсален зареждач

Страхотно е, че сега имаме такава система. Ползването ѝ е удоволствие. Но може ли по някакъв начин да улесним живота си още повече?
Искам да инсталирам Linux чрез нея!
Първо, както много от вас помнят — инсталацията на Windows и Ubuntu паралелно не завършва по добър начин за Windows зареждача. Той бива изместен от универсалния GRUB.
Тук е същото. Нуждаем се от универсален зареждач, да се запознаем — това е PXELINUX
1) Изтеглете последната версия (в момента на написване на статията това е 5.01
Интересуват ни тези файлове:
corepxelinux.0
com32menuvesamenu.c32 (може да вземете menu.c32 за текстов интерфейс при зареждане)
com32chainchain.c32
Във всички ръководства за използване на този зареждач се казва, че с тези три всичко работи. Трябваше да добавя и ldlinux.c32, libcom.c32 и libutil_com.c32. Може да постъпите така — да копирате препоръчаните и да стартирате. Който файл ще се оплаква — него да копирате в папката.
Също така, за зареждане на iso е необходим файл memdisk. Поставяме го също в тази папка.
2) Поставяме ги в папка, където съхранявате всички образи на WDS. Става дума за RemoteInstallBootx64 (при нас ще инсталираме само 64, за 86 поставете същите файлове и в тази папка също.)
3) Преименувайте pxelinux.0 на pxelinux.com
4) Ще създадем папка pxelinux.cfg за файл с конфигурация и самия файл (естествено, вече в тази папка) — default (без разширение!) с следното съдържание:

DEFAULT vesamenu.c32
PROMPT 0
NOESCAPE 0
ALLOWOPTIONS 0
# Timeout in units of 1/10 s
TIMEOUT 300
MENU MARGIN 10
MENU ROWS 16
MENU TABMSGROW 21
MENU TIMEOUTROW 26
MENU COLOR BORDER 30;44 #20ffffff #00000000 none
MENU COLOR SCROLLBAR 30;44 #20ffffff #00000000 none
MENU COLOR TITLE 0 #ffffffff #00000000 none
MENU COLOR SEL 30;47 #40000000 #20ffffff
MENU BACKGROUND pxelinux.cfg/picture.jpg #picture 640×480 за фона
MENU TITLE Изберете своята съдба!

LABEL wds
MENU LABEL Windows Deployment Services (7, XP, образи за зареждане)
KERNEL pxeboot.0

LABEL local
MENU DEFAULT
MENU LABEL Зареждане от твърд диск
LOCALBOOT 0
Type 0x80

5) Ще направим копие на файла pxeboot.n12 и ще го наречем pxeboot.0
6) След това е необходимо да научим нашия WDS да зарезервира именно с универсалния зареждач. В 2008 това ставаше през GUI, в 2008 R2 — през командния ред. Отваряме и въвеждаме:

  • wdsutil /set-server /bootprogram:bootx64pxelinux.com /architecture:x64
  • wdsutil /set-server /N12bootprogram:bootx64pxelinux.com /architecture:x64

Изход от командния ред:
Добавяме универсалност към WDS
Всичко, зареждаме и виждаме желаното екрана:
Добавяме универсалност към WDS
Това е базовият конфиг, който може да бъде коригиран според изискванията ви (логото на компанията, реда на зареждане и др. В момента той може само да предава управлението на WDS и да се зарежда отново от твърдия диск. Нека го научим да зарежда Ubuntu!

3. Учим орленкото да лети

Какво ни трябваше там? Ubuntu, Gparted? Ще добавим и memtest за ред.
Започваме с най-простото:
Memtest
Създаваме в папка Boot/x64 на WDS отделна папка за линуксовите файлове, например Distr. И в нея под папки за съответствующите ни системи:
Добавяме универсалност към WDS
Изтегляме iso mtmtest и добавяме в нашия конфиг за зареждане (файла default) следните редове:

label MemTest
menu label MemTest86+
Kernel memdisk iso raw
initrd Linux/mt420.iso

С това ще заредим нашия малък образ в паметта и оттам ще го стартираме. За съжаление, с по-големи образи не успях.

Gparted
Изтегляме последната версия, разархивираме iso образ и вземаме три файла — /live/vmlinuz, /live/initrd.img и /live/filesystem.squashfs
Какво са тези файлове? (Може да греша в формулировките, голяма молба към читателите е да поправят, ако сгреша)

  • vmlinuz (по-често може да се види vmlinux) — компресиран файл на ядрото
  • initrd.img — образ на кореновата файлова система (необходим минимум за зареждане)
  • filesystem.squashfs — самите файлове, използвани в процеса на работа

Поставяме първите два файла в папката за зареждане (в моя случай това е Bootx64DistrGparted), а третият - на IIS сървър (за щастие, той вече е активиран за WSUS).
Личен отстъп - за съжаление методът за зареждане на iso образа в memdisk с големи дистрибуции не проработи за мен. Ако случайно знаете тайната на успеха - това ще бъде прекрасно решение, което ще позволи бързо зареждане на всяка система от iso образ.
Добавяме filesystem.squashfs на IIS, за да може да се чете по мрежата (не забравяйте да добавите MIME етикет за това разширение)
Добавяме универсалност към WDS
Сега добавяме запис в нашия pxelinux.cfg/default:

LABEL GParted Live
MENU LABEL GParted Live
KERNEL Distr/Gparted/vmlinuz
APPEND initrd=Distr/Gparted/initrg.img boot=live config union=aufs noswap nopromt vga=788 fetch=http://192.168.10.10/Distr/Gparted/filesystem.squashfs

Проверяваме - работи!
Ubuntu 12.04
Добавих два възможни варианта за инсталация - напълно автоматична (благодарение на потребителя Malamut за статия и в ръчен режим)
Сваляме файла с алтернативната инсталация и изваждаме оттам (както преди) два файла - initrd.gz и linux и ги слагаме в Distr/Ubuntu
Добавяме в нашия pxelinux.cfg/default редовете
за напълно ръчна инсталация

LABEL Ubuntu
KERNEL Distr/Ubuntu/linux
APPEND priority=low vga=normal initrd=Distr/Ubuntu/initrd.gz

А за автоматичната инсталация е необходим файл с настройки на отговорите (можете да прочетете тук) и ще го поставим на нашия уеб сървър. У мен редът в зареждача изглежда така:

LABEL Ubuntu Auto Install
KERNEL Distr/Ubuntu/linux
APPEND initrd=Distr/Ubuntu/initrd.gz ksdevice=eth0 locale=bg_BG.UTF-8 console-setup/layoutcode=bg url=http://192.168.10.10/Distr/Ubuntu/preseed.txt

Полезност за бъдещето
Преглеждайки материала по темата и търсейки отговори на своите въпроси, беше открита прекрасна статия от Alexander_Erofeev с описание на зареждането на Kaspersky Rescue Disk по мрежата. За съжаление, не проработи при мен. Но инструментът наистина е полезен (не, не, че особено ентусиазирани потребители няма да хванат нещо подобно... Добре е да имате такъв инструмент под ръка)

Заключение

Тази статия представлява обзор на възможностите, предоставяни от ролята WDS на Microsoft. Когато започвах да пиша тази статия, плановете бяха грандиозни: подробен HOWTO за всички аспекти на зареждането на представените по-горе системи… Но когато материалът започна да се натрупва само за WDS, потокът на разказа ме отведе в някакви дълбини, с които никой не би се сблъскал, вероятно… Затова беше взето решението да споделя кратки сведения за това какво е възможно и, доколкото е възможно, с връзки към добри статии. Ако на читателите им е интересно да четат или аз случайно се стремя към слава и пари, за да попълня сметката на Хабрахабра с статии, можем по-подробно да се спрем на всяка от стъпките по настройка на многоцелевия WDS сървър.
Още веднъж искам да благодаря на авторите Alexander_Erofeev и Malamut за техния материал, който ще бъде интересен за всички без изключение.
На Хабра естествено вече имаше статии по същата тема, опитах се да осветя въпроса от друга гледна точка или да го допълня: Едно и два, но не бяха публикувани
Благодаря за вниманието.
Слава на роботите!

Източник: habr.com

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster