The Desktop FilesFunzionalità avanzata in WDS

Wes Miller

Indice

Gestione della riga di comando
Archivio immagini
Multicast
Registrazione WDS
Altri problemi
Conclusioni

Nei due articoli precedenti di questa rubrica, ho esplorato i Servizi di distribuzione Windows (WDS). Ho iniziato guardando la cronologia degli strumenti di distribuzione Microsoft basati su Pre-boot eXecution Environment (PXE), seguita da una panoramica su WDS. Questo mese indagherò su alcuni argomenti avanzati:

WDSUtil (la potente utilità della riga di comando per WDS), Archivio immagini WDS, Registrazione WDS e si lavorerà con la funzionalità multicast in WDS per Windows Server® 2008.

Quando i Servizi di installazione remota (RIS) sono stati forniti in Windows® 2000 e Windows Server 2003, non vi era la ricchezza di funzionalità che molti avrebbero desiderato. Si sono distinte in particolare tre aree:

  • Prestazione (maggiore distribuzione scalabile)
  • Registrazione/Controllo
  • Automazione della riga di comando

Leggendo questo articolo, è possibile notare che con la versione iniziale di WDS e più specificamente con WDS in Windows Server 2008, per ciascuno di questi fronti si sono compiuti progressi significativi.

Gestione della riga di comando

Come sottolineato il mese scorso, WDS ha rilasciato un sistema di gestione notevolmente migliorato. Inoltre, cosa ancora più importante per la maggior parte delle aziende, WDS ha fornito una nuova utilità della riga di comando per la gestione, WDSUtil.exe (vedere Figura 1). WDSUtil è installato con il componente facoltativo WDS su Windows Server 2003 (SP1+WDS o SP2) e con WDS Role su Windows Server 2008.

fig01.gif

Figura 1 Impostazione dell'opzione di rilevamento dell'architettura con WDSUtil su Sì (fare clic sull'immagine per ingrandirla)

WDSUtil è un'utilità sorprendentemente potente, ma è piuttosto complicata. In effetti, tutto ciò che è possibile fare tramite Microsoft® Management Console (MMC), può essere fatto tramite WDSUtil. Infatti, poichè è anche una delle maniere migliori per fare una diagnosi in caso di problemi, è consigliabile eseguire:

wdsutil /get-server /show:config

I risultati rispecchiano completamente ciò che si vedrebbe nell'intera MMC di WDS, nonostante WDSUtil possa emetterlo in un formato facilmente consultabile che è possibile poi esportare in un file di testo.

Le informazioni non sono sufficienti? È consigliabile in tal caso eseguire il comando riportato di seguito, che restituisce ulteriori valori:

wdsutil /get-server /show:all /detailed

È possibile fermare e riavviare il server WDS eseguendo:

wdsutil /stop-server
wdsutil /start-server

Un riferimento ai comandi per WDSUtil si può trovare all'indirizzo go.microsoft.com/fwlink/?LinkId=112194. Se si preferisce, è possibile inoltre scaricarne una versione .chm (assieme a tutti i documenti WDS 2008) all'indirizzo go.microsoft.com/fwlink/?LinkId=89381.

Con RIS, non vi era una maniera facile (sempre che l'utente non fosse un guru di Active Directory® Service Interfaces) di scoprire tramite la riga di comando se un indirizzo MAC o GUID specifico fosse associato o meno a un Machine Account Object (MAO) in Active Directory. Con WDS­Util, è possibile eseguire una query basata su entrambi.

I GUID possono confondere, poiché è possibile inserirli come stringhe binarie o come una stringa GUID e la sola differenza è l'ordinamento dei byte e l'assenza di trattini. Gli indirizzi MAC possono essere inseriti con o senza trattini utilizzando una delle seguenti righe di codice:

wdsutil /get-device /id:01-23-45-67-89-AB
wdsutil /get-device /id:0123456789AB

È possibile ottenere informazioni sul dispositivo tramite stringhe binarie utilizzando questo comando:

wdsutil /get device /id:ACEFA3E81F20694E953EB2DAA1E8B1B6

Altrimenti, è possibile ottenere informazioni sul dispositivo tramite stringhe GUID utilizzando questo comando:

wdsutil /get device /id:E8A3EFAC-201F-4E69-953-B2DAA1E8B1B6

Molti computer sono probabilmente capaci di eseguire la versione a 64 bit di Windows, ma alcuni, sfortunatamente, non riportano correttamente la loro architettura. È possibile che WDS tenti di determinare se un sistema sia in grado o meno di supportare i 64 bit eseguendo un piccolo programma netboot fornito come parte di WDS. Come illustra la Figura 1, è possibile fare ciò con il seguente:

wdsutil /set-server /architecturediscovery:yes

Infatti, il comando set-server di WDSUtil permette di configurare numerose impostazioni del server. Per vedere le opzioni eseguire il comando:

wdsutil /set-server /?

Se è stato aggiornato un server WDS Windows Server 2003 a Windows Server 2008, è possibile convertire qualsiasi immagine RIPrep a immagini Windows Imaging Format (WIM) eseguendo:

WDSUtil /convert-RIPrepImage

Nonostante WDSUtil sia in grado di convertire le immagini RIPrep, qualsiasi restante immagine RISetup (installazioni codificate in WDS tradizionale o RIS/legacy) non può essere convertita.

La forza di WDSUtil risiede nella sua capacità di automatizzare le attività ripetitive. I comandi nella Figura 2 forniscono un'idea delle funzionalità di WDSUtil. Qualora si stiano implementando nuovi server WDS, aggiungendo o modificando immagini attraverso più server, amministrando la propria infrastruttura multicast o specificando quale programma di avvio di rete utilizzare per un client boot specifico, WDSUtil fornisce qualcosa di assolutamente potente che non era precedentemente disponibile nei RIS.

Figura 2 comandi WDSUtil

Comando Descrizione
/add Aggiunge periferiche, immagini o gruppi di immagine.
/approve-AutoAddDevices Approva le periferiche di aggiunta automatica in sospeso e imposta le relative informazioni di configurazione.
/convert-RiprepImage Converte un'immagine RIPrep legacy a un'immagine WIM.
/copy-Image Duplica un'immagine all'interno di un archivio immagini.
/delete-AutoAddDevices Elimina tutti o alcuni dei dispositivi di aggiunta automatica in sospeso.
/disable Disabilita un server WDS o un server di trasporto.
/disconnect-Client Disconnette un client da una trasmissione multicast o da uno spazio dei nomi.
/enable Abilita un server WDS o un server di trasporto.
/export-Image Come il comando /export in ImageX, anche questo esporta un'immagine esistente da un archivio immagini a un'immagine WIM.
/get Richiede proprietà e attributi per un dispositivo, un'immagine, un gruppo di immagini, un server WDS o un server di trasporto.
/initialize-Server Configura un server WDS per l'uso dopo la prima installazione.
/new Crea immagini di acquisizione o di individuazione, le trasmissioni multicast e gli spazi dei nomi.
/progress Visualizza informazioni sullo stato di esecuzione di un dato comando.
/reject-AutoAddDevices Rifiuta tutti o alcuni dispositivi di aggiunta automatica in sospeso.
/remove Rimuove immagini, gruppi di immagini, trasmissioni multicast e spazi dei nomi.
/replace-Image Sostituisce (sovrascrive) un'immagine con un'immagine nuova.
/set Imposta proprietà e attributi per un dispositivo, un'immagine, un gruppo di immagini, un server WDS o un server di trasporto.
/start Inizializza un server WDS o un server di trasporto.
/stop Termina un server WDS o un server di trasporto.
/uninitialize-Server Reimposta le modifiche fatte al server durante l'inizializzazione del server (riportandolo allo stato non configurato).
/update-ServerFiles Aggiorna i file nella condivisione REMINST del server con le versioni più recenti dalla directory System32\RemInst del server.
/verbose Visualizza un output dettaglaito mentre durante l'esecuzione di un dato comando.

Archivio immagini

Il mese scorso ho accennato al modo in cui Archiviazione istanza singola (SIS), utilizzata dai RIS per una memorizzazione più efficiente dei file su disco, è stata abbandonata in WDS. Ora, tutta le immagini in modalità nativa (WIM), indipendentemente dal sistema operativo, sono conservate in Archivio immagini WDS. Come ho indicato negli articoli precedenti, quella funzionalità di singola istanza ha permesso di risparmiare spazio nei file .wim quando il volume delle immagini aveva file associati. Archivio immagini WDS funziona alla stessa maniera. Infatti, utilizza le funzionalità WIM per memorizzare le immagini.

Per lavorare con Archivio immagini, è necessario disporre almeno di un Gruppo immagini; l'inizializzazione WDS generalmente richiede di crearne uno. È possibile creare anche un Gruppo immagini nuovo aggiungendo un'Immagine di installazione e l'immagine sarà aggiunta al gruppo (vedere Figura 3).

fig03.gif

Figura 3 Creazione di un nuovo Gruppo immagini (fare clic sull'immagine per ingrandirla)

Dunque che cos'è Archivio immagini? All'interno della directory RemoteInstall, nella directory delle immagini, sono contenute delle directory per ogni Gruppo immagini creato. Come illustra la Figura 4, esiste un file .wim per ciascuna Immagine di installazione importata nel Gruppo immagini ed un solo file .rwm (risorsa WIM).

fig04.gif

Figura 4 Contenuti di un Gruppo immagini (fare clic sull'immagine per ingrandirla)

Guardare attentamente i file nella Figura 4. Questo Gruppo immagini è composto da:

  • install.wim (Windows Server 2008, Standard Edition)
  • install-(2).wim (Windows Server 2008, Enterprise Edition)
  • install-(3).wim (Windows Server 2008, Datacenter Edition)
  • install-(4).wim (Windows Server 2008, Standard Edition (Server Core)
  • install-(5).wim (Windows Server 2008, Enterprise Edition (Server Core)
  • install-(6).wim (Windows Server 2008, Datacenter Edition (Server Core)

Si paragonino ora le dimensioni di quei file con quelli dalla MMC (illustrati nella Figura 5). Le dimensioni di ciascun file .wim nella Figura 4 rappresentano una frazione delle dimensioni del file Res.rwm. Perché? Bene, per salvare lo spazio, i file .wim illustrati sono semplicemente degli stub di file effettivi. Contengono i metadati per ripristinare il file .wim, ma in realtà non contengono le risorse del file. Tutte le risorse del file in un Gruppo immagini sono memorizzate nel file .rwm per quel determinato gruppo.

fig05.gif

Figura 5 Immagini illustrate in Server Manager (fare clic sull'immagine per ingrandirla)

Per modificare un'Immagine di installazione in un Archivio immagini, è possibile esportare l'immagine, apportare le proprie modifiche e sostituire poi l'immagine (o importarla nuovamente) oppure interagire con essa disattivando l'appropriata Immagine di installazione da MMC e apportando le modifiche attraverso il montaggio e il cambiamento del file .wim.

Un problema frequente dei RIS è sempre stato la replica delle immagini. Quando vengono copiati i file SIS in rete, l'attributo SIS si perde essendo un attributo NTFS. Questo significa avere 40GB di immagini RISetup e RIPrep e replicarle in un altro server e anche se il SIS Groveler li aveva ridotti fino a 5GB, si stanno tuttavia replicando 40GB in rete. Non è questo il caso con Archivio immagini WDS. Infatti, a causa dell'architettura di Archivio immagini, è possibile salvare i 40GB su un server File system distribuito (DFS) e utilizzare Replica DFS (DFS-R) per replicarlo da sito al sito.

Le relative specifiche variano a seconda della versione di WDS. Per Windows Server 2003, vedere il Capitolo 7, "Lavorare con le immagini," nella documentazione scaricabile all'indirizzo go.microsoft.com/fwlink/?LinkId=81031. Per Windows Server 2008, vedere "Memorizzazione e replica di immagini utilizzando DFS" all'indirizzo go.microsoft.com/fwlink/?LinkId=121960. Poiché le risorse sono tutte memorizzate nel file .rwm, anche quando si copia un Gruppo immagini da un server a un altro, la quantità di dati che attraversa la rete rappresenta una frazione di ciò che vi sarebbe se ogni file .wim intero fosse trasmesso (o nella vecchia architettura SIS RIS).

Allora, quando creare un Gruppo immagini nuovo e quando utilizzarne uno vecchio? Le regole sono generalmente le stesse per un file .wim. Nonostante sia possibile mettere un'immagine di Windows XP Professional SP3 in un Gruppo Immagini composto per la maggior parte da immagini di Windows Server 2008, questo non avrebbe molto senso, dato che non si sta risparmiando molto spazio. Così come con i file .wim, generalmente si desidera avere un Gruppo immagini per almeno:

  • ogni versione specifica di Windows (dove una versione è sia uno SKU (Windows XP Professional) e una revisione Service Pack (SP3)).
  • Windows Server 2003 e versioni successive: ogni versione in lingua locale (non l'interfaccia utente multilingue). Prima di Windows Vista®, le versioni localizzate erano binari interamente diversi, dunque non erano in grado di eseguire una memorizzazione corretta in un file .wim in termini di singole istanze.
  • ciascun Service Pack di ogni versione. Sebbene sia possibile memorizzare immagini Windows Server 2008 insieme ad immagini Windows Vista SP1, è necessario considerare se ciò ha o meno un senso funzionale nella propria organizzazione.

Archivio immagini, anche più del precedente SIS, svolge un buon lavoro di conservazione dello spazio, sia su disco che in rete, e non ha bisogno di particolare manutenzione per un corretto funzionamento.

Uno dei punti più deboli dei RIS consisteva nella mancanza di scalabilità. La distribuzione multicast ha come ultimo scopo la rettifica di quanto detto in precedenza. Gli utenti pensano spesso al multicast come a una distribuzione più "veloce", ma in realtà non è più veloce, bensì "maggiore". È possibile distribuire più sistemi tramite RIS. Infatti, i RIS potrebbero gestire la distribuzione simultanea di circa 75 sistemi.

Ma molto prima che si raggiungesse questo obiettivo, le prestazioni erano compromesse e ogni singola installazione impiegava progressivamente più tempo. Ancor peggio, all'aumentare del numero di installazioni, aumentava anche il rischio di errore. Allo stesso tempo, installazioni multiple hanno saturato la rete con il traffico di rete SMB (Server Message Block) (in modo che durante la distribuzione, i dipendenti possono non essere in grado di accedere alle risorse di rete critiche come Microsoft Exchange Server).

Il multicast scala i numeri di distribuzione. Se si stanno distribuendo quattro server o un centro congressi con 100 sistemi, il multicast permette di completare quella distribuzione senza perdere troppo tempo e senza saturare la rete. Sebbene sia possibile utilizzare il multicast per eseguire la distribuzione a un solo sistema, i benefici della scalabilità si vedono solamente quando più sistemi ascoltano la trasmissione.

Per utilizzare il multicast, è necessario avere router che supportano il multicast. Generalmente, questo significa che lo snooping IGMP (Internet Group Management Protocol) dovrebbe essere attivato. È necessario avere anche Windows PE 2.1 (Windows Server 2008 RTM o Windows Vista SP1), poichè la versione (2.0) fornita con Windows Vista RTM non è in grado di ricevere una trasmissione multicast.

Inoltre, è necessario assicurarsi di disporre di più server WDS (o altro multicast) sulla stessa rete, per poter specificare un intervallo di indirizzi IP personalizzato. Questo può essere facilmente modificato tramite MMC WDS facendo clic con il pulsante destro del mouse sul server, facendo clic su Proprietà, quindi sulla scheda Impostazione di rete.

Quando si esegue un multicast broadcast, il server multicast può sia adattarsi alla velocità con cui il client più lento può ricevere la trasmissione oppure può regolare la velocità a un livello più alto e lasciare i client che non riescono a stare al passo. Per l'affidabilità, WDS verrà eseguito alla velocità del client più lento a ricevere la trasmissione.

Nel caso in cui la prestazione della trasmissione è più lenta del previsto, è consigliabile eseguire wdsutil /Get-Multicast­Transmission/­Show-clients. Questo rivela il client che limita la trasmissione. È possibile poi disabilitare quel client, ritornando così a utilizzare SMB anziché multicast. Uno script di esempio in grado di disabilitare automaticamente i client lenti si trova all'indirizzo go.microsoft.com/fwlink/?LinkId=121961.

Per creare una trasmissione multicast, è possibile fare clic col pulsante destro del mouse su un'Immagine di installazione e scegliere Crea trasmissione multicast, oppure è possibile fare clic col pulsante destro del mouse su Trasmissioni multicast nella console WDS e scegliere Crea trasmissione multicast. Nel momento in cui si crea una trasmissione multicast, è possibile creare sia un Multicast automatico o un Multicast pianificato. Il Multicast automatico è utile quando si hanno diversi client che si connettono regolarmente, avendo tutti bisogno della stessa identica immagine; i client nuovi saranno automaticamente aggiunti alla trasmissione in corso che era iniziata per il primo client che richiedeva un'immagine di installazione. Il Multicast pianificato permette di impostare una dimensione di gruppo che, se raggiunta, farà iniziare una trasmissione.

È possibile inoltre impostare la trasmissione affinché inizi a un'ora specificata. Una volta che i client utilizzano la trasmissione multicast, è possibile visualizzarli facendo clic sul nome dell'immagine. Nel riquadro a destra, è possibile vedere le specifiche dei client connessi alla trasmissione.

Generalmente, gli utenti finali utilizzano il multicast dal client di installazione WDS. Esiste, tuttavia, un'utilità riga di comando, denominata WDSMCast, che è fornita nel Windows Automated Installation Kit (WAIK) di Windows Server 2008 e permette di richiedere un file .wim tramite una trasmissione multicast da WDS. Il file .wim deve essere trasferito completamente e applicato al client, in modo da poter assicurare lo spazio su disco adeguato per l'immagine da memorizzare e applicare. Il prossimo mese, discuterò come poter integrare WDSMCast nel proprio processo di distribuzione personalizzato.

Registrazione WDS

WDS è capace di eseguire considerevoli registrazioni e tracce, nonostante la maggior parte sia disabilitata per impostazione predefinita allo scopo di ripsarmiare spazio. Esistono due tipi di registro eventi (quando un client scrive sul Registro eventi di Windows e quando scrive per tenere traccia delle altre funzionalità WDS.

In Windows Server 2008, tuttavia, WDS esegue un certo numero di log per impostazione predefinita Questi registri sono disponibili in Strumenti di amministrazione | Visualizzatore eventi. I registri WDS sono visibili nel Visualizzatore eventi in Registri applicazioni e servizi | Microsoft | Windows | Diagnostica di servizi di distribuzione. Questi sono gli stessi registri che sono visibili al momento di osservare i ruoli WDS nella MMC (vedere Figura 6).

fig06.gif

Figura 6 Visualizzazione degli eventi WDS in Server Manager (fare clic sull'immagine per ingrandirla)

La registrazione del client WDS (visibile nei Registri eventi nella Figura 6) può essere avviata eseguendo WDSUtil con i seguenti argomenti:

wdsutil /wdsclientlogging /enabled:yes /logginglevel:info

È inoltre possibile attivare la traccia di registrazione su diversi sottocomponenti WDS. Per configurare la traccia, è necessario impostare un valore di registro DWORD conforme nella/e chiave/i del Registro di sistema, illustrato nella Figura 7. Tutte le tracce di registrazione sono memorizzate in \Windows\tracing. Per iniziare, è necessario riavviare il componente appropriato per la registrazione.

Figura 7 Preparazione della traccia di log

Componente WDS Chiave del registro di sistema Valore del registro di sistema Nome del log
Server HKLM\SOFTWARE\Microsoft\Tracing\WDSServer\EnableFileTracing 1 wdsserver.log
Multicast HKLM\System\CurrentControlSet\Services\WDSServer\Providers\WDSMC\TraceDisabled 0 wdsserver.log
Componenti di gestione HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Tracing\WDSMGMT\EnableFileTracing 1 wdsmgmt.log
MMC HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Tracing\WDSMMC\EnableFileTracing 1 wdsmmc.log

WDS possiede inoltre contatori di prestazione (descritti all'indirizzo go.microsoft.com/fwlink/?LinkId=121962) da poter monitorare in caso di problemi di prestazione del sistema (o per eseguire le analisi di prestazione del sistema in anticipo). Come indicato in precedenza, è possibile ottenere più informazioni dettagliate in caso si verifichino problemi utilizzando le opzioni /detailed, /verbose o /progress con WDSUtil.

In caso di problemi con i client WDS che sono connessi o che interagiscono con un server WDS, Microsoft Network Monitor (Netmon) è uno strumento eccellente per eseguire il debug dei problemi. Network Monitor è disponibile per il download all'indirizzo go.microsoft.com/fwlink/?LinkId=121491.

Altri problemi:

Ho riscontrato un paio di problemi che vale la pena menzionare. Il primo riguarda la memoria (ricordiamoci che WDS si basa essenzialmente su Windows PE 2.x). Ciò significa che i client WDS hanno bisogno di almeno 384MB di RAM e in uno scenario reale si dovrebbero garantire 512MB per ottenere una prestazione ottimale. Bisogna ricordare anche che Windows PE 2.x non può essere lanciato su sistemi non ACPI (Advanced Configuration and Power Interface) e ciò non significa sempre hardware vecchio. Esistono report di sistemi abbastanza recenti che non supportano ACPI.

Tali sistemi non supportano nemmeno Windows Vista o Windows Server 2008. Per i sistemi che non supportano ACPI, vi è la necessità di mantenere Windows Server 2003 o un server WDS o RIS precedente disponibile con quei client prestaged, oppure di installare Windows tramite un meccanismo non PXE.

Bisogna ricordare infine che se si desidera inizializzare Windows PE 1.x dal proprio server, è necessario inoltre utilizzare Windows Server 2003 o server WDS o RIS, così come WDS in Windows Server 2008 non può inizializzare un'immagine Windows PE 1.x (RAMDisk o PXE).

Fino ad ora ho trattato la cronologia WDS, i principi di base e gli argomenti avanzati. Il prossimo mese daremo un'occhiata ad alcuni scenari WDS personalizzati, più nello specifico, come sia possibile interagire con WDS e modificarlo per eseguire le attività necessarie, spesso senza utilizzare procedura di installazione WDS esistente.

Wes Miller è un Senior Technical Product Manager di CoreTrace (www.CoreTrace.com) di Austin, Texas. In passato ha lavorato per Winternals Software e per Microsoft in qualità di Program Manager. È possibile contattarlo all'indirizzo technet@getwired.com.