Em uma VM Linux, gostaria de testar o NAGIOS monitorando mais profundamente do que apenas desligar a VM ou desconectar a NIC virtual; Eu gostaria de testar ou "aplicar um alarme de espaço em disco" ocupando vários% do espaço livre por um curto período de tempo.
Eu sei que eu poderia apenas usar um
dd if=/dev/zero of=/tmp/hd-fillup.zeros bs=1G count=50
ou algo assim ... mas isso leva tempo e carrega o sistema e requer tempo novamente ao remover os arquivos de teste com o rm.
Existe uma maneira rápida (quase instantânea) de preencher uma partição que não carrega o sistema e leva muito tempo? estou pensando em algo que aloca espaço, mas não o "preenche".
linux
filesystems
hard-disk
disk-usage
Axel Werner
fonte
fonte
/dev/full
? (Supondo que exista). Experimente oecho 'test' > /dev/full
Debian.Respostas:
A maneira mais rápida de criar um arquivo em um sistema Linux é usando
fallocate
:Do homem:
fonte
sudo
?fallocate
precisa de privilégios de root" Não está no meu sistema (Linux Mint 17.3, downstream do Ubuntu, portanto Debian). (sistema de arquivos ext4)Outras alternativas incluem:
Ser capaz de testar coisas como executar a porcentagem reservada raiz, se houver, também pode ser útil.
fonte
fallocate -l 50G big_file
truncate -s 50G big_file
dd of=bigfile bs=1 seek=50G count=0
Como essas três maneiras, todas podem preencher uma partição rapidamente.
Se você gosta de usar dd , geralmente você pode experimentá-lo com procuram . Basta definir
seek=file_size_what_you_need
e definircount=0
. Isso informará ao sistema que há um arquivo e seu tamanho é o que você definiu, mas o sistema não o criará realmente. E usado dessa maneira, você pode criar um arquivo maior que o tamanho da partição.Exemplo, em uma partição ext4 com menos de 3G disponível. Use o dd para criar um arquivo 5T que exista como metadados - exigindo praticamente nenhum espaço em bloco.
Resultado:
fonte
count=0
método é bastante interessante, eu adicionei um exemplo.dd
exemplo acima pode muito bem alocar um arquivo esparso. Nesse caso, o tamanho do arquivo é 50G, na verdade, ele está apenas usando um bloco (ou nem mesmo) e, portanto, o disco não está ficando cheio. YMMV.Você também pode aproveitar a ferramenta stress-ng suportada em um grande número de sistemas baseados em Linux:
fonte