Usando a funcionalidade de vaca do btrfs para rapidamente e eficientemente subconjunto de arquivos grandes

1

[Meu objetivo é usar os recursos do btrfs cow para agrupar arquivos de 30 GB a 300 GB em vários arquivos de 10 GB sem produzir I / O substancial nem usar espaço em disco adicional. ou seja:

300GB   dna_original.fastq
10GB    dna_subset-a.fastq
10GB    dna_subset-b.fastq
10GB    dna_subset-c.fastq

Os arquivos em questão são arquivos fastq ou fasta normalmente usados para sequenciamento de DNA, são arquivos de texto legíveis por humanos. Normalmente eu iria produzir um arquivo usando

head -n x file_original | tail -n y > file_subset-1

produzindo assim I / O substancial e usando espaço em disco adicional. Ferramentas como duperemove (também com uso intensivo de i / o) não parecem reconhecer subconjuntos que não são originários do início do original.

Eu imagino que seja possível usar cp --reflink=always file_original file_subset-1 e subseqüentemente remover x linhas do início e do final do arquivo sem gravar em um novo arquivo.

Podemos pensar em alguma maneira de executar trabalhos de subconjuntos usando o btrfs?

Obrigado pela sua consideração

    
por Laura 09.09.2015 / 18:07

0 respostas