Дадаем 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 ўніверсальнасці

  • Install Images - Вобразы ўстаноўкі. Настроеныя, прыгожыя сістэмы, якія мы і будзем накатваць. Для выгоды можна дадаць некалькі груп па тыпе сістэм: Windows 7, XP або па тыпе задач - IT Dept, Client Dept, Servers
  • Boot Images - Вобразы загрузкі. Тое, што грузіцца на машыну ў першую чаргу і дазваляе здзяйсняць з ёй усякія дзеянні. Самай першай выявай туды ідзе той, што знаходзіцца на ўсталявальнай кружэлцы (для Windows 7 — гэта тэчка sources і файлікі install.wim або boot.wim.
    А вось далей з іх можна рабіць усякае цікавае:

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

  • Pending Devices - Прылады, якія чакаюць адабрэння адміністратара на ўстаноўку. Мы ж хочам ведаць, хто ставіць нашу хараство сабе на кампутар.
  • Multicast Transmissions - шматадрасная рассылка. Выкарыстоўваецца для ўстаноўкі адной выявы вялікай колькасці кліентаў.
  • Драйверы - драйвера. Дапамагаюць дадаць да выяваў на серверы неабходныя драйвера і пазбегнуць падобнага роду памылак:
    Дадаем WDS ўніверсальнасці
    Пасля дадання драйвераў на сервер WDS іх неабходна дадаць у патрэбную выяву загрузкі.

Так, і яшчэ - пад кожную разраднасць сістэмы трэба рабіць свае загрузнікі і ўсталёўнікі. За разнастайнасць у заапарку даводзіцца плаціць.
Па сутнасці, наш WDS ужо гатовы. Мы можам загрузіцца па сетцы з машыны і ўбачыць акенца выбару з нашымі вобразамі загрузкі.
Не буду апісваць усе этапы падрыхтоўкі ідэальнай выявы, а толькі пакіну спасылку на артыкул, па якім рабіў сам: Тыц для Windows 7 (у мяне была чамусьці ўсталявана старая версія WAIK – 6.1.7100.0, у ёй нельга было ствараць файл адказаў для Windows 7 SP1. Патрэбна самая апошняя на дадзены момант – 6.1.7600.16385)
І вось яшчэ інструкцыя па падрыхтоўцы Windows XP для WDS. Таксама не будзем падрабязна пісаць - самае цікавае ў нас у другой частцы!

2. Універсальны загрузнік

Гэта выдатна, што ў нас зараз ёсць такая сістэма. Карыстацца ёй - адно задавальненне. Але ці нельга неяк яшчэ больш аблегчыць сабе жыццё?
Жадаю ставіць праз яе Linux!
Першым чынам, як шматлікія з вас памятаюць - усталёўка раўналежна вінды і ўбунты нічым добрым для віндавога загрузніка не сканчаецца. Яго выцясняе ўніверсальны 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 (без пашырэння!) наступнага зместу:

ПА ЗМАВЧАННІ vesamenu.c32
PROMPT 0
NOESCAPE 0
ALLOWOPTIONS 0
# Timeout in units of 1/10 s
ТАЙМ-АЎТ 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 for background
MENU TITLE Choose your destiny!

LABEL wds
MENU LABEL Windows Deployment Services (7, XP, Boot images)
KERNEL pxeboot.0

LABEL local
МЕНЮ ПА ЗМАВЧАННІ
MENU LABEL Boot from Harddisk
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 для парадку.
Пачнём з самага простага:
Тэст памяці
Створым у тэчцы Boot/x64 WDSа асобную тэчку для лінуксавых файлаў, напрыклад Distr. І падтэчкі ў ёй для нашых адпаведных сістэм:
Дадаем WDS ўніверсальнасці
Спампоўваем iso mtmtest і дадаем у наш канфі загрузкі (файл default) наступныя радкі:

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

Гэтым мы загрузім нашу невялікую выяву ў памяць і адтуль жа запусцім. На жаль, з вялікімі вобразамі такое ў мяне не спрацавала.

Gaprted
Спампоўваем апошнюю версію, распакоўваем iso выяву і бярэм тры файліка - /live/vmlinuz, /live/initrd.img і /live/filesystem.squashfs
Што ж гэта за файлы? (Магу памыляцца ў фармулёўках, вялікая просьба да чытачоў паправіць калі я памылюся)

  • vmlinuz (часцей можна ўбачыць vmlinux) - сціснуты файл ядра
  • initrd.img - выява каранёвай файлавай сістэмы (неабходны мінімум для загрузкі)
  • filesystem.squashfs - самі файлы, якія выкарыстоўваюцца падчас працы

Змяшчаем першыя два файлы ў тэчку для загрузкі (у маім выпадку гэта Bootx64DistrGparted) а трэці - на IIS сервер (балазе ён ужо падняты для WSUSa).
Лірычны адступ - нажаль, прыём з загрузкай 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

Правяраем - працуе!
Ubuntu 12.04
Я дадаў два магчымыя варыянты ўстаноўкі - цалкам аўтаматычную (дзякуй карыстальніку маламуты за артыкул і ў ручным рэжыме)
Спампоўваем файлік з alternate усталёўкай і выдзіраем адтуль (як раней) два файла - initrd.gz і linux і кладзем іх у Distr/Ubuntu
Дадаем у наш pxelinux.cfg/default радкі
для цалкам ручной усталёўкі

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

А вось для аўтаматычнай усталёўкі неабходны файлік з наладамі адказаў ( пачытаць можна тут) і пакладзем мы яго на наш web-сервер. У мяне радок у загрузніку выглядае так:

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

Карыснасць на будучыню
Праглядаючы матэрыял па тэме і шукаючы адказы на свае пытанні, была выяўлена выдатны артыкул ад Alexander_Erofeev з апісаннем загрузкі Kaspersky Rescue Disk па сетцы. Нажаль, у мяне не ўзляцела. Але прылада сапраўды карысны (не-не, ды схопяць асабліва заўзятыя карыстачы чаго-небудзь гэтакага… Карысна мець такую ​​прыладу пад рукой)

Заключэнне

Дадзены артыкул уяўляе сабой агляд магчымасцяў, якія падае для вас роля WDS ад Microsoft. Калі я ладзіў гэты артыкул — планы былі грандыёзныя: найпадрабязнае HOWTO аб усіх аспектах загрузкі прадстаўленых вышэй сістэм… Але калі стаў назапашвацца матэрыял толькі па самім WDSу — нітка апавядання заводзіла мяне ў нейкія глыбіні, з якімі ніхто і не сутыкнецца, мусіць… Таму было прынята рашэнне падзяліцца кароткімі звесткамі аб тым, што можна і, па магчымасці, спасылкамі на добрыя артыкулы. Калі чытачам будзе цікава чытаць, ці мне раптам захочацца славы і грошай папоўніць скарбонку Хабрахабра артыкуламі - можна больш падрабязна спыняцца на кожным з этапаў наладкі шматмэтавага WDS сервера.
Хочацца яшчэ раз падзякаваць аўтарам Alexander_Erofeev и маламуты за іх матэрыял, які будзе цікавы ўсім без выключэння.
На Хабре натуральна ўжо былі артыкулы па гэтай жа тэматыцы, я пастараўся асвятліць пытанне з іншага пункта гледжання або дапоўніць яго: Раз и два, але не было апублікавана
Дзякуй за ўвагу.
Слава робатам!

Крыніца: habr.com

Дадаць каментар