Os arquivo da área de trabalhoFuncionalidade avançada no WDS

Wes Miller

Conteúdo

Gerenciamento de linha de comando
Armazenamento de imagens
Multicast
Log do WDS
Outros problemas

Conclusão

Nas duas partes anteriores desta coluna, explorei o WDS (Serviços de Implantação do Windows). Comecei examinando o histórico das ferramentas de implantação baseadas no PXE (Pre-Boot eXecution Environment) da Microsoft e apresentei uma visão geral do WDS. Este mês, falarei sobre tópicos mais avançados:

WDSUtil (o poderoso utilitário de linha de comando para o WDS), o Armazenamento de Imagens do WDS, o log do WDS e como trabalhar com a funcionalidade multicast no WDS para o Windows Server® 2008.

Quando foi lançado com o Windows® 2000 e o Windows Server 2003, o RIS (Serviços de Instalação Remota) não era tão rico em recursos quanto se desejava. Três áreas em especial se destacam:

  • Desempenho (implantação mais escalonável)
  • Log/auditoria
  • Automação de linha de comando

Você verá no resto da coluna deste mês que, com o lançamento inicial do WDS e, mais especificamente, com o WDS no Windows Server 2008, houve grandes avanços em cada uma dessas frentes.

Gerenciamento de linha de comando

No mês passado, observei que o WDS fornecia um console de gerenciamento bastante aperfeiçoado. Mas, ainda mais importante para a maioria das empresas, o WDS fornecia um utilitário de linha de comando para gerenciamento, o WDSUtil.exe (consulte a Figura 1). O WDSUtil é instalado com o Componente Opcional do WDS no Windows Server 2003 (SP1 + WDS ou SP2) e com a Função do WDS no Windows Server 2008.

fig01.gif

Figura 1 Configurando a opção de descoberta de arquitetura como yes no WDSUtil (clique na imagem para ampliá-la)

O WDSUtil é um utilitário extremamente poderoso, mas complexo. Praticamente tudo que você pode fazer usando o Microsoft® Management Console (MMC), e mais, pode ser feito no WDSUtil. Na verdade, como um ótimo exemplo disso, que também é uma das melhores formas de diagnosticar problemas, tente executar:

wdsutil /get-server /show:config

Os resultados refletem quase totalmente o que você veria no WDS MMC inteiro, embora o WDSUtil gere a mesma saída em um formato de fácil leitura que você pode enviar para um arquivo de texto.

Pouca informação? Experimente o seguinte comando em vez disso, que retorna ainda mais:

wdsutil /get-server /show:all /detailed

E você pode parar e reiniciar o servidor do WDS, executando:

wdsutil /stop-server
wdsutil /start-server

Você encontrará uma referência de comando para o WDSUtil em go.microsoft.com/fwlink/?LinkId=112194. Se preferir, também pode baixar uma versão .chm (com todos os documentos do WDS 2008) em go.microsoft.com/fwlink/?LinkId=89381.

Com o RIS, nada era fácil, a menos que você fosse um guru nas interfaces do Serviço do Active Directory®, para descobrir pela linha de comando se um endereço MAC específico ou GUID estava associado ao MAO (Objeto da conta do computador) no Active Directory. Com o WDSUtil, você pode fazer a consulta com base em qualquer um dos dois.

Os GUIDs podem ser confusos, já que é possível inseri-los como cadeias de caracteres binárias ou uma cadeia de caracteres do GUID, e a única diferença é a ordem dos bytes e a ausência de hífens. Os endereços MAC podem ser inseridos com ou sem hífens usando as seguintes linhas de código:

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

Você pode obter informações do dispositivo pela cadeia de caracteres binária usando este comando:

wdsutil /get device /id:ACEFA3E81F20694E953EB2DAA1E8B1B6

Ou você pode obter informações pela cadeia de caracteres do GUID usando este comando:

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

Muitos de nossos computadores provavelmente são capazes de executar a versão de 64 bits do Windows, mas alguns, infelizmente, não relatam sua arquitetura corretamente. Você pode deixar que o WDS tente determinar se um sistema é capacitado para x64 executando um pequeno programa de inicialização de rede fornecido como parte do WDS. Como mostra a Figura 1, você pode fazer isso com o seguinte:

wdsutil /set-server /architecturediscovery:yes

Na verdade, o comando WDSUtil /set-server permite definir um grande número de configurações de servidor. Para ver as possibilidades, execute o comando:

wdsutil /set-server /?

Se você atualizou um servidor do WDS do Windows Server 2003 para o Windows Server 2008, poderá converter qualquer imagem RIPrep para o formato WIM (Windows Imaging) executando:

WDSUtil /convert-RIPrepImage

Embora o WDSUtil possa converter imagens RIPrep, quaisquer imagens RISetup restantes (instalações de script do WDS herdadas/RIS tradicional) não poderão ser convertidas.

O poder do WDSUtil está na capacidade de automatizar tarefas repetitivas. Os comandos na Figura 2 dão uma idéia dos recursos do WDSUtil. Se está implantando novos servidores WDS, adicionando ou modificando imagens em vários servidores, administrando sua infra-estrutura multicast ou especificando qual programa de inicialização de rede será usado para um determinado cliente de inicialização, o WDSUtil fornece ótimos recursos que antes não estavam disponível no RIS.

Figura 2 Comandos do WDSUtil

Comando Descrição
/add Adiciona dispositivos, imagens ou grupos de imagens.
/approve-AutoAddDevices Aprova dispositivos de adição automática pendentes e permite definir informações de configuração para eles.
/convert-RiprepImage Converte uma imagem RIPrep herdada em uma imagem WIM.
/copy-Image Duplica uma imagem dentro de um armazenamento de imagens.
/delete-AutoAddDevices Exclui todos dispositivos ou determinados dispositivos de adição automática pendentes.
/disable Desabilita um Servidor do WDS ou Servidor de Transporte.
/disconnect-Client Desconecta um cliente de uma transmissão multicast ou um namespace.
/enable Habilita um Servidor do WDS ou Servidor de Transporte.
/export-Image Com /export no ImageX, exporta uma imagem existente do armazenamento de imagens para uma imagem WIM.
/get Obtém propriedades e atributos para um dispositivo, imagem, grupo de imagens, servidor do WDS ou servidor de transporte.
/initialize-Server Configura um Servidor do WDS para ser usado após a instalação inicial.
/new Cria imagens de captura ou descoberta, transmissões multicast e namespaces.
/progress Exibe o progresso enquanto um determinado comando é executado.
/reject-AutoAddDevices Rejeita todos dispositivos ou determinados dispositivos de adição automática pendentes.
/remove Remove imagens, grupos de imagens, transmissões multicast e namespaces.
/replace-Image Substitui (sobrescreve) uma imagem por outra.
/set Define propriedades e atributos para um dispositivo, imagem, grupo de imagens, servidor do WDS ou servidor de transporte.
/start Inicia um Servidor do WDS ou Servidor de Transporte.
/stop Interrompe um Servidor do WDS ou Servidor de Transporte.
/uninitialize-Server Reverte as alterações feitas no servidor durante sua inicialização (reverte para um estado não configurado).
/update-ServerFiles Atualiza os arquivos no compartilhamento REMINST do servidor com as versões mais recentes do diretório System32\RemInst do servidor.
/verbose Exibe a saída detalhada enquanto um determinado comando é executado.

Armazenamento de imagens

No mês passado, mencionei que o SIS (Armazenamento de Instância Única), usado pelo RIS para armazenar arquivos com mais eficiência no disco, foi abandonado no WDS. Agora, todas as imagens (WIM) no modo nativo, independentemente do SO, são mantidas no Armazenamento de Imagens do WDS. Como indiquei nas colunas anteriores, essa funcionalidade de instância única economizava espaço nos arquivos .wim quando as imagens do volume tinham arquivos relacionados. O Armazenamento de Imagens do WDS funciona da mesma forma. Na verdade, ele usa a funcionalidade WIM para armazenar imagens.

Para trabalhar com o Armazenamento de Imagens, é necessário obter pelo menos um Grupo de Imagens; a inicialização do WDS, em geral, o solicitará a criar um. Também é possível criar um novo Grupo de Imagens ao adicionar uma Imagem de Instalação; a imagem será adicionada a ele (consulte a Figura 3).

fig03.gif

Figura 3 Criando um novo Grupo de Imagens (clique na imagem para ampliá-la)

Então o que é um Armazenamento de Imagens? Vá para o diretório RemoteInstall, no diretório Imagens, e verá os diretórios para cada Grupo de Imagens que você criou. Como mostra a Figura 4, existe um arquivo .wim para cada Imagem de Instalação que você importou para o Grupo de Imagens e um único arquivo .rwm (Resource WIM).

fig04.gif

Figura 4 O conteúdo de um Grupo de Imagens (clique na imagem para ampliá-la)

Observe os arquivos na Figura 4. Este Grupo de Imagens consiste em:

  • 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)

Agora compare os tamanhos desses arquivos com os do MMC (mostrados na Figura 5). O tamanho de cada arquivo .wim na Figura 4 é uma fração do tamanho do arquivo Res.rwm. Por quê? Bem, para economizar espaço, os arquivos .wim mostrados são apenas partes dos arquivos reais. Eles contêm os metadados para restaurar o arquivo .wim, mas não contêm efetivamente os recursos do arquivo. Todos os recursos de arquivo em um Grupo de Imagens são armazenados no arquivo para esse grupo.

fig05.gif

Figura 5 Imagens mostradas no Gerenciador de Servidores (clique na imagem para ampliá-la)

Para editar uma Imagem de Instalação em um Armazenamento de Imagens, você pode exportar a imagem, fazer usas edições e substituir a imagem (ou importá-la mais uma vez) ou pode interagir com ela, desabilitando a Imagem de Instalação apropriada do MMC e fazendo suas edições ao montar e modificar o arquivo .wim.

Um problema que o RIS sempre teve é a replicação de imagens. Quando você copia arquivos SIS na rede, o SIS é perdido por ser um atributo NTFS. Isso significa que se você tivesse 40 GB de imagens RISetup e RIPrep e as estivesse replicando para outro servidor, mesmo que o Groveler do SIS as reduzisse para 5 GB apenas, ainda assim você estaria replicando 40 GB na rede. Não é o caso do Armazenamento de Imagens do WDS. Na verdade, por causa da arquitetura do Armazenamento de Imagens, você pode salvá-los em um servidor DFS (Sistema de Arquivos Distribuídos) e usar DFS-R (Replicação DFS) para replicá-los site a site.

Os detalhes disso podem variar, dependendo da versão do WDS. Para o Windows Server 2003, consulte o Capítulo 7, "Trabalhando com imagens", da documentação disponível para download em go.microsoft.com/fwlink/?LinkId=81031. Para o Windows Server 2008, consulte "Armazenando e replicando imagens com o DFS" em go.microsoft.com/fwlink/?LinkId=121960. Como os recursos são todos armazenados no arquivo .rwm, mesmo quando você copia um Grupo de Imagens de um servidor para outro, a quantidade de dados enviada pela rede é uma fração daquilo que seria se o arquivo .wim inteiro fosse transmitido (ou na antiga arquitetura SIS do RIS).

Então, quando devemos criar um novo Grupo de Imagens e quando devemos usar o antigo? As regras, em geral, são as mesmas para um arquivo .wim. Embora você possa colocar uma imagem do Windows XP Professional SP3 em um Grupo de Imagens basicamente formado por imagens do Windows Server 2008, isso não faz muito sentido, já que não economiza muito espaço. Já com .wims, provavelmente, você irá optar por ter um Grupo de Imagens pelo menos para:

  • Cada versão específica do Windows, em que uma versão corresponde a um SKU (Windows XP Professional) e uma revisão do Service Pack (SP3).
  • Windows Server 2003 e anterior: cada versão de idioma localizado (e não a Interface do Usuário Multilíngüe). Antes do Windows Vista®, as compilações localizadas eram binários totalmente diferentes, por isso não eram bem armazenadas em um arquivo .wim em termos de instância única.
  • Cada Service Pack de cada versão. Embora seja possível armazenar imagens do Windows Server 2008 e do Windows Vista SP1 juntas, considere se essa funcionalidade é adequada à sua organização.

O Armazenamento de Imagens, mais do que o SIS, é ótimo para preservar espaço, tanto no disco quanto na rede, e em geral não é preciso muito esforço mantê-lo em bom funcionamento.

Uma das grandes fraquezas do RIS era sua falta de escalabilidade. A implantação multicast tem tudo para corrigir isso. As pessoas costumam pensar em multicast como uma implantação "mais rápida", mas não se trata de rapidez e sim de quantidade. Com o RIS, era possível implantar vários sistemas. Na verdade, o RIS podia manipular uma implantação simultânea de quase 75 sistemas.

Mas antes que se pudesse chegar a esse ponto, o desempenho era afetado e as instalações demoravam cada vez mais. Pior que isso, conforme o número de instalações aumentava, a probabilidade de falha crescia. Ao mesmo tempo, várias instalações saturavam a rede com tráfego de rede SMB (por isso, durante a implantação, os funcionários às vezes não conseguiam obter recursos essenciais de rede como o Microsoft Exchange Server).

O multicast tem a ver com o escalonamento do número de implantações. Se você estiver implantando quatro servidores ou um centro de conferência com 100 sistemas, o multicast permitirá concluir essa implantação sem muita demora e sem saturar a rede. Embora você possa usar multicast para a implantação em um único sistema, a vantagem do escalonamento só ficará visível quando houver vários sistemas escutando a transmissão.

Para usar multicast, é necessário ter roteadores com suporte para tanto. Em geral, isso significa que o rastreamento IGMP deve ser habilitado. Também é necessário ter o Windows PE 2.1 (Windows Server 2008 RTM ou Windows Vista SP1), pois a versão (2.0) que acompanha o Windows Vista RTM não é capaz de receber uma transmissão multicast.

Além disso, se houver vários servidores do WDS (ou outro multicast) na mesma rede, você deverá especificar um intervalo personalizado de endereços IP. Isso pode ser alterado facilmente por meio do MMC do WDS, clicando duas vezes no servidor, clicando em Propriedades e na guia Configurações de Rede.

Ao executar uma transmissão multicast, o servidor multicast pode ajustar a velocidade a uma taxa em que o cliente mais lento possa receber ou pode regular a velocidade em um nível mais alto e descartar os clientes que não podem acompanhá-la. Por questões de confiabilidade, o WDS é executado na velocidade do cliente mais lento que recebe a transmissão.

Se você acha o desempenho da transmissão está mais lento do que o esperado, execute wdsutil /Get-MulticastTransmission/Show-clients. Isso irá revelar o cliente mestre que está otimizando a transmissão. Você pode desconectar esse cliente e reverter para o uso de SMB em vez de multicast. Para obter um exemplo de script que desconecta automaticamente clientes lentos, vá para go.microsoft.com/fwlink/?LinkId=121961.

Para criar uma transmissão multicast, você pode clicar com o botão direito do mouse em uma Imagem de Instalação e selecionar Criar Transmissão Multicast ou pode clicar com o botão direito do mouse em Transmissões Multicast no console do WDS e selecionar Criar Transmissão Multicast. Ao criar a transmissão multicast, é possível criar um Multicast Automático ou Multicast Programado. O Multicast Automático é útil quando vários clientes entram online regularmente, precisando exatamente da mesma imagem; os novos clientes são adicionados automaticamente à transmissão em andamento iniciada para o primeiro cliente que solicitou uma imagem de instalação. O Multicast Programado permite configurar um tamanho de grupo que, quando alcançado, dá início a uma transmissão.

Também é possível definir a transmissão para iniciar em um momento específico. Quando os clientes utilizam a transmissão multicast, é possível exibi-los clicando no nome da imagem. No painel direito, você pode ver os detalhes sobre os clientes conectados à transmissão.

Normalmente, seus usuários finais usam multicast do cliente de Instalação do WDS. Entretanto, existe um utilitário de linha de comando, chamado WDSMCast, que acompanha o WAIK (Kit de Instalação Automatizada do Windows) do Windows Server 2008 e permite solicitar um arquivo .wim por meio de uma transmissão multicast do WDS. O arquivo .wim deve ser transferido totalmente e aplicado ao cliente, por isso é bom garantir que haja espaço em disco suficiente para a imagem a ser armazenada e aplicada. No próximo mês, explicarei como é possível integrar o WDSMCast no seu próprio processo de implantação personalizada.

Log do WDS

O WDS é capaz de executar uma quantidade considerável de log e rastreamento, embora boa parte disso seja desabilitada por padrão para economizar espaço. Há dois tipos de log de eventos: quando um cliente grava no log de eventos do Windows e quando grava nos logs de rastreamento para outros aspectos do WDS.

No Windows Server 2008, porém, o WDS executa uma grande quantidade de logs por padrão. Esses logs estão disponíveis em Ferramentas Administrativas | Visualizador de Eventos. Os logs do WDS são visíveis no Visualizador de Eventos em Logs de Aplicativos e Serviços | Microsoft | Windows | Deployment-Services-Diagnostics. Por conveniência, esses logs são os mesmos que podem ser vistos ao exibir a função do WDS no MMC (consulte a Figura 6).

fig06.gif

Figura 6 Exibindo eventos do WDS no Gerenciador de Servidores (clique na imagem para ampliá-la)

O log de cliente do WDS (visível nos logs de eventos na Figura 6) pode ser iniciado executando WDSUtil com os seguintes argumentos:

wdsutil /wdsclientlogging /enabled:yes /logginglevel:info

Você pode habilitar o log de rastreamento em vários subcomponentes diferentes do WDS também. Para configurar o rastreamento, defina um valor de registro DWORD adequado na(s) chave(s) do Registro, como mostra a Figura 7. Todos os logs de rastreamento são armazenados em \Windows\tracing. Em seguida, é necessário reiniciar o componente apropriado para que o log seja iniciado.

Figura 7 Configurando o log de rastreamento

Componente do WDS Chave do Registro Valor do Registro Nome do log
Servidor HKLM\SOFTWARE\Microsoft\Tracing\WDSServer\EnableFileTracing 1 wdsserver.log
Multicast HKLM\System\CurrentControlSet\Services\WDSServer\Providers\WDSMC\TraceDisabled 0 wdsserver.log
Componentes de gerenciamento HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Tracing\WDSMGMT\EnableFileTracing 1 wdsmgmt.log
MMC HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Tracing\WDSMMC\EnableFileTracing 1 wdsmmc.log

O WDS também possui contadores de desempenho (descritos em go.microsoft.com/fwlink/?LinkId=121962) que você pode monitorar no caso de haver problemas de desempenho no sistema (ou para executar antecipadamente análises de desempenho do sistema). Conforme observado anteriormente, você pode obter informações mais detalhadas se encontrar problemas usando as opções /detailed, /verbose ou /progress com o WDSUtil.

Se tiver problemas com os clientes WDS que se conectam a um servidor do WDS ou interagem com ele, o Monitor de Rede da Microsoft (Netmon) é uma excelente ferramenta para depurá-los. O Monitor de Rede está disponível para download em go.microsoft.com/fwlink/?LinkId=121491.

Outros problemas

Conheço alguns problemas que devem ser mencionados. O primeiro é a memória; lembre-se de que o WDS se baseia principalmente no Windows PE 2.x. Isso significa que os clientes do WDS precisam de pelo menos 384 MB de RAM e, se for realista, você irá garantir 512 MB para um desempenho ideal. Lembre-se também de que o Windows PE 2.0 não é inicializado em sistemas ACPI (Interface de Energia e Configuração Avançada), e isso nem sempre significa hardware antigo. Há relatórios de sistemas relativamente recentes que não oferecem suporte a ACPI.

Observe que esses sistemas também não oferecem suporte ao Windows Vista ou ao Windows Server 2008. Para sistemas sem suporte a ACPI, você deve manter um servidor WDS ou RIS do Windows Server 2003 ou anterior disponível, com esses clientes pré-configurados para ele, ou instalar o Windows por meio de um mecanismo que não seja PXE.

Finalmente, lembre-se de que, para inicializar o Windows PE 1.x no seu servidor, também é necessário usar um servidor do WDS ou RIS do Windows Server 2003 ou anterior, já que o WDS no Windows Server 2008 não pode inicializar uma imagem do Windows PE 1.x (RAMDisk ou PXE).

Até agora, vimos o histórico, as noções básicas e tópicos avançados do WDS. No mês que vem, examinarei alguns cenários personalizados do WDS e, mais especificamente, mostrarei como interagir com o WDS e ajustá-lo para executar as tarefas necessárias, muitas vezes sem utilizar a experiência de instalação/WDS existente.

Wes Miller é gerente sênior de produto técnico da CoreTrace (www.CoreTrace.com), em Austin, no Texas. Anteriormente, ele trabalhou na Winternals Software e como gerente de programa da Microsoft. Entre em contato com ele pelo email technet@getwired.com.