compartilhamento NFS: não há espaço no dispositivo

2

Minha configuração consiste em um servidor, rodando o Ubuntu 10.10, e um dispositivo, rodando um Linux customizado. O dispositivo obtém seu kernel e monta seu sistema de arquivos raiz do servidor usando TFTP e NFS, respectivamente.

No meu arquivo de exportação, tenho:

/export/rootfs 192.168.1.0/24(rw,no_root_squash,no_subtree_check,sync)

Eu tenho um arquivo contendo o sistema de arquivos EXT2 que eu montei em /export/rootfs :

mount -t ext2 -o loop TargetFS.ext2 /export/rootfs

Quando inicializo meu dispositivo, "não resta espaço no dispositivo durante a inicialização, embora tenha espaço. Se eu copiar o conteúdo de TargetFS.ext2 para /export/rootfs em vez de montá-lo, não tenho esse problema.

Alguma opinião?

    
por Thiago Cardoso 13.04.2011 / 20:59

1 resposta

2

Você está montando o arquivo TargetFS.ext2 usando o driver de loopback. Dependendo da localização & tipo do arquivo, você pode montá-lo usando o -o rw,loop em vez de apenas -o loop . Apesar do fato de você estar montando o arquivo no mesmo local em que está montando o compartilhamento do NFS, ainda está tentando gravar alterações no arquivo.

Lembre-se de que, sempre que o arquivo residir, será necessário gravá-lo e ter espaço suficiente para acomodar todas as alterações. Às vezes, arquivos que você pode montar como loopback, ainda não podem ser gravados em devido a compressão ou qualquer outra coisa ... ou você decide que não quer gravar alterações na imagem bruta ... A alternativa é olhar para um sistema de arquivos "fan-out" que permite montar um sistema de arquivos como somente leitura ... e um segundo como leitura / escrita no topo como "sobreposição". O mini_fo fez isso muito bem em muitos dispositivos incorporados como o openwrt por um longo tempo. (a imagem é somente leitura e uma unidade RAM é sobreposta na parte superior para permitir que os registros tenham um local para gravar)

    
por 13.04.2011 / 21:34