Como faço para configurar mais de 10 dispositivos de loopback?

9

A partir desta resposta, a solução é

modprobe loop max_loop=64

O que me permite usar 64 dispositivos de loopback

mknod -m 660 /dev/loop8 b 7 8

Para criar os dispositivos. Eu fiz isso para 8, 9, 10 e 8,9 trabalhos, mas 10 não.

Eu então tentei loopa para loopf e tentei montar um dispositivo 11 e recebo o erro

Error: Failed to set up a loop device:

Como faço para> 10 dispositivos de loop?

Gilles 'SO- parar de ser mau'
fonte
Verifique se você está executando mknod -m 660 /dev/loop10 b 7 10. Funcionou bem para mim. Que distribuição você está usando?
Sparticvs
@sparticvs: oops, eu tenho usado 8 como o último valor para todos os vars. Eu me pergunto por que ele me deixou montar meu 9º e 10 dispositivo se eu o fiz incorretamente. Eu uso o ubuntu, estou testando agora. sim funcionou. Eu vou aceitar se você responder
Você pode fazer várias entradas do sistema de arquivos para o mesmo dispositivo. Todos eles designam o mesmo dispositivo. Você recebeu esse erro quando ligou losetupou mount -o loopem um dispositivo de loop que já está em uso (mesmo que você alcance esse dispositivo com um nome diferente).
Gilles 'SO- stop be evil'
O que eu não gosto nessa pergunta é que não está perguntando como saber se max_loop foi definido como 64 corretamente. E em nenhum lugar eu sou capaz de encontrar informações sobre como saber qual é o limite máximo definido.
feijão Camisa

Respostas:

13

Verifique se você está executando mknod -m 660 /dev/loop10 b 7 10. O formato é mknod -m 660 /dev/loop<ID> b 7 <ID>onde o ID é o mesmo.

Atualização [10/10/2014]

Eu também encontrei um bom post no blog para sempre ter mais na inicialização. Consulte https://yeri.be/xen-failed-to-find-an-unused-loop-device

Atualização [25/05/2016]

Eu executo um servidor CentOS e achei que essa postagem também era útil quando os outros métodos não funcionam.

Isso torna meu novo método favorito:

MAKEDEV /dev/loop

Ele cria 256 dispositivos de loop (que é o máximo sem modificar o kernel).

sparticvs
fonte
0

Se você deseja encontrar um número de dispositivo de loop principal gratuito entre nomes de dispositivos de loop não numerados (por exemplo /dev/loop-something), use este comando para encontrar o maior e adicionar 1:

find /dev -type b -print0 | xargs -0L1 bash -c 'stat -c "%t %T" "$1" | awk "/^7 / { print(\$2); }"' '' | sort -nru | head -n1

Raitis Veinbahs
fonte