initrd ou ramfs para SLES como /

3

Eu gostaria de inicializar um SLES e executá-lo de um ramdisk. Eu gostaria de configurar máquinas para que elas iniciem a inicialização do PXE e como parte do processo de inicialização do PXE, elas puxam uma imagem que é o sistema de arquivos raiz e então inicializam isso.

Alguém já fez isso ou algo parecido?

Meu pensamento é que o initrd é quase o que eu quero ter, embora muito pequeno e curto em recursos. Então eu fiz uma instalação mínima e fiz um cpio disso para criar meu próprio initd personalizado. (Isso é cerca de 350M, que embora grande é bom para esse fim).

Tem problemas para inicializar quando tenta fsck the /dev/shm/root . Qual é a maneira correta de impedir que isso aconteça (eu tentei definindo em /etc/fstab , mas não é bom). Como próxima opção eu configurei um arquivo sysconfig para forçar o READONLYROOT e isso me fez inicializar o processo init até o ponto em que ele muda para /etc/init.d/rc3.d mas agora eu não consigo ir mais longe.

Qualquer conselho ou ideias, ou se alguém fez isso, todos seriam ótimos.

PS. Setup é grandes nós com 1TB de RAM e eu não quero ter sistema de arquivos local para SO e a alternativa é ter o servidor NFS no sistema de arquivos raiz, mas eu não quero o tráfego NFS para que o disco RAM pareça uma boa opção. p>     

por Ben 28.05.2013 / 23:57

1 resposta

0

Eu fiz um bom progresso.

Eu editei o arquivo /etc/init.d/boot.d/boot.rootfsck para adicionar ramfs como uma exceção de tipo de sistema de arquivos ao processo fsck. (linha 79).

        aufs|tmpfs|afs|cifs|nfs|novell|smb|ramfs|UNKNOWN*) MAY_FSCK=0 ;;

Depois de fazer isso, não é mais necessário ter o sysconfig com o READONLYROOT.

Depois de fazer isso eu configurei o pxelinux.cfg para ter uma linha de inicialização como segue:

LABEL SLES11 InMemory OS
  KERNEL suseBig/vmlinuz-3.0.74-0.6.8-default
  APPEND initrd=suseBig/suseImage rdinit=/sbin/init
  TIMEOUT 100 

O arquivo suseImage é um arquivo cpio de todo o sistema de arquivos raiz de uma instalação funcional do SLES, mas com uma linha / etc / fstab modificada para o root. (Eu tive que construir o arquivo CPIO, acessando este ambiente SLES de trabalho de outro sistema operacional em funcionamento (em outro disco))

rootfs /                  rootfs       defaults        0 0

Uma vez que tudo isso esteja no lugar, o nó é inicializado com alegria e agora eu tenho uma versão ramdisk funcional do SLES que inicializa através da rede via PXE. (por isso é lento para arrancar, mas depois disso não tem tráfego de rede para o sistema operacional). Não tem persistência, mas eu resolvo isso para o meu caso na camada de aplicação.

    
por 29.05.2013 / 22:11