Etapas de instalação do servidor de inicialização PXE na VM do servidor Ubuntu

14

Como posso instalar a máquina virtual Ubuntu usando o servidor de inicialização PXE?

Eu preciso de todos os detalhes das configurações e o que alterar nos arquivos de configurações.

    
por Beginner 29.01.2014 / 14:13

1 resposta

27

PXE (Preboot eXecution Environment, pronunciado pixie)

Veja Wikipedia: PXE

Como funciona?

Este é o meu entendimento!

  1. A máquina do cliente está ligada. O BIOS procura dispositivos. Em seguida, segue tentando carregar o carregador de boot a partir do dispositivo necessário, conforme listado em Boot Order / Sequence . Ele carrega o PXE da ROM da placa de rede.
  2. PXE (do lado do cliente) transmite uma solicitação para um IP. Resposta do servidor DHCP com as informações necessárias: IP, IP do próximo servidor (IP do servidor TFTP), pxelinux.0 (nome do arquivo do carregador de boot PXE), ... etc

  3. O PXE (lado do cliente) solicita o arquivo pxelinux.0 do servidor TFTP, carrega-o na RAM e passa o controle para pxelinux.0 .

    pxelinux.0 obtém o arquivo de configuração de inicialização do servidor TFTP com nome como:
    (se não existe, tenta com o próximo)

    • UUID
    • MAC
    • IP em maiúsculas
    • Uma parte do IP
    • Descarta o default file

  4. Qualquer opção de usuário ou entrada de menu padrão. pxelinux.0 solicita o kernel correspondente e o RAMDisk do servidor TFTP e os carrega na RAM.

    Em seguida, passa os parâmetros de inicialização e o controle para o kernel carregado.

  5. O kernel carrega as partes restantes do servidor TFTP ou de qualquer outro servidor de protocolo, dependendo de seus recursos / propriedades.

Configuração do servidor

Existem várias maneiras de configurar o servidor PXE, este é um deles.

Estas instruções foram testadas no Ubuntu 9.10 & amp; Ubuntu 10.04 em uma máquina real. Eles ainda devem ser válidos com apenas algumas alterações. (Atualizado e testado para o Ubuntu 14.04 no VirtualBox, verifique as revisões de versões antigas)

Meu alvo era o PartedMagic 4.5 , ele deve ser semelhante ao Ubuntu ou qualquer distribuição Linux.

  1. Instalar o DHCP & amp; Pacotes TFTP

        sudo apt-get install isc-dhcp-server openbsd-inetd lftp tftpd-hpa syslinux
    
  2. Configuração do DHCP

    • Edite /etc/default/isc-dhcp-server , interface Ethernet para o serviço DHCP

      INTERFACES="eth0"
      
    • Edite o /etc/dhcp/dhcpd.conf‬ ou /etc/ltsp/dhcpd.conf que existe, configuração do serviço DHCP

      Configurações específicas do PXE: filename & amp; next-server

      default-lease-time 600;
      max-lease-time 7200;
      subnet 192.168.10.0 netmask 255.255.255.0 {
          range 192.168.10.50 192.168.10.100;
          option subnet-mask 255.255.255.0;
          option routers 192.168.10.123;
          option broadcast-address 192.168.10.255;
          filename "pxelinux.0";
          next-server 192.168.10.123;
      }
      
    • Configure um IP estático para eth0 , 192.168.10.123 no meu caso usando o gerenciador de rede para edição de desktop ou /etc/network/interfaces para edição do servidor.

      auto eth0
      iface eth0 inet static
      address 192.168.10.123
      netmask 255.255.255.0
      network 192.168.10.0
      broadcast 192.168.10.255
      

      Reinicialize a interface de rede:

      sudo ifdown eth0
      sudo ifup eth0
      
    • Reinicie o serviço

      sudo service isc-dhcp-server restart
      

      Verifique o status

      netstat -lu
      

      Saída

      Proto Recv-Q Send-Q Local Address           Foreign Address         State      
      udp        0      0 *:bootpc                *:*                                
      
  3. Configuração TFTP

    • Edite ‪/etc/inetd.conf , remova #<off># do início de tftp linha ou adicione, se não estiver lá, em #:BOOT: comentário. (Ignore isso com systemd, 15.10 e posterior)

      tftp    dgram   udp wait    root    /usr/sbin/in.tftpd  /usr/sbin/in.tftpd -s /var/lib/tftpboot
      
    • Ativar serviço de inicialização para inetd

      sudo update-inetd --enable BOOT
      
    • Iniciar serviço

      sudo service openbsd-inetd restart
      sudo service tftpd-hpa restart
      

      Verifique o status

      netstat -lu
      

      Saída

      Proto Recv-Q Send-Q Local Address           Foreign Address         State 
      udp        0      0 *:tftp                  *:*                          
      
  4. Configuração dos arquivos de inicialização PXE

    • Descompacte pmagic-pxe-4.5.zip . Se pxelinux.0 não estiver disponível, obtenha o pacote sysliux-common instalado em /usr/lib/syslinux/pxelinux.0 , Projeto Syslinux ou Ubuntu Netboot Image .

      Coloque-os em estrutura semelhante.

      /var/lib/tftpboot/
       |-- pxelinux.0
       |-- pxelinux.cfg/
       |   '-- default
       '-- pmagic/
           |-- bzimage
           '-- initramfs
      
    • Edite /var/lib/tftpboot/pxelinux.cfg/default , se necessário, caminhos de exemplo: pmagic/bzimage & amp; pmagic/initramfs

      DEFAULT partmagic 
      
      LABEL partmagic 
          MENU LABEL PartMagic 4.5 
          KERNEL pmagic/bzimage 
          APPEND initrd=pmagic/initramfs edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=791 sleep=10 loglevel=0 keymap=us livemedia
      
    • Configurar permissões corretas

      sudo find /var/lib/tftpboot -type f -exec chmod 644 {} \;
      sudo find /var/lib/tftpboot -type d -exec chmod 755 {} \;
      

Configuração do cliente

Altere a ordem de inicialização do BIOS por uma vez usando F9 ou F12 , para configuração permanente da configuração da BIOS DEL , F2 ou F12 . (Dependendo da marca da máquina)

Mover para o topo: [PXE | NIC | LAN | Ethernet | Network] .

Notas

  • inetutils-inetd ou xinetd podem ser usados em vez de openbsd-inetd , alguns inetd etapas são diferentes.

  • O diretório raiz do TFTP pode ser alterado de /etc/default/tftpd-hpa . Lembre-se de atualizar ‪/etc/inetd.conf também.

  • Muitos suporte de distribuição carregando RAMDisk através de muitos protocolos: SSH (SFTP), SMB, NFS ... Exemplo de suporte ao Ubuntu NFS.

  • Algumas placas de rede antigas não suportam PXE, iPXE ( Ex. gPXE ou Etherboot ) pode ser usado, seja em disquete, unidade USB, disco rígido ( /boot partição) ou até mesmo flash para ROM (apenas alguns NIC suportados). O GRUB2 tem módulo para suportar a inicialização usando o PXE.

    Veja também Wikipedia: gPXE e ROM-O-matic .

  • Ubuntu Netboot Image de cdimage.ubuntu.com / netboot / fornece a instalação do Ubuntu pela rede e ele pedirá para baixar todos os pacotes requeridos do espelho oficial ou um local se você tiver um.

    A maioria dos usuários está procurando a inicialização da imagem ao vivo por meio do PXE. Esta questão foi apenas para configurar um servidor PXE. Veja Wiki do Ubuntu: Instalação - LocalNet

  • O menu PXE pode ser personalizado, o melhor modelo para aprender é o Ubuntu NetBoot . Veja Pxeboot Imagem múltipla

  • memdisk pode ser usado para carregar diretamente as imagens ISO ou de disquete através do PXE. syslinux-common package tem uma cópia. O cliente deve ter RAM suficiente para manter a imagem e uma parte para executar o SO carregado.

    Exemplo de configuração:

    /var/lib/tftpboot/
    |-- FDSTD.144
    |-- memdisk
    |-- pxelinux.0
    |-- slitaz-cooking.iso
    |-- pxelinux.cfg
    |   '-- default
    '-- pmagic/
        |-- bzimage
        '-- initramfs
    

    /pxelinux.cfg/default

    DEFAULT partmagic
    
    LABEL partmagic
        MENU LABEL PartMagic 4.5
        KERNEL pmagic/bzimage
        APPEND initrd=pmagic/initramfs edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=791 sleep=10 loglevel=0 keymap=us livemedia
    
    LABEL slitaz
        MENU LABEL ^Slitaz.iso
        TEXT HELP
    Testing boot from iso.
        ENDTEXT 
        KERNEL memdisk
        APPEND initrd=slitaz-cooking.iso
    
    LABEL freedos_std
        MENU LABEL ^FreeDOS STD
        TEXT HELP
    Testing boot from Floppy IMG.
        ENDTEXT 
        KERNEL memdisk
        APPEND initrd=FDSTD.144
    
  • Os pacotes do PartedMagic foram retirados do site oficial depois que o desenvolvedor original decidiu torná-lo comercial, alguns lançamentos puderam ser encontrados através da rede de torrents. Minha resposta aqui é um resumo da primeira configuração do PXE que funcionou para mim. A Imagem do Netboot do Ubuntu deve funcionar com as mesmas instruções.

por user.dz 03.02.2014 / 11:26