Eu sei que posso criar e usar um dispositivo de loopback como este:
# Create the file
truncate disk.img --size 2G
# Create a filesystem
mkfs.ext4 disk.img
# Mount to use
mount disk.img /mnt
# Clean up
umount /mnt
No entanto, neste caso, a imagem do disco é fixada em 2 GB. São 2 GB quando estão vazios e 2 GB quando estão cheios. Não vai crescer.
Existe um tipo de dispositivo de loopback que pode crescer em tamanho? Ou existe um tipo de dispositivo de loopback que precisa apenas do espaço que armazena?
loop-device
phunehehe
fonte
fonte
virt-make-fs
pode ser útil. Pode ser usado para criar imagens ext2 usando arquivos tar.Respostas:
Crie um dispositivo de arquivo esparso, usando dd.
Referência: artigo de arquivo esparso da wikipedia
fonte
O comentário de @jordanm acertou em cheio . Eu assumi que o tamanho do arquivo foi corrigido quando observei a saída de
ls -lh disk.img
. Quando useils -s disk.img
como na resposta de @ Stephan, o tamanho real do arquivo é mostrado. Como teste, criei um arquivo de imagem que é maior que meu disco rígido:E funciona muito bem, o que significa que a resposta está na pergunta :)
fonte
fallocate(1)
.Você pode fazê-lo manualmente com dd seek ou mais fácil, desde que você use truncar:
Um liner 2 para cultivá-lo, dificilmente exige automação aqui, eu ousaria dizer :)
fonte