Como acelerar o processo de restauração com o LVM gziped?

1

Estou experimentando a criação / restauração de backups com a ajuda do LVM. Ele funciona, mas o processo de restauração leva cerca de 8 min. em um XEON idel com 32GB de RAM e SSD. O sistema nem mesmo se move de acordo com o htop e o topo, com o processador quase ocioso, mas resultando em apenas 45.7 MB / s em SSDs.

Como pode acelerar o processo? A restauração é assim:

$ sudo gunzip -c snap_vol1-20150904_055547.gz | sudo dd of=/dev/vg0/staging

41738240+0 records in
41738240+0 records out
21369978880 bytes (21 GB) copied, 468.036 s, 45.7 MB/s
    
por merlin 09.09.2015 / 14:18

2 respostas

1

Algumas coisas rápidas para verificar:

Primeiro de tudo, se você está trabalhando em um único disco, você tem uma taxa de transferência de 90MB / s. Dependendo do disco e da interface, isso pode realmente ser o que o disco é capaz (!)

Por padrão, o DD faz muitas gravações muito pequenas. Você pode usar a opção BS (como em bs = 1M) para aumentar o tamanho do bloco, o que reduzirá o número de gravações, o que, por sua vez, reduzirá a carga de IO.

Enviar os dados através de um pipe é semi-caro, pois os dados precisam ser copiados para um buffer relativamente pequeno e novamente, além das alternâncias de contexto entre gunzip (que por sinal é singlethreaded, outro gargalo) e dd. Tente descompactar o arquivo primeiro, depois anote-o e meça o tempo que cada operação leva para ter uma ideia do que está atrasando você.

    
por 09.09.2015 / 14:35
0

O Gunzip é um processo de thread único e, mesmo com processadores rápidos, ele atinge 40/50 MB / s.

Você tem duas possibilidades:

  • use um compressor mais rápido, como lzop ou lz4
  • use uma implementação gzip multithread como pigz (consulte link )
por 09.09.2015 / 14:30