Minicluster:DRBL
Este documento descreve como configurar o ambiente "DRBL" em Fedora 13 (para outros sistemas e detalhes veja o original).
Índice
- 1 Configure o ambiente Diskless Remote Boot in Linux (DRBL)
- 2 Upgrade
- 3 Desinstalar
- 4 Referências
Configure o ambiente Diskless Remote Boot in Linux (DRBL)
I. Configuração do Servidor Linux
- Instale o Linux e configure todas as placas de rede. Usamos a placa de rede integrada eth1 para conectar a internet (IP ...), enquanto que a placa extra eth0 é usada para o DRBL se conectar ao switch (use um IP privado: 192.168.0.99).
- É recomendado desligar ou remover o serviço NetworkManager se estiver sendo é iniciado automaticamente (não fiz):
chkconfig --del NetworkManager chkconfig --del NetworkManagerDispatcher
- e para ligar o serviço de rede use
chkconfig network on
- As regras para o firewall serão reescritas no servidor DRBL. Depois de completar o setup do DRBL e testar com sucesso, você pode reconfigurar o firewall. Lembre que os serviços NIS, tftp e dhcp são necessários, assim NÃO bloqueie eles no firewall.
- Para melhor performance (opcional):
- Se tu usa o Gnome, apague alguns arquivos de linguagem em /etc/gconf/gconf.xml.defaults/. Isto economiza espaço no servidor (Ex.: mantendo somente %gconf-tree.xml e %gconf-tree-zh_TW.xml economizará 40 MB (Com 16 clientes economizará 640 MB no servidor) e o carregamento no servidor NFS será menor.
- O sistema de arquivos reiserfs é recomendado (se disponível) por melhor performance (comparado com ext2/ext3).
- Depois de instalar o Linux, verifique se o modo DMA está ativo (pois acelera a velocidade de acesso ao disco do servidor) usando
hdparm /dev/hdx
- Para ativar o modo DMA use
hdparm -d1 -c3 -k1 /dev/hdx
- Troque /dev/hdx por /dev/hda se seu disco IDE para o sistema Linux for um Primary IDE.
- Nota sobre Selinux: Desligue ao menos que entenda como usá-lo (senão poderá ter "Permission denied"). Para desabilitar SELinux, digite SELINUX=disabled em /etc/sysconfig/selinux ou /etc/selinux/config e reinicialize sua máquina.
II. Configuração dos clientes (feito no servidor)
Passo 2a
- Instale a DRBL key (ID: 1024D/D7E8DF3A, Key fingerprint = F532 A131 65AF 2168 1634 DB1B 4000 9511 D7E8 DF3A) no seu sistema rpm. Três modos de fazer isso:
rm -f GPG-KEY-DRBL; wget http://drbl.org/GPG-KEY-DRBL; rpm --import GPG-KEY-DRBL ou rm -f GPG-KEY-DRBL; wget http://drbl.nchc.org.tw/GPG-KEY-DRBL; rpm --import GPG-KEY-DRBL ou baixe a key do key server. O KeyID para DRBL é D7E8DF3A: gpg --keyserver subkeys.pgp.net --recv-key D7E8DF3A
e para adicionar ao sistema rpm, rode
gpg -a --export D7E8DF3A > GPG-KEY-DRBL; rpm --import GPG-KEY-DRBL
- Baixe o arquivo drbl-1.9.6-35.i386.rpm (versão estável)
- Se conecte como root
su - root
- Instale o arquivo que você baixou:
yum install drbl-XXX.i386.rpm ou rpm -Uvh drbl-XXX.i386.rpm
- Nota: Um módulo perl é necessário (perl-Digest-SHA1). Usando yum baixará automaticamente, senão use
yum install perl-Digest-SHA1
- ou usando rpm
rpm -Uvh http://opensource.nchc.org.tw/fedora/linux/releases/13/Fedora/i386/os/Packages/perl-Digest-SHA1-2.12-2.fc13.i686.rpm
PS. Os arquivos DRBL estão em http://ftp.twaren.net/local-distfiles/drbl-core/ ou http://free.nchc.org.tw/drbl-core
Passo 2b
Cenário 1 - Internet rápida:
Pressione Enter para aceitar a opção padrão (veja Minicluster:DRBL:drblsrv):
/opt/drbl/sbin/drblsrv -i
Cenário 2 - Sem internet ou internet lenta:
Liste os pacotes necessários com
/opt/drbl/sbin/drblsrv-offline -r
Depois de instalar estes pacotes, se estiver certo que o kernel no servidor é compatível com a CPU do cliente, rode
/opt/drbl/sbin/drblsrv-offline -s `uname -r`
ou baixe o arquivo rpm do kernel apropriado (compatível com o cliente). Rode
/opt/drbl/sbin/drblsrv-offline -k $KERNEL_PKG
onde $KERNEL_PKG é o nome do arquivo rpm do kernel com o caminho. Na dúvida, tecle Enter para aceitar os valores padrões.
- Para ajuda e opções use
/opt/drbl/sbin/drblsrv-offline --help
Cenário 3 - Para o impaciente
Rode
/opt/drbl/sbin/drbl4imp
para terminar o passo 2b e 3a. drbl4imp usa os valores padrões para configurar o servidor DRBL. IMPORTANTE! O padrão pode não ser o ideal, pois usa a opção range no servidor e assim seu cliente não terá sempre o mesmo IP (também é limitado a 12 clientes por placa de rede).
III. Configure o sistema de arquivos para o cliente no Servidor
- Temos um servidor e 16 clientes (mais um IP no switch?? O IP do ambiente DRBL (LAN) é 192.168.0.99. Os serviços DHCP, TFTP, NFS, etc rodam em [eth0].
[NIC ] NIC IP Clientes +------------------------------+ | DRBL SERVER | | | | +-- [eth1] 143.54.226.166 +- to WAN (rede da matemática) | | | +-- [eth0] 192.168.0.99 +- to clients group 0 [ 2 clients, their IP | | from 192.168.0.100 - 192.168.0.101] +------------------------------+
- Existem 4 modos no DRBL:
- Full DRBL e Full Clonezilla
- A banda e o espaço em disco necessários são maiores, mas a configuração do sistema será salva no servidor e cada cliente terá sua própria configuração.
- DRBL SSI (Single System Image)
- Uma única imagem para todos os clientes. A configuração individual é criada em run-time no momento do boot. Isto reduz o espaço em disco já que é necessário uma única imagem no disco. A desvantagem é que cada cliente NÃO pode ter sua configuração própria (Configuração do usuário será salva no servidor). Se novos clientes forem adicionados, a única coisa a fazer é modificar o arquivo de configuração dhcpd (dhcpd.conf). Use "/opt/drbl/sbin/dcs -> others -> gen_3N_conf" para criar ou rode "/opt/drbl/sbin/drbl-3n-conf generate", os arquivos necessário serão criados. Neste modo, uma placa de rede no servidor pode ter 253 clientes.
- Clonezilla Box
- É baseado no modo DRBL SSI, especialmente para o sistema clone. Se for usar o modo DRBL SSI, tenha certeza que o cliente tem memória grande (digamos > 512 MB) e que todo o equipamento (especialmente a placa gráfica) nos clientes é o mesmo.
- Antes do passo 3, você pode fazer uma configuração personalizada:
- Se possui diretórios para compartilhar no servidor, tal como /home/export, então edite o arquivo (indicando ro=somente leitura, rw=leitura e escrita)
vi /opt/drbl/conf/drbl.conf .. diskless_root_dir_ro_user_add="/home/somenteleitura" diskless_root_dir_rw_user_add="/home/export" ..
- Se os clientes possuem disco rígido local e a partição é formatada (por exemplo, /dev/hda1, com arquivo de sistema ext3), então possivelmente você quer que o cliente monte /dev/hda1 como /localwork quando inicializando. Portanto edite /opt/drbl/conf/client-append-fstab (a sintaxe é como /etc/fstab). Neste exemplo, podemos editar /opt/drbl/conf/client-append-fstab como:
/dev/hda1 /localwork ext3 defaults 0 0
- PS: Não é necessário criar o diretório /tftpboot/node_root/localwork no servidor DRBL manualmente; ele será criado mais tarde pelo drblpush.
- Para ter serviços extras no cliente (como apmd ou bluetooth) If you have extra services (such as apmd and bluetooth), edite
vi /opt/drbl/conf/client-extra-service
- e adicione
service_extra_added="apmd bluetooth".
- Se você quer renomear algum ou todos os hostnames criados automaticamente por "drblpush -i", edite agora
vi /opt/drbl/conf/client-ip-hostname
- Se as máquinas não estão designadas, drblpush usará o hostname criado automaticamente.
Passo 3
O programa auto-detecta os argumentos do sistema, caso não achar, perguntará a você (Minicluster:DRBL:exemplo, veja no site). Rode
/opt/drbl/sbin/drblpush -i
- Nota!!! Se pacotes mais novos são instalados no servidor depois desse passo, você deve rodar (isto carrega as configurações salvas anteriormente)
/opt/drbl/sbin/drblpush -i ou /opt/drbl/sbin/drblpush -c /etc/drbl/drblpush.conf
- novamente tal que os novos pacotes sejam entregues aos cliente.
- Nota!!! Não é recomendado ativar o sistema de atualização automática. Se novos pacotes são instalados no servidor, sem rodar /opt/drbl/sbin/drblpush -i, o programa para o cliente pode não ser compatível com o mais novo no servidor. Se quiser deixar ativo o sistema de atualização, lembre de seguir o passo acima para atualizar os arquivos no cliente automaticamente.
IV. Configurando os clientes para usar o DRBL
Existem quatro cenários diferentes para dar o boot nos clientes (veja o original para usar Etherboot com 2)disquete , 3) CDROM ou 4) disco rígido).
O cliente possui placa rede PXE
- Edite o BIOS do cliente para dar o boot da "LAN" ou "network".
- anotado na sala.
Pronto! Basta reinicializar a máquina.
V. Uso adicional do ambiente DRBL
- Alguns scripts estão em /opt/drbl/sbin e /opt/drbl/bin no servidor. Dê uma olhada. Para descobrir como usar rode eles sem parâmetros.
- O comando mais útil é /opt/drbl/sbin/dcs que seta o modo de boot padrão dos clientes.
- Outro comando útil é drbl-SL.sh, que carrega um Linux pequeno (DSL, PuppyLinux, INSERT, PLD, Debian Live, GeeXbox, PUD-Linux...) no ambiente DRBL. Assim o cliente pode usar o Linux Pequeno depois de dar o boot via PXE. O cliente pode ser usado ainda que o cabo de rede seja desconectado.
Upgrade
Para upgrade para uma versão mais nova:
- Backup the important files, such as those files in /etc/drbl and /etc/dhcpd.conf or /etc/dhcp3/dhcpd.conf, etc...
- Run "/opt/drbl/sbin/drblsrv -u" to uninstall all the DRBL-related packages
- Follow the step II, download the drbl main program, re-install and configure it again (i.e. /opt/drbl/sbin/drblsrv -i and /opt/drbl/sbin/drblpush -i)
Algumas vezes, se as versões são próximas, podes tentar upgrade sem reinstalar e reconfigurar (i.e. somente yum upgrade). Entretanto, não é recomendado, pois alguns arquivos serão enviados aos clientes somente depois que drblsrv e drblpush são rodados.
Desinstalar
Para desinstalar drbl e pacotes relacionados, rode:
/opt/drbl/sbin/drblsrv -u
e siga os passos.
Referências
- http://free.nchc.org.tw
- http://www.study-area.org/
- http://etherboot.sourceforge.org/
- http://www.rom-o-matic.net/
- http://www.ltsp.org/
- Diskless HOWTO
- Etherboot User Manual
- http://disklessworkstations.com/
- How to pick a bootrom
- DIET-PC