Configurando um Servidor de Instalação
Este apêndice se destina a usuários com experiência anterior em Linux. Se você for um novo usuário, convém instalar usando a mídia de inicialização mínima ou o DVD de distribuição. |
Visão Geral da Instalação PXE
Preboot Execution Environment, ou PXE, é uma tecnologia que permite que os computadores inicializem diretamente de recursos fornecidos pela rede. Instalar o Fedora pela rede significa que você não precisa criar mídia e pode instalar em vários computadores ou máquina virtual simultaneamente. O processo envolve vários componentes e recursos trabalhando juntos para fornecer os recursos necessários.
A maioria dos computadores modernos tem a capacidade de inicialização pela rede. Normalmente, uma tecla de função pressionada durante a inicialização abrirá um menu de seleção de inicialização. Em ambientes projetados para administração autônoma, os sistemas geralmente são configurados para tentar inicializar pela rede e, em seguida, inicializar do armazenamento local, e o servidor de instalação é configurado para oferecer a instalação apenas quando necessário. O manual do seu computador fornecerá instruções específicas sobre como definir as prioridades de inicialização.
Quando um sistema solicita um endereço durante a inicialização da rede, o servidor DHCP também fornece a localização dos arquivos para inicializar. Uma rede deve ter apenas um servidor DHCP.
Como o ambiente de pré-inicialização é muito simples, os arquivos devem ser fornecidos de uma maneira muito simples. O Trivial File Transfer Protocol, ou TFTP, fornece ao sistema o carregador de inicialização necessário para continuar o processo de instalação.
Como a tarefa de inicializar um sistema operacional é muito complexa para o ambiente de pré-inicialização, um carregador de inicialização é usado para carregar o kernel e arquivos relacionados. Ele também fornece informações de configuração ao instalador e pode oferecer um menu para selecionar diferentes configurações.
O kernel é o núcleo de qualquer sistema operacional Linux e o initramfs fornece ao kernel as ferramentas e recursos necessários. Esses arquivos também são fornecidos pelo tftp.
Um repositório Fedora deve estar disponível para a instalação. O exemplo nesta seção usa os espelhos públicos do Fedora como a fonte do repositório, mas você também pode usar um repositório na rede local fornecido por NFS, FTP ou HTTP. Os repositórios podem ser configurados usando a opção de inicialização inst.repo=; consulte Especificando a Fonte de Instalação para obter detalhes.
Configuração do Servidor DHCP
-
Instale o pacote de servidor dhcp.
# dnf install dhcp-server
-
Crie uma configuração simples para o servidor dhcp em
/etc/dhcp/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 { authoritative; default-lease-time 600; max-lease-time 7200; ddns-update-style none; option domain-name-servers 192.168.1.1; option routers 192.168.1.1; }
-
Teste sua configuração e resolva quaisquer problemas que encontrar.
systemctl start dhcpd systemctl enable dhcpd journalctl --unit dhcpd --since -2m --follow
-
Adicione entradas para apontar clientes para seu gerenciador de inicialização e o servidor que fornece isso para sua configuração de sub-rede em
/etc/dhcp/dhcpd.conf
. Como os clientes DHCP fornecem ao servidor informações de identificação junto com sua solicitação de endereço, os clientes BIOS e os clientes UEFI podem ser direcionados ao carregador de inicialização correto. Usando os códigos de opção mais recentes da arquitetura do processador, o que pode ser encontrado na página de registro de DHCPv6 do IANA, permite que várias arquiteturas compartilhem um único servidor DHCP.# veja RFC4578 e IANA DHCPV6 por valores possíveis de opções de arquitetura option arch code 93 = unsigned integer 16; subnet 192.168.1.0 netmask 255.255.255.0 { if option arch = 00:07 { # x64 UEFI filename "uefi/shimx64.efi"; next-server 192.168.1.2; } else if option arch = 00:0b { # aarch64 UEFI filename "uefi/shimaa64.efi"; server-name "192.168.1.2"; } else { filename "pxelinux.0"; next-server 192.168.1.2; } ...
-
Reinicie o serviço dhcp para verificar a configuração e fazer as alterações necessárias.
systemctl restart dhcpd journalctl --unit dhcpd --since -2m --follow
Instalando o servidor tftp
-
Instale o pacote do servidor tftp.
# dnf install tftp-server
-
Inicie e habilite o
soquete tftp
.systemd
irá iniciar automaticamente o serviço` tftpd` quando necessário.# systemctl start tftp.socket # systemctl enable tftp.socket
Fornecimento e configuração de carregadores de inicialização para clientes PXE
-
Obtenha o carregador de inicialização syslinux para clientes BIOS.
-
Instale o pacote syslinux.
# dnf install syslinux
-
Crie um diretório para os arquivos do carregador de inicialização e torne-os disponíveis lá.
# mkdir -p
/var/lib/tftpboot/pxelinux.cfg
# cp/usr/share/syslinux/{pxelinux.0,menu.c32,vesamenu.c32,ldlinux.c32,libcom32.c32,libutil.c32}
/var/lib/tftpboot/
-
-
Obtenha os arquivos do carregador de inicialização para sistemas UEFI
-
Instale os pacotes shim-x64 e grub2-efi-x64. Se o seu servidor for um sistema BIOS, você deve instalar os pacotes em uma raiz de instalação temporária. Instalá-los diretamente em uma máquina BIOS tentará configurar o sistema para inicialização UEFI e causar problemas.
# dnf install shim-x64 grub2-efi-x64 --installroot=/tmp/fedora --releasever 34
-
Crie um diretório para os arquivos do carregador de inicialização e torne-os disponíveis lá.
# mkdir -p
/var/lib/tftpboot/uefi
# cp/tmp/fedora/boot/efi/EFI/fedora/{shimx64.efi,grubx64.efi}
/var/lib/tftpboot/uefi/
-
-
Crie um menu de inicialização para clientes BIOS em
/var/lib/tftpboot/pxelinux.cfg/default
.default vesamenu.c32 prompt 1 timeout 600 label local menu label Boot from ^local drive menu default localboot 0xffff label linux menu label ^Install Fedora 34 64-bit kernel f34/vmlinuz append initrd=f34/initrd.img inst.stage2=https://download.fedoraproject.org/pub/fedora/linux/releases/34/Server/x86_64/os/ ip=dhcp label server menu label ^Install Fedora 34 ( Minimal Image ) kernel f34/vmlinuz append initrd=f34/initrd.img inst.stage2=https://download.fedoraproject.org/pub/fedora/linux/releases/34/Server/x86_64/os/ ip=dhcp ks=https://example.com/fedora/kickstarts/minimal.ks
-
Crie um menu de inicialização para clientes UEFI em
/var/lib/tftpboot/uefi/grub.cfg
.function load_video { insmod efi_gop insmod efi_uga insmod video_bochs insmod video_cirrus insmod all_video } load_video set gfxpayload=keep insmod gzio menuentry 'Exit this grub' { exit } menuentry 'Install Fedora 64-bit' --class fedora --class gnu-linux --class gnu --class os { linux $fw_path/f34/vmlinuz ip=dhcp inst.repo=https://download.fedoraproject.org/pub/fedora/linux/releases/34/Server/x86_64/os/ initrd $fw_path/f34/initrd.img } menuentry 'Install Fedora 34 Server' --class fedora --class gnu-linux --class gnu --class os { kernel f34/vmlinuz append initrd=f34/initrd.img inst.repo=https://download.fedoraproject.org/pub/fedora/linux/releases/34/Server/x86_64/os/ ip=dhcp ks=https://git.fedorahosted.org/cgit/spin-kickstarts.git/plain/fedora-install-server.ks?h=f21 }
Obtendo o kernel e initrd
-
Crie um diretório para os arquivos.
# mkdir -p
/var/lib/tftpboot/f34
-
Baixe o kernel.
# wget https://download.fedoraproject.org/pub/fedora/linux/releases/34/Server/x86_64/os/images/pxeboot/vmlinuz -O /var/lib/tftpboot/f34/vmlinuz
-
Baixe o initrd
# wget https://download.fedoraproject.org/pub/fedora/linux/releases/34/Server/x86_64/os/images/pxeboot/initrd.img -O /var/lib/tftpboot/f34/initrd.img
Visão Geral da Instalação via HTTP
A inicialização HTTP/HTTPS é uma tecnologia que permite que os computadores inicializem diretamente a partir de recursos fornecidos pela rede. Quando usado em conjunto com HTTPS, a autenticidade do servidor é validada e o uso de HTTP oferece um mecanismo de transporte mais confiável do que o TFTP do PXE. Instalar o Fedora desta forma evita a criação de mídia de instalação e permite que vários computadores sejam instalados simultaneamente. Muitas implementações UEFI atuais, incluindo o envio de firmware baseado em EDK2 com as soluções de virtualização do Fedora, podem inicializar diretamente de fontes HTTP. Uma entrada de inicialização UEFI pode ser adicionada manualmente para especificar uma fonte HTTP por meio de menus de firmware. Como alternativa, um servidor DHCP pode fornecer automaticamente o caminho HTTP necessário.
Embora muitas máquinas sejam capazes de inicializar por HTTPS e também HTTP, elas frequentemente precisam ter uma autoridade certificadora (CA) registrada primeiro. O CA é usado para validar os certificados apresentados pelo servidor HTTPS. Isso pode ser feito registrando os arquivos apropriados dos certificados de CA fornecidos pelo Fedora para espelhos públicos ou o certificado do servidor de inicialização HTTPS local.
Configuração do Servidor DHCP para HTTP
A instalação e configuração de um servidor DHCP para inicialização HTTP é idêntica à sua configuração para PXE, exceto que precisamos alterar as condições do arco de opção para clientes HTTP
.... if option arch = 00:07 { # x64 UEFI filename "uefi/shim64.efi"; next-server 192.168.1.2; } else if option arch = 00:0b { # aarch64 UEFI filename "uefi/shimaa64.efi"; server-name "192.168.1.2"; } else if option arch = 00:13 { # aarch64 UEFI HTTP option vendor-class-identifier "HTTPClient"; filename "http://download.fedoraproject.org/pub/fedora/linux/releases/34/Server/aarch64/os/images/boot.iso"; } else if option arch = 00:10 { # x64 UEFI HTTP option vendor-class-identifier "HTTPClient"; filename "http://download.fedoraproject.org/pub/fedora/linux/releases/34/Server/x86_64/os/images/boot.iso"; } else { filename "pxelinux.0"; next-server 192.168.1.2; } ...
Fornecendo repositórios
Os exemplos nesta seção usam os espelhos públicos do Fedora como fonte do pacote. Para instalações mais rápidas, instalação em muitos sistemas ou ambientes mais isolados, você pode desejar manter um repositório local.
Fedora Infrastructure mantém instruções para configurar um espelho local em https://fedoraproject.org/wiki/Infrastructure/Mirroring. O método preferido para fornecer repositórios é por HTTP e você pode conferir o Fedora System Administrator’s Guide (guia de administrador de sistema), disponível em https://docs.fedoraproject.org/, para configurar httpd
.
Instalações de rede avançadas com Cobbler
Para ambientes mais complexos, o Fedora oferece o servidor de instalação cobbler. Tarefas como gerenciar configurações de kickstart, coordenar repositórios, manter registros dns, servidores dhcp e até manifestos fantoches são efetivamente automatizados por cobbler.
Embora aproveitar todos os recursos fornecidos pelo cobbler possa ser relativamente simples, a funcionalidade completa desta ferramenta poderosa é muito ampla para ser documentada neste guia. A comunidade do cobbler fornece documentação no https://cobbler.github.io/ para acompanhar os pacotes no repositório Fedora.
Como alternativa, você também pode estar interessado em Foreman. Você pode encontrar a documentação oficial, bem como downloads no site do projeto em https://www.theforeman.org/.
Want to help? Learn how to contribute to Fedora Docs ›