AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 966574
Accepted
Kismet Agbasi
Kismet Agbasi
Asked: 2019-05-10 06:52:45 +0800 CST2019-05-10 06:52:45 +0800 CST 2019-05-10 06:52:45 +0800 CST

O que determina o protocolo usado durante uma inicialização do VMware VM PXE em um servidor WDS?

  • 772

Bom dia pessoal,

Implementei com sucesso um Windows Deployment Server em meu ambiente, criei imagens de inicialização x86 e x64 para oferecer suporte a UEFI e BIOS legado usando o Microsoft Deployment Toolkit (v8450) e consegui inicializar com PXE em uma máquina física ( HP Z4 ) e uma máquina virtual ( VM versão 13 em execução no host ESXi 6.5 ). Além disso, criei as classes e políticas do fornecedor DHCP relevantes para garantir que o arquivo de inicialização correto esteja sendo servido para o PXEClient apropriado (ou seja, UEFI vs BIOS).

Dito isto, ao inicializar usando UEFI ( com Secure Boot ativado ), observei duas coisas ( a segunda sendo preocupante, por isso postei esta pergunta ):

  1. Durante o processo de inicialização, a máquina física contata com sucesso o Servidor WDS e baixa a imagem de inicialização em cerca de 6 segundos, depois conclui a instalação do SO em cerca de 6 a 8 minutos.

  2. Durante o processo de inicialização, a máquina virtual também contata com êxito o Servidor WDS e baixa a imagem de inicialização. No entanto, leva mais de 45 minutos a 1 hora para capturar a imagem de inicialização. Depois disso, a instalação do sistema operacional é concluída aproximadamente no mesmo tempo que a caixa física (apenas cerca de 8 minutos).

Para solucionar o problema, confirmei que o servidor WDS não estava enfrentando nenhum problema técnico que pudesse afetar o desempenho da NIC. Verifiquei a configuração da NIC da VM e descobri que ela estava usando o tipo de adaptador E1000E - então alterei para usar o tipo de adaptador VMXNET 3 . Isso fez uma ligeira melhoria.

Então, decidi fazer uma captura de pacotes do Wireshark para ver se conseguia ver algo diferente na forma como a máquina física e a VM estavam se comunicando com o WDS Server. Bem, a única coisa que me chamou a atenção é o seguinte:

  1. A Máquina Física usou o protocolo TFTP
  2. A máquina virtual usou o protocolo UDP

Como tal, alguém sabe se há uma configuração em algum lugar que instrui a máquina virtual a preferir o protocolo UDP ao TFTP? Não encontrei nada definitivo na documentação do VMware além de uma declaração de que a inicialização por PXE de uma VM era possível e suportada.

Qualquer ajuda é definitivamente apreciada, obrigado e minhas desculpas pela longa narrativa.

windows
  • 1 1 respostas
  • 1091 Views

1 respostas

  • Voted
  1. Best Answer
    Kismet Agbasi
    2019-05-14T03:11:40+08:002019-05-14T03:11:40+08:00

    Portanto, para quem está enfrentando esse problema, a solução para mim foi ajustar as configurações "ramdisktftpblocksize" e "ramdisktftpwindowsize" no arquivo de dados de configuração de inicialização (BCD) para a respectiva arquitetura ( ou seja, x86 ou x64 ) na pasta de inicialização do WDS RemoteInstall . Depois disso, reiniciei o serviço WDS. Agora estou vendo cerca de 10 a 15 segundos de tempo de carregamento da imagem de inicialização em máquinas virtuais e cerca de 6 a 10 segundos em máquinas físicas usando uma imagem de inicialização de aproximadamente 400 MB.

    A única coisa que notei é que isso cria pacotes IP fragmentados, mas eles são remontados de qualquer maneira, então não me incomoda muito, pois haverá muito pouco impacto para meus usuários finais ou rede de qualquer maneira, com base na frequência e nos horários em que eu serão sistemas de inicialização PXE para geração de imagens. No entanto, se isso for um problema para você, procure outra solução, por favor.

    No meu ambiente, os caminhos eram os seguintes (o seu pode ser diferente, é claro, então ajuste de acordo ):

    For 32-bit (x86):  "F:\SCCM\RemoteInstall\Boot\x86\default.bcd"
    For 64-bit (x64):  "F:\SCCM\RemoteInstall\Boot\x64\default.bcd"
    

    CUIDADO: Faça um backup do arquivo default.bcd antes de fazer alterações, por motivos óbvios (espero).

    Aqui está o que eu fiz para implementar esta solução:

    1. Abra o console de gerenciamento WDS no servidor PXE ( no meu caso, era o servidor SCCM executando a função de serviços de implantação do Windows ) e PARE o servidor. Você também pode simplesmente parar o serviço WDS - mas eu preferi o primeiro ( pois é uma abordagem mais limpa IMHO ).
    2. Inicie uma janela de prompt de comando administrativo ( não fique tentado a usar um console do PowerShell, não tive muita sorte ao interagir com o comando BCDEdit ).
    3. Em uma janela separada do Windows Explorer, localize o arquivo "default.bcd" apropriado e anote seu caminho ou simplesmente copie-o para a área de transferência com "SHIFT+Clique com o botão direito" e "Copiar como caminho" .
    4. Com o WDS Server parado e o caminho para o arquivo default.bcd em mãos, volte ao Prompt de Comando e digite o seguinte comando ( substituindo x86 ou x64 conforme apropriado ):
      • Liste os parâmetros atuais do armazenamento de inicialização com este comando:
        • bcdedit /enum all /store F:\SCCM\RemoteInstall\Boot\x86\default.bcd
      • Defina o tamanho do Windows TFTP para um valor de 8:
        • bcdedit /store F:\SCCM\RemoteInstall\Boot\x86\default.bcd /set {68d9e51c-a129-4ee1-9725-2ab00a957daf} ramdisktftpwindowsize 8
      • Defina o tamanho do bloco TFTP para um valor de 16384:
        • bcdedit /store F:\SCCM\RemoteInstall\Boot\x86\default.bcd /set {68d9e51c-a129-4ee1-9725-2ab00a957daf} ramdisktftpblocksize 16384
      • Liste os parâmetros atuais do armazenamento de inicialização novamente e verifique se suas alterações estão lá:
        • bcdedit /enum all /store F:\SCCM\RemoteInstall\Boot\x86\default.bcd
    5. Volte para o WDS Management Console e INICIE o WDS Server
    6. Sinalize o Servidor WDS para reconstruir os arquivos de inicialização com suas alterações usando o seguinte comando:**

      - sc control wdsserver 129
      

    E é isso. Com essas alterações, consegui iniciar o Wireshark no servidor PXE, inicializei com pxe minha máquina virtual. Conforme assisti no Wireshark, vi as conversas iniciais começarem com "TFTPWindowSize = 4" e "TFTPBlockSize = 1456" mas logo depois quando o próprio boot loader começou a baixar vi uma renegociação onde os valores que eu configurei entraram em vigor - e foi aí que Eu vi a VM carregar a imagem de inicialização em 10 a 15 segundos.

    Como mencionei anteriormente, vi cerca de 8 ou mais pacotes "Protocolo IP fragmentado" , mas todos foram remontados e, além disso, o objetivo final foi alcançado - a máquina virtual e a máquina física inicializaram rapidamente e instalaram o sistema operacional com sucesso.

    Espero que esta informação seja útil para alguém - desculpe por escrever um livro...lol.

    Créditos ao seguinte post: https://blog.uvm.edu/jgm/2010/11/04/tuning-microsoft-pxe-tftp/

    • 1

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve