Você precisa usar o comando truncate para isso. Perceba que o truncamento irá cortar o final do arquivo em um deslocamento que você especificar, então você perderá dados após esse ponto se você não tiver redimensionado o sistema de arquivos que esse LUN fornece primeiro no lado do iniciador iSCSI (para que o sistema de arquivos contido nele) é menor do que para o qual você está truncando).
Um exemplo disso está aqui:
truncate -s SIZE /srv/totallyalun.img
SIZE pode ser (ou pode ser um inteiro seguido opcionalmente por) um dos seguintes: KB 1000, K 1024, MB 1000 * 1000, M 1024 * 1024, e assim por diante para G, T, P, E, Z, Y.
Isso redimensionará o arquivo no lugar. Se o arquivo for originalmente maior que o tamanho especificado via -s, o truncamento cortará o final dele. Se o arquivo for menor que o tamanho especificado, truncará estender seu arquivo de apoio finamente, com dados nas regiões finais lidos como zeros (pois eles serão buracos).
Mais uma vez, diminuir essa é uma ótima maneira de perder dados se você não se certificar de que o sistema de arquivos dentro desse arquivo (LUN) seja menor ou exatamente igual ao tamanho especificado pelo armazenamento de backup.
Você pode fazer isso enquanto o destino iscsi estiver usando o arquivo com resultados imediatamente legíveis, desde que o destino não esteja configurado para bloquear exclusivamente o arquivo.
OU se você não se importa com os dados (ou não se importe em copiá-los), você pode criar um novo arquivo thin usando a alocação esparsa e copiá-lo para evitar toda essa confusão em primeiro lugar. A alocação fina realmente ajuda no gerenciamento de recursos, especialmente ao lidar com armazenamento definido por software.