arquivo esparso em movimento / cópia por NFS

0

Eu criei um arquivo esparso com

truncate -s 4T image.img

em um sistema de arquivos ext4 que eu montei sobre o NFS. O teste a seguir mostra que o sistema tem problemas com o reconhecimento de arquivos esparsos: ambos

cp --sparse=always /mnt/data_extension/a.img /tmp/a.img # where a.img is created the same way image.img is
rsync --sparse /mnt/data_extension/a.img /tmp/a.img

demore muito e eu nunca deixo terminar, levando mais de um segundo para o comando mostrar que o arquivo esparso não é reconhecido como tal e os furos de cópia / movimentação consomem E / S, o que não deveria ser o caso.

tar --sparse -c -v -f /tmp/a.tar /mnt/data_extension/a.img

retorna imediatamente e produz um tar que pode ser descompactado se a.img estiver vazio, se eu escrever algo dentro (por exemplo, criar um sistema de arquivos bogus btrfs com sudo mkfs.btrfs /mnt/data_extension/a.img ), ele parará de funcionar, ou seja, demora para sempre como os comandos acima .

Tudo funciona bem no sistema de arquivos ext4 de destino local, ou seja, copiar e mover a imagem demo a.img acontece em 1 segundo ou muito menos.

Quando eu aplico os comandos acima à imagem real image.img e watch du -h /local/image.img , o tamanho de 0 nunca é atualizado, mas depois do primeiro byte ter sido escrito.

informações de montagem para /mnt/data_extension :

$ mount | grep /mnt/data_extension
192.168.178.76:/volume1/data_extension on /mnt/data_extension type nfs (rw,addr=192.168.178.76)

Como posso mover / copiar image.img da montagem NFS para um sistema de arquivos local sem a necessidade de ler 4 TB?!

EDIT: especificando sparse-version=1.0 faz tar funcionar no cliente, mas não no NFS (e cifs que eu tentei entretanto com o mesmo comportamento). Isso permite pelo menos tar o arquivo esparso no servidor e transferir o resultado com o custo de uma ação untar desnecessária no cliente.

    
por Karl Richter 25.06.2014 / 22:20

1 resposta

0
A criação de

é suportada através de SEEK_SET , o suporte para fallocate será adicionado na versão 4.2 (atualmente em desenvolvimento) [ link

    
por 07.07.2014 / 11:16