Estações de trabalho sem disco

6

Por vários motivos, preciso de uma configuração com um servidor e duas estações de trabalho sem disco.

As estações de trabalho devem ser "clientes gordos", o que significa que eu quero permitir que eles usem sua própria CPU, memória, etc, para tudo. O ideal é que os usuários da estação de trabalho não precisem notar que estão rodando sem disco (exceto a inicialização via PXE, obviamente ...).

As estações de trabalho devem executar o OpenSuse (alguma versão entre e incluindo 11.2 e 11.4), já que é isso que usamos. Eles não precisam necessariamente executar uma instalação openSuse de baunilha, mas o mais próximo possível.

A ideia geral é inicializar as estações de trabalho PXE e deixá-las montar seus sistemas de arquivos (raiz) no servidor via NFS.

Eu tentei simplesmente copiar uma instalação existente do OpenSuse 11.4 para um diretório que eu exportava via NFS. O kernel e o initrd foram então expostos via PXE / TFTP. O problema é que o initrd da instalação é feito sob medida para a máquina em que foi instalado, portanto, usá-lo como está não funcionou.

Eu fiz algumas tentativas para usar o LTSP (KIWI-LTSP para OpenSuse) com sucesso muito limitado.

Então, agora para minha (s) pergunta (s) real (ais):

1) Além de modificar o initrd manualmente para trabalhar com as estações de trabalho sem disco, há mais alguma coisa que eu possa usar para me ajudar?

2) Uma ideia que tive foi usar a mesma raiz ("/") para ambas as estações de trabalho e depois montar coisas como / var e / tmp como tmpfs. Há alguma armadilha para evitar aqui?

3) Alguma outra ideia sobre como realizar essa configuração? Todas as ideias são muito bem vindas!

    
por kigurai 30.03.2011 / 10:55

2 respostas

2

Eu não posso dar uma resposta específica para o opensuse, mas deve haver um processo similar para a maioria das distros.

No modo debian (sem detalhes muito profundos)

  1. As imagens do Initrd são criadas com update-initramfs (do pacote initramfs-tools).

    • Na maioria das vezes, as imagens initrd são boas para qualquer sistema normal, uma vez que as caixas são sem disco, a única coisa que realmente precisa funcionar durante o estágio initrd é a rede e o nfs. Se algum sistema precisar de determinados módulos para usar sua NIC, eles deverão ser especificados em /etc/initramfs-tools/modules antes de executar update-initrams .
    • A imagem padrão tem suporte a nfs e a única coisa necessária é adicionar root=/dev/nfs nfsroot=x.x.x.x:/exportedfs dhcp na linha APPEND da pxe config.
  2. No lado do servidor, o diretório exportado deve ser um ambiente preso, o que tornaria muito fácil atualizar ou instalar o software ou alterar a configuração. No lado do cliente, /tmp pode ser simplesmente um tmpfs. Para /var , há algumas opções.

    • Monte alguns subdiretórios como tmpfs, como /var/run , /var/log /var/tmp etc.
    • Ou monte um tmpfs em algum lugar e use unionfs / aufs para mesclá-lo com /var . Dessa forma, o sistema poderá gravar ou alterar qualquer arquivo em /var , mas não será persistente.

    Você provavelmente precisará de aufs para /etc/ , você precisará de um script que será executado no início do processo de inicialização e configurar alguns por cliente, como obter o nome do host com base no ip e recriar /etc/hosts e /etc/hostname .

  3. A pasta
  4. /home também deve ser nfs exportada e montada rw. NIS ou LDAP ou AD ou algo semelhante para gerenciar contas de usuário (e / ou arquivos de configuração), ajudará você a manter a bagunça um pouco.

Devo notar que eu nunca fiz aufs over nfs, no passado eu tive alguns problemas com unionfs sobre compartilhamentos de rede. Algumas das coisas acima são teóricas e foi muito tempo atrás, quando eu tinha alguns sistemas sem disco próprio.

    
por 31.03.2011 / 12:35
1

Perceus deve ter a funcionalidade que você está procurando.

As imagens Perceus são implementadas como "cápsulas VNFS". Infelizmente, eu não acho que eles tenham uma cápsula do SUSE já pronta, mas você pode ser capaz de fazer o seu próprio.

    
por 03.04.2011 / 03:27