Aggiungiamo WDS alla versatilità

Buongiorno, cari abitanti di Habr!

Lo scopo di questo articolo è scrivere una breve panoramica sulle possibilità di distribuzione di vari sistemi tramite WDS (Windows Deployment Services)
Nell'articolo verranno fornite istruzioni sintetiche per la distribuzione di Windows 7 x64, Windows XP x86, Ubuntu x64 e l'aggiunta di strumenti utili al boot di rete come Memtest e Gparted.
La storia sarà raccontata nell'ordine delle idee che mi vengono in mente. E tutto è iniziato con Microsoft...

E ora la storia:
Non molto tempo fa mi è venuta in mente l'idea sensata di distribuire sistemi al lavoro utilizzando WDS. Se qualcun altro fa il lavoro per noi, è piacevole. E se nel frattempo apprendiamo qualcosa di nuovo, è doppiamente piacevole. Non mi soffermerò troppo a lungo sulla descrizione dell'installazione del ruolo WDS: Microsoft riduce tutto a Avanti-Avanti-Avanti e ci sono montagne di articoli su questo tema. Racconterò brevemente del lavoro con le immagini di Windows, soffermandomi su quei momenti che mi hanno causato difficoltà. I sistemi non Microsoft (questo è il motivo per cui è stato scritto l'articolo) saranno descritti più in dettaglio.
Iniziamo.
Il server che fungerà da repository delle immagini e coordinatore delle azioni ha a bordo Windows Server 2008 R2. Per il corretto funzionamento di questo servizio sono necessarie alcune funzioni come DHCP e DNS. E AD - per l'inserimento delle macchine nel dominio. (Tutti questi ruoli non devono necessariamente essere su un'unica macchina, possono essere distribuiti su tutta la struttura. L'importante è che funzionino correttamente)

1. Configurazione di WDS

Aggiungiamo i ruoli necessari e andiamo velocemente alla console WDS, inizializziamo il nostro server e vediamo quanto segue:
Aggiungiamo WDS alla versatilità

  • Install Images — immagini di installazione. Sistemi configurati e belli, che utilizzeremo per l'installazione. Per comodità, possiamo aggiungere diversi gruppi in base al tipo di sistemi: Windows 7, XP o in base al tipo di compiti — IT Dept, Client Dept, Servers
  • Boot Images — immagini di avvio. Quello che si carica nella macchina per primo e permette di compiere diverse operazioni. La prima immagine è quella presente sul disco d'installazione (per Windows 7 è la cartella sources e i file install.wim o boot.wim.
    Ma da esse è possibile fare cose interessanti:
    • Immagine di cattura o immagine di scrittura — il nostro strumento principale, ci permette di fare una copia di un sistema configurato, che è stato precedentemente elaborato con sysprep ed è il nostro modello.
    • Immagine di rilevamento — consente di installare su computer che non supportano l'avvio di rete le immagini dei sistemi configurati.

  • Dispositivi in attesa — dispositivi che attendono l'approvazione dell'amministratore per l'installazione. Vogliamo sapere chi installa la nostra meraviglia sul proprio computer.
  • Trasmissioni multicast — invio multicast. Utilizzato per installare un'immagine su un gran numero di client.
  • Driver — driver. Aiutano a aggiungere i driver necessari alle immagini sul server ed evitare errori di questo tipo:
    Aggiungiamo WDS alla versatilità
    Dopo aver aggiunto i driver al server WDS, devono essere inclusi nell'immagine di avvio desiderata.

Sì, e un'altra cosa: per ogni architettura di sistema è necessario creare i propri bootloader e installer. Per la varietà nello zoo si paga.
In sostanza, il nostro WDS è già pronto. Possiamo avviare la macchina tramite rete e vedere la finestra di selezione con le nostre immagini di avvio.
Non descriverò tutti i passaggi per preparare un'immagine perfetta, ma lascerò solo un link all'articolo da cui ho fatto io stesso: Link per Windows 7 ( avevo installata, per qualche motivo, una vecchia versione di WAIK — 6.1.7100.0, con cui non era possibile creare il file di risposta per Windows 7 SP1. È necessaria l'ultima versione disponibile — 6.1.7600.16385)
Ecco un'altra istruzione per preparare Windows XP per WDS. Non entreremo nei dettagli — le cose più interessanti le abbiamo nella seconda parte!

2. Bootloader universale

È fantastico che ora abbiamo un sistema del genere. Usarlo è un vero piacere. Ma non possiamo renderci la vita ancora più facile?
Voglio installare Linux tramite questo!
Prima di tutto, come molti di voi ricorderanno, l'installazione parallela di Windows e Ubuntu non porta a nulla di buono per il bootloader di Windows. Viene sostituito dal GRUB universale.
Qui è lo stesso. Abbiamo bisogno di un bootloader universale, vi presento — PXELINUX
1) Scarichiamo l'ultima versione (al momento della scrittura di questo articolo è 5.01
Ci interessano questi file:
corepxelinux.0
com32menuvesamenu.c32 (si può usare menu.c32 per un'interfaccia testuale durante l'avvio)
com32chainchain.c32
In tutte le guide sull'uso di questo bootloader si afferma che con questi tre funziona tutto. Ho dovuto aggiungere anche ldlinux.c32, libcom.c32 e libutil_com.c32. Si può procedere in questo modo: copiare quelli raccomandati e avviare. Quale file dà errore — quel file va copiato nella cartella.
Abbiamo anche bisogno del file memdisk per avviare l'iso. Lo mettiamo anche in questa cartella.
2) Mettiamo questi nella cartella dove hai memorizzato tutte le immagini WDS. Precisamente qui — RemoteInstallBootx64 (dovremo installare solo la versione 64, per la 86 metti anche i file corrispondenti in quella cartella).
3) Rinomina pxelinux.0 in pxelinux.com
4) Creiamo la cartella pxelinux.cfg per il file di configurazione e il file stesso (già all'interno di questa cartella, ovviamente) — default (senza estensione!) con il seguente contenuto:

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 per lo sfondo
MENU TITLE Scegli il tuo destino!

LABEL wds
MENU LABEL Windows Deployment Services (7, XP, Immagini di avvio)
KERNEL pxeboot.0

LABEL locale
MENU DEFAULT
MENU LABEL Avvia dal disco rigido
LOCALBOOT 0
Tipo 0x80

5) Facciamo una copia del file pxeboot.n12 e la chiameremo pxeboot.0
6) Dopo ciò è necessario insegnare al nostro WDS di avviarsi precisamente con il caricatore universale. Nel 2008 questo si faceva tramite GUI, nel 2008 R2 — tramite linea di comando. Apriamo e digitiamo:

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

Uscita della linea di comando:
Aggiungiamo WDS alla versatilità
Tutto, avviamo e vediamo lo schermo desiderato:
Aggiungiamo WDS alla versatilità
Questo è il file di configurazione di base, può essere modificato secondo le proprie esigenze (logo aziendale, ordine di avvio e altro. Al momento può solo passare il controllo al WDS e avviarsi di nuovo dal disco rigido. Insegniamogli ad avviare Ubuntu!

3. Insegniamo all'aquilotto a volare

Cosa ci serviva lì? Ubuntu, Gparted? Aggiungiamo anche memtest per completezza.
Iniziamo con la cosa più semplice:
Memtest
Creiamo nella cartella Boot/x64 di WDS una cartella separata per i file di Linux, ad esempio Distr. E sottocartelle in essa per i nostri sistemi corrispondenti:
Aggiungiamo WDS alla versatilità
Scarichiamo iso mtmtest e aggiungiamo nel nostro file di configurazione di avvio (file default) le seguenti righe:

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

In questo modo caricheremo la nostra piccola immagine in memoria e la avvieremo da lì. Purtroppo, con immagini più grandi non ha funzionato.

Gaprted
Scarichiamo l'ultima versione, estraiamo l'immagine iso e prendiamo tre file — /live/vmlinuz, /live/initrd.img e /live/filesystem.squashfs
Che file sono questi? (Potrei sbagliarmi nelle formulazioni, grande richiesta ai lettori di correggere se sbaglio)

  • vmlinuz (può essere più comune vedere vmlinux) — file kernel compresso
  • initrd.img — immagine del file system di root (minimo necessario per l'avvio)
  • filesystem.squashfs — i file stessi utilizzati durante il funzionamento

Posizioniamo i primi due file nella cartella di caricamento (nel mio caso Bootx64DistrGparted) e il terzo sul server IIS (fortunatamente è già attivo per WSUS).
Un'interruzione lirica — purtroppo, il metodo di caricamento dell'immagine iso in memdisk con grandi distribuzioni non ha funzionato per me. Se per caso conoscete il segreto del successo, sarebbe una soluzione fantastica che permetterebbe di avviare rapidamente qualsiasi sistema da un'immagine iso.
Aggiungiamo filesystem.squashfs su IIS, affinché possa essere letto in rete (non dimenticate di aggiungere il MIME type per questa estensione)
Aggiungiamo WDS alla versatilità
Ora aggiungiamo una voce nel nostro 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

Controlliamo — funziona!
Ubuntu 12.04
Ho aggiunto due possibili opzioni di installazione — completamente automatica (grazie all'utente Malamut per articolo e in modalità manuale)
Scarichiamo il file con l'installazione alternata ed estraiamo da esso (come prima) due file — initrd.gz e linux e li mettiamo in Distr/Ubuntu
Aggiungiamo nel nostro pxelinux.cfg/default le righe
per l'installazione completamente manuale

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

Ma per l'installazione automatica è necessario un file con le impostazioni delle risposte (puoi leggere qui qui) e lo posizioneremo sul nostro server web. La mia riga nel bootloader appare così:

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

Utilità per il futuro
Esaminando il materiale sull'argomento e cercando risposte alle mie domande, è stata scoperta un'ottima articolo di Alexander_Erofeev che descrive il caricamento di Kaspersky Rescue Disk sulla rete. Purtroppo, non è riuscito a decollare per me. Ma lo strumento è davvero utile (non è raro che gli utenti particolarmente entusiasti afferrino qualcosa di simile... È utile avere uno strumento del genere a portata di mano)

Conclusione

Questo articolo fornisce una panoramica delle possibilità offerte dal ruolo WDS di Microsoft. Quando ho iniziato a scrivere questo articolo, i piani erano ambiziosi: un approfondito HOWTO su tutti gli aspetti del caricamento dei sistemi sopra menzionati... Ma, mentre accumulavo materiale solo sul WDS, la narrazione mi portava in profondità nei temi che probabilmente nessuno affronta... Pertanto, ho deciso di condividere brevi informazioni su ciò che è possibile, fornendo anche collegamenti a buoni articoli. Se ai lettori interessa leggere, o se all'improvviso desidero fama e denaro per arricchire la mia collezione di articoli su Habr, posso soffermarmi più a lungo su ciascun passaggio della configurazione del server WDS multiuso.
Voglio ringraziare ancora una volta gli autori Alexander_Erofeev e Malamut per il loro materiale, che sarà interessante per tutti senza eccezione.
Naturalmente ci sono già stati articoli su Habr che trattano lo stesso tema, ho cercato di affrontare la questione da un'altra angolazione o di integrarla: Una e due, ma non è stato pubblicato
Grazie per l'attenzione.
Evviva i robot!

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster