Diskless - Debian 6.0 Squeeze

De Pontão Nós Digitais


O projeto artigo é baseado no Diskless, feito para rodar em Ubuntu Hardy (8.04) e agora estou fazendo um teste para Debian Squeeze. Por enquanto os testes consiste em instalar os aplicativos e copiar os arquivos com as configurações já customizados para o sistema (servidor e cliente), e no caso do não funcionamento das máquinas clientes fazer uma auditoria em cade serviço e procurar o erro.

servidor

Primeiramente foi realizado o particionamento do hd, partições: barra

barra home

barra export

swap

apt-get update
apt-get install:
dhcp3-server 
tftpd-hpa
debootstrap
nfs-common nfs-kernel-server 
portmap nis

Isso não está na documentação

inetutils-inetd
wget nkosi.org/~banto/confs.tar
tar xvf confs.tar -C /tmp

Aqui segue 1-passo

cd /export
mkdir -p squeeze state tftpboot/boot tftpboot/pxe
rm /etc/mtab
ln -s /proc/mounts /etc/mtab
ln -s squeeze diskless
cd /export/diskless

aqui está diferente porque banto optou por utilizar os arquivos existentes na diskless

mv /tmp/confs/server/interfaces /etc/network/
 mv /tmp/confs/server/generic.script /export/tftpboot/boot/
mv /tmp/confs/server/rc.local /etc/
 mv /tmp/confs/server/sysctl.conf /etc/
mv /tmp/confs/server/hosts* /etc/
/etc/init.d/networking restart

/etc/rc.local
sysctl -p
mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf-original nomenclatura diferente debian e ubuntu dhcp e dhcp3
 mv /tmp/confs/server/dhcpd.conf /etc/dhcp/

 mv /tmp/confs/server/isc-dhcp-server /etc/default/
cp /tmp/confs/server/gpxe-1.0.1+-gpxe.pxe /export/tftpboot/pxe/gpxe-git-b44.pxe
 /etc/init.d/isc-dhcp-server restart
 mv /tmp/confs/server/inetd.conf /etc/
service inetutils-inetd restart
mv /tmp/confs/server/nis /etc/default/
cd /export/tftpboot/boot
ln -s ../../diskless/vmlinuz vmlinuz
 ln -s ../../diskless/initrd.img  initrd.img
mv /tmp/confs/server/exports /etc/
/etc/init.d/nfs-common restart
/etc/init.d/nfs-kernel-server restart
mv /tmp/confs/server/yp* /etc/
/etc/init.d/nis restart
/usr/lib/yp/ypinit -m
debootstrap squeeze /export/squeeze

no cliente

primeiro preparo - na jaula

chroot /export/diskless
mount none /proc -t proc
apt-get update
apt-get install 
-y locales-all 
 linux-image-$(uname -r) 
 
 nis 
 sudo

copiando confs - fora da jaula

exit
mv /tmp/confs/client/initramfs.conf etc/initramfs-tools/
mv /tmp/confs/client/hosts etc/
mv /tmp/confs/client/hosts.allow etc/
mv /tmp/confs/client/interfaces etc/network/
mv /tmp/confs/client/yp.conf etc/
 mv /tmp/confs/client/fstab etc/
 mv /tmp/confs/client/mountnfs-diskless.sh etc/init.d/
mv /tmp/confs/client/nfs-common-diskless etc/init.d/
mv /tmp/confs/client/sudoers etc/

um esquema para não ter que baixar 400M de pacotes

mount /media/cdrom
cd /media/cdrom
mkdir /export/squeeze/opt/packages
find -name *.deb -exec cp {} /export/squeeze/opt/packages \;
apt-get install dpkg-dev
cd /export/squeeze/opt/packages
touch arquivo
dpkg-scanpackages packages arquivo | gzip > packages/Packages.gz
echo deb file:///opt packages/ > /export/squeeze/etc/apt/sources.list

segundo prepara - dentro da jaula

chroot /export/diskless
echo "+::::::" >> etc/passwd
echo "+::::::::" >> etc/shadow
echo "+:::" >> etc/group

rm /etc/hostname
touch /etc/hostname
mkdir /var/run/network

update-rc.d -f nis remove
ln -s /etc/init.d/nis /etc/rcS.d/S70nis
update-initramfs -u 
chmod +x etc/init.d/mountnfs-diskless.sh
chmod +x etc/init.d/nfs-common-diskless
ln -s /etc/init.d/mountnfs-diskless.sh  etc/rcS.d/S45mountnfs-diskless

Falta um link simbólico Diferença

apt-get install gnome-core xorg iceweasel openssh-server

rascunho

  1. . Quando instala o tftp o diretório padrão que aparece no dialog é /srv/tftp e eu alterei para /export . O arquivo de configuração fica em /etc/default/tftpd-hpa
  2. . Alterei o arquivo /etc/default/nis em NISSERVER= de false para true, ao invés de master, como orienta o artigo que este se baseia, por que dava erro e por seguir outros artigos, mas não é certo que essa outra opção resolveu, pois a mensagem de log que cita o artigo referência não aconteceu. E em NISCLIENT= eu mudei de true para false. ref [1]
  3. . com o comando rpcinfo -p é possível ver o status dos daemon
  4. . talvez seja necessário remover apt-get remove bind9-host
  5. . necessário indicar qual é a placa usada para o servidor de dhcp interno, acrescentar eth0 na linha INTERFACES="" no arquivo /etc/default/isc-dhcp-server,
  6. em /etc/sysctl.conf ao invés de ser net.ipv6.ip_forward=1 é net.ipv6.conf.all.forwarding=1
  7. no arquivo /etc/inetd.conf do servidor gaia em funcionamento está "tftp dgram udp wait root /usr/sbin/in.tftpd -s /export/ -r blksize -vvvvvv", diferente do citado no artigo base
  8. o nis usa o arquivo /etc/domainname e é precisa ter algo como teia.org.br, um dominio para rede. ref [2]


reinicinando os serviços

/etc/init.d/networking restart
/etc/init.d/isc-dhcp-server restart
service inetutils-inetd restart
/etc/init.d/nfs-common restart
/etc/init.d/nfs-kernel-server restart
/etc/init.d/nis restart


é necessário um ajuste no arquivo nfs-common-diskless, pois volta o erro:

insserv: Script nfs-common-diskless is broken: incomplete LSB comment.
insserv: missing `Required-Stop:'  entry: please add even if empty.

backup do arquivo importantes

do servidor

cp /export/tftpboot/boot/generic.script .
cp /etc/network/interfaces .
cp /etc/rc.local .
cp /etc/sysctl.conf .
cp /etc/default/isc-dhcp-server .
cp /etc/hosts .
cp /etc/hosts.allow .
cp /etc/inetd.conf . 
cp /etc/exports .
cp /etc/default/nis .
cp /etc/yp.conf .
cp /etc/ypserv.securenets .
cp /export/tftpboot/pxe/gpxe-1.0.1+-gpxe.pxe .
/etc/passwd
/etc/group
/etc/shadow
/etc/initramfs-tools/initramfs.conf
/etc/fstab
/etc/init.d/mountnfs-diskless.sh
/etc/init.d/nfs-common-diskless
/etc/sudoers
/export/tftpboot/pxe/gpxe-git-b44.pxe


do cliente

cp /export/diskless/etc/hosts .
cp /export/diskless/etc/hosts.allow .
cp /export/diskless/etc/network/interfaces . 
cp /export/diskless/etc/yp.conf .
cp /export/diskless/etc/passwd .
cp /export/diskless/etc/group .
cp /export/diskless/etc/shadow .
cp /export/diskless/etc/initramfs-tools/initramfs.conf .
cp /export/diskless/etc/fstab .
cp /export/diskless/etc/init.d/mountnfs-diskless.sh .
cp /export/diskless/etc/init.d/nfs-common-diskless .
cp /export/diskless/etc/sudoers .

X11 e xorg.conf

Caso o boot reclamar que nao consegue iniciar o modo grafico, entao edite no servidor o arquivo de configuracao do modo grafico dos clientes. No caso especifico do setup da Teia, edite:

/export/squeeze/etc/X11/xorg.conf