btrfs desempenho acesso paralelo

0

Estou executando um Raid5 (3x 500GB Sata2 HDD) com base no btrfs 3.12 (Ubuntu 14.04 x64) e uma VirutalBox VM usa esse volume. Enquanto nenhum outro processo acessar o volume, a VM será executada corretamente. Mas recentemente eu copiei um arquivo maior para esse volume também e quase não recebi nenhum iops da minha VM. Abrir até mesmo pequenos programas dentro da VM levou vários minutos. O processo de cópia, ao contrário, é executado em velocidade aceitável. Além disso, usei gzip para zipar esse arquivo grande no volume btrfs e a caixa virtual parece ter problemas para manter a VM viva (as janelas vm ficam cinza, não respondem).

Descobri que usar a opção de montagem noatime poderia ajudar a melhorar o desempenho, mas como só acesso dois arquivos no volume (o VDI da VM e o outro arquivo), acho que isso não melhoraria muito a situação.

Poderia, por favor, explicar este comportamento para mim e talvez sugerir algo para melhorar o rendimento da VM?

    
por Oliver R. 16.04.2015 / 11:02

1 resposta

2

Se você tiver uma imagem de disco em um volume BTRFS, talvez seja necessário desativar o recurso Copiar em gravação , pelo menos para a imagem de disco da sua VM.

CoW copia dados alterados para um novo espaço (com suas alterações) antes de modificar os dados do cabeçalho do arquivo. Em uma VM, isso significa enviar um arquivo enorme para a alteração mais básica.

Você pode ter o CoW desativado em um arquivo de imagem de disco se você copiá-lo (não movê-lo) para um diretório no qual esse comando foi executado:

chattr +C directory

No entanto, isso não garante No_COW , pois você pode criar um subvolume de Btrfs instantâneo contendo o arquivo de imagem (que fará com que vaca-somente-uma vez ).

    
por Oli 16.04.2015 / 11:46